The way the cap was being handled was kind of messed up, and was trying to subtract your existing Super Ring count.
But because the datatype doesn't support negative numbers, it rolled under to approx UINT16_MAX!
Fix the datatypes and add the extra over-range check to prevent this from happening again.
- VS_ArenaCenterInit - setting up the boss arena centerpoint
- VS_GetArena - Getting a particular arena
- VS_PredictAroundArena - Predict momentum of object around arena
- VS_RandomPointOnArena - Select random position around arena
- Gametypes have "GPpic" and "GPpicMini" parameters
- These are shown in contexts where a Round Number would be shown in GP, but an eventmode is under way.
- Instead of having different rules to show up on the pause menu, titlecard, and tally/intermission...
- Pause Menu Roundqueue, Tally, and Intermission have all been aligned to the same rules.
- As long as the titlecard is standard, it will show the GP Pic per those rules. (GTR_SPECIALSTART and GTR_BOSS still have their unique behaviour here)
- If owner->xtralife isn't 0...
- For every 20 Rings we count up, increment livesAdded.
- If at the end of the ring count livesAdded is less than owner->xtralife, set livesAdded to that value.
- Every time livesAdded is changed, play the sound and set the blink.
- Caps the number of added lives to the same as P_GivePlayerLives would permit.
Fixes several things to do with the boss healthbar.
- Makes its randomised jitter work with interp/pause
- Constantly calling the external PRNG tanks performance, at least on Windows, so this solves that too
Done as a special non-netsynced random class so the author of this commit wouldn't have to create a third suite of duplicated Random functions.
- Custom Mace system
- Change the OTHER MF2_ that MT_RANDOMITEM uses to also not conflict with the sound-creating property
- Support being counted for the P_RespawnBattleBoxes system
- If there's only one Random Item on the course, have an extra delay before its respawn is forced
- More prevention of S_RINGBOX1 set in GTR_SPHERES
- Fix potential state issue for Ring Box conversion