Mapping

Coordinator
Apr 4, 2013 at 12:04 PM
The maps feature is pretty unique and works reasonably efficiently but could still do with a lot of improvement.

Please give your ideas/suggestions as to what to include on in the maps features so work can head where you want it to go!
Developer
May 2, 2013 at 10:01 AM
Hi

First of all, I really like the software, great job.

I came across a bug in the map window where it would crop at the top and leave a lot of empty space at the bottom. So I downloaded the source and had a look the code.

I think that in the MCMap.cs
    private void GenerateMap()
    {
...
       XAddition = Math.Abs(LowestXChunk.X) * 16 * BlockSize;
       ZAddition = Math.Abs(LowestZChunk.X) * 16 * BlockSize;
the last line should read
      ZAddition = Math.Abs(LowestZChunk.Z) * 16 * BlockSize;
If I understand the code correctly XAddition and ZAddition are essentially the offsets of the worlds top left bounding box corner, this is used to shift that location to (0,0) in the bitmap image.
If the map is near to square this bug is hardly noticeable but can cause a lot of map being empty and some areas not being drawn.
Before the correction I got a few gdi drawing exceptions in the output window which indicated that the SetPixel was called outside the image boundaries.
These don't show up after the change above.

I do have some experience in image creation and gdi+ programming and would like to contribute to the MCMap class if you don't mind.
What would be the best way of doing that?

Cheers
Coordinator
May 2, 2013 at 5:56 PM
Hi!

Thanks - glad you like it!

Yep - you understand the code correctly and you're quite right, that should be a Z! Thank oyu very much for spotting that! I have just checked-in a new version with the fix.

If you'd like to contribute further, I could add you to the team on CodePlex? Then you can connect as a developer to Team Foundation Server source control (using plugin for VS2012). From there you can create and assign yourself work items and then once you've made changes just "Shelve" the changes. I can then review them and then check-in the changes when I'm happy :)

Thanks very much!
Ed
Developer
May 2, 2013 at 8:29 PM
Hi Ed

Yes, I would like to join the team, that would be great. VS asked me for a TFS login when I opened the solution and I wondered what that was. I have never used TFS so maybe you can point me in the right direction.

Thanks a lot.
Coordinator
May 2, 2013 at 8:48 PM
Hi,

I will just add you to the team. Then you can go to the Source Code page on this site and click the Connect button from the menu bar. Login details are listed there. Please be aware that while TFS has the permissions to check-in code, please don't. On this project I prefer it if developers make changes, add a comment, associate any work items and then use the "Shelve" button (all this is in the Pending Changes tab window by the way). You can manage your work items online using the Issue Tracker (has a few more useful features than VS's TFS plugin does).

Once you've shelved a set of changes, notify me via CodePlex or email and I will review the changes. If they are good, I will check them in and merge them with the main version.

Thanks,
Ed
Developer
May 2, 2013 at 9:59 PM
Hi Ed,

Thanks a lot. I will try this tonight (I am in New Zealand).
I have done a lot of direct bitmap accessing in unsafe C# which should speed things up.
I will direct contact you tonight and outline my ideas in that regard.

Cheers
Coordinator
May 2, 2013 at 10:17 PM
Okay great! I'll be interested to see/learn from what you suggest/do! I'm in London in the UK (it's about 22:00 here) so I'll try and respond to you tomorrow morning :)

Ed