Jump to content


  • Posts

  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

IMakeMaps's Achievements

Tenderfoot Thahd

Tenderfoot Thahd (2/17)

  1. Decompiling the code. I don't think I could figure this out with just a hex editor. The hard part is that these are 16 bit applications, and support for 16 bit is not that great since it's not really used anymore.
  2. Exile 1 has a smaller set of attributes for the items compared to Exile 3+ (which makes sense since it was the 1st game). From what I can tell, it looks like Exile reused fields for different items. E.g. the damage field for a weapon seems to be reused for the defense value for shields. Many of these fields make sense, however some fields that should be apparent seem to be missing such as item value. I also wasn't able to easily identify the item levels. I'm assuming that somewhere in the item definition table there would be an index into another table that defined any special abilities like always poisoned or flaming (for exile 3). Unfortunately I haven't learned anything yet. Patching the tables and re-running the game may provide some insight. Figuring this out would finally answer the question about what is so special about the giant's circlet vs regular fang necklaces! I also think some items are dynamically generated - the rings of regen aren't hard coded in the binary like other items are. There may be smaller item tables that are less obvious to spot for things like this. I also don't understand why certain items have multiple table entries. I see this in the BOE source as well; there is a short_item_record_type and item_record_type that seem to have almost the same information.
  3. I put the initial dump of the towns in the link above. They show specials (in white) and monsters. Some monsters appear depending on special flags but are included in the town data (like the wandering wizard in Kriszan). The maps will show more monsters than you likely are used to because of this. Still a few things to resolve with the template towns - not sure why two towns have walls around them.
  4. Found the table of monster graphic numbers, so I made a new folder in the town link called WithMonsters so you can see the maps with the monsters placed in the towns. I underlined monsters in green if they are friendly and red if hostile. And yes the invisible enemies are shown in these maps - they are the empty squares with the red underlines. There are some weird things I don't understand, like in town_1 why the townsperson starts in the wall instead of inside the building, and in town_2 why the shopkeepers start in front of their tables instead of behind. Maybe there is logic to clean this up in the game's code that I haven't seen, but in any case this is how the towns are represented directly from the dat file.
  5. Yes I've been using the BOE source from SpidWeb as a reference for a lot of the structs that represent the monsters and towns. There are close, but not exactly the same. If E1 works the same as E3, then the monsters will be stored as a table in the binary somewhere, where the monster's ID serves as the index into the table, and the value at that index is the position in the monster BMP files. I believe the BMP order is column-major. The trick is just finding that table in memory so I don't have to painstakingly visit each town and check what monster goes where. I put the town 13 in the dropbox folder so you can take a look. Note that yellow squares are bytes that I haven't mapped to an image - I guess E1 uses less than 256 unique map tiles. My code just reads the bytes in the town.dat file and draws the appropriate tile at that location, so whatever is there is getting turned into map tiles. For some technical info, the towns are stored in 2582 byte chunks. I think the first 144 bytes are for monsters, followed by 48*48 bytes of map tiles, followed by other data I haven't looked too much into. I would guess it contains info for specials, wandering monster locations, or sign data. The BOE source did help me here with the monster formats, from what I can tell there are 6 bytes representing a placed monster (monsterID, ???, xPos, yPos, hostile/friendly status, stationary/Movement flag), but again I'm not sure because sometimes the maps start monsters in walls which is weird.
  6. Hmm, I will have to see if I can find their graphics and drop them in. Might as well make them look as good as they can be. I'll have to check if E1 had those too
  7. @Personal Injury Doily just curious if you lifted this from the BOE source code or pulled it directly from Exile 1? The questions posed by @joleneth were the reason I started digging around in the old binaries, because I really wanted to know which items were better, or what they did exactly. Things like the rings of skill were somewhat of a mystery. Looking at the BOE source helps a bit, but things could have changed from the original game.
  8. Thanks for the pointer to the old code - the frills piece should be doable. I think Exile 3 has unique tiles for frills, so it's just a matter of checking neighboring tiles for the same type and swapping out the picture. The template towns are done and I should have all tiles mapped now. I need to better understand the logic for how the towns get destroyed to accurately display them in various states, as well dump their names. The major cities have unique maps for their various states of decay and are easy to draw. The template towns handle this differently. The final maps should include monsters as well. I think I can get sign text, but I'm not sure yet. Roads are properly implemented now too. When I'm done I'll probably post the code to view the maps, since it will let you toggle different overlays and zoom in and out - it will be easier than dumping X versions of all towns, but I'll also dump all towns too for folks that don't want to run code or have access to the game.
  9. I didn't see any dumps of the maps from Exile III, so I started pulling those out of the game as well. No promises on when this will be complete, but here is a preview of things to come. The color scheme is mostly similar to the Exile I maps where yellow tiles indicate secret passages. Exile III is different in that certain secret passages are marked in the game using a special instead of a unique tile ID, so I've marked all tiles with specials as well in white. I need to add code to connect the roads, they seem to be procedurally drawn in the game. For now all roads are highlighted in green. Obviously massive spoilers in the maps. https://www.dropbox.com/sh/f6vvhyub4pnt3nb/AABo9ZApgXmQu0MJKgY_7anBa?dl=0 Exile III is neat because it made use of template towns. If a lot of the smaller towns seemed similar it's because Jeff used a grid of premade town chunks and pieced them together to build many of the 48x48 towns in the game. It allowed him to compress the size of the towns a bit this way. These towns also had random cosmetic effects applied to them like rotating through the different mushroom tiles, or making walls moldy. They supported drawing rectangles of tiles as well, and handled "destroying" the towns too. Compared to Exile I, Exile III does a great job of not looking like a grid on the ourdoors map, and also files in the inaccessable areas with an appropriate tile, where in Exile I these areas were left blank. I mostly have the maps for the towns done, there are a few tiles that I missed and will need to clean up. I am trying to see if I can get sign text added as well as the town names pulled in. I loved this game, and dumping these maps brought back a lot of good memories.
  10. @Ess-Eschasthanks for the backstory. I've never used imgur before, but I did reduce the size of the map by a factor of two so it would more easily fit on my screen. Plus I was forgetting to save the image using a compressed format, so the full size map was 80MB which is over the imgur limit. I put links at the end of this to the full size maps, compressed this time. I like the old graphics map, it looks like the author filled in the blank areas with cave walls to make it look nicer. I personally prefer the older graphics anyway as that was what I grew up with. For the town maps, things in yellow are either normal locked doors, containers/books with stuff in them, secret doors, and shock floors. Red doors are either unlockable or require a key/flag to be set. I think green floors block monsters, but I'm not sure. I can dump the locations of NPCs in the towns too, but there are two issues. Some of the starting locations don't make sense, like monsters starting in walls, or shop keepers starting in a different spot. I also haven't done the work to map the monster ID to the graphic, so most monsters appear as either red (hostile) or green (friendly) boxes. I'm hoping to find something in the binary to help with this. There is no town 13, that segment of TOWN.DAT contains stuff might be metadata or something else. For town 62, the gremlin maze, I still have a few tiles that I don't know about - they are opaque yellow. If anyone can get there and tell me what the tile is I can fix that map. My guess is it's the marble floor or fancy wall with some kind of trigger Never mind I found the table for this - it's a barrier. A lot of graphics have multiple IDs if they have special properties. Locked doors have a different ID from unlocked doors for example. Interestingly the tool I made also lets me edit the maps, and I was able to take down the barriers in the Vahnati barrier cave (they are un-dispellable). Sadly there is nothing on that body (there is another post that talks about this), and the other end of the cave doesn't have an exit. Still neat to wander over there. I also checked out what was on the special dots in castle hawthorne behind the specials that kill you. These are just dummy dots that don't allow you to move over them. Here are the towns https://www.dropbox.com/sh/q8q2gjpzm2eh0vj/AAAOz0ZChC4rlNQ3D6ZTfFcxa?dl=0 Here is a full size outdoor map https://www.dropbox.com/s/an0l01em2fuwnk4/Exile1_Outdoor.png?dl=0
  11. Thought some folks here would be interested in an outdoor map of Exile EFTP made from the game's data files. This map is different from the ones I have seen as it uses the tile set from the game instead of the minimap colors. Since this comes from the game's data files, I also highlighted special blocks like lava that is safe to walk on and secret passages in yellow. I have maps of towns as well that I could share if there is interest - especially the unmappable ones like Erika's Tower and the Gremlin Maze. https://imgur.com/a/i005YEU
  • Create New...