- m_menu.c and m_menu.h are dead. Everything has now been moved to k_menudef.c, k_menufunc.c, k_menudraw.c, and k_menu.h.
- Expanded menu_t and menuitem_t to add transitions and tooltips
- Early character select screen
- Removed almost all menu definitions, I'll be reimporting them as they are needed
Changed any instance of "joystick" in strings to "gamepad"
Renamed some cvars
Added a define for MAX_JOYSTICK
Added back the missing command line params.
- Capsules get spawned in the proper scenarios
- Level ends when all capsules are busted
- Time gets used on the leaderboard instead of score
Also split a handful of Battle code into k_battle.c. Lots of other code could probably get moved here later
* Genesis-style love and attention to the death event.
* Only visibly decrement lives/rings when you're respawning (or game over, see below).
* Faster no-button-press respawn.
* Game Over specific love.
* Animation of Level Title font coming in from the sides.
* https://cdn.discordapp.com/attachments/428262628893261828/617692325438554132/srb20067.gif
* Change gameovertics to 10 seconds instead of 15.
* Make the minimum time before you can force going to the Continue screen longer.
* Accomodate death in MP special stages as a form of exit.
* Don't have your rings or spheres reset when you die in a special stage, so that the stage isn't softlocked with the new harder limits.
* Fix a bug with CoopLives_OnChange where changing to infinite lives didn't force a game-overed player to respawn.
Also, two not-quite death things which nonetheless were relevant to change:
* Fix quitting a special stage having some of the shared spheres/rings disappear into the aether.
* Fix a warning during compilation for the Ring Penalty print.
* Array of 8 INT32's natively embedded into savedata (net and SP)!
* Initialised to zero whenever a new save (or equivalent) is started, otherwise untouched by the base game.
* Requires reservation to avoid clobber-conflicts.
* Access via `reserveLuabanks()` - returns a read-write userdata.
* Assign userdata to local variable or global rawset to use later.
Mostly for future SUGOIlikes, but I'm sure someone could figure out an unrelated usage eventually.
Someone thought it was a good fucking idea to make logins NetXCmds. NetXCmds
are sent to everyone however. Thankfully logins are two passes. And the second
pass uses a salt based on the playernum. Therefore, in order to actually make
use of the final hash, you'd have to be the same playernum as who originally
sent it. Still a stupid exploit.
P.S. The netcode is LOL XD by VincyTM -Telos