Commit graph

1894 commits

Author SHA1 Message Date
James R
9578f5e05d Reset viewpoint to local player if last viewed player spectates or leaves 2023-02-26 04:08:19 -08:00
AJ Martinez
9cd6257012 Merge remote-tracking branch 'origin/master' into local-camera-fudge 2023-02-25 17:45:20 -07:00
Oni
912e062efa Merge branch 'battle-points' into 'master'
Battle points changes

See merge request KartKrew/Kart!962
2023-02-26 00:08:25 +00:00
AJ Martinez
6647ed4b14 Final cleanup of old experiments 2023-02-25 15:56:38 -07:00
AJ Martinez
a3831ccf48 Disable local driftend snap for testing 2023-02-25 00:55:25 -07:00
James R
e6da831e36 HUD target player with most points
- 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.
2023-02-24 23:21:47 -08:00
AJ Martinez
e2cc6abacc Merge remote-tracking branch 'origin/master' into local-camera-fudge 2023-02-24 22:36:06 -07:00
Oni
e1fd7bce99 Merge branch 'challenges-continued' into 'master'
Updated Challenges Menu

See merge request KartKrew/Kart!971
2023-02-25 04:37:02 +00:00
AJ Martinez
c17f5c22ff Suspend local camera during DRIFTEND kickout 2023-02-24 21:16:53 -07:00
AJ Martinez
432be46a2f Please god just fucking work 2023-02-24 20:04:36 -07:00
AJ Martinez
7c08634f7e WIP: Turn towards local camera (midgame join broken right now) 2023-02-24 16:59:22 -07:00
AJ Martinez
560050cf2c Remove old anglepredict debug print 2023-02-23 15:21:54 -07:00
AJ Martinez
4062447ee7 Debounce cmd latency in local camera prediction 2023-02-23 15:19:11 -07:00
toaster
97612ba26e Challenge Grid: set height to 4
- In anticipation of next steps of menu redesign
- g_game.c: Increment GD_VERSIONMINOR and burn old challenge grid data
2023-02-23 17:57:01 +00:00
Lat
d755d6edb9 Titlecard CEcho 2023-02-21 16:16:34 +01:00
toaster
d69e92d70f Fix changing kickstartaccel from the profile menu
- 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()
2023-02-18 14:15:58 +00:00
Oni
a1cd780a14 Merge branch 'matchrace-restore' into 'master'
Match Race menu restoring

See merge request KartKrew/Kart!913
2023-02-17 04:37:55 +00:00
James R
f05f040cea Fix faulty assertions 2023-02-14 00:46:54 -08:00
wolfy852
b76557045f Change mapmusrng to UINT8 2023-02-11 08:23:57 -06:00
wolfy852
2c162b50a3 mapmusrng variable, proper sync, cleanup 2023-02-11 08:16:37 -06:00
toaster
c9535796ab G_GetNextMap: Return to menu after one Match Race is completed 2023-02-09 22:58:47 +00:00
toaster
dc5f6eb991 G_UpdateRecords: Remove console print on RA Medal get as per textual request (UI now communicates this) 2023-02-06 22:38:32 +00:00
toaster
75ee5d1c0b G_UpdateTimeStickerMedals: Fixes for issues with invalid ghost-Medal combinations.
- Only set timetoreach from Medal's var in valid cases
- Shorter invalid phrases to fit in 9-long buffer
2023-02-06 00:28:14 +00:00
toaster
d1c7a90a7c G_UpdateTimeStickerMedals: Put an actual message on the sticker where an invalid medal ghost tag is handled
Fixes a function reshuffling error that would have put control flow back in a loop with invalid properties
2023-02-05 19:25:23 +00:00
toaster
e7b63a5fad G_UpdateTimeStickerMedals, M_StartTimeAttack: If you've beaten all game-provided times, show your personal best record on the in-level HUD instead. 2023-02-05 19:17:07 +00:00
toaster
eab22e73a6 G_UpdateRecords: Play Medal-get sound on successful ET_TIME Medal get 2023-02-05 18:45:02 +00:00
toaster
55b7d21051 G_TickTimeStickerMedals, G_UpdateRecords, K_drawTimestamp: Jitter HUD on both Medal-earning success and general failure to reach desired time 2023-02-05 18:44:25 +00:00
toaster
eb16f9d5a9 G_TickTimeStickerMedals: Move the failed-record sound handling out of K_drawKartTimestamp 2023-02-05 18:31:59 +00:00
toaster
9c95d2d975 G_UpdateTimeStickerMedals: Use a memset to initialise the struct, rather than relying on manual pick-outs 2023-02-05 18:02:21 +00:00
toaster
4522ba3b4d stickermedalinfo, UpdateTimeStickerMedals: A centralised struct for Medal info attached to the time sticker.
- 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.
2023-02-05 17:42:28 +00:00
toaster
e874b5ba18 G_DoLoadLevel: do not apply profile if demo is played from titlescreen 2023-02-05 13:33:31 +00:00
toaster
2207115424 Time Attack: Update Medals on player exit, not on intermission
- M_UpdateRecordReplays: Split out M_UpdateRecords
- P_DoPlayerExit: Call M_UpdateRecords in modeattacking
2023-02-05 00:21:08 +00:00
toaster
96297aad1c Title demos: Add support for game loading vRes staff ghosts as title demos 2023-02-03 18:23:59 +00:00
toaster
87ee91638e D_ClearState, G_EndGame, G_GameEndTicker: Move netgame-specific server looping out of the general state-clearing function, for sanity's sake. 2023-01-31 14:09:21 +00:00
toaster
defa4511a8 G_EndGame: Do not open menu if D_ClearState runs netgame level loop behaviour 2023-01-31 13:57:53 +00:00
toaster
20e9b2f5e8 Restore menu state after playsim
- 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
2023-01-29 23:53:21 +00:00
Oni
271dae4643 Merge branch 'refcount-goofin' into 'master'
Additional P_SetTarget mobj_t pointer fixes on player struct

See merge request KartKrew/Kart!875
2023-01-25 01:00:42 +00:00
Oni
8a771521c2 Merge branch 'spectator-look' into 'master'
Re-implement spectator vertical look

See merge request KartKrew/Kart!898
2023-01-22 03:33:37 +00:00
Oni
5664c8addc Merge branch 'title-profile-tweaks' into 'master'
Small fixes for profile selection and skipping title screen

See merge request KartKrew/Kart!895
2023-01-22 02:51:28 +00:00
toaster
e6e1d6b042 Re-implement spectator vertical look
- 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
2023-01-21 23:46:14 +00:00
toaster
2e35a40b80 SF_IRONMAN: handle randomised skin and hurt/death states differently
- 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
2023-01-21 14:43:54 +00:00
James R
63bed732f2 G_Responder: remove check to finalecount before opening menu from title screen
This is handled by M_StartControlPanel anyway and the
condition did not match anymore.
2023-01-19 21:28:03 -08:00
toaster
2a87cfcdf1 Additional P_SetTarget mobj_t pointer fixes on player struct
* 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
2023-01-08 15:15:44 +00:00
toaster
80d19a8458 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into save_p-unglobal-alt
# Conflicts:
#	src/g_demo.c
2023-01-03 19:45:18 +00:00
Sally Coolatta
aa4fd8ab13 Add functions to initialize savebuffer_t
g_demo.c is mostly unaltered because it is made of twigs.
2023-01-02 19:47:59 -05:00
Sally Coolatta
761be01dbb Contain end & size into savebuffer_t
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...
2023-01-01 00:23:23 -08:00
Sally Coolatta
38a35b6f78 Make save_p / savebuffers not global
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.
2023-01-01 00:22:56 -08:00
toaster
3357f56c9e G_RandMap should consider & all valid flags for gametype, not ==. 2022-12-31 22:44:49 +00:00
toaster
05241341b8 Remove the last few instances of gametype-specific colorisation 2022-12-31 21:38:52 +00:00
toaster
c857153c29 Unstaged closing brace 2022-12-31 19:03:13 +00:00