* Spell notes are now an enum instead of a magic integer.
* The functions are now defined in iLiving instead of cCreature, meaning they can be called on PCs.
* They now use fmtlib to interpolate the name.
* A creature attacking themself now prints "Name attacks themself" instead of "Name attacks Name".
Pretty much all of these fall into one of two categories:
* Variables that are obviously unneeded and in many cases completely unused – probably remnants of old code that was rewritten. These ones were deleted.
* Variables that look like they should be used but aren't. These ones have been suppressed, with a TODO message added as a reminder to investigate them in more detail later.
The fields array was fixed at 64x64, which is fine for all towns
supported in legacy BoE.
However, we intend to support even larger towns in the future,
and also it seems silly to hold so much extra space for a smaller town.
So now, the fields array is a 2D vector that matches the size of the terrain vector.
The setup array is similarly a list of 2D vectors.
This radically changes the format used to store the setup array in a saved game.
Older saves won't crash the game, but fields will be messed up or missing.
Resetting towns is recommended.
This commit only updates the XCode project for the changes.
A later commit each will update it for scons and MSVC.
A few actual changes are mixed in:
- Add a prefix header for a handful of common definitions
- Moved current_cursor into the Cursor class as a static member
- Removed the make_cursor_sword and make_cursor_watch functions
- Include tests in the All target
- Remove redundant -l flags for Common and Common-Party (since they're included in the Link phases anyway)