Commit graph

446 commits

Author SHA1 Message Date
James R
9c14fe1aeb Merge branch 'pause-graphic-sound-test' into 'master'
Don't draw PAUSE graphic in the Stereo menu

See merge request KartKrew/Kart!1407
2023-08-20 22:56:52 +00:00
toaster
ba7d319457 Make bios.pk3 consistent filename
Removes all reference to main.kart, not just the obvious ones.
2023-08-20 22:06:11 +01:00
toaster
dc695e7acf First pass at implementing Spray Can pickups
- Replaces a few D00DKart objects because the doomednum specifically replaced one of these
- Reports on load if the map has too many, or if one's assigned but the object doesn't exist
2023-08-19 22:21:20 +01:00
toaster
1d06637a38 First pass at assigning unique spraycans to level headers
Increments gamedata minor version, be aware
- M_AssignSpraycans
    - Called in M_FinaliseGameData.
    - Attaches a hardcoded set of colours to all race maps in cup order, stopping once we run out.
    - The colours are shuffled, with some "freebies" always at the head of the list.
    - Integrates partial lists pretty well.
    - In DEVELOP builds, I_Errors if it produces corrupted state.
- G_LoadGameData, G_SaveGameData
    - Save & Load is implemented for these assignments
2023-08-19 15:08:55 +01:00
James R
d06185f5a3 M_Drawer: don't draw PAUSE graphic in the Stereo menu 2023-08-19 03:45:43 -07:00
toaster
9a35a39f5d Challenges Chao Key usage: Eggman numbers to REALLY drive home that you have to hold the button, and that you can release it early 2023-08-10 00:28:18 +01:00
toaster
6015a96a84 General cleanup to Map Statistics screen
- One extra row, to match the position of the headers on other pages
- Add "time" column if Time Attack for relevant gametypes is unlocked
- Seperate row header from Lost and Found for tutorial mode maps
- Add background lines to each row to increase parsability
2023-08-10 00:28:17 +01:00
toaster
567e3863a3 GP stats: Make columns alternate in darkness, rather than gradient 2023-08-10 00:28:17 +01:00
toaster
bce9a2c146 Change the location of the "No [something!?" message to be where a header usually is 2023-08-10 00:28:17 +01:00
toaster
8d7c9dd6ce Menu titles for level headers
For the tutorials. Replaces the no longer visible subtitle, since it's roughly analagous in purpose.
2023-08-10 00:28:17 +01:00
toaster
b669f8484f Realname for Cups
Permits prefixing them like maps AND giving them spaces instead of underscores, fixing the "RECYCLE_A" issue.
2023-08-10 00:28:17 +01:00
toaster
92b8ef33f6 Imrpoved Grand Prix Statistics screen
- Show placement with position-modified monitor mini-icon
- Reworked alignment AGAIN
- Dots instead of dashes for empty spots on the GP statistics
    - Now also applies for a missing emerald/prize
- Shaded glass background behind the icons for readability
2023-08-10 00:28:17 +01:00
toaster
8b22e7f691 No entries means no entries 2023-08-10 00:28:17 +01:00
toaster
71bbe3f28a Minor aesthetic/alignment tweaks to all three implemented statistics pages while waiting for chicken to defrost 2023-08-10 00:28:17 +01:00
toaster
648a97aaf3 Grand Prix page for statistics screen
Shows windata for all unlocked difficulties, or dotted dash lines if no windata is available
2023-08-10 00:28:17 +01:00
toaster
d4049bb9a0 Saner list end handling for M_DrawStatsChars 2023-08-10 00:28:16 +01:00
toaster
f02711e297 M_DrawCupWinData
Extract a portion of M_DrawCupSelect for future Statistics usage.
2023-08-10 00:28:16 +01:00
toaster
97889f9ef2 M_DrawCharacterIconAndEngine
Abstracts previously duplicated code between Challenges and Statistics
2023-08-10 00:28:16 +01:00
toaster
9ed1471c95 Add "Characters & Emgine Classes" page to statistics
- Shows wins for every character
- Shows heatmap of which stats are your favourite (of the loaded skins)
- Adds a header to the top of all statistics pages showing you can scroll left and right
    - General spacing is adjusted to accomodate
2023-08-10 00:28:16 +01:00
toaster
52b4104f86 Fix inconsistencies with some maps-related statistics 2023-08-10 00:28:16 +01:00
toaster
49e3e6b500 Instead of calculating relevant medals for every frame, calculate once and store the result 2023-08-10 00:28:16 +01:00
toaster
efe02794d4 (re-)implement pages for the Statistics Menu
Was previously a feature of older versions of SRB2, but newer releases have had more compact statistics menus.
However, we now have wayyyyy more to track than SRB2 ever did, so this is now actually justified.

Currently there are only two pages, and the first page is empty. This will change shortly.
2023-08-10 00:28:16 +01:00
toaster
380a015e82 Increase the amount the menu background has to slide, and slightly increase the speed to compensate
Subjective, but means no corner of the image will be poking in over the fade.
2023-08-10 00:28:15 +01:00
toaster
75257fbdd2 Fix instantaneous menu background image slideout on fade wipe
If the renderdeltatics is lagged enough, perform no change - a smaller delta should be along shortly.
2023-08-10 00:28:15 +01:00
James R
feada89364 Port Sound Test (Stereo) code to new music system
Much of struct soundtest was removed, since the music
system handles its functionality now.
2023-08-06 17:31:45 -07: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
03f9ff0847 Character Select menu: Put B, D on the right side of the PLAYER/profile name text, to avoid overlapping the player's eyes 2023-07-26 14:20:46 +01:00
toaster
40dfe494cc Fix underscore for virtual keyboard/menu typing interface
Surprised it ever worked, inexplicably was converted to a color!?
2023-07-12 09:00:30 +01:00
toaster
eacd99a815 FOCUS LOST: Force uppercase 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
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
c864bb9182 Fix icons for SECRET_MAP, SECRET_COLOR, and SECRET_SPBATTACK 2023-06-28 19:32:20 +01:00
toaster
1ec5b74892 Implement SECRET_MEMETAUNTS
Permits "Meme" player taunt voice and "Meme" follower horn options
2023-06-28 19:31:40 +01:00
toaster
4344221252 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into seeecret-colors 2023-06-28 12:48:50 +01:00
toaster
dee753d979 Admin Tools menu
Just a superpowered version of the Call Votekick menu, also just to make release cleanly
2023-06-28 00:02:09 +01:00
toaster
685e1b019f Actually pay attention to K_PlayerIDAllowedInMidVote for access to calling votes 2023-06-27 23:59:46 +01:00
toaster
b59346f637 Votekick menu
Not super polished, literally just implemented this way to make freeze
2023-06-27 23:59:01 +01:00
toaster
d8ea8c0fe1 Implement "CALL VOTE" for victimless commands on the pause menu
Currently just plays the squishy "nope" sound for "KICK PLAYER?", all others are functional
Shows whether vote is active or the cooldown is too recent (via numerical timer) as reasons for why you can't select it
2023-06-27 17:53:59 +01:00
toaster
721d5d9da9 Improve M_HandlePauseMenuGametype and M_HandleHostMenuGametype
Simplify massively by using IT_ARROWS
2023-06-27 17:45:27 +01:00
toaster
07fa5fff01 M_DrawPause: Make the visual case for user-selectable options more flexible/less specific to the gametype changer it was implemented for.
A surprise tool that will help us later
2023-06-27 13:28:12 +01:00
toaster
5036719280 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into seeecret-colors
# Conflicts:
#	src/k_menudraw.c
2023-06-26 23:25:47 +01:00
toaster
78404af6fe Arrows for cupgrid page indication
My biggest bugbear for a while and we are literally almost out of time, can polish gfx later
2023-06-25 23:44:39 +01:00
toaster
a016a54e52 Rework how GP Backups are accessed
- Now actually from the relevant GP difficulty's Cupgrid, instead of the top-level Play choice
    - Permits a much cleaner M_StartCup, combining two of the previously four copypasted, slightly modified level startup regions (which could be further combined for sanity's sake, but would take a LITTLE more work right now than I have in me)
- Shows a funny exclamation mark from Sonic Rush on the relevant cup on the grid
- Selected by default when loading the menu, if appropriate
2023-06-25 23:44:39 +01:00
toaster
3391b0e9a5 Flash button prompt before closing Menu Message, for improved conveyance
Needs a sound, we can do that later
2023-06-25 23:44:38 +01:00
toaster
5eeb29d552 Merge branch 'stereo-tidy' into 'master'
Memory fixes for Stereo

See merge request KartKrew/Kart!1284
2023-06-14 12:53:37 +00:00
toaster
65ab29b469 M_DrawSoundTest: If a song has no title, show "Untitled" instead. 2023-06-13 20:45:22 +01:00
toaster
6c6306889a M_StartMessage revamp
Immense 25-file diff, so spun off into its own branch.
- Improved appearance
    - Not just a big block of text on a blue background
    - Well, OK, the main part is, but some stuff has been spun out into its own fields
        - Title text
        - Text and button prompt for Yes/No or OK
    - Slides with pow on and off the screen
- Disabled MM_EVENTHANDLER, which has always been dog but got considerably worse after newmenus to the point nothing's using it anymore
    - Required in order to reduce the reliance on FUNCPTRCAST, which prevents Eidolon from compiling some stuff because it's not valid C++
2023-06-09 19:23:36 +01:00
toaster
da1e865e8b M_DrawChallenges, M_DrawChallengesPreview: Button prompts
- Chao Key usage(/skipping unlock animation)
- Toggle text for SECRET_ALTTITLE
2023-06-09 14:37:06 +01:00
toaster
2241c443f1 K_DrawMenuTyping: Use V_6WIDTHSPACE for header text 2023-06-08 17:49:47 +01:00
toaster
cb4a876e5a K_DrawTimeAttack: Use K_drawButtonAnim 2023-06-08 17:49:17 +01:00