Map Sizes & Map Wrap Points Custom

  • Views Views: 84
  • Last updated Last updated:
  • **********************
    How-To: Edit the Map Size
    **********************
    1. Grab yourself a Hex Editor like say, 010 Editor (What I used).

    (Please Note, This is NOT illegal, as long as you do not distribute the modified client [You'll have to patch it automaticly, Patcher coming soon]).

    2. Make a copy of the UO client so you arent modifying the original.

    3. Open the copy inside your hex editor.

    4. Run multiple searches for the UO map sizes in TILES not blocks.

    These are...

    (Run an individual search for each number below and make sure you set the data type as an Unsigned or Signed Short)

    7168
    4096
    2304
    1600
    2560
    2048

    (You dont need to worry about Tokuno unless your modifying it, at this point it'll the pattern will be quite obvious)

    5. Scroll down to the Address 18:1850h

    (Please note, this was done with Client 5.0.1j, Different clients may have a different address range [Lower for older, Higher for Newer most likely])

    Now if you look pretty much down the center of the hex values, you'll see a patern turn up. Check out the signed short values and you'll see they correspond with the map values in tiles.

    (Also notice the number right after it, is the second map value in tiles).

    Image shows what I mean here...
    http://img84.imageshack.us/my.php?image ... xes8hh.jpg

    Ignore all values that are highlighted outside of the places I circled. They are unrelated.

    6. Change these values to a VALID map number.

    And your done, test it.

    However, beware the map plane number when working with Map0. If your using RunUO (I did as my test server, Im not sure how other servers handle it), and you modify the first map number (Eg, Map0, Plane0) make sure you goto the FELLUCA plane. Or else it will not show correctly.

    To be safe, I suggest modifying both Map0 values to be the same (Should they really be separate anyway?).

    The safest way to get a valid map number I found is to Divide the map in Tiles by 8. Add increments of 128 onto that number (Blocks) until you think its about what you want in tiles. Then times it by 8 to see what the tiles will be. You CANNOT go past around 32000, as that is a limitation on the Signed Short. I didn't test if a Unsigned Short would actually work, perhaps later.

    Also to be safe, make sure the Map's second number (Height) is 384 blocks (The tiles divied by 8 are blocks) BELOW the Maps first number (Width). You may be able to do a square map, but I dont know how it'd turn out.

    *************
    Issues with this.
    *************
    No Graphics program I know of can take an image larger than 30000x30000. So that limits you to under those values.

    The BMP size at near that number is around 733MB, this would make the actual converted map much larger (Possibly to big for distribution).

    If you don't set the wrap points correctly, and are using the entire map (Any map) as overland, you will notice past the wrap points coastlines will bugger up, and some areas will go funny (If the Y wrap point doesnt go down the whole map, you will get some SERIOUS side effects).

    See below to edit Wrap Points.

    **********
    End How-To
    **********

    ****************************
    How-To: Edit the Map Wrap Points
    ****************************
    Well, If you've been testing this hex, you would have noticed by now that if you used a map larger than the standard map inside Map2,3 or 4, that when you hit the original boundaries of the map, you'll have a horrid black strip right down, and also anything after it will be water, or severely screwed. This is how you fix that.

    If you havent read the upper post about editing the Map Sizes yet, I suggest you read it and get familiar with that hex section. As your going back there again.

    (This also can move the black strip on Map0, if you want to use the Whole map, and put the dungeon bar on another map)

    1. Create a copy of the client (Or use the one you've been hexing already)
    2. Open up your hex program (010 Editor for me)
    3. Scroll down to the Address 18:1850h
    4. Look at the picture below to see which numbers are which.

    http://img224.imageshack.us/my.php?imag ... xes0si.jpg

    To explain what Wrap X and Y means. Wrap X is the point across the map at which the wrapping starts. Wrap Y is how far down the map the Wrapping goes.

    To be Safe, I suggest moving the Wrap X point to wherever your Dungeon bar is going to start. If you are not going to use one, Or use a whole map as your dungeon bar (Leaving an entire map free for Mapping). I suggest putting the Wrap X as your Maps X value. (So if your map is 5000 tiles across, your Wrap X for that map would be 5000)

    Wrap Y I suggest strongly is ALWAYS your entire maps height. So if your Map Y is 2000, your Wrap Y should also be 2000. If you look at the Tokuno Map X and Y, and its Wrap X and Y, you'll see that they are the same. This means that the wrapping point is right on the map border, and pretty much won't bother you.

    5. Edit the Wrap points to what you want, the image shows which numbers are for what maps.

    6. Save your client, and test!

    This will fix any issues with Coastlines, and maps not displaying correctly after the original borders of other maps (If set to the right point).

    This can also get rid of that horrid Wrap Bar that plagued custom maps for years and years. Enjoy!

    **********
    End How-To
    **********