Commit graph

23312 commits

Author SHA1 Message Date
Oni
fe3790b0db Merge branch 'ringbox' into 'master'
Ring Box

See merge request KartKrew/Kart!1292
2023-06-27 09:47:15 +00:00
AJ Martinez
e75c052e7b Force MT_RANDOMITEM to start S_RANDOMITEM in Prisons 2023-06-27 02:20:20 -07:00
AJ Martinez
e4f7efca51 Add roulette ringbox flag to netsave 2023-06-27 01:42:24 -07:00
AJ Martinez
c71bb7092e Merge remote-tracking branch 'origin/master' into ringbox 2023-06-26 19:19:21 -07:00
AJ Martinez
c495106ee5 Ringbox: playtest fixups 2023-06-26 19:02:39 -07:00
AJ Martinez
a43744aa24 1P hud fixes 2023-06-26 17:51:42 -07:00
AJ Martinez
0a6bac0dcc Ringbox: HUD, transform time define, ring-box-only, scaling rewards 2023-06-26 17:36:41 -07:00
AJ Martinez
45547607bd Ringbox: item respawn refactor + box visuals 2023-06-26 06:36:37 -07:00
AJ Martinez
f371a21258 Ringbox proto functionality 2023-06-25 23:18:06 -07:00
Oni
788b673584 Merge branch 'live-event-backup' into 'master'
GP Crash Backup

See merge request KartKrew/Kart!1296
2023-06-26 03:46:35 +00: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
e9df563826 Rearrange contents of GP Backups for future purposes
Also increments minor version for backups
2023-06-25 23:44:39 +01:00
toaster
b1b23da51b Prevent the other half of tape's exploit
Save one less life than you actually have, so you're discouraged from constantly reloading from backup.
2023-06-25 23:44:39 +01:00
toaster
87c26f0fe9 Skip Bonus Rounds when loading up Live Event Backups
Prevents the exploit Tape discussed from being used for Battle.
Also attempts to recover to Podium if relevant.
2023-06-25 23:44:39 +01:00
toaster
3474fd6e83 Grand Prix Backup: Store lumpnamehashes of all maps in queue for extra confirmation that the cup's contents are the same between gameboots. 2023-06-25 23:44:39 +01:00
toaster
8199437e0d Coming back to the branch, closing menu messages felt annoyingly unresponsive. Let's disable the flashing animation for now and just retain the slideaway. 2023-06-25 23:44:39 +01:00
toaster
d6a3e1446f Improve handling of M_StartMessage strings
The author of this commit ran into an issue while testing previous changes where a Menu Message had MM_NOTHING but a Yes and No string, leading to misleading appearances. This prevents that footgun from happening again.
2023-06-25 23:44:38 +01:00
toaster
3e6a5fda21 Change the rules of when GP Backup occours/is deleted
- Re-saved every time you lose a life, to prevent scumming
- Force-deletion of your backup has changed
    - Don't when saying NO to the GP Backup load prompt
    - Don't when returning to titlescreen under non-DEVELOP
    - DO when starting a new Grand Prix session of any cup
2023-06-25 23:44:38 +01:00
toaster
6b1fadd9d2 Make the Server Connection Ticker use the MenuCMD system
- Permits the use of the existing K_HandleMenuMessage MM_YESNO system, instead of the faked previous implementation
    - Removes the "cl_requestmode" hack
    - The only area of the game that fakes handling Menu Messages is the title screen, now, due to the lack of guarantees for menu inputs.
- *Also* permits Screenshots and video/lossless Recordings to be started/ended on this menu.
2023-06-25 23:44:38 +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
d450faeaaf General Menu Message input cleanup
- M_StopMessage is now in charge of setting the answer to a given prompt.
- Menu Messages can now be dismissed on the title screen, instead of carried into the top-level menu transition.
2023-06-25 23:44:38 +01:00
toaster
17f23e8974 Tournament Mode cheat: Improve handling
- Have special message if cheats are enabled (it previously falsely said you could still save)
- Cleaner internal handling
- Always take you back to the title screen
2023-06-25 23:44:38 +01:00
toaster
45bff5f0d8 Further polish
- Set a restoreMenu for M_GPBackup
- Improved newlines on associated message
2023-06-25 23:44:38 +01:00
toaster
281002f2ee Improve wording for A/B options for GP Backup prompt 2023-06-25 23:44:38 +01:00
toaster
0d827ab05e Improve GP Backup handling to be more flexible
Since it's a user-facing feature and not a speedrunner's assistant...
- If an issue is discovered, make a CONS_Alert instead of a complete failure and let the user know
    - Replaces the unhelpful error of "Savegame %s corrupted"
- Store skins and cups as strings, not IDs
    - Permits playing with differing mod loadouts if everything important is still loaded
    - Won't error for bots having not-loaded skins - those are converted into Eggrobos.
- Instead of storing full roundqueue data, rebuild from the cup and check if the important details match
    - Prevents having to include map name strings
- Add minor version to GP backups
    - Permits more flexibility in future
2023-06-25 23:44:38 +01:00
toaster
2eef39e079 Fix valid followerskin range on GP Backup load 2023-06-25 23:44:38 +01:00
toaster
e9f9cfd051 Menu Messages: Call the routine after it closes, not the moment you press the button
Slicker, prevents the issue where a transition after pressing accept on a prompt would be instant.
Also guarantees M_StopMessage is called even for MM_NOTHING, even with a custom routine.
2023-06-25 23:44:37 +01:00
toaster
3b272ddb97 M_StringHeight: Handle correct height more cleanly 2023-06-25 23:44:37 +01:00
toaster
12ff436877 Make a first-class feature instead of a passworded secret
- Now called "Grand Prix Backup"
- Filename is now `gpringsav.bkp`
- Since available in standard contexts, do a little extra guarding against unsporting behaviour:
    - In non-DEVELOP builds, delete Grand Prix Backup when returning to the titlescreen/menus.
- "undo your extra work and make it more generic" - Tyron
2023-06-25 23:44:37 +01:00
toaster
304bd383de Do not call G_HandleSaveLevel between maps 2023-06-25 23:44:37 +01:00
toaster
e372d348cd Live Event Backup
Associated menu stuff is rough and unpolished, but it's 1am for the author of this commit.
- Activated for this session by either of the following Passwords.
    - `savetheframes`
    - `savetheanimals`
    - The idea is that if Ring Racers were ever ran at a GDQ, runners would swear their alliegance to a particular Metroid routing at the startup stage, because I think it's funny and cute.
- A live event backup is created/overwritten on non-cheated grandprix level change.
- It's wiped on reaching the podium.
- When hitting PLAY on the main menu, if a live event backup exists, make a Menu Message.
    - If you hit A, turn live event backups on for this session, and load the backup.
    - If you hit B/X, delete the backup and proceed to character select.
        - Done this way to avoid cheating a different character to the end of GP.
- Unlike the (maybe a little over-)engineering of ringdata.dat, liveringbak.bkp is streamlined as all hells and has very little recovery for differing file lists.
2023-06-25 23:44:37 +01:00
toaster
3cbbcfd253 M_StringHeight: Guarantee that there will be enough vertical space in a Menu Message for the relevant lines 2023-06-25 23:44:37 +01:00
Oni
d0ce442850 Merge branch 'chaclon' into 'master'
Chaclon

See merge request KartKrew/Kart!1299
2023-06-25 17:16:09 +00:00
toaster
a9361020bf Re-add missing bobspeed/focusplayer initialisation 2023-06-20 21:52:50 +01:00
toaster
164f72a6cb "Bored" follower audience toggle (for Chaclon)
- If follower audience member has a certain flag, the bob/jump height is forced to zero
    - UDMF: args[2] & 2
    - Binary: The "Extra" flag
- If a follower audience member (or MT_EMBLEM with GE_FOLLOWER) has a bob/jump height of 0, use the idlestate instead of the movement state
2023-06-20 12:41:42 +01:00
Oni
8b2b3aaee8 Merge branch 'training-mode' into 'master'
Add bot styles & bot spawn ACS function

Closes #564

See merge request KartKrew/Kart!1288
2023-06-19 03:16:30 +00:00
Oni
c58b06e7c1 Merge branch 'instawhip-recharge' into 'master'
Instawhip Recharge VFX (and SFX!)

See merge request KartKrew/Kart!1297
2023-06-18 17:01:58 +00:00
James R
bebf9ebed7 A_PlaySound: var2 lower 16 bits == 2, play from actor if actor target is NULL 2023-06-18 01:57:03 -07:00
James R
aa82d8da77 Instawhip Recharge VFX
- 3 splats spawn before the instawhip cooldown runs out
- Splats angle steeply outward in a triangle formation
- VFX is animated, animation runs out right when instawhip
  cooldown completely runs out
2023-06-18 01:57:03 -07:00
James R
96a3221dd3 Add Instawhip Recharge states 2023-06-18 01:53:33 -07:00
James R
f98319a98c Add R_SplatSlope, function to set slope of splat during rendering
Slope set by R_SplatSlope is only effective if
floorspriteslope or standingslope is not already being
used.
2023-06-18 00:46:57 -07:00
James R
f20a7e4db2 A_PlaySound: var2 lower 16 bits == 2, play from actor target 2023-06-18 00:46:57 -07:00
Sally Coolatta
7842032eee Split ringbox stuff from itembox stuff 2023-06-16 05:55:33 -04:00
Oni
abd6e183e9 Merge branch 'mt-reorder' into 'master'
Reorder stuff in P_SpawnMobjFromMapThing

See merge request KartKrew/Kart!1293
2023-06-16 05:39:38 +00:00
Oni
8105fbeea6 Merge branch 'eggmark' into 'master'
Make name of the item "Eggmark"

See merge request KartKrew/Kart!1295
2023-06-15 20:23:00 +00:00
Oni
d0bee29f1a Merge branch 'servant-hand' into 'master'
Servant Hand

See merge request KartKrew/Kart!1294
2023-06-15 20:19:32 +00:00
toaster
f72bd7ff32 Make name of the item "Eggmark"
Cvar was previously "eggmanmonitor" inherited from a completely different implementation of the item
Menu was previously "Eggman Mark", which was good inspiration but too unwieldy
Has been blended together per Gardentop and VC discussion
2023-06-15 21:10:06 +01:00
toaster
fa10ff629f servant-hand.c 2023-06-15 19:39:55 +01:00
Sal
55cd73e25c Merge branch 'milk-terrain' into 'master'
Milky Way terrain

See merge request KartKrew/Kart!1289
2023-06-15 18:00:45 +00:00