Commit graph

504 commits

Author SHA1 Message Date
James R
d7e0a4d01a Add S_LoadSongCredit/S_UnloadSongCredit, refactor cursongcredit
- cursongcredit behaves the same as before
- Always compose song credit string
- g_realsongcredit always stores the song credit for the
  current music, even if no song credit is displayed on
  the HUD
2024-02-09 18:13:35 -08:00
Oni
bc80233f1f Merge branch 'vote-level-names' into 'master'
Vote level names

See merge request KartKrew/Kart!1873
2024-01-28 23:29:44 +00:00
Sally Coolatta
a7df7aa637 Add Medium Font
Monospaced in-between of Console & Thin
2024-01-27 20:38:52 -05:00
James R
3a8a7f3cf5 Add thin timer font 2024-01-22 16:42:30 -08:00
Oni
df5c866573 Merge branch 'map-access-flingerdinger' into 'master'
Stronger Course progression restriction

Closes #832, #859, and #839

See merge request KartKrew/Kart!1795
2024-01-09 08:11:12 +00:00
toaster
601b39378d Precache static level graphics 2024-01-06 23:17:45 +00:00
James R
2bfad76c1e Add HU_DoTitlecardCEchoForDuration; letter disappearing time scales by total cecho duration 2024-01-05 15:56:23 -08:00
AJ Martinez
15338c4e32 Packet loss indicator 2023-10-20 20:33:37 -07:00
James R
2e748636d7 Create V_CenteredTitleCardStringOffset
- V_TitleCardStringWidth no longer has the special case
  for punctuation, moved to this function instead.
- Handles both leading and trailing punctuation, and even
  spaces.

toaster-assisted, thank-you-toaster
2023-08-27 15:06:51 -07:00
toaster
908022c821 Fix overlapping Title CEcho text
If an admin title cecho is active, do not render individual viewport title cechos.

Some information is lost, but currently everything expressed through them is not unique while admin title cechos generally are, so they're a safe thing to sacrifice given limited screen space.
2023-08-26 21:44:51 +01:00
James R
baf7f82af3 HU_DoTitlecardCEcho: add splitscreen support and interrupt feature
- Takes player argument and only appears on the screen if
  they're a display player.
- Uses 4P font when in splitscreen.
- Uses 1P font if not in splitscreen, or player argument
  is NULL -- message to everyone.
- Interrupt argument controls whether the message should
  overwrite another message that's already playing.
  - Global and player specific messages are considered
    separately.
2023-08-26 21:39:18 +01:00
James R
4f60d046ba V_DrawTitleCardString, V_TitleCardStringWidth: add 4P font support 2023-08-26 21:39:18 +01:00
toaster
4d08f5e888 Move Song Credits down by 8 pixels to avoid overlap with top-region MOTD 2023-08-25 21:41:49 +01:00
toaster
c7f57614de Fix the accidential reduction in wordwrap width for New Chat messages 2023-07-12 09:00:30 +01:00
toaster
631336db39 "New" Chat (2018 onwards) has completely been moved to string drawer system
Has some minor kinks but Jartha wanted to take it over once I laid the groundwork so I'm not losing sleep over this
2023-07-12 09:00:30 +01:00
toaster
9e4e996a5e V_ScaledWordWrap API changes
- The function is back to producing zone-allocated memory copies, like its precursor V_WordWrap
    - The author of this commit got rid of that dependency originally because it seemed like a fair part of the API, and meant static buffers could be used in certain circumstances, but it was necessary to revert for the following change.
- Newlines can now be inserted mid-word, treating the width provided as ironclad except in the case of single characters wider than the region.
    - This will be necessary for future work with the in-game chat.
    - Reserves 8 characters at first, then Z_Reallocs double that every time it runs out.
2023-07-12 09:00:30 +01:00
toaster
c5dc430b50 V_6WIDTHSPACE no longer a pitfall for using V_DrawThinString
The bunched text behaviour is now the primary mode of operation for TINY_FONT.
2023-07-12 09:00:29 +01:00
toaster
277f7c51a3 V_ScaledWordWrap
Moves WordWrap to the font/V_GetFontSpecification system.

Much healthier long-term for our purposes, including the possibility of changing fonts for various contexts freely.
2023-07-12 09:00:29 +01:00
toaster
86784ae91a Add Menu Font (without using it anywhere)
Content of commit was originally written by Sal, but as a monolithic commit. The author of this commit is chunking it up for easier review.

Adds the additional font. This requires a little cleanup before we can use it as the primary menu font, but worth at least putting this in the relevant places for later.
2023-07-12 09:00:29 +01:00
toaster
a536f884ce V_ALLOWLOWERCASE --> V_FORCEUPPERCASE
Content of commit was originally written by Sal, but as a monolithic commit. The author of this commit is chunking it up for easier review.

Simple inversion on the face of things, but with a long tail of consequences, including 19 changed files.

Forced uppercase has been applied in a handful of locations where it was aesthetically imperative. Most menus will follow in another commit, so that that may be reverted if we change the default menu font.
2023-07-12 09:00:29 +01:00
toaster
8845f36a3d HU_DrawRankings: Adjust slightly
- Only show `Lap 0/Lap 1` if numlaps > 1, to match other circumstances where laps aren't real
- Only show player roundscore if gametype supports roundscore
- Otherwise accept a blank right side of the player bar in custom gametypes. (one day for Lua..?)
2023-05-22 15:32:07 +01:00
AJ Martinez
6184ba60c5 Fix chat messages being krangled on dedicated servers 2023-05-14 21:34:25 -07:00
toaster
de22fc8ff1 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into profile-restrictions
# Conflicts:
#	src/hu_stuff.c
#	src/y_inter.c
2023-05-12 13:42:50 +01:00
toaster
9ec6a6bbe0 HU_DrawRankings: Fix finish time (was using laps converted to seconds instead of realtime) 2023-05-12 00:02:51 +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
c1eb01c03d Ping for Y_PlayerStandingsDrawer
TODO: CPU indicator
2023-05-11 21:39:06 +01:00
toaster
36d8bce14d Replace K_DrawTabRankings with Y_PlayerStandingsDrawer
TODO: Ping, LAGLESS
2023-05-11 18:11:40 +01:00
toaster
d7e0df8bd8 Change y coordinate of Song Credit on intermission screen to be along bottom 2023-05-10 14:42:58 +01:00
AJ Martinez
08ffc79b5c PT_SAY: Review fixup 2023-04-30 19:05:29 -07:00
AJ Martinez
167f5f40ed PT_SAY and gamestochat: the rest of the owl 2023-04-29 20:16:20 -07:00
AJ Martinez
346a778365 PT_SAY: Restore cv_mute and stop_spamming 2023-04-29 17:45:04 -07:00
AJ Martinez
cb8e48d8a7 WIP: PT_SAY 2023-04-29 16:12:23 -07:00
AJ Martinez
07eb7dea19 Revert "WIP: XD_REQSAY"
This reverts commit 00e25ee593.
2023-04-28 17:14:32 -07:00
AJ Martinez
00e25ee593 WIP: XD_REQSAY 2023-04-28 02:10:50 -07:00
James R
d9b406f4d0 Add TIMER_FONT, rename V_DrawKartString to V_DrawTimerString
Separates timer and FREE PLAY fonts.
2023-04-21 00:34:06 -07:00
Sally Coolatta
996ca9adad Z Voting 2023-04-20 15:55:38 -04:00
toaster
19ef96351a roundqueue
A general purpose system that permits cacheing of GP progression in one place, but which permits future expansion and brings Online GP a little closer to reality.
- Stores a bunch of levels, gametypes, encore state, and restricted-by-rank-ness in sequence.
    - Initialised on GP cup select.
    - FUTURE WORK: Open to being initialised by other methods
- Digests its way through that sequence as maps are completed.
- Stores round number instead of `grandprixinfo`.
- Map commands as sent over the wire have been adjusted.
    - Sends round number and size of/position in roundqueue.
    - Now figures out GP Event Type from gametype.
        - Can be swung in the direction of a Special Stage with a hint flag.
        - This hint flag replaces "fromlevelselect", which was functionally vestigal.
2023-04-11 17:18:27 +01:00
toaster
04f371bbb4 Also permit tertiary and ... quadridly(?) gamecontrol binds for chat open, which had been silently broken for years. 2023-04-06 20:02:13 +01:00
toaster
241475155b Rename "Break the Capsules" to "Prison Break"
We had this collective consciousness bigbrain moment in VC together, and it can literally only happen in this branch because unlocks.pk3 is the only main-game asset that needs to change for it
Solves the big problem we had with mixing up Item Capsules and ~~Battle Capsules~~ PRISON EGGS
2023-03-12 20:17:46 +00:00
James R
eab22f645c Merge branch 'titlecard-cecho' into 'master'
Titlecard CEcho

See merge request KartKrew/Kart!952
2023-03-01 17:21:13 +00:00
Lat
64792f30a2 Fix using cecho instead of tcecho for 1 line 2023-03-01 15:48:40 +01:00
toaster
e0ac6b6044 Music credits show up in more contexts
- Drawn over the top of basically everything when enabled.
- Update song credit on
    - Menu music update (can sometimes clear it)
    - Intermission begin
    - Vote begin
    - Return to title (by clearing it)
2023-02-25 22:54:36 +00:00
James R
917acfd16b Refactor pointlimit to be delayed until next round, like timelimit 2023-02-23 18:37:30 -08:00
Lat
9f1e5d08c2 Allow multiple lines in titlecard cecho, overwrite cecho in ACS instead of making a new action 2023-02-21 20:56:45 +01:00
Lat
d755d6edb9 Titlecard CEcho 2023-02-21 16:16:34 +01:00
toaster
18faf5d54a HU_DrawDemoInfo: do not draw best lap time when irrelevant 2023-01-31 14:35:57 +00:00
toaster
a75a7039d6 HU_DrawRankings: Do not fade screen while automap is visible. 2023-01-23 11:47:34 +00:00
James R
a400d24777 Don't draw song credit outside of GS_LEVEL 2023-01-06 01:59:08 -08:00
toaster
42a6b03e48 Remove "circuitmap"
An effectively useless global scope boolean that literally checks for the presence of a finish line, created in and used only by things we inherited from vanilla SRB2
2022-12-31 23:27:59 +00:00
toaster
3ee8713e46 Dehardcode menu gametype selection, part 1
- Introduce `menugametype`
    - Controlled by IT_KEYHANDLER/M_HandleMenuGametype
    - Excludes gametypes that do not support multiplayer by default
        - GTR_CAPSULES and GTR_BOSS for now, but also user-specifiable GTR_NOMP
- Remove gametype_cons_t and G_UpdateGametypeSelections, an obstacle in the way of infinitely allocatable custom gametypes
2022-12-30 15:23:26 +00:00