Commit graph

21773 commits

Author SHA1 Message Date
toaster
1ae5df651d UC_ADDON
- If you add a file (and you've unlocked Addons on non-DEVELOP builds) this gets achieved
- Also, Custom # of Rounds Played conditions will show "Custom" only if Addons are loaded
2023-03-04 21:36:58 +00:00
toaster
f7617e7530 Clear records, stats, and secrets on new in-SOC gamedata creation
- Pre-emptive sanity check to some impending work
- Move M_UpdateUnlockablesAndExtraEmblems out of M_ClearSecrets
2023-03-04 21:11:13 +00:00
toaster
5296ab1397 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into conditions-cascading 2023-03-04 20:09:48 +00:00
toaster
e994b920c6 gamedata->roundsplayed: Split into multiple roughly-gametype-aligned categories
- Race, Capsule, Battle, Special, Custom
- All categories can now be used for Rounds Played condition
- UCRP_SEALEDSTAR now hides if you haven't beaten a single Sealed Star yet
In addition, introduce M_ClearStats
- As more statistics get added, clearing them manually in G_LoadGameData and M_EraseDataResponse is just going to get annoying
- Change around the options on the Erase Data screen to
    - Make it clear that erasing all game data won't clear your Profiles
    - Add an option to clear stats by themselves, rather than only permitting via complete gamedata wipe
    - Move to the "Challenges" terminology over SRB2's "Secrets" terminology
- Move some entries that were previously handled in M_ClearSecrets into M_ClearStats
2023-03-04 20:09:29 +00:00
toaster
22f9467e71 M_ClearConditionSet: fix memory leak 2023-03-04 17:33:56 +00:00
Sal
0fa1e99a82 Merge branch 'fix-twodee-dedicated' into 'master'
Fix dedicated server crashes + disable GP

See merge request KartKrew/Kart!1009
2023-03-04 02:59:03 +00:00
James R
17bf7d0935 Do not start dedicated server in GP if -warp is used 2023-03-03 18:56:07 -08:00
James R
5efce73680 Do not run ST_Ticker if dedicated 2023-03-03 18:56:07 -08:00
James R
546f8d88c3 Do not reset twodee context if dedicated server 2023-03-03 18:56:05 -08:00
toaster
eeb6e40909 Add totalrings to gamedata
- Added to Statistics screen
- Caps at "999,999,999+".
- Controls UC_TOTALRINGS condition
- Improve description for UC_MATCHESPLAYED condition
    - Says "Rounds" now
- Improve Statistics text for playtime
    - Dynamically changes visible units of time (seconds, minutes, hours, days.......)
2023-03-03 22:35:28 +00:00
James R
9f46c705f0 Merge branch 'fix-double-race-print' into 'master'
Fix the "player has finished the race" message being printed to log twice

See merge request KartKrew/Kart!1012
2023-03-03 20:01:24 +00:00
SteelT
386e32891f Fix the "player has finished the race" message being printed to log twice 2023-03-03 12:00:08 -08:00
James R
1cbc4944ba Merge branch 'improve-msdos-83-error' into 'master'
Add instructions to the 'Are you using MSDOS 8.3 filenames in Zone Builder?' error

See merge request KartKrew/Kart!1011
2023-03-03 19:58:35 +00:00
James R
64e6583a74 Merge branch 'connect-screen-reset-2d' into 'master'
Reset twodee contexts when drawing connect screen

Closes #461

See merge request KartKrew/Kart!1007
2023-03-03 19:54:33 +00:00
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
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
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
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