Can I prevent the 3 Hommlet locations from appearing on the World Map automatically at the start of the game? They appear on the World Map even if I make my starting location something else like Nulb {5051}. I notice in KOTB that those 3 locations also pop up as in the real game, but KOTB reuses them as 3 locations in and around the keep by renaming them in worldmap_location_names_text.mes as follows {090} {Keep Inner Gatehouse} ; WORLDMAP_HOMMLET_LOC_NORTH {100} {Main Gate} ; WORLDMAP_HOMMLET_LOC_SOUTH {110} {Market Place} ; WORLDMAP_HOMMLET_LOC_EAST So I think that the answer to my question is that those 3 locations are hard coded into the exe or dll file and automatically pop up on the worldmap at game start. (even tho they can be renamed) Also, I've noticed that game.areas[1] (Hommlet) is never set to 1 during the game like the other areas, it reamains 0. So it appears to be a special case. Is this as it should be? An unrelated question: Does startloc.txt do anything in the map files? Since the starting location is provided in MapList.mes, I'm curious when this applies. Thanks for any help that can be provided.
Pressed for time here sorry but the short answer is no can do, it's hardcoded 'known' from the start. startloc.txt determines your landing point on the map. There are cases (IIRC) where the game might get this info from startloc.txt or MapList.mes, so it's best to have them always in agreement with each other.
Followup question about arrival locations in Hommlet while traveling by World Map. The X,Y starting location when arriving at a game area when you travel by World Map is defined by the coordinates in MapList.mes for every game area EXCEPT for Hommlet. Hommlet also has 3 different World Map locations, a special case among game areas. So where exactly are the X,Y coordinates for those 3 Hommlet locations defined? These are the 3 locations and the coordinates where the game dumps you in Hommlet. North Hommlet 512, 221 South Hommlet 623, 421 East Hommlet 433, 626 I was about to file this as another case of "they're coded into the main program and you can't edit them", until I noticed that they have been changed for KOTB, so it HAS been done (even though the 3 areas themselves are still there). If you guys could clue me in, I'd be very happy, as it's my last step to getting my World Map going. (Skip everything that follows if you know the answer to my question. It's the path I followed while trying to chase down these values. Most of this is common knowledge, but I'm putting it here to document for anyone reading this thread who may be trying to do the same thing) The names that you see on the list of World Map loactions when you bring up the World Map in the game are found in worldmap_loaction_names_text.txt: {090} {North Hommlet} ; WORLDMAP_HOMMLET_LOC_NORTH {100} {South Hommlet} ; WORLDMAP_HOMMLET_LOC_SOUTH {110} {East Hommlet} ; WORLDMAP_HOMMLET_LOC_EAST And the name for Hommlet used at other times is defined in gameareas.mes: {1}{0, 0, 0, 0 /Hommlet/HOMMLET} But neither of these actually give any X,Y locations. So where are they? I searched around... 1) Maplist.mes - Hommlet's entry in MapList,mes is: {5001}{Map-2-Hommlet-Exterior, 711, 521, Flag: DAYNIGHT_XFER, Flag: OUTDOOR, Flag: UNFOGGED} But 711,521 is the location where you are put when you first arrive at Hommlet at the start of the game, not when you travel by World Map, so that's not it. 2) startloc.txt - the entry in Hommlet's startloc.txt is 487,506 which is near the Hommlet village elder's house, not a place I can recall ever jumping to in the game. So that's not it either. Also, I have yet to see when the entry in that file applies during the game, but that's another topic. 3) jumppoint.tab - Lots of X,Y coords in there for Hommlet, even some near the 3 spots I am looking for, but none of them are close to the coords where you are placed exactly (North Hommlet 512,221; South Hommlet 623,421; and East Hommlet 433,626)
Coincidentally this just did come up again for KotB, and the definitions are indeed hidden in the innards of temple.dll. Ted knows where apparently. Hopefully he'll respond here.
It never rains but it pours... I couldn't find where I recorded this, but apparently I have to keep looking, soooooo.... Got it! (Searched for the word 'private' because I remembered warning people it was in a private forum, yay me). EDIT: Ok, got it right this time Enjoy.
Wow, I was just finding this myself a moment ago on a desperate lark. Took the Hommlet East location of 433,626 and converted into Hex 01B1, 0272. Then in temple.dll searched for B1 01 00 00 (which is 433) and looked for a 72 02 00 00 ( which is 626) near it and there it was! Thanks for putting this up as confirmation. Now to edit the temple.dll and see if it actually works. EDIT: BTW, I'm using a simple hex editor (HxD) which is free and works great. But, what do you use to get that nice assembly code looking readout? I'm kinda new to this DLL-busting stuff. This is what it looks like to me...
I've used OllyDbg, but let me tell you, seriously diving into the dll can be horrible. They don't call it dll hell for nothing.
I hack with HHDs HexEditor, but I decompile with Ollydbg. Just what I did, all those years ago My only successful .dll hack.
And most likely mine too. I only did this out of necessity in getting my big town as the starting point and change the locations. I have no intention of wading though there for anything else. It's convenient that almost everything you need to mod is in a separate file (usually TXT) that can can be edited individually, even if much of the time it's organized with unintuitive haphazardness. Your brain eventually warps into the 'logic' of it's organization and it seems like it all makes sense. Kind of like the English language.