Commit graph

2452 commits

Author SHA1 Message Date
Eidolon
9028668104 Make ticcmd throwdir -1, 0, or 1, add deadzone 2024-01-09 19:13:03 -06:00
AJ Martinez
c854a3262b What the fuck are turbines 2024-01-05 17:45:37 -07:00
toaster
57724baf9f Merge branch 'fix-downward-camera' into 'master'
Fix slope camera in Software mode

Closes #626

See merge request KartKrew/Kart!1714
2023-12-28 14:56:40 +00:00
James R
20d9c781c8 P_DemoCameraMovement: limit vertical camera aiming if software shearing 2023-12-23 09:05:08 -08:00
Sally Coolatta
abde576c58 Enforce const in bot ticcmds
There were a few remaining cases of bot ticcmd generation editing player structures directly. Fix all of this and make as much of it pass const player pointers so this physically can't be allowed to happen ever again. Appears to improve bot sync in netgames & demos bot support, but I have not tested extensively.
2023-12-22 23:28:08 -05:00
Sally Coolatta
22a2323148 Air drag for bots on dash pads is not stronger 2023-12-19 11:28:10 -05:00
James R
1a78e55f4c P_DoPlayerExit: abuse K_MakeObjectReappear to vanish player if they win a Sealed Star 2023-12-04 20:22:41 -08:00
James R
764a692a5e P_IsLocalPlayer, P_IsMachineLocalPlayer, P_IsDisplayPlayer: let player pointer be const 2023-11-25 04:51:13 -08:00
James R
ea697d2048 Physics changes for players in ice cube state
- Cancel offroad
- Inputs do not work
  - Cannot accelerate
  - Drift/Brake does not work (side-effect of P_PlayerInPain)
- Sprite shakes if icecube.shaketimer
- Sprite is colorized Cyan
- Max friction (slippery)
- Player is considered to be in a pain state
- Sprite slowly turns clockwise
- Sprite tilting is disabled
2023-11-22 19:04:30 -08:00
toaster
a55803b690 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into other-progression 2023-11-18 18:00:05 +00:00
Oni
94a593487b Merge branch 'fix-reducevfx' into 'master'
Fix `reducevfx` mkaing some VFX visible, when they shouldn't be

See merge request KartKrew/Kart!1622
2023-11-18 07:11:25 +00:00
Oni
b8a5f49b1d Merge branch 'fix-powerup-music-after-race-finish' into 'master'
P_DoPlayerExit, P_DoTimeOver: replace Music_StopAll with silent track

Closes #759

See merge request KartKrew/Kart!1642
2023-11-17 09:32:33 +00:00
James R
46c8b47236 P_DoPlayerExit, P_DoTimeOver: replace Music_StopAll with silent track
- Silent track has priority over level music and
  invinc/grow themes
2023-11-17 01:12:09 -08:00
Oni
c24f10a7e7 Merge branch 'fix-bungee-softlock' into 'master'
Add Obj_EndBungee, end bungee state when P_ResetPlayer and when player is damaged in any way

Closes #760

See merge request KartKrew/Kart!1641
2023-11-17 09:06:06 +00:00
James R
686f2e2e9d Add Obj_EndBungee, end bungee state when P_ResetPlayer and when player is damaged in any way 2023-11-17 00:49:26 -08:00
James R
254df6bf7e powerupvars_t: add barrier member 2023-11-16 21:08:29 -08:00
toaster
97996d1a22 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into other-progression 2023-11-16 13:46:59 +00:00
AJ Martinez
d54d2f6d04 Merge remote-tracking branch 'origin/master' into catholic-vfx 2023-11-14 21:47:51 -07:00
James R
ee7f3d7108 Replace K_ReduceVFX with K_ReduceVFXForEveryone, replace owner cases with RF_REDUCEVFX 2023-11-13 23:49:33 -08:00
James R
61cad641bb Invincible player punts hazardous/solid things, unless MF_ELEMENTAL
If player is in one of these states:

- Invincibility
- Grow (K_IsBigger)
- Flame Shield dash
- Over 200% speed

And the other object:

- Does not have MF_DONTPUNT

Then, touching a solid object:

- Punts the object, unless the object has MF_ELEMENTAL
- Fizzles the object, if the object has MF_ELEMENTAL

Or, when an object damages the player:

- That object is punted, unless it has MF_ELEMENTAL
- The object fizzles, if it has MF_ELEMENTAL

Punting means:

- A copy of the object is made
- Both the player and copy receive 5 tics of hitlag
- The copy is thrust away from the player at a minimum of
  60 FU, or 2x either the player's or object's momentum,
  whichever is ultimately greater
- The copy despawns after 2 seconds
- The copy flickers constantly, while thrust away

Fizzling means:

- The object disappears completely
- A puff of smoke is spawned in place of the object
- No hitlag is applied to the player

Both punting and fizzling:

- Hide the original object (intangible and invisible)
- The original object reppears after 30 seconds
- For 2 seconds before reappearing, the object flickers
  back in, but is still intangible
2023-11-13 22:18:35 -08:00
James R
39a7c3b3ad Remove MF_MONITOR 2023-11-13 19:23:54 -08:00
AJ Martinez
aad6795ba7 Trickpanels: I don't even know who I am anymore 2023-11-13 16:41:09 -07:00
toaster
83cf97bdad Fix Tutorial's automatic death-to-retry pipeline
Also makes PF_ELIMINATED work in non-bumpers gametypes... it wasn't gametyperule-dependent previously so Elimination could use it one day, and it doesn't break Sealed Stars to do it this way
2023-11-13 16:27:04 +00:00
Oni
c0241f27b2 Merge branch 'fix-invisible-grow' into 'master'
Fix invisible Grow (resolves #757)

Closes #757

See merge request KartKrew/Kart!1614
2023-11-13 13:31:17 +00:00
toaster
5cab2401b6 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into catholic-vfx 2023-11-12 16:24:47 +00:00
James R.
f1c24d0eeb Merge branch 'loop-camera' into 'master'
Loop camera + camera turning interpolation fix

See merge request KartKrew/Kart!1557
2023-11-12 02:28:52 +00:00
AJ Martinez
90902997ba Unset RF_DONTDRAW during controllable non-flashing states 2023-11-10 16:33:50 -07:00
AJ Martinez
954bd85139 WIP: Trickpanel crack experiments 2023-11-08 01:52:07 -07:00
toaster
239388a1fa Add TRICKSTATE_ constants
Replaces the magic numpers <-- typo I have left in for posterity
2023-11-07 23:06:50 +00:00
toaster
2e760eff43 Merge branch 'trick-control-lock' of https://git.do.srb2.org/KartKrew/Kart into catholic-vfx
# Conflicts:
#	src/k_kart.c
2023-11-07 22:24:53 +00:00
toaster
48d93ec9f6 Side Trick effect
- Copiously reuses from MT_MAGICIANBOX, gomen
- Also set the lookback frame, for extra toaster-swag zaza
    - Because this feature is so old it predates lookback!?
2023-11-06 21:54:40 +00:00
toaster
2f62c0ff6b P_SpawnGhostMobj: Also copy scalespeed 2023-11-06 15:00:38 +00:00
toaster
b051ff4741 P_SpawnGhostMobj: Set old_scale too 2023-11-06 14:48:23 +00:00
toaster
5ffae81b08 Trick Indicator first pass
The author of this commit doesn't know what it's doing
2023-11-06 01:13:13 +00:00
Oni
3b04bde5b9 Merge branch 'will-it-blend' into 'master'
Will It Blend

See merge request KartKrew/Kart!1589
2023-11-05 18:45:51 +00:00
AJ Martinez
506ab31f7f Mania-style time trials 2023-11-02 06:51:51 -07:00
toaster
388b14e956 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into will-it-blend
# Conflicts:
#	src/k_podium.c
2023-10-29 12:36:30 +00:00
Oni
f5c1180095 Merge branch 'turn-solver-leniency' into 'master'
Sliptide/drift exit cleanup

See merge request KartKrew/Kart!1576
2023-10-29 06:08:22 +00:00
toaster
c72fcca57e Adjust the circumstances players can get lives in GP contexts
- Permit awarding in A_ForceWin
    - Set var1 to 1 to do so
- More tightly restrict against awarding in GPEVENT_SPECIAL specifically
2023-10-25 17:45:58 +01:00
toaster
c50edc684c Tally in GP contexts: Recognise earned lives from other sources, not just Ring Total
- If owner->xtralife isn't 0...
    - For every 20 Rings we count up, increment livesAdded.
    - If at the end of the ring count livesAdded is less than owner->xtralife, set livesAdded to that value.
- Every time livesAdded is changed, play the sound and set the blink.
- Caps the number of added lives to the same as P_GivePlayerLives would permit.
2023-10-25 16:11:57 +01:00
Oni
b36d93c74d Merge branch 'network-debug' into 'master'
Packet loss indicator

See merge request KartKrew/Kart!1573
2023-10-24 01:26:20 +00:00
AJ Martinez
6ad7c7692c Sliptide/drift exit cleanup 2023-10-21 19:50:21 -07:00
AJ Martinez
15338c4e32 Packet loss indicator 2023-10-20 20:33:37 -07:00
James R
0e57da56b0 Loop camera
It zooms out, pans to the side and toward the player.

Loop Center thing:

- arg2: zoom-out speed in tics (zooms out when entering the loop)
- arg3: zoom-in speed in tics (zooms in when exiting the loop)
- arg4: zoom-out distance in fracunits (multiply by 65536)
- arg5: angle to pan to the side of the loop in degrees fracunits (multiply by 65536)
  - This will be flipped depending on where the camera was
    facing before entering the loop.
- arg6: panning speed in degrees fracunits (multiply by 65536)
- arg7: panning acceleration in tics (camera gradually pans to side of loop)
- arg8: panning deceleration in tics (camera gradually pans back to normal)
2023-10-20 03:44:53 -07:00
toaster
417afd0ac9 UCRP_FALLOFF, UCRP_TOUCHOFFROAD, UCRP_TOUCHSNEAKERPANEL, UCRP_RINGDEBT: Don't flag if it happens to the player after they exit
UCRP_FALLOFF, // Fall off (or don't)
 UCRP_TOUCHOFFROAD, // Touch offroad (or don't)
 UCRP_TOUCHSNEAKERPANEL, // Either touch sneaker panel (or don't)
 UCRP_RINGDEBT, // Go into debt (or don't)
2023-10-18 00:27:44 +01:00
toaster
acad8754c8 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into break-through-them-all 2023-10-17 23:32:08 +01:00
toaster
fa2e54dd13 UCRP_FAULTED
- `Condition1 = Faulted Yes`
    - `FAULT during POSITION`
    - for example, combine with "& finish in 1st"
- `Condition1 = Faulted No`
    - `don't FAULT during POSITION`
2023-10-17 23:21:47 +01:00
toaster
35ca8e6191 UCRP_SPEEDOMETER
Provide a percentage between 100 and 999 inclusive.
Reach that speed on the speedometer at any point during the race to achieve the condition.
2023-10-17 22:53:40 +01:00
James R
0baad7b863 Loops: lag camera correctly 2023-10-14 21:28:11 -07:00
James R
2c1cce17b2 Loops: fix momentum cut on grounded exit 2023-10-14 21:28:11 -07:00