Commit graph

1494 commits

Author SHA1 Message Date
AJ Martinez
f1eaa1509f Opaque tripwire on subtractnum maps 2023-10-17 21:48:05 -07:00
AJ Martinez
680c063e3a "DARKNESS" mapheader option for Shrink lighting 2023-10-12 21:07:04 -07:00
Lat
dc6bb1bfa9 solve conflicts and update to master 2023-10-07 11:15:47 +02:00
Oni
bcc8fc6438 Merge branch 'freeze' into 'master'
Mobj thinker freeze condition rework

Closes #690

See merge request KartKrew/Kart!1505
2023-10-02 05:42:19 +00:00
James R.
c743af4d77 P_SpawnMapThing, P_RaiseTaggedThingsToFakeFloor: save raised Z position for respawning later
P_RespawnSpecials just calls P_SpawnMapThing again, so
this works.
2023-09-24 15:36:46 -07:00
Sally Coolatta
0211dc4f34 Reset freeze on level load 2023-09-23 15:51:33 -04:00
Lat
058a1c03b5 Seasaw defs, variables + new function to sanitize checks for my hardcoded mess 2023-09-23 12:48:52 +02:00
toaster
753b733f7e Permit multiple Spray Cans in one map
- Up to 255
- Each Spray Can placed does, in order, the postion in the list from the current head
    - So if there were 3 cans, and your can list was Red Yellow Blue Green, then Red, Yellow, and Blue would be in the level.
- Grabbing the nth colour in the list will swap that colour to the current head of the list
- However, the game will print to the console if you do this outside of GS_TUTORIAL.
2023-09-13 18:02:43 +01:00
Eidolon
428fa11231 Merge branch 'rhi-remove-passes' into 'master'
hwr2: Remove pass infrastructure

See merge request KartKrew/Kart!1440
2023-09-01 23:17:54 +00:00
toaster
1d3a7c717e Merge branch 'let-release-build' into 'master'
Various fixes to let release builds compile

See merge request KartKrew/Kart!1448
2023-09-01 20:45:54 +00:00
toaster
898a659c78 Merge branch 'initplayers-reorder' into 'master'
Fix Splitscreen GP Prison Break

See merge request KartKrew/Kart!1446
2023-09-01 20:43:10 +00:00
Eidolon
6f580606cd hwr2: Remove pass infrastructure
It's not worth trying to force the engine to conform to deferred
drawing.
2023-09-01 15:30:04 -05:00
toaster
86a61c4c0d Additional relevant comment changes 2023-09-01 21:15:45 +01:00
toaster
76b798d907 Support "starpostactivator" in UDMF parameter read, to avoid having to reconvert a bunch of things 2023-09-01 21:14:33 +01:00
VelocitOni
8845700c06 Starpost Gentrification
Replaced all mentions of starpostnum and Starpost w/ cheatchecknum and CheatCheck (so Ivo can stop asking why we still need it when its going to save our asses on release patches)
2023-09-01 00:31:49 -04:00
James R
95ae37fa0a Various fixes to let release builds compile
- Fixed followers.pk3 asset hash checking.
- Moved asset hashes from config.h to d_main.c directly.
  - Changes to config.h.in require building the game twice
    and having it in d_main.c is just more contained.
- Removed old reset on holepunchserver if it was set to
  the wrong address. This was only relevant for a short
  period of time during development.
- Fixed cv_kartencoremap being used outside of DEVELOP.
- Fixed unused variable warning in GotOurIP.
2023-08-31 18:15:52 -07:00
toaster
60ce81f00d Fix the order of operations so K_TimerInit is ready for P_InitPlayers
Guarantees players in splitscreen GP Prison Break rounds are always deterministically placed (as long as the non-battle spawnpoints exist)
2023-08-31 19:24:49 +01:00
toaster
a7b065c4d8 P_InitPlayers: Tidy up the barely-significant difference between G_DoReborn and G_SpawnPlayer
Only kills objectplace at map start, not general respawn
2023-08-31 17:30:05 +01:00
toaster
1dd2e7031a Fix the spectating bots in GP issue a different way
The solution in 67c2ae021b happens too late for K_TimeAttackRules
2023-08-31 16:46:46 +01:00
James R
1db1eaedff Merge branch 'sealed-star-lose-text' into 'master'
Sealed Stars: show text on the screen for loss conditions; improved titlecard cecho centering, splitscreen support

See merge request KartKrew/Kart!1404
2023-08-28 07:48:47 +00:00
Sal
702faa60f1 Merge branch 'fix-unfix-flat-offsets' into 'master'
Fix TextmapUnfixFlatOffsets & other writetextmap bugs

See merge request KartKrew/Kart!1437
2023-08-27 20:04:22 +00:00
Sally Coolatta
a4911b0821 Add equation slopes to writetextmap 2023-08-27 15:49:05 -04:00
Sally Coolatta
e7c3a8ac46 Fix thingstringarg typo in -writetextmap 2023-08-27 14:36:48 -04:00
Sally Coolatta
1bbe90f659 Fix TextmapUnfixFlatOffsets
It had the right idea, it just literally did it wrong :P
2023-08-27 14:04:28 -04:00
toaster
6869496843 Fade to white before the Podium if you successfully get the Emerald/Prize
Further Sealed Star polish requested on the gitlab.
2023-08-26 23:30:12 +01:00
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
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
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
Sally Coolatta
16e6aa423e Dialogue 2 2023-08-24 17:28:53 -04: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
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
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
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
James R
5f9f573f20 Remove all code related to linedef 413, Change music 2023-08-21 00:44:27 -07: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
James R
2b02daca14 P_LoadLevel: don't randomize Podium music 2023-08-20 17:40:43 -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
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
1d06637a38 First pass at assigning unique spraycans to level headers
Increments gamedata minor version, be aware
- M_AssignSpraycans
    - Called in M_FinaliseGameData.
    - Attaches a hardcoded set of colours to all race maps in cup order, stopping once we run out.
    - The colours are shuffled, with some "freebies" always at the head of the list.
    - Integrates partial lists pretty well.
    - In DEVELOP builds, I_Errors if it produces corrupted state.
- G_LoadGameData, G_SaveGameData
    - Save & Load is implemented for these assignments
2023-08-19 15:08:55 +01:00
James R
414d6f3647 Don't reset camera position when spectating
Fixes a software renderer crash due to hitlag VFX from the
player's death (death from spectating) being too close to
the camera.
2023-08-19 05:01:41 -07:00
Lach
53b48d057c Rename Lost Colony symbols to Ark Arrows and add 10 new symbol types 2023-08-15 22:47:04 +10:00