Commit graph

23946 commits

Author SHA1 Message Date
James R
cb06fedc18 Make -writetextmap a console command, call it "writetextmap"
- Convert multiple maps at once
- The game cheers for you when it's done and tells you
  where it saved the TEXTMAP files
2023-08-26 06:05:09 -07:00
Oni
9bbd850d74 Merge branch 'cvar-reorganization' into 'master'
Refactor cvar definitions completely, move everything to cvars.cpp

See merge request KartKrew/Kart!1422
2023-08-26 03:42:31 +00:00
Oni
3f596a24ba Merge branch 'dialogue-2' into 'master'
Dialogue 2

See merge request KartKrew/Kart!1421
2023-08-26 03:42:10 +00:00
VelocitOni
2eef398381 Merge branch 'master' into dialogue-2 2023-08-25 22:46:14 -04:00
Oni
d2021560e5 Merge branch 'cheats-menu' into 'cvar-reorganization'
Cheats menu on the pause menu

See merge request KartKrew/Kart!1424
2023-08-26 02:34:42 +00:00
James R
64a112e358 Pause menu: add cheats menu
Automatically populated with every cheat cvar.
2023-08-25 17:35:29 -07:00
James R
0559713c41 cvars.cpp: add descriptions to all cheats 2023-08-25 17:25:19 -07:00
James R
f1e4aa5cd4 consvar_t: add optional description field 2023-08-25 17:24:13 -07:00
James R
88cb0dda22 V_DrawFill: clip with cliprect 2023-08-25 17:24:13 -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
James R
6a3d298d00 CMakeLists.txt: remove -Wnested-externs warning 2023-08-25 17:19:04 -07:00
James R
c194ccb81a Remove more unused cvars
- respawnitem
- respawnitemtime
- respawndelay
- startinglives
2023-08-25 17:18:21 -07:00
Oni
bc0a187961 Merge branch 'thing-script-args' into 'master'
Separate script args from mapthing args

See merge request KartKrew/Kart!1405
2023-08-25 23:29:06 +00:00
Sally Coolatta
3c14931764 Merge master 2023-08-25 18:39:01 -04:00
Sally Coolatta
3c8eb505cc Merge branch 'master' into thing-script-args 2023-08-25 18:32:55 -04:00
toaster
4abc0b2c5d Merge branch 'motd' into 'master'
Add server join splash (resolves #266)

Closes #266

See merge request KartKrew/Kart!1423
2023-08-25 20:43:02 +00:00
toaster
4d08f5e888 Move Song Credits down by 8 pixels to avoid overlap with top-region MOTD 2023-08-25 21:41:49 +01:00
toaster
92bd71496e VC review
- Continue showing up on main in-game pause menu
- Flip to top half of screen, to avoid conflict with Round Queue
- Show over most UI, including menu
2023-08-25 21:41:15 +01:00
Oni
b63f3f6f16 Merge branch 'majin-box' into 'master'
Auto Roulette (resolves #618)

Closes #618

See merge request KartKrew/Kart!1411
2023-08-25 19:24:42 +00:00
Sally Coolatta
2a68650477 Clear name/contact with strncpy instead of memset
Probably doesn't matter, but it satisfies my OCD better
2023-08-25 15:08:53 -04:00
Sally Coolatta
c2c46aca58 Add note about MOTDICON 2023-08-25 14:56:50 -04:00
Sally Coolatta
819ebc4c26 Highlight contact with shoutcolor 2023-08-25 14:51:21 -04:00
Sally Coolatta
019546e846 Add server join splash
Just wanted to give literally any possibility of seeing the server contact as a client
2023-08-25 14:42:01 -04:00
Sally Coolatta
e30ff926d8 Default voice to sfx_ktalk
Someone just needs to put an actual sound for it in sounds.pk3
2023-08-25 13:15:50 -04:00
Sally Coolatta
71e068a8b6 Display Z button 2023-08-25 08:16:16 -04:00
Sally Coolatta
764010b3ab Implement talk sounds
We're in Undertale
2023-08-25 07:53:09 -04:00
Sally Coolatta
3009f1c106 Small dialogue polish
- Slide in from top
- Fix chaining multiple dialogues with the same speaker not working
- Unset when changing level
- Sped up punctuation pause a bit
2023-08-25 06:50:12 -04:00
Sally Coolatta
ffda097421 Fix no control toggle 2023-08-25 05:05:51 -04:00
Oni
148b56eccf Merge branch 'kill-dead-shit' into 'master'
Remove some unused code

See merge request KartKrew/Kart!1420
2023-08-24 22:10:43 +00:00
Oni
669bc1ed76 Merge branch 'spraycans' into 'master'
Spraycans

Closes #609

See merge request KartKrew/Kart!1419
2023-08-24 22:10:11 +00:00
Sally Coolatta
16e6aa423e Dialogue 2 2023-08-24 17:28:53 -04:00
toaster
29c3943366 M_AssignSpraycans: Forgot to remove an irrelevant check, now should update if new Spray Can conditions are added 2023-08-24 21:38:17 +01:00
toaster
6d5770ff5a M_AssignSpraycans: Fix off-by-one in shuffled prepended colours causing crashes
The prepended colour list passed to M_Shuffle_UINT16 was off by one, leading to possible pollution of the region with an uninitialised value.

For some reason, some people's machines guarantee clean stack memory on game startup, while other people's do not. This is why some people were crashing on Spray Can list generation and some weren't.

The stack memory was DEFINITELY not clean by the time you could navigate to the gamedata clear menu, which is why that was crashing without fail.
2023-08-24 21:33:06 +01:00
James R
f4ca6001d8 s_sound: remove unused OpenMPT stuff 2023-08-24 04:56:02 -07:00
James R
c5e341769b Remove unused cvars
- growmusicfade
- invincmusicfade
- music_resync_powerups_only
- music_resync_threshold
- renderstats (wasn't even registered in the console!)
- resetspecialmusic
- resume
- samplerate
- stretch
- tailspickup
2023-08-24 04:52:41 -07:00
James R
0a9d15ceb0 Remove remnants of LJOYSTICK 2023-08-24 04:34:19 -07:00
toaster
9076b3c99b Self-review: Correctly initialised gamedata spraycan map id in clear_Levels 2023-08-24 01:16:14 +01:00
toaster
595b3d67d5 Add UC_CHARACTERWINS
Just in case I don't get to do a major pass on adding a ton of extra unlockable conditions later, this is an easy, quick add featuring a stat gamedata and the statistics menu has been tracking for a while.
2023-08-23 18:58:10 +01:00
toaster
b9a6f7362b M_UpdateConditionSetsPending: Fix invalid character names returning the entire loop early 2023-08-23 18:54:28 +01:00
toaster
b0ee900422 d_netcmd.c: Fix errors with multiple _OnChange functions
- Skin_OnChange
    - Now always checks for cheats for any machine-local player skin change in non-netgame, non-K_CanChangeRules contexts
    - Previously applied only to consoleplayer in Time Trial
- Color_OnChange
    - Fixes straight up incorrect condition that prevented honest players from changing color mid-game via the developer console
2023-08-23 18:24:45 +01:00
toaster
e7dc2cda0c d_netcmd.c: Fix default values for color cvars (and associated lastgoodcolor) to not error when we make basically all of the colours unlockables. 2023-08-23 18:18:37 +01:00
toaster
6d2e120e77 M_DrawCharSelectCircle: Fix offset colour id when number of colors available is odd VS even 2023-08-23 17:54:09 +01:00
toaster
a3640110ae Only permit Spray Cans to be grabbed on base game levels
I would not be so heavy handed against preventing players from grabbing Spray Cans on custom levels, but designing a system that permits unloaded headers to retain their cans is frankly overkill. There are plenty of other ways the same kind of level-scouring play can be experienced on custom levels.
2023-08-23 17:16:07 +01:00
toaster
53549bfa2d M_Shuffle_UINT16: Fix to not rule out half of all possible Spray Can orders 2023-08-23 17:08:06 +01:00
toaster
e1b7cb66cb Rework the Spray Can system to ACTUALLY be what we want
Instead of being specific to each level, Spray Cans are stored in a list on gamedata that will be stepped along each Spray Can you collect.
They are only assigned to a level on collection - which prevents you from farming the same easy location for every colour in the game.

In addition, this new system is one step short of dehardcoding them entirely. Now only Spray Cans specifically asked for by the existence of UC_SPRAYCAN will be put in the list, and if a secondary parameter is either "Yes" or "True", it will be put at the head of the list. This could technically support custom skincolours one day, but the author of this commit doesn't care to do the last bit of work necessary to make it happen.

There's a slight extra overhead in that skincolor_t now also holds a `cache_spraycan` (renamed from `cachedcan`, which maps had previously)

Currently, there's no safeguard against grabbing it on a custom course - you'll lose the Spray Can as soon as you load a fresh game again - but  I consider that easy to fix (tomorrow) and necessary before merger, because the author of this commit does NOT want complaints on release because we forgot to protect users who keep on losing their skincolors.
2023-08-23 00:46:46 +01:00
toaster
6735868e26 MT_EMBLEM: Adjut to not run anything if not local 2023-08-23 00:31:10 +01:00
toaster
3ccf668fda Rename numspraycans to nummapspraycans
- Consistency with nummaprings
- Prevents confusion with incoming gamedata struct variable
2023-08-22 23:12:02 +01:00
toaster
f7635c4399 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into spraycans 2023-08-22 19:57:28 +01: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
Oni
2926f4c201 Merge branch 'skip-intermission' into 'master'
Offline: intermission doesn't move automatically, skip with A button

See merge request KartKrew/Kart!1414
2023-08-21 16:53:23 +00:00