There is simple method, how you can find and change map dimensions in client.
You need only hex editor (I'm using PSPad HEX).
1) Find constatnt "Felucca" in executable.
2) Get it's offset and add $40000 (IMAGE_BASE)
3) Result number is address of Felucca that you need to find. Rever it by bytes (addesses has 4 bytes. So: $12345678 will be $78563412).
4) Find that reverted number in client. This is pointer to map definition structure.
structure is:
Pointer (4Bytes) - Address of map name
Cardinal (4Bytes) - Map width
Cardinal (4Bytes) - Map Height
Cardinal (4Bytes) - Main map width // Extra height and width is "Dungeons"
Cardinal (4Bytes) - Main map height
24 Bytes - Unknown.
Cardinal (4Bytes) - Map rules ? (1 for Felucca, 0 for others)
And it repeats for every map.
So, if you change this numbers and makes map with new dimensions... You can play on it. Currently UO: Quintessence used it (for now they are in closed alpha, but must be opened near to new year).
PS: I'm not a member of stuff of that shard.
PPS: Sorry for my English.
Click to visit: JoinUO free shard list
Locating map dimensions in executable
3 posts
• Page 1 of 1
Thank you for sharing!
<Derrick> RunUO AI is kind of a functional prototype, which i have hacked into something resembling OSI behavior, but only by complitcating everything
|
|
Some additional info:
24 bytes that unknown... This is indexes for files table. So, if you want to wipe out statics1.mul, than you can redirect it to any clear mul and delete it from installation. For 7X clients there is 2 tables.. One for classic case, and one for X case. |
|
3 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 6 guests