- PC's internal reference to the party was clobbered on load
- Several dynamic structures still made assumptions about their size, causing crashes
- Issues with town maps due to treating all towns as 64x64
- Town maps were saved only if you are in town
- Wrong image in generic lever dialog
- Crash in adventure notes dialog
- Incorrect spell costs shown on second page of spellcasting dialog
- Enable messages in "if context" node, but only for legacy scenarios
- Fix recorded dialogue not working
- Fix special items leaking between scenarios
- Fix training dialog
- Fix scenario editor sometimes crashing on scenarios that it wrote itself
Errors fixed:
- If Cave Lore / Woodsman not converted correctly
- If Have Item Class Equipped erroneously converted to its +take variant
(...probably)
- Text Response didn't correctly convert the alternate answer
Errors fixed:
- Picture forced to 19 for stairway nodes.
(The game actually did this, and also forced to 22 for portals,
but I decided that wasn't necessary to preserve.)
- Fix incorrect dexterity cost
- Fix disease working only on dead PCs
- Fix Steal Food only activating in monster-on-monster combat
- Clear town population when entering a new town
This should avoid the issue with monsters from one town overflowing into another
- Changed cPlayer::equip to a bitset
- Use a static constant instead of a loop to initialized player starting spells
- Only save spell points if the player has any (current if different from max)
- Symbolic forms for trait enum (and save symbolic forms also for skills)
- When loading a player, clear data which is not always present in the file
- Also add an init test for cPlayer
This makes all loop index variables local to their loop and
fixes some issue arising from the loop variables being present
through the whole function, such as using the wrong index variable.
In addition, there has been some reduction of code duplication in
the scenario editor.