Commit graph

334 commits

Author SHA1 Message Date
toaster
3430ba9697 Press down on Goner Setup to complete existing text line early 2023-12-22 21:17:27 +00:00
SteelT
a9df0fc269 Remove surround sound cvar
There's really no point in having it be registered at all if it does nothing
2023-12-19 12:09:32 -05:00
toaster
c93e02af4a Additional Goner BG polish
- Helper functions for eased X/Y
- Don't jump Metal's camera around when doing things rapidly
- Don't have ctrl alt del open mouths when not on the main Goner menu itself
2023-12-18 20:14:23 +00:00
toaster
c6edfa0de5 Goner Setup Polish
- Imply passage of time when returning from Tutorial to Outro by resetting all the background variables
- Add an additive layer to the Options cogs, so they show up over an extremely dark background
- Metal Sonic will not focus on Tails/Eggman until video is restored
- Don't draw the Miles Electric transparent unless it's completely in its upright position
2023-12-18 17:01:29 +00:00
toaster
b308a81e9d Clean up interactions between Goner Setup and restoreMenu behaviour 2023-12-18 16:30:12 +00:00
toaster
55e3abf58d Teach players how to interact with Goner Setup just before input is first required
- Checks for whether a Gamepad is connected
    - If yes, says you can use "your Gamepad"
    - If no, says you can use "Enter, ESC, and the Arrow Keys"
- Show ENTER and ESC on any Message prompt (instead of A/B/X) if no Gamepad is connected
    - Add M_DrawMediocreKeyboardKey, a genericisation of the previous entry in the series' Time Attack HUD
2023-12-18 14:30:58 +00:00
toaster
73ff45458e Quit prompt updates for when game hasn't truly started
- More clinical wording
- Guarantee never auto-show when Playing()
2023-12-18 14:10:55 +00:00
toaster
ca6ebd89d8 Minor dialogue/Tails posing updates
- Assign poses for Outro and GDQ Passwords
- Flicker camera when showing visuals after using a GDQ Password
2023-12-18 14:09:11 +00:00
toaster
f5722b7569 Intro adjustments
- Force to play when selecting "START GAME" from the Goner Setup
- Make far shorter on the First Boot, obscuring the extended Kart Krew vroom, to prevent it playing identically twice
- Prevent skipping the intro at all if Ring Cup hasn't been unlocked
    - Both for the shortened initial startup and the START GAME first encounter
- It already clears dirmenu if relevant, don't do that twice
2023-12-18 01:10:37 +00:00
toaster
fe669ff281 Goner Setup Background part 2
- Eggman's mouth moves
- Smooth camera movement
- Smooth Miles Electric movement
- Less fragile/instant blinking
2023-12-18 00:46:20 +00:00
toaster
129fad2010 First pass at adding background to Goner Setup
Tails and Eggman talking to each other/Metal Sonic/the player.
2023-12-17 19:37:03 +00:00
toaster
a15a836755 Minor phrasing updates to dialog 2023-12-17 13:18:58 +00:00
toaster
647a9d0a0e Goner setup music: Change behaviour
- Hook into M_PlayMenuJam, to reduce bespoke behaviour
- Use the finalised track string
- Play on the Sound Options menu
Also, use MAIN_Goner as reference for the password field's presence, because I lost like 30 minutes to a related bug
2023-12-17 13:18:35 +00:00
toaster
de7d53b4ea M_LevelListFromGametype: Fix invalid Tutorial-specific behaviour 2023-12-10 15:21:51 +00:00
toaster
1505167422 Goner Setp: Add scroll 2023-12-09 17:32:15 +00:00
toaster
24b5bb8f86 Options menu pass 1
- Surface ReduceVFX and Tilting
- Group the Show FPS, Input Delay, and FOCUS LOST together on HUD options
- Reduce the importance of console
    - Console back colour now exclusively part of the Online Chat Options
    - Hide Console text size
- Move Chat Spam Protection to Server Options
- Improve some tooltips
     - Skyboxes
     - Message tint
- Remove embarassing waifu hidden text
2023-12-08 20:47:05 +00:00
toaster
536bed7dc6 When resetting the Goner Setup, make sure itemOn is set to a valid entry 2023-12-08 13:46:10 +00:00
toaster
6c7a1c14e5 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into tutorial-pass 2023-12-08 13:08:43 +00:00
toaster
c82d24b4bc Music starts after Sound Options completed
Currently plays _OCEAN for testing, but will be changed to play _GONER when Journey In Modulating Time's short loop is ready.
Explicitly restricts the basic title screen's music from playing, too.
2023-12-08 13:08:06 +00:00
toaster
f09c0a4b6c Forgot to commit compilation corrections last night
- Fix repeat for GDGONER_VIDEO text
- M_GonerSurveyResponse
2023-12-08 13:05:07 +00:00
toaster
11fcb0b9ae Goner Setup: Cook 3 - Add "Outro"
One last guaranteed visit to the setup, to get a sendoff before the game truly begins.
(The "survey program" joke is now themed softlock prevention.)
2023-12-07 23:36:02 +00:00
toaster
8a2445820e General clearup relating to Goner Setup
- Clean up handling of goner_levelworking to retry current dialogue if something changes gamedata->gonerlevel
- Create wrapper func for resetting ALL text
- Gamedata-modifying cheats will set to GDGONER_DONE
2023-12-07 23:11:05 +00:00
toaster
ae8db80a75 Goner Setup: Background has stronger presence
- Show pure blue with NO SIGNAL when Video Options have not been configured
- Show underneath other menus
2023-12-07 23:06:37 +00:00
James R
b6c7a42a97 Pause menu: changing gametype goes to vote screen
- If you change it during the vote screen, voting
  restarts.
2023-12-06 00:00:54 -08:00
toaster
6d0f90216c Fix bug with default background when transitioning between gametype select and Special Mode 2023-12-05 21:38:06 +00:00
toaster
60e6445fd2 Special Mode Time Attack swag to unwind
- Play O_SSTAR3
- Special darkened background
- Imagery to replace the minimap, since Special Mode maps generally don't have them as a rule
    - Sealed Stars:
        - Star Within The Seal, from the standard Evaluation
    - Versus:
        - The DeviantArt SignatuRes
- Fix messed-up transitions between Time Attack main menu and Replay, Guests, and Ghosts submenus
    - Special Mode specifically:
        - Forced unexpected wipes
    - All modes:
        - Don't slide away the minimap (or replacement imagery) when going between these menus
        - Fix music not being correctly attached
- Correctly center minimaps in Time Attack view
2023-12-05 21:23:58 +00:00
toaster
9d24a4cb6d Fix some oversights caused by the Goner Setup's access to various Options menus 2023-12-04 21:03:51 +00:00
toaster
85d8cfdf85 menu_t: Add bgroutine
All backgrounds are now handled by a seperate routine.
This will allow more fine handling without a ton of special cases everywhere.
Creates an absolutely nasty diff because all menu_t have been updated in one blast 🥹
For the things that DO need to draw outside of GS_MENU (M_DrawOptionsCogs, the Wrongwarp), the behaviourflag MBF_DRAWBGWHILEPLAYING has also been added.
2023-12-04 20:10:03 +00:00
toaster
792fcf2ad8 Profile edit character select: Get transition to work 2023-12-04 13:44:15 +00:00
toaster
17c0ceba23 Profile edit polish
- Rename the Name fields to "Profile ID" and "Player Tag" respectively, for clarity
- Re-order and re-align, so the given area on the Profile Card is lined up for readability
- Use the smaller version of the gamemode font, to have the screen less crammed full
2023-12-04 13:27:47 +00:00
toaster
36c3dbfc0e Goner setup polish
- Checkpoint sound for reaching a new option
- Fix header text for Video and Sound menus
- Reset password field access when menu is reset by gamedata wipe
2023-12-04 13:06:55 +00:00
toaster
e91115a8fa Goner Setup: Cook 2
- More dialogue
- Restrict access to your choices based on your progress through the Goner Setup.
- Save progress through the setup to gamedata
    - Resets to beginning when Challenges is cleared
- Passwords
    - Only permit the password entry in like the first two seconds
        - Preemptively disarms potentially annoying people in stream chats
    - Make wrongwarp also quit the game on exit instead of returning to the title screen
    - Add GDQ cheats
        - `savetheanimals`
        - `savetheframes`
        - Both do practically the same thing, with slightly modified dialogue.
            - Skips all of the normal dialogue.
            - Performing a social experiment on anyone who might stream this game at a charity event. :)
2023-12-03 22:34:06 +00:00
toaster
7fba9321d1 M_HandleProfileEdit: Tidy 2023-12-03 21:51:49 +00:00
toaster
40566274d9 Jart DM assistance
- anonymous namespace for filescope variables, funcs
- Step away from std::optional, use anonymous initialiser instead
2023-12-03 13:01:33 +00:00
toaster
ffb34204f5 Goner setup: cook
- Build list of incoming text
    - First pass of very first section of dialogue
- Use srb2::Dialogue::Typewriter class to handle ticking through dialogue
- Store history log as incoming text is processed (possible todo: scrolling?)
2023-12-02 23:40:02 +00:00
toaster
299e0c3b71 main-goner.cpp: convert from C sourcefile
Also fixes sleepily-commited compilation-breaking typo
2023-12-02 15:40:20 +00:00
toaster
df85b5d625 First pass horizontal menu for Goner Setup 2023-12-01 22:50:03 +00:00
toaster
4c284680ff Without access to the full game, trying to back out of the Goner Setup/Tutorial will give you a quit prompt instead 2023-11-30 00:11:37 +00:00
AJ Martinez
3eab93bd50 Warn users about resolution performance impact 2023-11-29 15:37:14 -07:00
toaster
0f687be7b5 The Goner Setup
The simplest passable version of the first boot experience.
- The minimal set of options you will want are available right in front of you.
    - Quit
    - Password
    - Video Options
    - Sound Options
    - Profile Setup
    - Begin Tutorial
- Will not start any menujams while this is in progress.
2023-11-29 19:37:05 +00:00
toaster
fd0466a8df M_OptionsTick: Instant transmission
If a menu fade has occurred, perform the relevant offsetting imemdiately, no smooth animation.
2023-11-29 19:36:17 +00:00
toaster
ada8b362f1 M_LevelListFromGametype: Auto-select the first Tutorial Mode course if there's only one available 2023-11-29 18:58:33 +00:00
toaster
fcb696d1ad First pass at the "Game Truly Starting" apparatus
- Unlock Ring Cup to get the real Title Screen, demos and all.
- Allows M_InterruptMenuWithChallenges.
2023-11-27 23:52:14 +00:00
toaster
21f152989d Clear separation between basegame and mods
- Always force a page seperation between the last core files cup and the first modded cup
- Lost and Found sits exactly between them
    - If any cup on the last page of basegame is unlocked, place LnF on the last core page
    - Else, LnF is the first "cup" on the first Modded page
    - It's done this way so no Core material is spoiled if you haven't unlocked it yet. We want people to believe RR contains only 7 cups unless they go above and beyond

Also address Volt's bug report: Prevent the first page of cups from being overridden if everything is locked
2023-11-21 22:59:12 +00:00
toaster
b46b61e7a1 Fixes for Cups with incomplete map list
- Don't check alt-Podium maps as possible Cup stages
- Guarantee the cupcache is initialised to NEXTMAP_INVALID properly
2023-11-21 22:13:11 +00: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
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
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
toaster
0762b93ef2 Tutorial skipping challenge - first pass
- Go to a MainCfg-specified map on its guessed gametype
    - `TutorialChallengeMap = RR_ZonedCity`
- Some unique settings
    - K_CanChangeRules() == false
    - If GTR_CIRCUIT, make it Hard Speed
    - If GTR_BUMPERS, die in one hit
    - If GTR_BOTS, make them all difficulty 13 of the default bot skin
    - No Medals or Spray Cans during the Tutorial Challenge
- Complete the stage in 1st place or don't bother at all
- Has the "Give up" menu option available, but no "Try Again"
- Condition for successfully completing the Tutorial Skip
    - `Condition1 = TutorialSkip`

Related bugfixes:
- Correctly wipe skipstats when returning to the Title/menus
- Typing of `ultimatemode` (hey this isn't accessible by anything right now I wonder)
2023-11-16 21:44:52 +00:00