Commit graph

2065 commits

Author SHA1 Message Date
toaster
30383ba82f Replace a whole bunch of copypasted boilerplate with direct call to Command_ExitGame_f
Fixes not going back to the Title Screen at the cusp of the game's true beginning.
Also generally cleaner code
2023-12-01 17:03:37 +00:00
toaster
d41188ded3 Permit re-entering the Tutorial Challenge if the full game is accessible to you 2023-11-29 18:51:52 +00:00
James R
5d0c062785 Add g_reloadingMap, true if the map is restarted/retried 2023-11-27 06:28:29 -08:00
James R
d3f9c6e826 Remove mapmusflags 2023-11-27 05:38:20 -08:00
Oni
25d10e382a Merge branch 'locked-cuprow' into 'master'
Second row of cups is invisible if none of them are unlocked

See merge request KartKrew/Kart!1652
2023-11-22 07:30:36 +00:00
toaster
21f152989d Clear separation between basegame and mods
- Always force a page seperation between the last core files cup and the first modded cup
- Lost and Found sits exactly between them
    - If any cup on the last page of basegame is unlocked, place LnF on the last core page
    - Else, LnF is the first "cup" on the first Modded page
    - It's done this way so no Core material is spoiled if you haven't unlocked it yet. We want people to believe RR contains only 7 cups unless they go above and beyond

Also address Volt's bug report: Prevent the first page of cups from being overridden if everything is locked
2023-11-21 22:59:12 +00:00
toaster
0dd4fa52e3 Increment SAV_VERSIONMINOR 2023-11-19 19:14:47 +00:00
toaster
b09a9b40c4 Account for Hidden Palace-like replacement levels in the round queue and ranking systems
- When a nextmapoverride is in play, do not insert the just-played map into the GP Rank
- Put all the behaviour that determines which Round icon to show in exactly one places

Also, fix a bug where it would show the skin realname for a spectating player's tally instead of the ROUND text.
2023-11-19 18:01:02 +00:00
toaster
146666fad4 Use K_IsPlayerLosing for failure of Tutorial Challenge instead of recreated conditions, to reduce the number of moving parts 2023-11-18 20:01:38 +00:00
toaster
a55803b690 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into other-progression 2023-11-18 18:00:05 +00:00
toaster
55c6602473 Review: Don't award map visitation when the tutorial challenge is queued up, either 2023-11-18 12:15:36 +00:00
toaster
1ef427631e Review: Fix incorrect levelsearch apparatus
- M_LevelListFromGametype: Correctly wipe tutorial status when changing from tutorial to gametype with cups
- G_GetFirstMapOfGametype: Fix tutorial handling, gametype's datatype
- M_InitExtras: to prevent duplicated code, use G_GetFirstMapOfGametype
2023-11-18 11:49:17 +00:00
toaster
dc4e14d9d9 G_DoCompleted: Use gamedata->deferredsave to reduce the number of intermediate gamedata saves 2023-11-17 16:58:38 +00:00
toaster
ce085c3f66 failedtutorialchallenge -> enteredtutorialchallenge
Track ENTERING the challenge, instead of when you fail it
Allows for system-level ironclad prevention against multiple tutorial challenge runs on the same gamedata
2023-11-17 16:54:33 +00:00
Oni
f54ad00662 Merge branch 'mega-barrier' into 'master'
Mega Barrier

See merge request KartKrew/Kart!1636
2023-11-17 08:53:41 +00:00
James R
8e23d66540 CL_ClearPlayer, G_PlayerReborn: clear powerup.barrier 2023-11-16 21:08:30 -08:00
toaster
e2a3acc99d Track failing the Tutorial Challenge
I do NOT want to touch ACS today, but all the important pieces are now there for this feature
2023-11-16 23:09:41 +00:00
toaster
0762b93ef2 Tutorial skipping challenge - first pass
- Go to a MainCfg-specified map on its guessed gametype
    - `TutorialChallengeMap = RR_ZonedCity`
- Some unique settings
    - K_CanChangeRules() == false
    - If GTR_CIRCUIT, make it Hard Speed
    - If GTR_BUMPERS, die in one hit
    - If GTR_BOTS, make them all difficulty 13 of the default bot skin
    - No Medals or Spray Cans during the Tutorial Challenge
- Complete the stage in 1st place or don't bother at all
- Has the "Give up" menu option available, but no "Try Again"
- Condition for successfully completing the Tutorial Skip
    - `Condition1 = TutorialSkip`

Related bugfixes:
- Correctly wipe skipstats when returning to the Title/menus
- Typing of `ultimatemode` (hey this isn't accessible by anything right now I wonder)
2023-11-16 21:44:52 +00:00
AJ Martinez
c4e1a98e6b Fix tournament mode cheat saving 2023-11-16 13:58:06 -07:00
toaster
97996d1a22 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into other-progression 2023-11-16 13:46:59 +00:00
AJ Martinez
d54d2f6d04 Merge remote-tracking branch 'origin/master' into catholic-vfx 2023-11-14 21:47:51 -07:00
Oni
1c4b568ad9 Merge branch 'time-attack-refinement' into 'master'
Time attack refinement

See merge request KartKrew/Kart!1593
2023-11-14 19:12:52 +00:00
toaster
4379c62276 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into other-progression 2023-11-13 14:45:17 +00:00
AJ Martinez
06bc06869c Lite Steer profile option, itemstate pflags -> player.itemflags 2023-11-09 17:29:26 -07:00
AJ Martinez
954bd85139 WIP: Trickpanel crack experiments 2023-11-08 01:52:07 -07:00
toaster
5ffae81b08 Trick Indicator first pass
The author of this commit doesn't know what it's doing
2023-11-06 01:13:13 +00:00
toaster
ccbcd203dd Adjust PlayerPointerRemove macros + associated to check validity before removal 2023-11-06 01:11:29 +00:00
toaster
89e97a6e76 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into other-progression 2023-11-05 18:52:20 +00:00
Oni
3b04bde5b9 Merge branch 'will-it-blend' into 'master'
Will It Blend

See merge request KartKrew/Kart!1589
2023-11-05 18:45:51 +00:00
toaster
b55b17ccee G_FindMap: Support menuttl as well
Permits "map brakes" and "map balconies"
Secretly just uses the titlecard map name behind the scenes, but the author of this commit didn't want to be too intrusive.
2023-11-04 23:34:07 +00:00
toaster
ce93667fce GTR_CHECKPOINTS: Players will now respawn at Starposts
In addition, tighten up the handling for player angle at spawn time
2023-11-04 23:03:25 +00:00
toaster
993dea580c Fix tracking map completion for Tutorial stages
The author of this commit is hesitant to allow mapwarp to bypass completion requirements under regular circumstances, but happy enough to make the exception for specifically GT_TUTORIAL.
2023-11-04 22:04:29 +00:00
AJ Martinez
c7299274e1 Start with 20 rings if using attack start 2023-11-02 22:44:34 -07:00
AJ Martinez
506ab31f7f Mania-style time trials 2023-11-02 06:51:51 -07:00
toaster
388b14e956 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into will-it-blend
# Conflicts:
#	src/k_podium.c
2023-10-29 12:36:30 +00:00
Sal
cecd81b4aa Podium rank screen polished 2023-10-29 06:04:22 +00:00
toaster
e060e9dadc More consistent handling of special event round icons
- Gametypes have "GPpic" and "GPpicMini" parameters
- These are shown in contexts where a Round Number would be shown in GP, but an eventmode is under way.
- Instead of having different rules to show up on the pause menu, titlecard, and tally/intermission...
    - Pause Menu Roundqueue, Tally, and Intermission have all been aligned to the same rules.
    - As long as the titlecard is standard, it will show the GP Pic per those rules. (GTR_SPECIALSTART and GTR_BOSS still have their unique behaviour here)
2023-10-25 20:34:40 +01:00
toaster
bc8c044bb3 More consistent level init
- encoremode is set to the appropriate value
    - TITLE: Never
    - Podium: GP setting
    - Fixes a bug discovered while repeatedly testing Adventure Example.
- Remove the pointless maptol and globalweather set
    - Already done in P_LoadLevel and P_InitSpecials respectively
2023-10-24 23:10:17 +01:00
toaster
ab0094b8d0 G_Ticker: When retrying the level due to GP life-loss or manual GP/Time Attack retry, maintain the current state of encoremode 2023-10-24 23:10:16 +01:00
toaster
b166c580b9 Merge branch 'titlemap-startpos-interp' into 'master'
Defer title start in intro responder to ticker

Closes #731

See merge request KartKrew/Kart!1581
2023-10-24 09:01:23 +00:00
Oni
a221cb467e Merge branch 'master-mode-all-access' into 'master'
Rank 1 Master always enters Sealed Star

See merge request KartKrew/Kart!1582
2023-10-24 03:25:55 +00:00
Oni
bb537b8de9 Merge branch 'bot-controller' into 'master'
Revamped Bot Controllers

See merge request KartKrew/Kart!1574
2023-10-24 01:03:01 +00:00
AJ Martinez
e2e022dd6a Rank 1 Master always enters Sealed Star 2023-10-22 16:49:31 -07:00
Eidolon
d32823bac8 Defer title start in intro responder to ticker
Fixes KartKrew/Kart#731
2023-10-22 17:56:16 -05:00
Oni
9a315e7e8b Merge branch 'die-less-hard' into 'master'
Don't clear respawn lap when dying (resolves #727)

Closes #727

See merge request KartKrew/Kart!1571
2023-10-21 23:51:40 +00:00
Sally Coolatta
de9780ab3f Bot controller is stored on the sector now
- Moved destination tag off of linedef tag and into args.
- Bot controller values can be changed mid-level with ACS. (Linedefs using type 2004 will still be activated on level load.)
- Add flag to make bots fastfall
2023-10-21 03:36:26 -04:00
AJ Martinez
d3a14d087d Ugliest function in the codebase free 2023-10-19 16:23:38 -07:00
AJ Martinez
9a46eca039 Lastsafelap betweenmaps 2023-10-19 16:22:30 -07:00
toaster
a0df25b5cd UC_TOTALTUMBLETIME: Forgot to update the gamedata 2023-10-19 23:55:45 +01:00
AJ Martinez
bc950c18a2 Persist player.lastsafelap after death 2023-10-19 15:37:35 -07:00