Without this BUGFIX, pathing towards and attacking a hostile
player with player index 0 (through 3) would trigger the speech
dialogue of a corresponding monster 0 (through 3), should they
have speeches activated. Given that the first 4 monster indices
are reserved for Golems, this BUG would trigger if a golem was
killed, and given the incorrect implementation of pseudo delete
of golems in DeleteMonsterList failing to reserve the golem
monster indices, and a new monster was spawned (e.g. by King
Leoric) thus taking a "golem" monster index. Given this scenario,
attacking a player could trigger a speech dialogue (well, that is
if the spawned monsters had speech dialogues activated).
Since they are being usered there reserved status can be said to have
changed. Clearly naming them makes it easier to understand what meaning
they have and this doesn't affect bin exact.
- Add file documentation to about 1/4 of the files in Source
- Copy over a lot of the documentation from the sanctuary/notes repo
- Standardise all the existing documentation
- Create a configuration for Doxygen
- Add more documentation (engine.cpp is now fully documented)
Now diablo.h is treated in the same way as all other header files of
Source, as it only contains the declarations of global variables and
functions of diablo.cpp.
Besides consistency, this also enables mods to include diablo.h just
like any other header file without having to include every header file
(and without having to include C++ specific aspects of the now all.h).