Modified number_geo to allow it to display orange numbers from 0 to 999.
Edited red coins/secrets code:
Added two fields in the Area struct: numRedCoins and numSecrets
The number of red coins/secrets in every area is computed during level script processing
Removed the useless global gRedCoinsCollected
These changes fix the following bugs:
Wrong sound effect played and incorrect number displayed when there is more than 8 red coins/5 secrets
Desynced red coins/secrets counter when going from an area to another
Remotely spawning red coins/secrets stars in other areas without collecting all red coins/secrets
Pausing the game now shows the correct number of collected red coins / the total number of red coins in the current area.
Now level changes and area changes are separated. Entity deletions are
properly tracked on level change or area change. Late entity
synchronization is now triggered on any area change.
Since the second-player code was the first code I wrote, it was implemented
poorly. At that point, I didn't know the code base at all and the way it was
written would prevent anyone from ever adding to those parts.
The rewrite allows me to use the default geo.inc.c file for Mario, and removes
all of the geo2.inc.c files. I no longer do a bunch of bit shifting to figure
out which player is being drawn in the rendering code.
I'm also now able to remove tons of duplicate code that exists just for the
remote player. The main player code is generic enough to support both indices.
A side-effect of the rewrite is I was able to remove many assumptions in the
code where two-players is assumed, but many other parts of the code still
assume two players.
This is a fairly major change that, if all goes well, will be completely
unnoticed by the player. However, I do expect new bugs to pop up in strange
places. Time will tell.
Added Luigi model.
Renamed all previous references to 'Luigi' to 'Mario2' since player 1
isn't always mario, and player 2 isn't always luigi.
Now server is always mario and client is always Luigi.
Luigi model credits:
Original model by Cjes, converted by AloXado320, textures added/fixed by
SunlitSpace542.