Commit graph

273 commits

Author SHA1 Message Date
Lach
0e45149045 Fix objectplace thing scales 2025-08-10 01:21:50 +10:00
Antonio Martinez
0a7abc7a9e setamps cheat command 2025-06-29 21:37:58 -04:00
Antonio Martinez
32f40ca013 More damage cheats 2025-06-02 12:47:38 -04:00
Eidolon
cb7f437e60 Merge public master 2025-02-13 15:48:11 -06:00
Eidolon
a4d304a1f5 Update copyright years to 2025 2025-02-13 15:32:26 -06:00
toaster
8bd50ddb65 clearscores is now setscore
- `setscore 0 50` will set the player in slot 0's score to 50 points
- `setscore 0 50 -add` will add 50 points to their score
- `setscore -clear` will clear all players' score, as per the old function
- Command will error if PWR is in use (no roundqueue/`usepwrlv 0`/cheats off in GP)
- The previous cheat `setscore` is renamed to `setroundscore`
2024-10-11 13:40:11 +01:00
Sal
653766010d FRIENDCODE (aka, Teamplay) 2024-09-17 01:41:26 +00:00
Sally Coolatta
7dfa597c7d SRB2 -> DRRR copyright in src, acs, android folder
Be consistent with toaster's recent changes to copyright
2024-04-05 02:08:23 -04:00
James R
11dc5b7318 Fix line endings 2024-03-28 00:09:02 -07:00
James R
8ab3478b30 Fix savecheckpoint not working in freecam 2024-03-12 23:17:22 -07:00
toaster
e8523b69f0 Sealed Star re-ordering (resolves #606)
- If emerald not yet collected on that cup, pick the first uncollected emerald, then get the cup's CUPCACHE_SPECIAL with that ID to pick the stage
- Already collected emeralds retain their swappage across gamedata saves
- Returns to normal order if you get all 7 OR Special Mode is unlocked (chao key? debug? password in modded games? sky's the limit)
- Pops up a Message from the Stars telling you the gems have been returned to their natural place
- Add-ons will always use their dedicated sealed star, since it's unordered material

If it weren't so last minute I could have a better solution for GP Backups, but right now what I've gone for is it always trusts whatever G_GPCupIntoRoundQueue does AS LONG AS THE COURSE ISN'T THE ONE YOU'RE RELOADING INTO. If it IS, then it checks to see if it's exactly what's been saved, and complains (with the generic error message, unfortunately) if it isn't.
2024-03-03 00:24:31 +00:00
AJ Martinez
052d69e835 Don't set shittysigns value directly 2024-03-02 04:43:22 -07:00
AJ Martinez
81bb3500a4 Merge remote-tracking branch 'origin/master' into shitty-signs 2024-03-02 04:32:05 -07:00
AJ Martinez
47a9cce133 Add shittysigns cheat 2024-03-02 04:27:41 -07:00
James R
b3ff71ad0f Fix cv_mentalsonic too 2024-03-01 07:31:44 -08:00
James R
fff200d174 Save 4thgear cheat in replays
For a cvar cheat to save in replays do this:

- Make sure it's a netvar
  - Only netvars are saved in replays
  - Use OnlineCheat
- Make sure it's not CV_HIDDEN
  - CV_HIDDEN cvars are not added to the linked list, so
    replays cannot find them
  - Use CV_NOSHOWHELP instead, to prevent people from
    modifying it in console
- Use CV_Set or CV_SetValue to change a cvar's value
  - Setting cvar_t.value directly will not change its
    string value
  - The string value is used to determine how it should be
    saved in replays
2024-03-01 07:28:19 -08:00
AJ Martinez
d4d426e64b Add "let's get fired up!" cheat (4th Gear) 2024-02-29 17:43:07 -07:00
Oni
4ea946067a Merge branch 'srb2-tidy' into 'master'
Clear out unused SRB2/Kart stuff from info tables

See merge request KartKrew/Kart!1811
2024-02-03 19:40:52 +00:00
James R
a879975e83 devmode DEMO: replay buffer usage displayed in real-time on the HUD
- Buffer usage in megabytes, bytes and percentage
- Approximate usage per second
- Estimated time until buffer runs out and replay is stopped
2024-01-29 02:20:26 -08:00
toaster
6fdec66dc3 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into srb2-tidy 2024-01-26 00:29:06 +00:00
Oni
c898e5550f Merge branch 'pwr-fixes' into 'master'
PWR.LV fixes

Closes #915

See merge request KartKrew/Kart!1849
2024-01-25 14:42:09 +00:00
AJ Martinez
0c6820b350 "mental sonic" cheat 2024-01-23 00:28:08 -07:00
Sally Coolatta
de3d9a29c8 Make PWRLV work in Battle
Additionally, add DBG_PWRLV for devmode so the debug prints can be accessed without needing to edit the code any.
2024-01-23 00:00:26 -05:00
toaster
1d13cb64c0 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into srb2-tidy
# Conflicts:
#	src/p_mobj.c
2024-01-13 22:08:44 +00:00
James R
ecdd17faaa DEVELOP: add Skip Goner password 2024-01-11 18:48:03 -08:00
toaster
325079a39a Delete everything major flagged up by listunusedsprites
Notable deletions:
- Metal Sonic Race
    - Includes all the specialised recording/playback apparatus which made g_demo.c harder to read
- A bunch of hyperspecialised code inside several A_ actions
- EXCEPTION: intentfully left in the spriteless SMK stuff for Sal's add-on down the line.
2024-01-11 01:21:43 +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
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
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
Oni
db36fc516f Merge branch 'basic-replay-cheats' into 'master'
Basic replay/spectator "cheats"

See merge request KartKrew/Kart!1613
2023-11-18 00:57:46 +00:00
James R
7d7110ead7 Let devmode work in replays, let teleport commands work in replay freecam 2023-11-16 18:45:04 -08:00
AJ Martinez
c4e1a98e6b Fix tournament mode cheat saving 2023-11-16 13:58:06 -07:00
toaster
909eb7b6ef The Tournament Mode cheat is now "chaos zero 64". Thanks to the OG!
In addition, make it case insensitive
2023-10-20 16:56:25 +01:00
Sally Coolatta
c9291b0f61 Mobj thinker freeze condition rework
- There's a freeze cheat bool to freeze everything except for players.
- There's a level freeze bool to freeze literally everything.
- There's a frozen bool on mobj_t to explicitly control freeze status on an object.
2023-09-18 03:24:58 -04:00
James R.
29017d24d6 devmode password: unlock all maps 2023-09-11 04:39:51 -07:00
James R.
ddb0c65455 Add goto_skybox command, teleport to skybox viewpoint 2023-09-09 20:44:24 -07:00
James R
6c0b042eed Refactor cvar definitions completely, move everything to cvars.cpp
- No need to call CV_RegisterVar
- Cvar definitions live in only one file, easier to locate
- Organized into sections -- netvars, cheats, etc.
- Use builder pattern to initialize cvars
- Still need to extern if you want to read the cvar value
2023-08-25 17:22:40 -07:00
Sally Coolatta
f02e6dbe3c Final thing args code cleanup
- Fix the last few bugs I could find with thing args
- Move version update code
- Rename internal variables to `thing_[string]args` to make older code merge issues more obvious
2023-08-22 02:14:09 -04:00
Sally Coolatta
9d940ed654 Separate script args from mapthing args
SRB2 uses a LOT of mapthing args compared to Hexen (which has none) and ZDoom (which only has them on objects that will never ever activate scripts). So we really badly needed to separate the two if we want attaching scripts to things to be useful.
2023-08-21 03:33:04 -04:00
James R
39f46a0f20 Replace music handling
(This commit does not compile. Sound test and tunes
command code needs to be ported after this.)

This is a big one. Here's the rundown:

The old music system was very direct, much of the time
just a proxy to the real sound API in i_sound.h.

You could change the music on command, but there wasn't
a consistent way to prevent some music from playing over
others. P_RestoreMusic is one example of needing to
address this problem. The jingles system was intended as
another solution. Furthermore, sound test (Stereo) has its
own needs.

I am removing all of that. Music handling in general is
now a very deliberate system, kind of similar to jingles.

In the new system, "tunes" are registered. The tune stores
info such as whether it should loop or fade out. Most of
the configuration is intended to be initialized only ONCE.
Tunes can be mapped to an actual music lump. They can be
remapped at any time too.

Tunes are also configured with a priority number. This
determines which tune is heard, if multiple are supposed
to be playing at a time. You can even tell a tune how long
it should play, so it's unnecessary to track this with
bespoke timers.
2023-08-06 17:31:45 -07:00
AJ Martinez
d1c954fd86 DEVELOP devmode cheat: save gamedata instantly 2023-07-01 16:17:37 -07:00
AJ Martinez
304ed85941 DEVELOP devmode cheat: allow saving 2023-07-01 16:14:42 -07:00
James R
427ab44471 Add setspheres command 2023-06-29 21:01:13 -07:00
toaster
45f8f1c89f Remove a bunch of unused emerald stuff inherited from SRB2
All superseded by M_CheckCupEmeralds + GTR_POWERSTONES stuff
2023-06-25 23:49:20 +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
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
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
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
1957f74853 Improve handling for Tournament Mode
- Clearer user-facing messages
- Returns to title screen clearing menus in the normal case
2023-06-07 17:55:26 +01:00
toaster
7bda2f72cf Wrongwarp cheat
`banana` was the cheat for the previous entry in the series.
Visuals are incomplete but I have to go out in a little bit and the bulk of it is done

(The Tournament mode cheat's password is "placeholder" for now.)
2023-06-07 17:46:21 +01:00