* Clean up ToggleSpell
* Clean up DrawLifeFlask and UpdateLifeFlask
* Clean up DrawManaFlaskm, control_update_life_mana and UpdateManaFlask
* Clean up CheckSBook
* Clean up DoSpeedBook
* Decompose magic numbers
* Clean up GetSBookTrans
* Apply spell_type
* Slight clean up of DrawSpellList
This improves the bin diff a little bit but more importantly gets rid of
_p*Spells[] usage in control.cpp
* Clean up DeleteMonster
* AddMonster
* Clean up NewMonsterAnim
* Clean up M_Ranged, M_Talker and M_GetDir
* Clean up M_StartDelay
* Clean up M_StartSpStand
* Clean M_StartSpStand
* Add enum to monster Anim
- Removed the `mt` variable since it didn't exist in the earlier PSX version
- Replaced raw constants with the proper defines
- Reworked the likely use of `numskeltypes`.
- Added `NUM_MTYPES` to `_monster_id` to represent the number of monster types
This had interesting compiler optimizations like
local array merging, which threw off IDA a bit.
By looking into older versions and the PSX symbols
I'm pretty sure I found the correct sizes for both arrays.
There are still minor differences, such as different parameter
loading for function calls. In other places, this solved itself with
time. (VC seems to generate different code base on a lot of
things, even down to alignment).
Finished refactoring spells.cpp, modifying other files only as needed.
Some functions are 99% binary exact now, like PlacePlayer, for example.
Added notes/TODOs for places with remaining discrepancies.