Commit graph

27035 commits

Author SHA1 Message Date
toaster
10681e7d6f Fix x offset of Kart Krew Dev logo (resolves #1184) 2024-03-20 12:11:41 +00:00
toaster
1c971660a9 Rework intro skipping
- Pressing/holding any input will now skip only ONE screen of the Intro, like a REAL VIDEOGAME
- Allow you to skip before the end of INTROSCENE_DISCLAIMER, but only once the text has been solid for half a second
- Fix regression re exiting title demos after using -skipintro command line parameter
    - intro_scenenum was stuck at 0, so the game was softlocked!
2024-03-19 22:03:09 +00:00
toaster
15344f56cd Intro disclaimer: Use the same datatype for dc_lasttime as intro_curtime so the final fadeout isn't uncapped 2024-03-19 22:00:08 +00:00
toaster
53b51d972e Challenge preview graphics for Addons, Sound Test and Egg TV
First two use the relevant pause menu icons
Egg TV uses the animated error test card
2024-03-19 20:15:11 +00:00
toaster
076a2e012e Adjust more condition strings for consistency referring to "the game"
- Reduces reliance on "Dr. Robotnik's Ring Racers" per Tyron feedback
- More descriptiveness for some overly short hints
2024-03-19 19:30:17 +00:00
toaster
ae3e151e65 Add UCRP_SURVIVE
Extremely simple condition - finish the level without NO CONTEST. Good for two specific Challenges that were trying to make do with "finish in good standing" as a substitute
2024-03-19 19:30:17 +00:00
toaster
03adb1c093 Don't print the "map has no Spray Cans" error in modeattacking 2024-03-19 19:30:17 +00:00
toaster
9601290dd7 Emblem system collectibles: Spawn sparkles if pick-up-able, to match Prison Egg CDs 2024-03-19 19:30:17 +00:00
toaster
76735183c6 m_cond.c: more consistent capitalisation in descriptions
- Cup -> CUP (prior art: ZONE)
- medals -> Medals
2024-03-19 19:30:16 +00:00
toaster
aad62ed62d M_EndModeAttackRun: Switch Secret Exit warning message to say "Attack modes" (instead of "Record modes") per request 2024-03-19 19:30:16 +00:00
toaster
74c6e1a0fd Spray Cans: Don't spawn in Attack modes 2024-03-19 19:30:16 +00:00
toaster
56e8964427 Challenges Menu: Keep your last focus when returning to it without a new Tile being unlocked
- Going back to it on the menus picks up where you left off
- Going back to it after earning ONLY a Chao Key(s)

Possibly useful for full-game 9-hour speedruns, where unlock tile identification/breakage could genuinely be a part of routing.
2024-03-19 19:30:16 +00:00
toaster
9fd44f21da Less hostile, sheen-like highlight if a lot of the Challenge Grid is still pending 2024-03-19 19:30:16 +00:00
toaster
90ac08fb0a Don't force newline for OR in Challenge descriptions 2024-03-19 19:30:16 +00:00
toaster
e62c16c502 Challenges Menu: Scroll bar
Goes hand in hand with the previous commit's highlight feature at being accessibility UI polish for the intimidating number of Challenges we have.
Finally, there's a consistent frame of reference for where you are scrolling through the board!
2024-03-19 19:30:16 +00:00
toaster
966ce7a256 Challenges Menu: Highlight overlay for newly unlocked tiles that haven't yet been focused on
Game design solution to the problem of multiple Challenges being unlocked at once not being clear enough.

Uses the `unlockpending` array for gamedata save purposes, which I was always intending to use for this purpose but never quite got around to.
2024-03-19 19:30:16 +00:00
toaster
aad69b5209 Challenges Menu: Indicate a new Chao Key by putting the menu cursor hand directly next to it
I don't want to pop up the tutorial menumessage every time, which was the other proposed solution
2024-03-19 19:30:16 +00:00
toaster
78266e2dad Rename "Lost And Found" to "Lost & Found", as intended
We have the & symbol in the Cup font now, so doing it JUST before it's too late
2024-03-19 19:30:16 +00:00
toaster
32afe48aab M_StartControlPanel: Guarantee titlemap contexts have internal server stopped when entering menu
Guarantees netUnlocked is correctly updated in most contexts, since that's dependent on SV_ResetServer, which isn't called if a server is running
Also guarantees titlemapinaction isn't true during regular play
2024-03-19 19:30:16 +00:00
AJ Martinez
b7825dba88 Merge branch 'sort-staff-replays' into 'master'
Sort staff replays

Closes #1171

See merge request KartKrew/Kart!2137
2024-03-19 12:30:48 +00:00
James R
60a1ac320a Replays: support old demo format 0x0009
- Old staff ghosts remain compatible
2024-03-19 01:25:56 -07:00
James R
5445d59d57 Replays: larger buffers for player name, skin name, color name; bump demo version 0x0009 -> 0x000A
- Name buffers are the same size as everywhere else
  - Billiards Cactus no longer gets cut short
  - Long player names no longer get cut short
- System in place to allow easily changing the buffer
  sizes across all the demo code
2024-03-19 01:23:51 -07:00
AJ Martinez
628be3950f Hide useless instawhip charge between picking up and confirming item boxes 2024-03-19 01:22:44 -07:00
James R
2cb62c8663 devmode replay: show demo format version 2024-03-19 01:12:59 -07:00
James R
92bc1c2a17 Sort staff replays
- This lets the 1st replay on the "Replay Staff" selector
  actually be the fastest one
2024-03-18 22:16:12 -07:00
AJ Martinez
4d4f6f3bdd Merge branch 'fix-splitscreen-tally-ff-inter-music' into 'master'
Intermission: Don't retrigger music, even if tally ffwd sets countdown

See merge request KartKrew/Kart!2136
2024-03-19 03:51:16 +00:00
AJ Martinez
33b73f5121 Merge branch 'fix-replay-input-vflip' into 'master'
Input display: fix flipped vertical inputs when reading ticcmds

Closes #1157

See merge request KartKrew/Kart!2135
2024-03-19 03:51:08 +00:00
AJ Martinez
d7030fd912 Merge branch 'tally-ff-intermission-music' into 'master'
Tally: Fix intermission music being played on rounds without intermissions

Closes #1178

See merge request KartKrew/Kart!2134
2024-03-19 03:50:58 +00:00
AJ Martinez
6af971cd45 Merge branch 'fix-debug-item-default-value' into 'master'
debugitem: fix default value

See merge request KartKrew/Kart!2132
2024-03-19 03:50:52 +00:00
AJ Martinez
e369bbc538 Merge branch 'cpu-names-conflict' into 'master'
CPU Naming conflict

See merge request KartKrew/Kart!2131
2024-03-19 03:50:44 +00:00
AJ Martinez
604d4d21db Intermission: Don't retrigger music, even if tally ffwd sets countdown 2024-03-18 20:23:27 -07:00
AJ Martinez
dc31ae20c6 Input display: fix flipped vertical inputs when reading ticcmds 2024-03-18 19:56:02 -07:00
AJ Martinez
c7aac9f119 Merge branch 'prison-pickup-clown' into 'master'
Prison Pickup Clown

See merge request KartKrew/Kart!2130
2024-03-19 02:10:58 +00:00
AJ Martinez
57e7a735ce drawPing: Remove packet loss debug condition 2024-03-18 18:43:19 -07:00
AJ Martinez
17cd1550a1 Tally: Fix intermission music being played on rounds without intermissions 2024-03-18 18:38:41 -07:00
AJ Martinez
50aadee23e drawPing: Colored border packet loss indicator 2024-03-18 18:08:48 -07:00
AJ Martinez
858eecaef3 Merge branch 'attract-fixes' into 'master'
Attract mode and Credits fixes

Closes #1053, #1166, and #1167

See merge request KartKrew/Kart!2128
2024-03-19 00:46:53 +00:00
AJ Martinez
2d2dd3fbe1 Merge branch 'two-trucks' into 'master'
Add SalCRT Sharp

See merge request KartKrew/Kart!2127
2024-03-19 00:04:49 +00:00
James R
3f5a9f85de debugitem: fix default value 2024-03-18 15:56:47 -07:00
toaster
a161df579f EnsurePlayerNameIsGood: Remove trailing whitespace, instead of just failing on it
Interesting error with its recursive duplication resolving exposed by the previous commit!
2024-03-18 19:24:42 +00:00
toaster
a4cec98c26 K_SetNameForBot
Func specifically for setting name for CPU players.
Lets anything go in offline mode, as per previous behaviour.
In online mode, attempts to append a slot-specific char before running EnsurePlayerNameIsGood (which removes characters at the end if a pre-existing match is found).
2024-03-18 19:23:55 +00:00
toaster
1ef3063772 EnsurePlayerNameIsGood: Only evaluate strlen once
Also has a slightly better chance of conflict avoidance for its absolute worst case scenario
2024-03-18 19:17:34 +00:00
toaster
d2ddeb65f2 M_UpdateNextPrisonEggPickup: Stop trying to be so pre-optimised and just do the job plainly
Should resolve the crash which for some reason doesn't have an issue to reference here

Also, for `debugprisoncd On`:
- Extensive debug logging
- Disable the "if all achieved, still force a pre-existing CD" behaviour
    - The list is empty if you've achieved every Prison CD and then restart the game, so it wasn't consistent at always making something. Without that kind of reliability I think it's more important for it to just be a fastforward
2024-03-18 14:11:33 +00:00
James R
95216563a6 Interp: do not update view interpolation state during sped-up tics
- If you called R_ResetViewInterpolation once but G_Ticker
  got called more than once, then the effect of
  R_ResetViewInterpolation would be cancelled
- This should be a comprehensive solution to the titlemap
  camera bug
- Multiple tests:
  - -skipintro
  - -warp, then exit to title
  - map command, then exit to title
  - Wait for attract demo, then skip and exit to title
2024-03-18 04:15:52 -07:00
James R
f1df1b8555 Attract, Credits: do not spend more than 2 seconds real time skipping forward in a replay 2024-03-18 02:42:22 -07:00
James R
0ce93b2d96 Add g_fast_forward_clock_stop, means to end g_fast_forward early if too much real world time is taken 2024-03-18 02:42:22 -07:00
James R
4281cd1283 Attract: fade out and timescale at end of demo
- Do not use a wipe so player can keep moving while fading
  out
- Timescale by half for a "slowdown" effect
2024-03-18 02:42:21 -07:00
James R
7abe285f84 Refactor: replace references to cv_timescale with I_GetTimeScale 2024-03-18 02:42:21 -07:00
James R
6efa35549b Refactor: separate parts of V_DrawCustomFadeScreen into reusable functions 2024-03-18 02:42:21 -07:00
James R
244d5e1063 Attract: play demo for 30 seconds, starts at random timestamp
- Starting timestamp is not truly "random"
  - Uses a lookup table because I didn't like the PRNG
    distribution
2024-03-18 02:42:21 -07:00