Commit graph

59 commits

Author SHA1 Message Date
toaster
830cfe76da Round Queue UI on Level Select
- Only works in Match Race and Online level selects
- Shows in-progress state on Pause and Cup Grid, but no direct influence available on those screens
- Z to queue current highlighted map
    - Pending until you press A, then sent to server
    - When done online, tries to send one at a time to avoid overloading connection
- C to clear
    - Removes one from pending first
    - If you're out of pending maps, prompts whether you want to clear server's queue
2025-06-01 00:25:20 +01:00
AJ Martinez
4b00703856 Merge remote-tracking branch 'origin/master' into duel 2025-05-25 15:38:38 -04:00
Lach
a434e760c5 Add rank mode label to intermission tally screens (EXP/MOBIUMS) 2025-05-25 16:28:31 +10:00
Antonio Martinez
28f12acab1 Merge remote-tracking branch 'origin/master' into duel 2025-05-24 16:34:36 -04:00
Eidolon
cb7f437e60 Merge public master 2025-02-13 15:48:11 -06:00
Eidolon
a4d304a1f5 Update copyright years to 2025 2025-02-13 15:32:26 -06:00
Sal
653766010d FRIENDCODE (aka, Teamplay) 2024-09-17 01:41:26 +00:00
Sally Coolatta
141a37c48a Duel voting
Instead of voting for the level you want and the pick is decided by RNG ... now you take turns picking the maps you *don't* want, and the last one remaining gets picked. The previous loser gets to strike two stages and goes first, while the previous winner only gets to strike one.

Very incomplete visuals, very janky.
2024-09-03 20:08:04 -04:00
toaster
86b9d1a7c2 Widescreen support for Y_IntermissionButton 2024-04-10 00:51:09 +01:00
toaster
d7f4cd2d8f Copyright update for Viv Grannell specifically (the author of this commit) 2024-04-02 17:38:18 +01:00
AJ Martinez
17cd1550a1 Tally: Fix intermission music being played on rounds without intermissions 2024-03-18 18:38:41 -07:00
Sally Coolatta
9b93f56111 Add pre-Podium intermission music 2024-03-10 14:08:59 -04:00
Sally Coolatta
5eaf2613c6 Show rank on intermission 2023-12-13 01:28:22 -05: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
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
Sal
0675a4e527 Tally screen 2023-09-09 05:27:55 +00:00
toaster
d4c6c75858 Y_DrawIntermissionButton
- The (A) that appears on the intermission to permit you to skip it now has its own drawer function.
- This drawer (interpolatedly) slides it in and out depending on the two times passed to it.
- Now slides in at the first half-second of intermission, preventing mashing through.
2023-09-02 00:26:29 +01:00
toaster
23f479f365 Intermission - DUEL mode
Show players' appearances on intermissions with less than or equal to 2 players, in port priority order, to mimic Sonic 3 Competition.

Also shows player letter and profile name in Match Race, to really drive the reference home.
2023-07-26 14:31:50 +01:00
toaster
36191fa4db Y_PlayerStandingsDrawer: Add slide in from bottom of screen for Pause
In the process makes all y coordinates in the function relative to a base y, so it's less fragile to future maintenance.
2023-06-07 17:46:20 +01:00
toaster
6711887179 Y_IntermissionDrawer: Improved header string handling
- Center generalised text without the "got through round" backing
- For spectators observing a Round Queue, show "ROUND (n)" at the top instead of the more generalised fallback strings
2023-05-15 17:47:39 +01:00
toaster
c9b438d50d Show Round Queue on Pause menu
Also includes secret support for widescreen.
I was planning to put this on tab rankings, which doesn't have borders.
Pause menu does, but it would be a waste to strip it back out again.
2023-05-11 22:44:09 +01:00
toaster
7081e98d9b Y_PlayerStandingsDrawer: Abstract y_data_t inputs
In the process, fix a longstanding interp bug where the jitter on tally increase would be for only one rendered frame, not one full tic.
2023-05-11 18:09:57 +01:00
toaster
7ddbd23f98 Y_PlayerStandingsDrawer
*Also* reduces how absolutely monolithic Y_IntermissionDrawer is.
2023-05-11 14:24:49 +01:00
toaster
0a7e8d9bf3 Y_RoundQueueDrawer
Reduces how absolutely monolithic Y_IntermissionDrawer is.
2023-05-11 14:08:09 +01:00
Sally Coolatta
15f60a1f14 Split thing voting screen to a new file 2023-04-03 20:57:31 -04:00
toaster
a020ea86c8 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into rulesify
# Conflicts:
#	src/k_boss.h
#	src/k_specialstage.h
#	src/y_inter.h
2023-01-01 16:02:05 +00:00
Eidolon
be021baa02 Add extern "C" in C++ to all headers 2022-12-30 19:26:16 -06:00
toaster
470f82104d Rework intertype_t
- Now you select based on whether you want to rank by
    - Time always (Race, Special)
    - Score always (might be useful for custom gametypes..?)
    - Time in 1P, Score otherwise (Battle, Versus)
- No longer has gametype-specific text colours on the intermission
- Also cleans up a case where invalid music could play for winning a custom gametype without GTR_CIRCUIT *or* GTR_BUMPERS
2022-12-27 14:33:58 +00:00
toaster
185b36bd27 gametype_t
- New array of pointers to structures in memory (currently mixing static for base-game and Callocated for custom)
- Centralises a metric-ton of previously seperately handled properties into one struct
    - Gametype_Names[]
    - Gametype_ConstantNames[]
    - gametypetol[]
    - timelimits[]
    - pointlimits[]
    - gametypedefaultrules[]
- Don't attempt to guess custom gametype in Replay Hut (requires more work to make custom gametypes behave across the entire experience)
- I_Error if invalid gametype set
- gametyperules is deprecated since it will never be modified seperately from gametype (temporarily a #define, don't wanna bloat this commit too much)
2022-12-26 01:07:57 +00:00
toaster
73dabaeab6 Merge branch 'master' into new-menus
# Conflicts:
#	src/d_clisrv.c
#	src/deh_soc.c
#	src/lua_baselib.c
#	src/m_cheat.c
#	src/m_menu.h
#	src/y_inter.c
2022-03-29 17:14:38 +01:00
toaster
c1f3237157 Boss API + assorted relevant bugfixes, will go over the featureset of this branch with a fine toothed comb when it's time to write the merge request description so this is all you're getting right now 2022-02-24 21:19:03 +00:00
Sally Coolatta
2af75a2bd1 Fix merge conflicts 2021-01-11 00:06:34 -05:00
Sally Coolatta
e6a9e5a68e Merge branch 'master' into new-menus 2020-11-08 02:49:28 -05:00
Sally Coolatta
479f843296 Merge y_inter.c/h 2020-08-10 15:14:03 -04:00
Sally Coolatta
e296e1309a YAY, round 2 2020-08-09 21:02:56 -04:00
Sally Coolatta
4f47775d51 Merge y_inter.c/h 2020-08-09 15:47:37 -04:00
Sally Coolatta
63917ffccc The start of the scary 2.2 merge
All conflicts are left in-tact. We should be collaborating on solving these files one at a time.
2020-05-29 13:43:38 -04:00
Jaime Passos
ea756fd557 Make exitmove friendly, don't start empty intermission screens 2020-02-29 01:51:45 -03:00
James R
2274129f57 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Jaime Passos
52cc04ef78 Some sort of intermission tally support. 2019-12-18 17:13:05 -03:00
Steel Titanium
a5cdb0a4b3 Update copyright date on source files 2019-12-06 13:49:42 -05:00
toaster
342fe570e7 Do a whole bunch of cleanup for mapvisited and intermission related things.
* Move the visitation flags, Record Attack/NiGHTS Attack data, and emblem checking to outside of Y_StartIntermission.
* Y_CleanupScreenBuffer never got called for maps which skip the intermission, leading to a small memory leak; this is now fixed by moving it to G_AfterIntermission.
* Y_FollowIntermission was just G_AfterIntermission with modeattacking specific behaviour, but this is desired for all places where G_AfterIntermission is called, so just merge this into G_AfterIntermission.

Notably, these changes are necessary because there are now three maps in the main SP campaign which do not end with traditional intermissions. As a result, this fixes an issue where Black Core's tracks are not available in the Sound Test (due to MV_BEATEN never being applied).

Also, since I was here: Remove "gotperfect" from recorddata_t. This is a duplicate of `mapvisited[gamemap-1] & MV_PERFECT` which uses more memory. I have kept the new spacing in the gamedata for compatibility with RC1 savedatas, but moved it across to the original method everywhere else.
2019-11-21 16:10:28 +00:00
Jaime Passos
db9a8b4b94 Restore the last gameplay frame while on the intermission screen 2019-11-05 17:04:57 -03:00
TehRealSalt
64a3d133b4 Cleanup & bug-fixin 2019-10-15 20:56:28 -04:00
TehRealSalt
4507ee18fd Merge remote-tracking branch 'srb2public/next' into merge-next 2018-11-29 08:49:50 -05:00
Monster Iestyn
d824e05a6f Merge branch 'master' into next 2018-11-25 20:39:17 +00:00
mazmazz
c91b2b4456 Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
TehRealSalt
c7b0df8172 Merge remote-tracking branch 'srb2public/next'
(Huge change: NO_MIDI is now a define, simply because that makes it easier for me to resolve merge conflicts if I can see the original code and the new code. Also means that people who REALLY miss MIDI can compile & fix it themselves :P)
2018-11-07 16:15:14 -05:00
Monster Iestyn
3c981c913a Moved Y_EndGame from y_inter.c/h to g_game.c/h, renamed it to G_EndGame 2018-10-11 21:24:53 +01:00
Sryder
6abc6aa4d2 It's SINT8 not INT8 2018-02-23 01:04:52 +00:00