Commit graph

1230 commits

Author SHA1 Message Date
James R
58bb648b0a Merge branch 'udmf-cherrypick' into 'master'
Update our UDMF

Closes STJr/SRB2#862

See merge request KartKrew/Kart!727
2022-10-29 06:54:48 +00:00
Oni
95096fbc9a Merge branch 'special-stages' into 'master'
[Special stage prep] GP Bonus Stages + timelimit rework + Hitlag ticking fixes

Closes #236

See merge request KartKrew/Kart!739
2022-10-27 03:10:37 +00:00
toaster
4851b8e697 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into udmf-cherrypick 2022-10-22 20:25:13 +01:00
toaster
b686137d12 Correctly NULL thumbnailPic and minimapPic when map lumpnum changes
Fixes the core part of Chengi's graphical issue
2022-10-22 19:58:10 +01:00
toaster
e5365339da Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into wadname-maps 2022-10-22 19:53:05 +01:00
James R
7ceef19f74 Fix 42f9443de 2022-10-17 23:50:38 -07:00
James R
42f9443de1 UDMF: Add back #900 and #901 additive, subtractive special alpha values for FOFs
Fix fourth digit blend mode being off by one.

see ebe38ff518
2022-10-16 18:07:39 -07:00
toaster
414550dc3b Don't make gptest behaviour apply in Record Attack. 2022-10-15 15:45:59 +01:00
toaster
21be55e924 Fix cup level list behaviour
- Frees existing string data
- Unbinds cup backreference here instead of in p_setup
2022-10-15 15:43:11 +01:00
toaster
ca2ecf6e9f Add "allowdemos" option to K_CanChangeRules()
It's been used interchangably as "this is a singleplayer gameplay context" and "This is a no cvar changing context". This addition repairs some behaviour which might have been inconsistent between netgame and netreplay.
2022-10-15 15:15:22 +01:00
toaster
54a1ac9944 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into special-stages 2022-10-14 18:40:30 +01:00
toaster
f281f47c6f Support alternate gameplay events during GP
- Implementation details:
    - grandprixinfo.eventmode is the reference point
    - All bots have spectator applied and removed at map start depending on eventmode, and I've done my best to guard against side effects of not removing them entirely
    - You shouldn't turn off grandprixinfo.gp when turning on things like specialStage.active or bossinfo.boss when pursuing eventmode behaviour
    - Probably needs to be integrated into XD_MAP for any future netplay support, is currently disabled.
    - You technically don't have to assign a Capsules map to be the bonus and a Special Stage to be the special. A Capsules map can be assigned to a Special Stage too, and a Boss can be assigned to either of them.
    - Special Stages are still just as incomplete as they were before.
- Break the Capsules has special behaviour.
   - Timelimit starts at 20 seconds.
   - Earn 10 seconds (plus a little extra cheaty time) every capsule you destroy.
   - WIN + extra life if you bust all the capsules, COOL if you get some but run out of time, LOSE if you lose your bumper or run out of time without breaking a single capsule.
   - Supposed to also give you rings, but ran into a LOT of difficulty with this and didn't want to commit half-baked stuff, so it'll be a later project.
Also:
- Fix a long standing bug where totalring was reset between maps, preventing the sum from adding up across GP rounds and depriving you of extra lives you were owed.
- Fix an issue where Break the Capsules record attack was KARTSPEED_HARD.
- Send timelimitintics in savegames, since it's handled seperately now.
2022-10-14 18:34:43 +01:00
toaster
f926842b30 Fix replacing cups' map lists not properly reassigning the cachedlevels 2022-10-14 13:19:20 +01:00
James R
01faa52162 Clean up instances of malloc replay file path
- Fix allocating only enough for "MAPXX".
- Fix memory leak in M_StartTimeAttack.
- Use va instead of malloc + sprintf, strdup where needed.
Some of these pass gpath to va anyway so that should be
enough room.
2022-10-13 16:34:24 -07:00
toaster
c8471c7c27 Rework exit timing nittygritty
- exitcountdown is now used for both No Contest and regular exits
    - Set in P_DoPlayerExit
    - Handles sending XD_EXITLEVEL in P_Ticker
- player->exiting is now 0 or 1 (we can make it a bool or a new timer later)
- Fixes a longstanding bug where failing a GP round could restart multiple times
Also:
- Fix a possible waiting-in-the-wings issue where mapchanges would occour client-side in K_CheckBumpers
- Add `gptest` cheat - sets numlaps to 1 lap on mapload for quick but legitimate(ish) progression
2022-10-13 17:37:35 +01:00
toaster
243f38227c Rework time limit a bit
- Make timelimitintics handled a bit more like gamespeed, encore, frantic, etc - update on mapload/starttime, not during gameplay
    - Use default setting if can't change rules - this is a surprise tool that will help us later
- Have it properly update when adjusting gametype from the menu
    - Cleaned up SV_StartSinglePlayerServer to do this
- Remove CV_SAVE to prevent time limit bruh moments
2022-10-11 23:00:44 +01:00
toaster
44eb099cfb Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into special-stages 2022-10-11 15:44:32 +01:00
Sally Coolatta
8953cf54bb Speed Pads are now a TERRAIN effect
- Use `SpeedPad` to set the strength. Intended to be scaled like Trick Panels, so 1 for yellow, 2 for red, so on. Can use floating point.
- Use `SpeedPadAngle` to rotate the thrust direction. This is in the same system as map angles, so east is 0, north is 90, west is 180, and south is 270. Also accepts floating point.
- Speed Pad angle accounts for the flat alignment itself, as well.
- Like Sneaker and Trick Panels, the sector / line special are now deprecated.
2022-10-11 02:26:54 -04:00
Sally Coolatta
b2c4fa74f9 Add newer UDMF config 2022-10-10 22:45:35 -04:00
Sally Coolatta
2ac062e5b3 Merge branch 'master' into udmf-cherrypick 2022-10-10 19:34:11 -04:00
toaster
32ec9fd4e9 WADNAME map definition lump special case
- For .wad resources, if a map is called WADNAME:
    - Everything up to the first full stop in the file name is substituted as the long lumpname (so WADNAME in RR_GREENHILLS.beta3.wad replaces map RR_GREENHILLS)
    - Has (hacky) support for Zone Builder temporary files on Windows
    - If WADNAME is passed to `-warp` (but NOT `-map` or `+map`) go to the most recent loaded WADNAME
    - Requires everyone to customise their testing parameters to disable MSDOS 8.3 filenames
- For all resources:
    - Jart added lumpname hashes for the first 8 characters. Use these in W_CheckNumForLongNamePwad and the map equivalent
2022-10-10 16:26:20 +01:00
Sally Coolatta
779aade139 Bot Hints use args 2022-10-10 10:50:14 -04:00
Sally Coolatta
0614a8739c Duel items use args 2022-10-10 10:48:44 -04:00
Sally Coolatta
688b4fb9a9 MT_PETSMOKER uses args 2022-10-10 10:43:30 -04:00
Sally Coolatta
7cee4ff32a MT_STEAM's kart behavior uses args 2022-10-10 10:40:06 -04:00
Sally Coolatta
4896a9c843 MT_MAYONAKAARROW uses args 2022-10-10 10:36:59 -04:00
Sally Coolatta
d30c24d2eb Fix embarrassing copy-paste error 2022-10-10 10:35:51 -04:00
Sally Coolatta
1ab2b4a897 Bot Controller uses args 2022-10-10 10:26:25 -04:00
Sally Coolatta
983304f361 Update birdslopes to use args 2022-10-10 10:16:40 -04:00
Sally Coolatta
c2cc847746 Save waypoint riser / anchor data into spawnpoint
Allows -writetextmap to write the changes from these binary-only things.
2022-10-10 09:42:26 -04:00
Sally Coolatta
5ef177cc94 Oops, wrong number... 2022-10-10 09:13:36 -04:00
Sally Coolatta
6fb56cc940 Finish line + respawn line use args 2022-10-10 09:12:41 -04:00
Sally Coolatta
7f75501606 Linedef 80 updated
- Uses args instead of texture offsets.
- Compares tag lists, instead of thing angle.
- Made the arguments accept 0 as a "catch-all" option (args[0] == 0 means don't care what type it is; line tag == 0 means don't care what tags they have)
2022-10-10 08:55:49 -04:00
Sally Coolatta
aa7e26e40e Fix credit on ChangeMusic, use args 2022-10-10 08:03:41 -04:00
Sally Coolatta
77ec64497c Item Capsules use args 2022-10-10 07:58:28 -04:00
Sally Coolatta
c1581d0f75 Egg Capsules use args + optimized tube waypoints 2022-10-10 07:48:55 -04:00
Sally Coolatta
436c763a02 Make MT_WAYPOINT fully use args
All of its special flags are contained on args[2] now.
2022-10-10 07:22:42 -04:00
Sally Coolatta
032ffafd39 Award Player Rings uses args for overload 2022-10-10 07:02:45 -04:00
Sally Coolatta
a8ac5a9922 Make Kart Z FOF Thwomp delay use args 2022-10-10 07:00:08 -04:00
Sally Coolatta
7ceab1f101 Fix solid midtextures not working
IDK which part was the fix, so I'm keeping all of it LOL
2022-10-10 06:44:55 -04:00
Sally Coolatta
3f94c6def8 Fix wrong names 2022-10-10 06:10:38 -04:00
Sally Coolatta
21dd68d392 Reimplement Invert Encore
Also add removal warnings for sector Sneaker Panels, Trick Panels, and fast-approaching deprecation warnings for sector Offroad.
2022-10-10 06:08:25 -04:00
Sally Coolatta
3fd8c53c4a Add ripple planes to binary convert + loading 2022-10-10 04:55:58 -04:00
Sally Coolatta
f72379e557 Fix invisible tripwire 2022-10-10 01:57:24 -04:00
Sally Coolatta
df3c077bf1 Block Monsters is a flag again 2022-10-10 01:51:42 -04:00
spherallic
05e44c0186 Fix action 457 reading the failure tag from the wrong offset field 2022-10-09 01:59:12 -04:00
MascaraSnake
3b971835ee Add Lua backwards compatibility for FOF flags 2022-10-09 01:56:50 -04:00
MascaraSnake
890b4583fa Fix custom FOF flag conversion in binary maps 2022-10-09 01:27:28 -04:00
Zwip-Zwap Zapony
4ef4669ea8 Apply 1 suggestion(s) to 1 file(s) 2022-10-09 01:25:45 -04:00
MascaraSnake
45dc7541c4 Fix even more size_t printfs 2022-10-09 01:25:39 -04:00