Build 0.5.4A ------------ This version will load 0.5.4 files. Two Bug Fixes: 1. Phase Door no longer risks a UAE. I had a signed/unsigned conversion error in my limit checking, and it was letting you jump outside the dungeon! 2. Exit, Prompt for Save, Say Yes, now correctly exits after the save. Build 0.5.4 ----------- Note that as usual, 0.5.4 won't load previous save files. New Features: 1. New monsters! I added 7 new beasties over the weekend, but why spoil the fun, I'll let you find out what they are by playing... 2. New Spells/Items: A. Word of Recall Spell/Scroll. Also available in the church. Cast this spell and some time in the next two minutes you will be yanked to another level. From town you'll go to the deepest level you've visited, from any level in the dungeon you'll be yanked to town. B. Wand of Light. Useful deeper down. C. Teleport Spell/Scroll: Jumps you to a random place on the level, at least 10 squares from your current location. 3. Mouse Movement tuned. It used to be impossible to do diagnol moves, since it would take avoiding the vertical and horizontal squares. I fixed this by making it wait until the mouse is at least half way into the next square before moving the player. Bug Fixes: 1. Ghost attack message no longer asserts. 2. Phase door has been fixed. It was supposed to jump you between 5 and 10 squares away, but it was doing random things. It turns out I had my axis switched, and it was mirroring the player across the row=col line. It works now. Note that in town it acts like a teleport... 3. Stores don't keep worthless items. If you sell a formerly cursed item to the store, or an unidentified worthless item, it'll just get thrown away. 4. If you went up a level by killing a monster with a spell, the mana for the spell was subtracted AFTER you went up the level and had your mana recharged. I changed this to subtract first so you get a full charge in this case. Build 0.5.2A ------------ Bug Fixes: 1. Fixed a bug in the time code that made the time counter wrap at max short rather than max long. This made my calculations about how much time had passed bogus, since timeCur - timeOld would be negative. Two effects from this: When you went into a store after time had wrapped, it would try and generate thousands of new objects for the store. When time wrapped, all monsters on the current level would freeze. New monsters would be okay, but existing ones were fodder... Build 0.5.2 ------------ Note that 0.5.2 won't load 0.5.1 or 0.5 save files. New Features: 1. Neutralize Poison. Available as a spell, as a potion, and in the church. Cancels all currently active poisons affecting the player. 2. Book Identification. An identified book gives the name of the spell you'll learn from it. In addition, any spell book for a spell you already know is considered identified (you recognize it). 3. Added moving the player off the store site when exiting the Bank or Church. Bug Fixes: 1. I fixed the heap leak discovered in 0.5.1 (not freeing the names of the stores on player death). 2. I fixed random crash that could hit you on save or death. It was accessing/freeing an invalid heap pointer, which if it didn't kill you then would kill you later... Build 0.5.1 ----------- Note that 0.5.1 won't load 0.5 save files. New Features: 1. Multi-Media support. There is a new file, castlemm.dll, which has sound support for castle in it. If you have the multi-media extensions to windows and a soundblaster card, than you can get sound effects for monsters, spells, traps, etc. Not very many yet, but I'll add more. The dll isn't needed if you don't have the card, so you can save disk space and not copy it. Currently the sounds are played syncronously, which means the game stops while they are playing. I'll fix this, but I haven't had time. 2. Store rotation. The objects in the stores will now change with time. Some will go away, new ones will be added. So there's no guarantee that sword will still be there when you get back, but then again, that amulet of Resist Fire may appear... 3. Minor Stuff: A. The player moves out of the store doorway on exit from a store. B. The current dungeon level appears in the status window. C. I added a Light spell, which you start out knowing. This is a targetable spell, so you can cast light into a room before entering. In a room it lights the entire room, in a hall it just lights the space around you. D. I tuned the money generation, so you shouldn't find millions of copper pieces any more. Let me know if it's still way off. Bug Fixes: 1. Level change UAE. I found a really nasty assumption in my code that writes levels to far memory. If you dumped too many objects on one site and then changed levels you'd UAE. I was asserting that I hadn't written to far, but in protect mode you UAE before you get to the assert. If fixed the problems with this, so the random level change UAE should be gone. 2. Local Heap Leaks. I wrote some code to track all the heap handles in the program, and found several local heap leaks. If you played for a long time, you could run out of local heap space, causing weird results (a-danfr hit a level with no monsters, no objects, and lots of black squares instead of traps). I fixed all the ones I found, but if you get an assert when changing levels that gives a file and line number, write it down! 3. Poison problems. Two bugs here, when you died and restarted, your new character was still poisoned. If you got poisoned, saved and exited castle, then restarted and reloaded, your character got unpoisoned! Both of these have been fixed. 4. Dead wands aren't worth a lot of money any more... 5. I fixed a bug in the church where you couldn't uncurse two items in a row. 6. The title bar in inventory now says "Castle: Inventory" so it's clear when you minimize.