Commit graph

24702 commits

Author SHA1 Message Date
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
Oni
852e2c1035 Merge branch 'acs-game-over' into 'master'
ACS script type for game over (lose GP round with no extra lives), improve MapWarp and add a handful of functions

Closes #591 and #572

See merge request KartKrew/Kart!1403
2023-08-21 16:50:18 +00:00
toaster
7ce5ae03b0 Merge branch 'fix-gl-sprite-rollangle' into 'master'
Fix OpenGL sprite rollangle for non-papersprites

Closes #616

See merge request KartKrew/Kart!1416
2023-08-21 12:22:31 +00:00
toaster
1c44c1066a Merge branch 'podium-music-fix' into 'master'
Podium music fix

Closes #607

See merge request KartKrew/Kart!1417
2023-08-21 11:40:34 +00:00
SteelT
7785eb9f71 Merge branch 'fix-build-errors' into 'master'
Update Catch2 to latest version

See merge request KartKrew/Kart!1415
2023-08-21 11:13:30 +00:00
James R
f234c47d8a ACS: add Music_Play, Music_StopAll and Music_Remap 2023-08-21 01:04:19 -07:00
James R
5f9f573f20 Remove all code related to linedef 413, Change music 2023-08-21 00:44:27 -07:00
Sally Coolatta
013d149151 Merge branch 'thing-script-args' of https://git.do.srb2.org/KartKrew/Kart into thing-script-args 2023-08-21 03:42:21 -04:00
Sally Coolatta
e4c8af058b Fix badly placed version check
Made old maps get malformed during reading
2023-08-21 03:42:03 -04:00
Sally Coolatta
65269736be Unset mapthing spritex/yscale when converting old maps 2023-08-21 03:33:05 -04:00
Sally Coolatta
0cbd7d43db Allow writetextmap outside of binary maps
This allows for using -writetextmap as a conversion method for old version maps, while the editor does not have it.
2023-08-21 03:33:05 -04:00
Sal
eb72019426 Make UDMF scale compatible with ZDoom's spec 2023-08-21 03:33:05 -04:00
Sally Coolatta
55b8609251 Add UDMF version system
This is needed to convert maps, since I needed to change thing arguments' variable names...
2023-08-21 03:33:05 -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
Sally Coolatta
82e9257284 Fix frequent legacy GL crash that Jeck is getting
This uses `gl_frontsector`, which can sometimes be NULL.
2023-08-21 01:40:05 -04:00
AJ Martinez
b4b09ffd33 Auto Roulette: stop after 2 seconds max speed 2023-08-20 20:44:06 -07:00
James R
2b02daca14 P_LoadLevel: don't randomize Podium music 2023-08-20 17:40:43 -07:00
James R
78ee9a7e0b G_StartTitleCard: don't play titlecard sfx for Podium 2023-08-20 17:18:39 -07:00
James R
f67c3df3ed HWR_ProjectSprite: fix rollangle for non-papersprites 2023-08-20 16:46:01 -07:00
SteelT
dbe80ab3a2 Update Catch2 to latest version
Fixes build errors related to it
2023-08-20 19:43:05 -04:00
AJ Martinez
3900189199 Auto Spin -> Auto Roulette 2023-08-20 16:26:34 -07:00
AJ Martinez
88f54b298e Auto Spin review fixup 2023-08-20 16:03:43 -07:00
AJ Martinez
573a44fbfe Auto Spin todos 2023-08-20 16:03:05 -07:00
James R
21706c6edf Merge branch 'shrink-sync' into 'master'
Shrink Sync

See merge request KartKrew/Kart!1413
2023-08-20 22:59:27 +00:00
James R
8412a1a787 Merge branch 'reset-ticcmd-angle' into 'master'
P_ForceLocalAngle: reset ticcmd angles and localsteering

See merge request KartKrew/Kart!1409
2023-08-20 22:57:00 +00:00
James R
9c14fe1aeb Merge branch 'pause-graphic-sound-test' into 'master'
Don't draw PAUSE graphic in the Stereo menu

See merge request KartKrew/Kart!1407
2023-08-20 22:56:52 +00:00
James R
99d9d4452b Offline: intermission doesn't move automatically, skip with A button
- Press A button the first time to do the card flip.
- Press A button a second time to end the intermission.
  - Will not end literally immediately, in order to let
    tally sounds finish and GP progression bar animate.
2023-08-20 15:40:55 -07:00
toaster
274e72ed2d Shrink Sync
Obj_CreateShrinkPohbees: Fix potential uninitialised memory being used that could cause a differing number of pobbys to spawn between client and server, causing an (extremely recoverable but still undesired) desync
2023-08-20 22:13:53 +01:00
toaster
434e451b8c Merge branch 'bios-pk3-real' into 'master'
Make bios.pk3 consistent filename

See merge request KartKrew/Kart!1412
2023-08-20 21:08:50 +00:00
toaster
ba7d319457 Make bios.pk3 consistent filename
Removes all reference to main.kart, not just the obvious ones.
2023-08-20 22:06:11 +01:00
AJ Martinez
fbfc75df71 Item box autospin 2023-08-20 05:08:53 -07:00
James R
0b9d691ad6 acs/call-funcs.cpp: add ExitLevel function 2023-08-20 00:56:05 -07:00
James R
2ffc41b52e G_MapNumber: let parse NEXTMAP 2023-08-20 00:36:00 -07:00
James R
1a3ef843a5 acs/call-funcs.cpp: add StopLevelExit function 2023-08-20 00:36:00 -07:00
James R
9b4367773c Add GAMEOVER ACS script type
Triggered when the level ends with a losing condition and
there are no extra lives.
2023-08-20 00:36:00 -07:00
James R
8a72f42818 Split G_ExitLevel into G_BeginLevelExit and G_FinishExitLevel
- Save retry condition in G_BeginLevelExit
- Apply condition in G_FinishExitLevel

Preparation for ACS level end scripts, since the exit
condition will need be known when the countdown starts,
not when it ends (that'd be too late to do anything in the
level).
2023-08-20 00:36:00 -07:00
Oni
07aabdfdb3 Merge branch 'battle-emerald-collect' into 'master'
Emerald collection polish, animation for Battle and tweak to Sealed Star

See merge request KartKrew/Kart!1408
2023-08-20 06:10:35 +00:00
Oni
b336ec6f1d Merge branch 'main.kart-to-bios.pk3' into 'master'
main.kart to bios.pk3

See merge request KartKrew/Kart!1410
2023-08-20 05:52:43 +00:00
VelocitOni
d103d44938 main.kart to bios.pk3
Turned main.kart into a .pk3, reorganized it, added new logo and extras
2023-08-20 01:46:53 -04:00
James R
7b9665402a P_ForceLocalAngle: reset ticcmd angles and localsteering
For Sealed Stars, restarting the level after turning away
from the spawn angle. This would slightly skew your
momentum when spawning.
2023-08-19 17:03:32 -07:00
toaster
dc695e7acf First pass at implementing Spray Can pickups
- Replaces a few D00DKart objects because the doomednum specifically replaced one of these
- Reports on load if the map has too many, or if one's assigned but the object doesn't exist
2023-08-19 22:21:20 +01:00
toaster
3036eaf35d MT_EMBLEM: Rework grabbable conditions, so you pass through collected ones in both offline and online for consistency 2023-08-19 22:11:56 +01:00
toaster
d19e98beb8 Proper-Nounify the Spray Cans on the Challenges descriptions 2023-08-19 21:33:49 +01:00
toaster
78850c48b2 Disable some testing prints 2023-08-19 17:16:36 +01:00
Oni
7cdf8fbfdd Merge branch 'whip-sprzoff' into 'master'
Instawhip hop adjust sprite offset instead of physical Z position + flashing nitpick

Closes #601

See merge request KartKrew/Kart!1406
2023-08-19 14:58:46 +00:00