Commit graph

25877 commits

Author SHA1 Message Date
James R
ff3826466b Rename MT_DLZ_SEASAW_VISUAL to MT_SEASAW_VISUAL, reorganize seasaw states
In preparation for Gust Planet seasaws, I'm grouping these
separately from the rest of Dead Line states.

Because the visual object does no think for itself, rather
by proxy of the main seasaw object: I removed the DLZ tag,
since this object will be reused for Gust Planet.
2023-11-20 23:35:40 -08:00
toaster
382119b8fb Second row of cups is invisible if none of them are unlocked
- Controlled by M_CupSecondRowLocked
    - Looks for any Cup with associated unlockable that's on the second row
    - Cached on load for both relevant menus - Cupgrid and Challenges
- Custom cups will be stretched out onto more pages
    - Side incentive of unlocking more material: Less annoying interactions with custom material
- Pages with nothing unlocked are completely skipped over

Also moves a bunch of minor things which previously used magic numbers to the CUPMENU_COLUMNS/CUPMENU_ROWS defines, for sanity
2023-11-20 21:09:33 +00:00
AJ Martinez
b8c18ce39f Merge branch 'nerf-rank' into 'master'
Nerf per-level rank requirements

See merge request KartKrew/Kart!1648
2023-11-20 06:47:33 +00:00
AJ Martinez
af6b4c503a Merge branch 'lap-anim-annoying' into 'master'
Lap animation polish

See merge request KartKrew/Kart!1651
2023-11-19 23:40:49 +00:00
AJ Martinez
c02bb11a6e Merge branch 'remove-malloc-in-signal-handler' into 'master'
Remove malloc from I_ReportSignal

See merge request KartKrew/Kart!1650
2023-11-19 23:40:18 +00:00
toaster
eb50c05a6d Lap animation polish
- Only play when your latestlap increases, since the thumbs up/down is what affects your Grade
- If knocked back over the line, stay on your latest lap value instead of going back down
2023-11-19 23:21:00 +00:00
toaster
1967eb46e1 I HATE ONE-INDEXED MAP NUMBERS 2023-11-19 22:40:51 +00:00
toaster
ddf34433dd P_ArchiveMisc, P_UnArchiveSPGame: Support overridden roundqueue entries
Will error for overridden material from the future (how did it get overridden?), but accomodates everything before the roundqueue's head.
2023-11-19 22:40:19 +00:00
toaster
6f32a3097c P_UnArchiveSPGame: Rank cleanup
- Instead of iterating over all levels, iterate over all entries in round queue
    - Accomodates hash collisions
    - Accomodates levels in queue that simply haven't been ranked
- Prevent more levels being ranked than the size of the Queue
- Improve error messages to provide more information about the state of the queue
2023-11-19 21:23:54 +00:00
toaster
0dd4fa52e3 Increment SAV_VERSIONMINOR 2023-11-19 19:14:47 +00:00
toaster
c752990720 Y_Ticker, roundqueue contexts: Fix for leaking existence of rank-restricted entries
The player pin jumping "clack" sound was improperly guarded from happening when reaching the end of a GP without accomplishing a Sealed Star.
2023-11-19 18:48:49 +00:00
toaster
bf0d0f39bc Podium: Fix Y_DrawIntermissionButton slidein 2023-11-19 18:28: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
Eidolon
2c50b6a41a Partial revert "sdl/i_system.cpp: fix compiler errors"
This reverts commit bca2c8cb19.

The changes to I_ReportSignal introduced implicit calls to malloc.
malloc is not signal-safe.
2023-11-19 10:38:19 -06:00
toaster
66844457cd gpRank_t: Prevent overflow in stored rank
Resolves most of #772.
- Match maximum size of levels array to ROUNDQUEUE_MAX, to prevent edge cases
- Explicitly check that numLevels does not equal/exceed array size before writing
2023-11-19 16:33:16 +00:00
Sally Coolatta
10488ecbb2 Use g_localplayers for GP rank 2023-11-19 02:58:14 -05:00
Sally Coolatta
11a719ced6 Nerf per-level rank requirements
- Use ease-out sine curve for lap points. This means that the difference between 0 and 1 lap points is more drastic for your score than the difference between 5 and 6. (If this isn't strong enough, then a different curve can be used.)
- Final position is weighted less heavily.
- You now get 0 points at the best losing position, instead of 0 points at the worst winning position. This means less negative points.
- Fix Battle ranking being wildly skewed when point limit is disabled.
2023-11-19 02:57:57 -05:00
Sally Coolatta
68d057c4b3 Resolve !742 2023-11-19 02:13:24 -05:00
Oni
6c678bf347 Merge branch 'bubble-b-gone' into 'master'
Define out WPZ turbine bubbles until we actually know why they false-positive

See merge request KartKrew/Kart!1646
2023-11-19 05:38:24 +00:00
AJ Martinez
e7e2cb93c4 Define out WPZ turbine bubbles until we actually know why they false-positive 2023-11-18 22:33:22 -07:00
Oni
fa7b2f2076 Merge branch 'fix-sourceless-capsule-kills' into 'master'
Capsule followers use target flags if no source (fixes crash)

See merge request KartKrew/Kart!1645
2023-11-19 05:14:54 +00:00
Oni
47a01d0699 Merge branch 'other-progression' into 'master'
Other Progression

Closes #561

See merge request KartKrew/Kart!1606
2023-11-19 05:14:39 +00:00
AJ Martinez
263b73be38 Capsule followrs use target flags if no source (fixes crash) 2023-11-18 21:56:32 -07:00
toaster
46f7b3a519 Ring Award/Drain special: For negative rings, nonzero args[2] makes the minimum value -20 instead of 0
Requested in VC for Drifting Tutorial
2023-11-18 23:11:28 +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
f365ef9417 In Tutorial, always use Ring/Sneaker roulette at the Time Attack speed
Also cleans up the conditions for battleprisons and versus mode
2023-11-18 18:44:56 +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
b80547edab Merge branch 'restore-vid-wait' into 'master'
Restore vid_wait, make it apply immediately

See merge request KartKrew/Kart!1617
2023-11-18 13:11:03 +00:00
toaster
b4ec390f16 Forgot to commit, I hate gamemap one-indexing 2023-11-18 12:37:48 +00:00
toaster
362ca56346 SV_SendServerInfo: Don't use prevmap when checking nozone
Vaguely related tiny bug
2023-11-18 12:16:21 +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
Oni
94a593487b Merge branch 'fix-reducevfx' into 'master'
Fix `reducevfx` mkaing some VFX visible, when they shouldn't be

See merge request KartKrew/Kart!1622
2023-11-18 07:11:25 +00:00
Oni
2922779769 Merge branch 'semibright-spikes' into 'master'
Semi-bright increase, semi-bright spikes, no encore remap on spikes

See merge request KartKrew/Kart!1643
2023-11-18 07:05:12 +00:00
VelocitOni
0081c5427f semi-bright increase & semi-bright spikes, no encore remap on spikes
Semi-bright is 192 instead of 128 now, an average of half-to-max brightness. We don't make really dark maps in RR, this makes sense
2023-11-17 22:27:39 -05:00
James R
55fddd2132 objects/mega-barrier.cpp: fix undefined behavior
Calling a class method from a nullptr this is undefined
behavior.
2023-11-17 18:51:21 -08:00
Oni
db36fc516f Merge branch 'basic-replay-cheats' into 'master'
Basic replay/spectator "cheats"

See merge request KartKrew/Kart!1613
2023-11-18 00:57:46 +00:00
Gunla
706c639c70 Merge branch 'fix-splitscreen-director-toggle' into 'master'
Fix director not switching on when a party member enters

See merge request KartKrew/Kart!1639
2023-11-18 00:15:32 +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
toaster
224d584203 Cleanup of P_Ticker gamedata material
- Don't do updates in titlemap
- totalplaytime is leveltime-based
2023-11-17 16:45:03 +00:00
Oni
b8a5f49b1d Merge branch 'fix-powerup-music-after-race-finish' into 'master'
P_DoPlayerExit, P_DoTimeOver: replace Music_StopAll with silent track

Closes #759

See merge request KartKrew/Kart!1642
2023-11-17 09:32:33 +00:00
Oni
9a5515fb31 Merge branch 'empty-kart-fixes' into 'master'
Fix dead karts creating terrain splashes indefinitely; remove fuse but let them be killed

Closes #748

See merge request KartKrew/Kart!1631
2023-11-17 09:32:09 +00:00
James R
46c8b47236 P_DoPlayerExit, P_DoTimeOver: replace Music_StopAll with silent track
- Silent track has priority over level music and
  invinc/grow themes
2023-11-17 01:12:09 -08:00
Oni
c24f10a7e7 Merge branch 'fix-bungee-softlock' into 'master'
Add Obj_EndBungee, end bungee state when P_ResetPlayer and when player is damaged in any way

Closes #760

See merge request KartKrew/Kart!1641
2023-11-17 09:06:06 +00:00
Oni
162aba5a95 Merge branch 'char-sel-tooltips' into 'master'
Character Select: add button prompts for R and C buttons

See merge request KartKrew/Kart!1640
2023-11-17 09:01:54 +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
686f2e2e9d Add Obj_EndBungee, end bungee state when P_ResetPlayer and when player is damaged in any way 2023-11-17 00:49:26 -08:00
Oni
87bcebb547 Merge branch 'no-midair-wavedash' into 'master'
Stop sliptides midair (resolves #768)

Closes #768

See merge request KartKrew/Kart!1635
2023-11-17 08:33:17 +00:00
Oni
94327e8056 Merge branch 'lua-hook-timing' into 'master'
Add basic profiling for Lua hooks (except HUD hooks)

See merge request KartKrew/Kart!1616
2023-11-17 08:32:20 +00:00