Commit graph

912 commits

Author SHA1 Message Date
Eidolon
a4d304a1f5 Update copyright years to 2025 2025-02-13 15:32:26 -06:00
AJ Martinez
0568c46005 Add automatic generic bump unstuck 2024-05-18 20:16:07 -07:00
James R
44923c2b2a Line sweep polyobject sides
Gremlin III vanquished for Balloon Park elephants.
2024-05-03 00:57:06 -07:00
toaster
7f6de407f1 Copyright update: Add Kart Krew (2024) in general for high-traffic inherited sourcefiles 2024-04-02 17:42:38 +01:00
James R
99656765e5 Pause waypoint updates while player is touching finish line but not crossing it
- Right on the line, P_PointOnLineSide may disagree with
  P_TraceWaypointTraversal.
- If this happens, nextwaypoint may update ahead of the
  finish line before the player crosses it.
- This bloats the finish line distance and triggers lap
  cheat prevention, preventing the player from gaining a
  lap.
- Since this only seems like it can happen very near to
  the line, simply don't update waypoints if the player is
  touching the line but hasn't crossed it.
- This will cause distancetofinish to jump but only for a
  very short distance (the radius of the player).
2024-03-16 06:50:16 -07:00
Eidolon
af7800c17b C++ compat: rename tm -> g_tm
This one's not even C++. It's in the ISO C standard library. :(
2024-02-19 19:36:42 -06:00
AJ Martinez
e0494d5576 Merge remote-tracking branch 'origin/master' into bumper-boats 2024-02-09 22:32:25 -07:00
Eidolon
e993117f23 Merge branch 'fix-one-time-each-time-floor-activators' into 'master'
Activate sector each time / once actions every time mobj lands on the ground

Closes #990

See merge request KartKrew/Kart!1904
2024-02-06 01:01:44 +00:00
James R
c0fff1a0c4 Activate sector each time / once actions when mobj touches the ground
Before

- Each time / once only activates when the mobj's sector
  changes
- The activation may depend on the mobj touching the floor
- If the mobj is in the air when the sector changes, the
  action will never be activated

After

- Each time / once actions that require floor touching
  also activate every time the mobj lands on the ground
  from the air (regardless of whether the sector changed)
2024-02-01 18:57:06 -08:00
AJ Martinez
9231e95101 WIP: Battle combo mitigation rework 2024-01-29 17:02:25 -07:00
toaster
5680514012 Per Sal's request, remove SMK stuff too 2024-01-26 00:56:01 +00:00
toaster
6fdec66dc3 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into srb2-tidy 2024-01-26 00:29:06 +00:00
AJ Martinez
c197d41bdc Bumper inflate refinements part 69 2024-01-25 15:14:32 -07:00
AJ Martinez
a514a36128 Less volatile bumper inflate 2024-01-24 22:45:30 -07:00
AJ Martinez
b97a94a2a9 Bumper inflate: remove debug print 2024-01-24 05:37:37 -07:00
AJ Martinez
26677c612e WIP: Improved bumper defenses 2024-01-23 22:06:17 -07:00
James R
6b27a656e8 Polish player corpse physics
- Flung a little higher into the air
- Takes momentum of whatever killed the player
- Bounces off walls
- Bounces off the floor once
- After bouncing off the floor once, corpse noclips
  through walls and floors
2024-01-22 16:42:30 -08:00
James R
4dc1a404f6 Battle UFO: fix Bubble blow-up collision 2024-01-21 15:58:30 -08:00
James R
07ecf94999 Bubble: refactor collision code, goes in k_collide 2024-01-21 15:58:30 -08:00
James R
30d7e94ece Fix rare Bubble Shield crash
Just NULL-checking
2024-01-21 15:58:30 -08:00
James R
54e4dd5cd8 Battle UFO: do not suck player who is spinning out 2024-01-16 22:36:16 -08:00
James R
9e650fa6c0 Guard: reflect items like Bubble
- Clash + player knockback
2024-01-13 22:56:18 -08:00
James R
99a2a3fb74 Let Bubble blow-up destroy any MF_SHOOTABLE object 2024-01-13 22:56:18 -08:00
toaster
1d13cb64c0 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into srb2-tidy
# Conflicts:
#	src/p_mobj.c
2024-01-13 22:08:44 +00:00
James R.
3084b5ee18 Merge branch 'fix-bufo-fof' into 'master'
Fix Battle UFO tractor descending through FOFs

Closes #876

See merge request KartKrew/Kart!1807
2024-01-11 20:42:47 +00:00
toaster
325079a39a Delete everything major flagged up by listunusedsprites
Notable deletions:
- Metal Sonic Race
    - Includes all the specialised recording/playback apparatus which made g_demo.c harder to read
- A bunch of hyperspecialised code inside several A_ actions
- EXCEPTION: intentfully left in the spriteless SMK stuff for Sal's add-on down the line.
2024-01-11 01:21:43 +00:00
James R
4f56006cc8 Battle UFO: tractor account for underwater gravity 2024-01-09 23:43:35 -08:00
James R
20353f2a84 Battle UFO: fix tractor descending past FOFs 2024-01-09 22:38:53 -08:00
James R
40b4cc845b Battle UFO: tractor pull strength is stronger at bottom, weaker at top 2024-01-07 23:10:59 -08:00
James R
8d2327c5c9 Battle UFO: do not suck up into tractor beam if player is fast-falling 2024-01-05 17:48:44 -08:00
James R
fe60216559 Battle UFO: slow down horizontal player momentum in tractor beam 2024-01-05 17:44:58 -08:00
James R
e4eb42dd36 MF_PAIN: remove sound effect functionality
There is a Nova Shore enemy that switches between
MF_SPRING and MF_ENEMY, and the upper bits of the mass
field are conflicting.

We don't use this functionality aside from some SRB2
holdovers, but who cares about those? ;)
2023-12-23 08:49:30 -08:00
James R
4746f877c3 Tricking players tumble other players, in all gametypes 2023-12-04 20:57:11 -08:00
James R
38d9875d4c Let player kill shootable objects if player can punt 2023-12-03 16:28:56 -08:00
James R
c5968ad3ad Hardcode Ice Cap Blocks 2023-11-27 05:07:30 -08:00
James R
aec21cd114 Hardcode SA2 Crates 2023-11-27 05:07:30 -08:00
James R
401321e310 Hardcode Ivo Balls 2023-11-25 05:35:06 -08:00
James R
4b3ea7460b Hardcode Gust Planet seasaws
- Add states
  - MT_GPZ_SEASAW_SPAWN
  - MT_GPZ_SEASAW_HITBOX
  - SPR_GPPS
  - SPR_GPZS

- Add objects API
  - Obj_GPZSeasawSpawn
  - Obj_GPZSeasawThink
  - Obj_GPZSeasawCollide

- objects/gpzseasaw.c
  - Gust Planet seasaw behavior
2023-11-21 01:07:17 -08: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
James R
72f1414432 MT_KART_LEFTOVER: remove fuse, let it be killed
Gets punted into the air when it's killed.
2023-11-15 20:03:47 -08:00
James R
c4e4c9e9b0 MT_SPIKE, MT_WALLSPIKE: entire hitbox hurts, hurt all objects, tumbles objects that fall onto spikes 2023-11-15 17:53:24 -08: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
b81b932ba9 MF_MISSILE: do not run collision against other object, if MF_PAIN was evaluated 2023-11-13 19:24:20 -08:00
James R
39a7c3b3ad Remove MF_MONITOR 2023-11-13 19:23:54 -08: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
7861d51a7f P_TryMove: sweep collided lines to find nearest normal 2023-11-10 00:03:06 -08:00
toaster
6f22c5261e MT_POGOSPRING: Guarantee spawn of catholocism 2023-11-07 22:53:52 +00:00
toaster
120b567ba2 K_DoPogoSpring: Handle player->trickpanel set directly 2023-11-06 01:09:06 +00:00