Commit graph

20513 commits

Author SHA1 Message Date
James R
eb96624c71 Add K_StumblePlayer to Lua 2022-10-26 22:55:13 -07:00
James R
0978093a2b undefine K_KartItemOddsSpecial 2022-10-26 22:36:38 -07:00
James R
bc7d52ab3c Revert "Ensure view interpolates between T-1 to T"
This reverts commit aa7bfab0fc.
2022-10-26 22:34:32 -07: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
James R
0fba68f4ba Subtract texture angle from speedpad TERRAIN 2022-10-26 19:59:15 -07:00
Sal
38e36d3e77 Merge branch 'fix-menu-button-bleed' into 'master'
Fix menu and replay save dialog opening while chat is open

Closes #300

See merge request KartKrew/Kart!734
2022-10-26 03:48:12 +00:00
Sal
23cb3bdbb2 Merge branch 'srb2-dummy-revival' into 'master'
Make dummy compile again, if SDL is explicitly set to 0

See merge request KartKrew/Kart!731
2022-10-26 03:46:46 +00:00
Sal
e75445c970 Merge branch 'md2-spritexyoffset' into 'master'
Support spritexoffset/spriteyoffset for 3D models

See merge request KartKrew/Kart!738
2022-10-26 03:44:34 +00:00
Eidolon
d6c21eeec1 Merge branch 'splitscreen-hudhook-fix' into 'master'
Clear and draw all game hud hook calls to 1 list

See merge request KartKrew/Kart!741
2022-10-26 03:05:03 +00:00
Eidolon
cd3da06a92 Clear and draw all game hud hook calls to 1 list
Fixes splitscreen issues with lua hud hooks
2022-10-25 20:40:37 -05:00
Eidolon
4e95aa92dd Merge branch 'mobj-jitter' into 'master'
Ensure view interpolates between T-1 to T

See merge request KartKrew/Kart!740
2022-10-26 01:03:20 +00:00
Eidolon
aa7bfab0fc Ensure view interpolates between T-1 to T 2022-10-25 19:35:56 -05:00
James R
76112c0321 Support spritexoffset/spriteyoffset for 3D models 2022-10-25 02:36:35 -07:00
James R
20bfbca029 Fix spectators spawning at 0, 0 when joining mid game 2022-10-23 16:03:16 -07:00
James R
88bbe8875d Merge branch 'fix-terrain-saveg' into 'master'
Save terrainOverlay in gamestate

See merge request KartKrew/Kart!735
2022-10-23 22:24:46 +00:00
James R
d284fc0ea6 Savegame terrainOverlay 2022-10-23 14:55:10 -07:00
James R
8e62531ff9 Fix replay save dialog activating while chat is open 2022-10-23 13:54:54 -07:00
James R
ae02579b09 Fix menu start button closing the chat 2022-10-23 13:20:13 -07: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
78c8e27542 Merge branch 'wadname-maps' into 'master'
WADNAME map definition lump special case

See merge request KartKrew/Kart!730
2022-10-22 19:12:21 +00: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
Eidolon
c1f0be719e make: Fix ifdef check from dummy target changes 2022-10-20 21:12:58 -05:00
James R
19a6ea8478 Do not multiply TERRAIN speedPad value 2022-10-18 18:20:19 -07: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
James R
8a8126567b Fix -Wformat 2022-10-16 16:50:13 -07:00
toaster
fca6dc2c6f No contesters use the position of their broken kart on the minimap
This is instead of their flung body, which drifts significantly from where you died and muddies the "LOL YOU DIED THAT CLOSE TO THE FINISH!?" voicecall laughter moments
2022-10-16 14:54:13 +01:00
toaster
3bb78ad46d Always show timelimit if timelimitintics is set, to allow spotting weird bugs before they cause problems 2022-10-16 14:34:13 +01:00
toaster
59094f73fb Clean up K_TimerInit()
- Fix not being able to change timelimit in MP break the capsules
- Use more readable variable name (singleplayercontext --> domodeattack)
- Reset timelimitintics in K_TimerReset()
2022-10-16 14:23:21 +01:00
toaster
735c487b65 Fix modeattacking being assumed to be boolean in K_CanChangeRules 2022-10-16 14:22:51 +01:00
toaster
ce020d7207 timelimitintics-related shenanigans
- Play a countdown sound (same as introcountdown) per each of the last 3 seconds
- Jitter the time display HUD extra strong in a two-tic window around the above
- Fix timelimitintics not being set in TESTOVERTIMEINFREEPLAY builds (which is now all DEVELOP builds)
2022-10-16 14:21:52 +01:00
toaster
6ed9ddc069 Add comment to Titlecard code for future changes if we add other bonusgames for GP 2022-10-16 13:23:53 +01:00
toaster
a7a2956b89 Add extra minimap icons
- Battle Capsules for Break The Targets, to improve conveyability
- No Contest players have a special X icon
Also fixes a few issues with minimap rendering
- obviously written before netsplits and bots
- mixing up array indices and loop iteration for local players
- mixing up SPB object and target
- old version of hyudoro with double time in Race
- using explicit gametype comparisons instead of gametype rules
- SPBs with hitlag disappeared from the minimap
2022-10-16 13:21:12 +01:00
toaster
a100987940 Completely prevent bots from utilising PF_WANTSTOJOIN 2022-10-15 16:51:16 +01:00
toaster
6c9c6eeaf8 Also tick (almost) all karthud array timers even during hitlag
Only exception is timers relating to ring usage, as that's intended to signify ring boost power (which is obviously paused during hitlag)
2022-10-15 16:49:51 +01:00
toaster
ec437b199c Rearrange P_PlayerThink to make some things occur even in Hitlag
Notably REALTIME - prevents the timer stopping when you get hit, but also:
- Typing indicator
- Airtime tracking
- Kickstart accel
- No Contesting due to racecountdown
- Spectator data wipe
- Stronger preventative measure for possible finish line multi-hit events
2022-10-15 16:29:53 +01:00
toaster
287c018790 If timelimit is being modified before starttime, tick the secret timer but don't modify the total limit. 2022-10-15 16:03:39 +01:00
toaster
02884d235c If timelimit is set while being modified (extremely unlikely but technically possible), stop adding extra time. 2022-10-15 15:58:24 +01:00
toaster
31bba30dcc No time limit in Capsule timeattack 2022-10-15 15:55:31 +01:00
toaster
52c0e145be Fix pointlimit messages occouring in singleplayer contexts
Still an awful child that hasn't shaped up like their sister cv_timelimit, but this will do for now.
2022-10-15 15:51:57 +01: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
19e427f5db Compilation warning: disambiguating parens in A_AttractChase 2022-10-15 15:15:58 +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
e7f111c25a Fix the case where GP coop would cause no Capsules + possibly DUELs in eventmode
Also reduces some of the dead time before Break The Capsules begins by cutting out the majority of POSITION!! and hiding the one measly bulb that would otherwise appear
2022-10-15 14:57:35 +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
toaster
b129e21fb4 Merge branch 'demo-path-buffer-too-small' into 'master'
Fix buffer overflow related to time attack demos

See merge request KartKrew/Kart!732
2022-10-14 09:09:54 +00:00