Commit graph

25054 commits

Author SHA1 Message Date
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
94a341b629 Cheat updates
- The devmode cheat returns to title screen
- The warp cheat unlocks all hidden levels
2023-12-04 20:36:58 +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
f5566ff8c4 Typewriter::WriteText: If dialogue ends with a hyphen, cut down the time to textDone massively 2023-12-03 21:56:09 +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
1cf14f29dc k_dialogue: Seperate srb2::Dialogue::Typewriter out from srb2::Dialogue
This is the minimal subset of properties useful for various non-popup Dialoglogs, such as the impending Goner Setup.
2023-12-02 16:50:42 +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
30383ba82f Replace a whole bunch of copypasted boilerplate with direct call to Command_ExitGame_f
Fixes not going back to the Title Screen at the cusp of the game's true beginning.
Also generally cleaner code
2023-12-01 17:03:37 +00:00
toaster
d0117bc222 Bottom-mounted Dialogue
Makes the drawer more complicated, but the benefit for most circumstances is significant.
In non-splitscreen contexts, pushes V_SLIDEIN|V_SNAPTOBOTTOM HUD elements upwards when the Dialogue is open.
2023-12-01 16:44:11 +00:00
toaster
00fdae8b52 srb2::Draw::Chain: Make the button function name different between public and private contexts
The author of this commit's compiler was overzealous and kept on matching the wrong one
2023-12-01 15:56:08 +00:00
toaster
b2315484d4 Tutorial gametype: No sidebar or timer 2023-11-30 23:35:16 +00:00
toaster
f01e3bce9b CallFunc_DialogueSetCustomSpeaker: Support empty string 2023-11-30 17:54:51 +00:00
toaster
426e9001a5 Dualogue::Draw -- split into multiple segment patches
- Changes the length of dark colour underneath the speaker's name
- Optionally hides the speaker's face if no portrait is provided
- Frosted glass background when player has control
2023-11-30 17:53:26 +00:00
toaster
42f37e7ded Small improvements to Dialogue internals
- Guarantee not-visible dialogue on map transition/invalidation
- Don't grab a portrait for skins that don't have portraits
2023-11-30 15:03:48 +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
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
cff207e7aa Don't update menujam before game has truly started 2023-11-29 19:03:11 +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
d41188ded3 Permit re-entering the Tutorial Challenge if the full game is accessible to you 2023-11-29 18:51:52 +00:00
toaster
050bf43a87 New intro: Fix other aspect ratio border around STARTUP 2023-11-28 20:43:41 +00:00
toaster
3c19c80842 Intro changes
Multi-stage swagscreens.

Also fixes some issues with using playintro under New Menu conditions
2023-11-28 00:51:34 +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
James R.
a578f9b37c Merge branch 'disable-cusval-print' into 'master'
Disable console print on cusval change

See merge request KartKrew/Kart!1662
2023-11-27 13:30:27 +00:00
AJ Martinez
4372d0fda8 Disable constole print on cusval change
We use this for a bunch of stuff now, it's just clutter—even in DEVELOP
2023-11-27 02:33:52 -07:00
Oni
29c92b8c31 Merge branch 'limit-prison-bonus-time' into 'master'
Scale Prison bonus time to remaining time and difficulty

See merge request KartKrew/Kart!1661
2023-11-27 06:20:04 +00:00
AJ Martinez
bcf59845e3 Prison bonus time: fix a shitton of bad math 2023-11-26 20:27:04 -07:00
AJ Martinez
119f309cb8 Scale Prison bonus time to remaining time and difficulty 2023-11-26 15:34:11 -07:00
Oni
6666f6d024 Merge branch 'hardcode-ivo-balls' into 'master'
Hardcode Mach Spheres (BIG performance boost for Phantom Cup!)

See merge request KartKrew/Kart!1660
2023-11-26 19:55:05 +00:00
Oni
d90f0b5eed Merge branch 'hardcode-frozen-production' into 'master'
Hardcode Frozen Production Frost Throwers

See merge request KartKrew/Kart!1659
2023-11-26 19:30:31 +00:00
James R
401321e310 Hardcode Ivo Balls 2023-11-25 05:35:06 -08:00
James R
b36695db8d Add Ivo Ball states 2023-11-25 05:10:51 -08:00
James R
1cadcf8804 Add srb2::Mobj::voice_reduced 2023-11-25 05:10:51 -08:00
James R
764a692a5e P_IsLocalPlayer, P_IsMachineLocalPlayer, P_IsDisplayPlayer: let player pointer be const 2023-11-25 04:51:13 -08:00
James R
455b402731 SidewaysFreezeThruster::init: fix infinite loop under MinGW 2023-11-23 00:47:26 -08:00
James R
9ff174dd06 Hardcode Frozen Production Frost Throwers (ceiling and horizontal versions) 2023-11-22 23:53:14 -08:00
James R
e6d375d127 Add Frozen Production Frost Thrower states
Change from Lua: Ice Dust hitbox is twice as wide
2023-11-22 23:53:14 -08:00
James R
ea697d2048 Physics changes for players in ice cube state
- Cancel offroad
- Inputs do not work
  - Cannot accelerate
  - Drift/Brake does not work (side-effect of P_PlayerInPain)
- Sprite shakes if icecube.shaketimer
- Sprite is colorized Cyan
- Max friction (slippery)
- Player is considered to be in a pain state
- Sprite slowly turns clockwise
- Sprite tilting is disabled
2023-11-22 19:04:30 -08:00
James R
e89c34ac74 player_t: add icecubevars_t 2023-11-22 19:04:30 -08:00
James R
063d7946a3 mobj.hpp: add srb2::Mobj class, abstraction around mobj_t
API is still a work in progress and is not yet
comprehensive.
2023-11-22 19:04:30 -08:00
Oni
f49206b1cf Merge branch 'ringbox-offset-fix' into 'master'
Fix visuals on roulette latency compensation

See merge request KartKrew/Kart!1657
2023-11-23 02:02:00 +00:00
Sally Coolatta
6216b077f0 Make ring box use khud_rouletteoffset 2023-11-22 20:49:52 -05:00