Commit graph

1240 commits

Author SHA1 Message Date
toaster
8809c68d55 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into battle-cups 2022-12-18 14:02:23 +00:00
toaster
5f9854e898 First steps to making battle maps cup-based.
* Permit a map existing in multiple cups, rather than I_Error
    - The reason we didn't permit this before was because of marathon plans/advancemap next.
    - To that end, in that progression type, a map is only considered in its first valid cup.
2022-12-17 19:16:18 +00:00
toaster
81fec17bb4 First Musicdef changes in preparation for music test
- Add `title` field, to permit seperation from `source`
- Store current displayed string as zone memory, to prevent repeated recalculation
2022-12-17 16:39:10 +00:00
Sally Coolatta
05e74c3e9d Fix linedef 499 conversion 2022-11-27 02:57:48 -05:00
Sally Coolatta
b31aa1bbb0 Put tm* variables into a struct
This makes it significantly easier to save/restore the state of these variables, whenever we need to do so for calling movement functions in the middle of other movement functions. This will also make it easier to move it out of global variable hell if desired later.
2022-11-20 19:27:34 -05:00
Sally Coolatta
e456eaed6d SubtractNum also makes tripwire subtractive 2022-11-17 21:11:01 -05:00
toaster
bd87ce70d6 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into filestuff-16 2022-11-12 17:55:10 +00:00
toaster
bac58847fe Make P_InitMapData/dependents use partadd_earliestfile 2022-11-04 16:50:37 +00:00
toaster
c4fd7d74dd P_AddWadFile partial stages port from SRB2Kart 1.6
Originally written by x.organic, flattened rewrite due to massive changes between RR and SRB2Kart codebase
Notable changes:
- p_adding_file has been reworked into partadd_earliestfile to allow for final setup to use
- much like the public version required removing TEXTURE SOCs, this one required removing Flats support from ANIMDEFS
2022-11-04 16:15:53 +00:00
James R
8742a55077 Add cv_palette and cv_palettenum
Cheats; override the current palette
2022-11-03 05:44:33 -07:00
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