- Replace battlewanted global with g_hiscore, keeps track
of the current highest number of points.
- Adds HUD tracking for player(s) with the hiscore.
- Should target both players in a tie.
- M_ProfileControlSaveResponse: Set without stealth (ie, call command which sends XD_WEAPONPREF netxcmd)
- weaponPrefChange (and its splitscreen ilk): Only build/send XD_WEAPONPREF command when Playing()
- K_drawKartTimestamp: Significantly less messy, no longer dependent on static variables, and no longer iterates over M_GetLevelEmblems every rendered frame(!!)
- TODO: Still handles playing sound in the drawer
- K_PrepareTimeAttack: Initial generation of a struct of emblems/text is handled on the menu
- G_UpdateRecords: Updated in-game if you unlock the next medal there
This commit was amended to centralise the new material in g_game.c and reduce the number of header additions required.
- restoreMenu, M_SpecificMenuRestore
- From any Cup Select, Level Select, or Time Attack context (including non-net replay playback), return to the relevant "core menu"
- From any server OR server connection failure, return to the Online EGGA CHANNEL top-level menu
- From netreplay, head to replay hut without incorrect gamestate/fade cope
- Interruption for Challenges unlock sequence now happens on all menu returns, not just post-titlescreen
- M_StartControlPanel
- Integrate with above
- Handle menu re-initialisation properly under more contexts
- D_ClearState
- Split out from D_StartTitle
- Can be used alongside M_StartControlPanel to restore menu state from any play session in a way just as reliable as D_StartTitle was
- Hold lookback to pivot the spectator's vertical aiming angle
- Forward/backwards item throw/trick input aims up/down
- Overrides forwards/backwards movement while lookback is held
- Changes the spectator text to indicate that it's in aiming mode
- P_DamageMobj
- Become skin temporarily to show off the hurt frames
- Sets charflags, so P_PlayerThink can handle reversion
- Add sparkles for losing disguise
- P_KillPlayer
- Sets charflags, so P_PlayerThink can handle reversion
- Add extra sound for losing disguise
- G_PlayerReborn
- Sets charflags in not-betweenmaps case as well, so P_PlayerThink can handle reversion
- P_SpawnPlayer
- Use set skin for spawn again (partial revert of previously committed code)
- P_PlayerThink
- More specific conditions for fakeskin reversion
- Not hurt, dead, or respawning (except for last part of drop)
- Add sound and sparkles for reapplying disguise
* CL_ClearPlayer (player departing server)
- In GS_LEVEL, decrement refcount for all relevant pointer
- Clearer comments
* G_PlayerReborn (initialisation before any player spawn)
- Preserve skybox data and hoverhyudoro (except between maps)
- Clean up follower handling
* Cross-codebase: use P_SetTarget for setting skybox-specific pointers, to match p_saveg.c
I would've liked to make it use a single allocate function to do this very cleanly, but these cases were very clearly not meant to be standardized and use wildly different methods to allocate & free...
This caused some scary issues with P_SaveNetGame the other day, and it's making ACS net sync harder. Let's just cut this off right now.
Also fixed some scary mix-ups in some of the Lua archiving code.