Commit graph

22063 commits

Author SHA1 Message Date
James R
e65c2ba7a8 Merge branch 'improve-misc-game-testing' into 'master'
Improvements for testing/debugging

See merge request KartKrew/Kart!1004
2023-03-03 19:54:16 +00:00
James R
833a51b384 Merge branch 'fix-fault-freespin' into 'master'
Fix chasecam desyncs during hitlag/death/FAULT

See merge request KartKrew/Kart!1002
2023-03-03 19:53:50 +00:00
James R
8d25820c91 Move screenshot pass out of basic_rendering, into normal_rendering
This fixes a bug with avrecorder capturing a mostly white
frame at the beginning of a wipe. This was because
wipe_capture_start_rendering depends on basic_rendering
and a wipe could occur before any 2d elements are batched
for the current frame, thus producing a white frame when
basic_rendering is passed. It only lasted for one frame
because the PREVIOUS frame is used for the wipe itself.
This is also why the white frame was not visible
on screen.
2023-03-03 11:24:57 -08:00
toaster
74336efc74 UC_CRASH: Adjust condition string to handle newlines better 2023-03-03 16:38:01 +00:00
toaster
8603094664 M_PopulateChallengeGrid: Attempt to recover from one major tile too many for the amount of space left, which is relatively trivial only in the height == 4 case. 2023-03-03 16:37:35 +00:00
toaster
002de8c948 G_LoadGameData: Regenerate challengegrid from previous minor versions 2023-03-03 16:00:45 +00:00
toaster
4f8df12403 M_PopulateChallengeGrid: Remove bad challengegrid when I_Erroring to prevent corrupted save 2023-03-03 15:59:25 +00:00
toaster
06bde8b40e M_CheckCondition, conditiontype_t, etc: More fine-grained control over your condition string
- UCRP_PREFIX_ISMAP: a prefix version of UCRP_ISMAP
    - The condition string for UC_EMBLEM has been updated to match other relevant prefixes.
- UC_COMMA: a second string-relevance-only condition, for inserting a comma where only a human could find it natural
2023-03-03 15:40:10 +00:00
toaster
bd54a789a2 M_BuildConditionSetString, M_StartMessage: Fix occasionally spurious injected newlines 2023-03-03 15:31:36 +00:00
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
James R
1e79075b79 Add instructions to the 'Are you using MSDOS 8.3 filenames in Zone Builder?' error 2023-03-03 03:55:59 -08:00
James R
175219341c Reset twodee contexts when drawing connect screen 2023-03-03 00:48:46 -08:00
James R
fec24381df Fix FAULT crash if no finish line waypoint 2023-03-02 23:40:54 -08:00
James R
45fb60d247 Only toggle director when you yourself spawn or when the first player in the level spawns 2023-03-02 23:34:41 -08:00
Oni
9eefb2e0ae Merge branch 'better-local-camera' into 'master'
Better local camera handling

See merge request KartKrew/Kart!999
2023-03-03 07:08:19 +00:00
James R
971d686437 LUA_EvalMath: load math lib 2023-03-02 22:56:55 -08:00
James R
ceab0399de Add eval command, calls LUA_EvalMath 2023-03-02 22:56:32 -08:00
James R
a2493bb9db Purge control characters from COM_Args 2023-03-02 22:56:09 -08:00
James R
58f07987f9 Add setscore cheat, sets player's point count 2023-03-02 22:08:30 -08:00
James R
b2fb1b4ccd Make timelimit cvar seconds based
Easier for activating Overtime Barrier. Previously would
have to wait a minute at minimum :sandevastated:
2023-03-02 22:07:11 -08:00
James R
5cb54f29fe Sync player mobj health to bumper count
Fixes players killed twice if P_DamageMobj is called with
DMG_TIMEOVER and gametyperules GTR_BUMPERS.

Moves death condition out of K_HandleBumperChanges and
lets losing last bumper organically kill the player by
decreasing their health.
2023-03-02 22:05:30 -08:00
VelocitOni
d7cd6fba5a Merge remote-tracking branch 'origin/try-fix-draw-sprite-crash' into better-local-camera 2023-03-03 00:01:02 -05:00
VelocitOni
5b01ee5805 Merge remote-tracking branch 'origin/master' into better-local-camera 2023-03-02 23:01:40 -05: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
AJ Martinez
3c69739e0a Fix chasecam desyncs during hitlag/death/FAULT 2023-03-02 12:57:04 -07: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
AJ Martinez
b777759744 Use postfix for P_FindClosestTurningForAngle iterations 2023-03-01 22:27:00 -07:00
AJ Martinez
7cffbef1a2 Merge remote-tracking branch 'origin/master' into better-local-camera 2023-03-01 22:25:46 -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
AJ Martinez
3f2a074869 Remove debug print 2023-03-01 15:54:19 -07:00
AJ Martinez
15da567372 Local camera: binary search for ideal steering value, cheat angle if it's close enough 2023-03-01 15:39:09 -07: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