Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by Motardo

  1. I was looking at how Sanctuary works in the legacy BoE source code and I noticed some inconsistency. combat.c -- monster_attack_pc() // Check sanctuary if (adven[target].status[8] > 0) { r1 = get_ran(1,0,100); if (r1 > hit_chance[attacker->m_d.level / 2]) { add_string_to_buf(" Can't find target! "); } return; /* <-- Oops, return without attacking regardless of the roll */ } combat.c -- monster_fire_missile() // Check sanctuary if (adven[target].status[8] > 0) { r1 = get_ran(1,0,100); if (r1 > hit_chance[level]) { add_string_to_buf(" Can't find target! "); } return; /* <-- Oops, missile attacks always fail too */ } When a PC has Sanctuary, the "Can't find target" message has a random chance of being printed or not based on the attacking creatures level. The higher the level, the less chance the message with be printed. But either way, the attack always fails. This is probably a bug and not the behavior that the designer intended. Both Exile 2 and Exile 3 also have this bug (Exile I did not have Sanctuary at all). There are two ways to fix it: 1) Make Santcuary succeed based on a die roll as originally intended 2) Keep Sanctuary's 100% success rate, discard the randomness, and always print the "Can't find target" message At low levels, I often use Sanctuary to cheat battles with much stronger enemies. I have come to rely on it being a guaranteed safety. If it were to become less sure, especially against high level creatures, I would need to rethink a lot of my strategies, but that could be fun too.
  2. Here is a file with the specs of all the items in Exile 1. It was created by scraping the item data from the EXILE.EXE binary. Below is an excerpt from the file showing the items with negative encumbrance: | defen | encum | ability | fullname | | ----- | ----- | ------- | ------------------ | | 0 | -1 | 26 | Ring of Speed | | 0 | -3 | 47 | Circlet of giants | | 0 | -1 | 47 | Fang necklace | | 3 | -3 | 46 | Necklace of Lords | | 3 | -3 | 0 | Gauntlets of Skill |
  3. It's a message from Berra in Fort Emergence from near the middle of the game.
  4. Awesome! I'm going to use this for the Diseased icon because the pie chart doesn't work with that icon anyway. Yes, 68k code is in CODE resources in the resource fork, and there is a nice disassembler plug-in for ResEdit that works really well. For Windows 3.1, the executable format is well documented and public. It has to be because the program loader and initialization logic are built in to the Windows operating system, so any program that wants to run under Windows needs to follow the standard. For Macintosh, by contrast, the operating system doesn't do any special load-time initialization when a program is launched. Each individual program is responsible for initializing itself. So the format of the executable is left to the whims of whatever compiler created it. I compiled the same test program using Apple's MPW, Metrowerks Code Warrior, and Symantec Think C. They all generated different executables. The worst part is that I could only find vague generalizations about their formats in the compiler documentation; not exact technical specifications. My guess is that they deliberately kept their format undocumented so that they would be free to make improvements with each new release version of their compilers. The secrecy is also a good defense against malware hackers. Windows, on the other hand, by declaring a public standard, was then unable to ever make changes. Anyway, I've decoded about 60% of the executable format of Exile 3, and about 40% is still unknown. It was enough to get the status icons patch working. Hopefully, the other Exiles and Blades were created with the same compiler version and have the same format.
  5. Hah, yes, I am not an artist. Hopefully, someone will make nicer icons. Yes, the 68k code was compiled with Code Warrior, which uses it's own executable format. I couldn't find documentation on the exact format so I had to reverse engineer it. I finally did get the Mac version of Exile 3 working, but I haven't uploaded it anywhere yet. I'm trying to consolidate what I learned from doing Exile 3 into a process that will make it easier to patch Exiles I, II, and Blades.
  6. Hello, I modified the status icons in Exile 1-3 to use a pie chart to indicate the level from 1 to 8 of how much a PC is Blessed, Hasted, Poisoned, etc. It is nice to know when a monster Slows or Curses or Acids your PCs, whether it is minor nuisance that will wear off by itself the next round, or a major problem that needs attention. There are download links to the patched games in this blog post. (These are the free registered versions from SW's site with some code and graphics modifications. I hope it is allowed to post these here?).
  7. I think it would be difficult. Using Linux, I run the Mac versions on Basilisk (68k Mac emulator), and the Windows versions on DOSBox (DOS emulator). I think modern Mac users would also need Basilisk or DOSBox to run them.
  8. For now I'm just working with the legacy versions of Blades and the Exile Trilogy. Here is the Mac 68k version with the same patches and Instant Help off by default.
  9. Turning off Instant Help is the first thing I do every time I start new game. Making it off by default is a great idea. I put up a temporary link to a version of BLADES.EXE for Windows that has Instant Help off by default. It also has the Thrown Missile fix and Locked Door keyboard shortcuts. I will try to make patches for Exile 1-3 and the Mac versions too.
  10. I'm not sure about a simple patch file. I suppose it could be a script that edits the game file when run. Alternatively, it would be easy to make a patched version of the whole game and include that (assuming Spiderweb Software does not object?).
  11. It is definitely `Defense` instead of `Thrown`. It was present in the earliest versions I could find on old shareware disks: Exile I v1.0.5 for Mac, and Exile I v1.0.1 for Windows. By the way, I wanted to play with Throwing skill working so I used a hex editor to fix it.
  12. The bug causes `Defense` skill to be used instead of `Throwing` skill. It has been present from the earliest version of Exile: Escape from the Pit all the way through the latest version of Blades (classic that is).
  • Create New...