Page 1 of 1

group search to find dungeon map in memory

PostPosted: Mon May 14, 2007 8:34 pm
by mezzo
Hi, I was wondering if anybody can help me in the right direction.
I'm learning to use MHS with the 'old-school' dungeon game nethack.
I found all the simple things such as gold, experience, ...
I also managed to find the location (X,Y) for my character.
What I want to do now is find the location of the current level map
in memory. I know a map is max 80X25 big.
I tried a group-search with USD search and a gave the 'USD' string for 10 tiles in a row. I do however get a lot of search results and the ones I get don't seem to be what I'm looking for (I verified what the hex-editor said with what I see on my screen).

Can somebody tell me what I'm doing wrong or what I could do to narrow my search results down ?

PostPosted: Mon May 14, 2007 11:10 pm
by L. Spiro
If the tiles can be changed you can perform a Sub Search on their new positions.

You can try having more than 10 in a row. A longer USD list, the fewer results there will be.

The tiles might not be stored in the same direction as you expect. Try searching for tiles from top to bottom rather than left to right.

The tiles might not be stored in the format you expect. Try various bit combinations. Byte and Short combinations are also likely.

In some cases the game may load all maps to the same location (one at a time, of course, as you get to each map). If this is the case you can change the level and perform Sub Searches, both in USD types and in normal types.


The next release will have a Zero All and Zero Selected pop-up menu for the Found Address List, which will allow you to set all or some of the values in the list to all 0’s. This would allow you to make one single scan and test each return to see if it matches. You can also do this now, using scripts. There is an example that does this in the help file. You would only need to modify it a little bit.


L. Spiro

PostPosted: Tue May 15, 2007 7:32 pm
by mezzo
thanks for the fast reply ! :D

I'm currently migrating some foreign sites, but will try it as soon as I find some spare time.

(big cudoz on your software, btw, I realy like it.. very intuitive)

PostPosted: Mon May 21, 2007 5:22 am
by mezzo
Found it rotated 90degrees in ram..

Pretty strange as the player coordinates that I find in ram are (0,0)-topleft to (80,25)-bottom right..

anyhow... off to try and figure out how I force full map visibility.

thanks for the tips... expect my next question real soon :-) pretty sure it will be lss and pointer related