Commit graph

21735 commits

Author SHA1 Message Date
toaster
db52c22a83 More NULL handling for gamedata
Partial duplicate of MR 1010, but 1) wanted to guarantee no merge conflicts before I forgot and 2) I added things in previous commits which needed stronger guarding
2023-03-03 13:59:59 +00:00
toaster
1f144c3106 M_UpdateUnlockablesAndExtraEmblems: Do not permit UCRP_REQUIRESPLAYING conditions in demo.playback 2023-03-03 13:46:42 +00:00
toaster
e1c25228b5 UCRP_REQUIRESPLAYING: Forbid some possible exiting states from happening in Free Play 2023-03-03 13:43:47 +00:00
toaster
53ce2e4287 Gamedata-related changes + Crash tracking
- Combine multiple adjacent saves
    - Generally could happen during game ticking, combined via gamedata->deferredstate
    - DEFINITELY happened in splitscreen PWR handling, adjust those loops directly
- Write "dirty" state via gamedata->crashflags on everything except safe, intentful unloads
    - Add UC_CRASH, which unlocks dependent on the above "dirty" state being present at gamedata load
    - We can use this for something more useful and less funny later.
- Play "O_LOSERC" on the menu, starting with the Challenges screen, if a UC_CRASH condition has been met.
2023-03-03 13:38:31 +00:00
toaster
b4217e1afd UCRP_FINISHTIMELEFT: Flip incorrect less-than to greater-than in condition handling 2023-03-02 23:11:18 +00:00
toaster
5b11179213 A start on in-level empheral conditions
- M_UpdateUnlockablesAndExtraEmblems: If Playing() and GS_LEVEL, call a bunch of funny conditions for every non-spectator splitscreen player.
    - Called every tick in P_Ticker. May be foolish. May duplicate effort. Worth extra attention later.
- Add a bunch of stacking-together UCRP_REQUIRESPLAYING condition types.
    - A collection of PREFIXes
        - Grand Prix
        - Bonus Round
        - Time Attack
        - Break The Capsules
        - Sealed Star
    - A collection of specific prerequisites
        - Current map is [map value]
        - Character is [character string that gets parsed after skin load]
            - M_UpdateConditionSetsPending(), because SOC is bad and loaded before skins
    - A collection of win conditions (TODO: these still work in FREE PLAY)
        - Finish in good standing
        - Break all the capsules
        - No Contest
        - Finish at least [place]
        - Finish at [place] exactly
        - Finish at [time, tics]
        - Finish at [time, tics] exactly
        - Finish with at least [time, tics] left (GTR_TIMELIMIT only)
    - An AND to concatenate them together (literally just for text adjustment)
2023-03-02 23:02:42 +00:00
toaster
e07802d3bf M_SetupGametypeMenu: Fix a bug with RestoreMenu corrupting menu state. 2023-03-02 21:04:23 +00:00
toaster
92285b90fa Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into conditions-cascading 2023-03-02 14:38:56 +00:00
toaster
884f03c043 Merge branch 'fix-grow-music' into 'master'
Fix powerup music inconsistencies (resolves #460)

Closes #460

See merge request KartKrew/Kart!1001
2023-03-02 14:37:21 +00:00
toaster
693562c0b4 Merge branch 'orbi-deletion-crash' into 'master'
Obj_OrbinautJawzMoveHeld: Make loop iteration less fragile

See merge request KartKrew/Kart!998
2023-03-02 13:34:50 +00:00
toaster
e11738b481 Merge branch 'droptarget-collide-plus' into 'master'
More fun with Drop Target punting

See merge request KartKrew/Kart!995
2023-03-02 13:34:02 +00:00
AJ Martinez
746171a8ad Fix powerup music inconsistencies 2023-03-02 02:47:29 -07:00
Oni
e79d419d25 Merge branch 'hwr2-twodee' into 'master'
hwr2: Add hardware 2D rendering

See merge request KartKrew/Kart!914
2023-03-02 01:42:26 +00:00
Eidolon
5d54d53a4b Hide movie_showfps option when webm is disabled 2023-03-01 19:02:20 -06:00
Eidolon
df5f24e5c7 hwr2: separate Modulate and Alpha blending in 2d 2023-03-01 18:54:31 -06:00
toaster
33d7a3d074 Merge branch 'doublespeed-deathtick' into 'master'
Doublespeed Deathtick

See merge request KartKrew/Kart!1000
2023-03-01 23:30:12 +00:00
toaster
06ccdbafc7 P_DeathThink: Don't tick K_KartPlayerHUDUpdate
This function is already called regardless of whether the player is dead or alive in p_tick.c
2023-03-01 23:16:29 +00:00
toaster
ac086fe09a K_PuntMine: Same MF_NOCLIP change regression fix 2023-03-01 19:03:51 +00:00
toaster
4e9d2295c9 Obj_OrbinautJawzMoveHeld: Make loop iteration less fragile
MF_NOCLIPTHING is no longer enough to prevent the object from being removed.
All calls which can delete the object should now be handled more thoroughly.
2023-03-01 19:03:46 +00:00
Oni
07f2b5cc5d Merge branch 'loops' into 'master'
Sonic Loops

See merge request KartKrew/Kart!991
2023-03-01 18:28:56 +00:00
Oni
ec4c74c10e Merge branch 'race-start-stuff' into 'master'
Race start stuff

See merge request KartKrew/Kart!996
2023-03-01 18:28:37 +00:00
toaster
946a9b0849 Merge branch 'delete-your-developringdata' into 'master'
Add a short help instruction to "Game data is from the future!" error

See merge request KartKrew/Kart!997
2023-03-01 18:23:52 +00:00
James R
e4885aab47 Add a short help instruction to "Game data is from the future!" error
Game data is from the future! (expected 69, got 420)
Rename or delete developringdata.dat (maybe in the Ring Racers folder) and try again.
2023-03-01 10:19:09 -08:00
toaster
35ae8f01f4 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into hwr2-twodee 2023-03-01 18:10:44 +00:00
Oni
36b5ba385a Merge branch 'respawn-intangible' into 'master'
Make player impervious to damage while respawning, don't let them use items

Closes #328

See merge request KartKrew/Kart!994
2023-03-01 18:09:12 +00:00
toaster
ab75037583 Merge branch 'loops-prep' into 'master'
Prep for Sonic Loops

See merge request KartKrew/Kart!990
2023-03-01 17:39:36 +00:00
toaster
f305246311 Cleaned up commenting and conditions for start countdown changes 2023-03-01 17:21:57 +00:00
James R
eab22f645c Merge branch 'titlecard-cecho' into 'master'
Titlecard CEcho

See merge request KartKrew/Kart!952
2023-03-01 17:21:13 +00:00
toaster
5f74d8ca85 Missing else. I am messing up my elses today 2023-03-01 17:15:35 +00:00
toaster
a2b5844ae8 Use S_FadeMusic instead of S_FadeOutStopMusic near starttime
Had no deleterious effect when the I_FadeSong hits 0 volume while paused, and seems to be a possible solution to fixing the music-stopping issue..?
2023-03-01 17:03:47 +00:00
James R
7a8a377d93 Bubble reflect Drop Targets 2023-03-01 09:03:04 -08:00
toaster
13a987a0a2 Move starting countdown sounds to p_tick.c
Fixes an issue where the starting countdown wouldn't play in spectator mode or hitlag
2023-03-01 16:32:23 +00:00
James R
b2268157fd Fix type check for Land Mines vs Drop Target/Bubble Shield expand
Fixes Drop Targets not pushing Land Mines.
2023-03-01 08:21:30 -08:00
James R
b2913b9a19 Let Drop Targets hit the thrower immediately after bouncing off a wall 2023-03-01 08:20:20 -08:00
James R
de74808eaa Let Drop Targets collide with other items immediately after being thrown
see efc415e5
2023-03-01 08:20:06 -08:00
James R
8af130f792 Let Drop Targets collide with other players immediately after being thrown 2023-03-01 08:20:05 -08:00
toaster
2e55d35ead Merge branch 'director-bugs' into 'master'
Director spectator bugfixes

See merge request KartKrew/Kart!993
2023-03-01 16:16:51 +00:00
toaster
36afe024c7 Spurious else 2023-03-01 16:06:12 +00:00
James R
393cf6e7f3 Don't let the player use the item button until completely finished respawning 2023-03-01 07:43:23 -08:00
toaster
93f151fec9 Director HUD: Do a bit of cleanup
- Add "Join" on L button.
    - "Becomes ". . .", "Cancel join", and has "[i/n]" appended (where n is cap and i is number of players in game)
- Add colorisation when Director is active
- Make an attempt at fixing splitscreen (I wasn't able to get director to ACTIVATE in splitscreen with two local clients so it's frustratingly untested)
2023-03-01 15:27:48 +00:00
James R
0cd260eed1 Don't let death type damage kill respawning player
This includes death pits and instakill sectors. Does not
affect direct P_KillMobj calls.
2023-03-01 07:25:54 -08:00
James R
6e5a5bf92d Apply flashing tics to RESPAWNST_DROP
Applies flashing tics to the entire respawn state so you
don't become vulnerable once you reach the waypoint.
2023-03-01 07:25:14 -08:00
James R
5ef24e1a3c Fix flashing tics flickering animation for light snake 2023-03-01 07:23:56 -08:00
toaster
739d81f403 G_BuildTiccmd: Fix not being able to use item button to toggle PF_WANTSTOJOIN 2023-03-01 15:00:35 +00:00
Lat
64792f30a2 Fix using cecho instead of tcecho for 1 line 2023-03-01 15:48:40 +01:00
toaster
28b3006efd K_DirectorSwitch: Don't let forced switches cause a G_ResetView update when directorinfo.active is false 2023-03-01 13:56:45 +00:00
toaster
40271cd128 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into hwr2-twodee 2023-03-01 12:30:58 +00:00
James R
8bd83b69c3 Spawn MT_LOOPENDPOINT and MT_LOOPCENTERPOINT mapthings 2023-02-28 20:27:11 -08:00
James R
7738d6bb7c Activate loop endpoints 2023-02-28 20:27:11 -08:00
James R
583ef41ac9 Add MT_LOOPENDPOINT, MT_LOOPCENTERPOINT
Doomednum 2020, 2021
2023-02-28 20:27:11 -08:00