Commit graph

24802 commits

Author SHA1 Message Date
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
5547ad5966 Add RF_REDUCEVFX, if reducevfx option is turned on, hide object for everyone except owner 2023-11-13 23:49:33 -08:00
James R
049efe809f mobj_t: add owner member 2023-11-13 23:49:33 -08:00
Oni
469c85377d Merge branch 'hazard-punting' into 'master'
Hazard punting; fixes to flame jets and item clash VFX

Closes #755 and #732

See merge request KartKrew/Kart!1620
2023-11-14 07:13:01 +00:00
VelocitOni
ed13705ff8 Don't punt super flicky
Don't punt the Super Flicky
2023-11-14 02:11:22 -05:00
James R
97ea2eadc5 Apply MF_DONTPUNT to MT_PLAYER, MT_INSTAWHIP and all items
- MT_PLAYER
- MT_INSTAWHIP
- MT_BANANA
- MT_BANANA_SHIELD
- MT_ORBINAUT
- MT_ORBINAUT_SHIELD
- MT_JAWZ
- MT_JAWZ_SHIELD
- MT_SSMINE
- MT_SSMINE_SHIELD
- MT_LANDMINE
- MT_DROPTARGET
- MT_DROPTARGET_SHIELD
- MT_BALLHOG
- MT_SPB
- MT_GARDENTOP
- MT_SINK
- MT_SINK_SHIELD
- MT_GACHABOM
- MT_DUELBOMB
2023-11-13 22:18:35 -08:00
James R
9b86dbf8e0 MT_DAYTONAPINETREE_SIDE: set punt_ref to center object 2023-11-13 22:18:35 -08:00
James R
a0c791706e MT_FLAMEJETFLAME: apply MF_ELEMENTAL 2023-11-13 22:18:35 -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
a8a1c14580 mobj_t: add reappear and punt_ref members, add to savegame and Lua 2023-11-13 19:39:52 -08:00
James R
b11f340dab Add MF_ELEMENTAL 2023-11-13 19:39:52 -08:00
James R
74d1f1bfb7 Add MF_DONTPUNT 2023-11-13 19:39:52 -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
21e870726d Flame jets: do not receive hitlag 2023-11-13 19:24:19 -08:00
James R
9783c6760d Flame jets: bigger hitbox, do not squash and stretch, 3x scale 2023-11-13 19:23:57 -08:00
James R
e1e5c304bc Flame jets: scale momentum to map scale 2023-11-13 19:23:57 -08:00
James R
b4d7740dab MT_ITEMCLASH: additive and 2x scale 2023-11-13 19:23:57 -08:00
James R
39a7c3b3ad Remove MF_MONITOR 2023-11-13 19:23:54 -08:00
James R
3033c6928b Remove MF_STICKY 2023-11-13 17:27:40 -08: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
Oni
9134e6a4e7 Merge branch 'bot-muffler' into 'master'
Don't force player sounds to full volume when exiting

See merge request KartKrew/Kart!1615
2023-11-13 13:30:51 +00:00
Oni
790d26d29c Merge branch 'prisons-polish' into 'master'
Prison Egg polish: Spawn three Followers on hit

See merge request KartKrew/Kart!1595
2023-11-13 13:29:43 +00:00
toaster
3805a4d5f0 Adjust Prison followers based on feedback...
- Exist for 1.5 seconds before disappearing
    - Flickers away in the last half second
- Twice as many spawned, at half the size
- Different arc
    - Severely reduced gravity
    - Don't jump if they hypothetically touch the floor
2023-11-12 23:51:44 +00:00
toaster
9e49f761b0 Prison Egg polish: Spawn three Followers on hit
- Selected from the mapheader's Audience list
    - Since most Prison Break maps don't have Audience lists set, you'll be seeing a lot of Flicky/Motobuddy/Chao for now
- Yes, these will disappear in deathpits like in Sky Chase
- Intentionally did not do this for the CD Special Stage UFO
2023-11-12 22:43:07 +00:00
toaster
ec4ea384c3 Obj_AudienceInit: Clean up handling
- Don't require a mapthing to select a random Follower from the Audience list
- Don't print an error message if the mapheader Audience list is empty. This is probably intentional.
2023-11-12 22:43:06 +00:00
Oni
c2d48e8ca7 Merge branch 'lite-steer-option' into 'master'
Lite Steer profile option, itemstate pflags -> player.itemflags

See merge request KartKrew/Kart!1611
2023-11-12 19:55:59 +00:00
James R.
aac583f2eb Merge branch 'gremlins-sweep-revelation' into 'master'
Line sweep to eliminate Gremlins II, also mitigate getting stuck inside slope enclosures

Closes #393

See merge request KartKrew/Kart!1610
2023-11-12 02:46:12 +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
4997c4c0ed Add K_IsPlayingDisplayPlayer for HUD sounds 2023-11-10 17:28:54 -07:00
AJ Martinez
e3fe3ed54a Handle sound falloff for exiting player sounds 2023-11-10 17:08:39 -07:00
AJ Martinez
6cbfc5aead Merge branch 'postrace-cleanup' into 'master'
Don't do gameplay controller vibration after finishing

See merge request KartKrew/Kart!1587
2023-11-10 23:49:31 +00:00
AJ Martinez
ff131335d4 Don't force player sounds to full volume when exiting 2023-11-10 16:47:52 -07:00
AJ Martinez
90902997ba Unset RF_DONTDRAW during controllable non-flashing states 2023-11-10 16:33:50 -07:00
AJ Martinez
77af33d182 More idiomatic unused pflags 2023-11-10 02:58:05 -07:00
James R
7861d51a7f P_TryMove: sweep collided lines to find nearest normal 2023-11-10 00:03:06 -08:00
James R
5a62a07e54 Add srb2::sweep, AABB line sweep algorithms 2023-11-10 00:03:06 -08:00
James R
37f2384229 Add srb2::math, fixed-point, vector, line and slope formula classes
- srb2::math::Fixed
  - Operator overloads for FixedMul and FixedDiv
  - Implicit conversion between fixed_t, Fixed and
    floating-point types
- srb2::math::Vec2
  - Template to any type
  - Operator overloads for arithmetic operations
  - Convertible between different types
- srb2::math::LineSegment
  - Template to any type
  - Holds two Vec2 instances
  - Sorting methods and vertical/horizontal test
- srb2::math::LineEquation
  - Slope formula from LineSegment
  - y method to find y from x
  - Intersect algorithm
  - Fixed-point specialization to avoid overflows
- srb2::math::LineEquationX
  - Inherits LineEquation
  - x method to find x from y
2023-11-10 00:03:06 -08:00
AJ Martinez
81e7ec6aa3 itemflag tyop 2023-11-09 17:30:19 -07:00
AJ Martinez
0b51bc91f9 Fix comment referring to itemflags by wrong name 2023-11-09 17:29:26 -07:00
AJ Martinez
06bc06869c Lite Steer profile option, itemstate pflags -> player.itemflags 2023-11-09 17:29:26 -07:00
Oni
6686215330 Merge branch 'hanicef-mobj-cache' into 'master'
Cache and reuse removed mobjs when spawning mobjs

See merge request KartKrew/Kart!1607
2023-11-09 12:29:53 +00:00
Oni
cd06b34cd1 Merge branch 'ballhog-limited-tapfire' into 'master'
Easier ballhog tapfire

See merge request KartKrew/Kart!1594
2023-11-09 12:28:54 +00:00
Oni
f66c438d9c Merge branch 'clear-pad-state' into 'master'
HACK: Lift all inputs when wipes execute (#635, #734)

See merge request KartKrew/Kart!1586
2023-11-05 21:54:22 +00:00
Oni
ef8c472a51 Merge branch 'failsafe-input-check' into 'master'
Failsafe fixes

See merge request KartKrew/Kart!1599
2023-11-05 21:53:57 +00:00
Gustaf Alhäll
208601e38d Cache and reuse removed mobjs when spawning mobjs 2023-11-05 15:44:53 -06:00
Oni
a3b2dc11ec Merge branch 'frameskip-fixups' into 'master'
Measure frameskip timing before sleeping

See merge request KartKrew/Kart!1602
2023-11-05 21:00:57 +00:00
Eidolon
3f926d7c6e Merge branch 'gl2-instead' into 'master'
rhi: use GL 2.1 instead of GL Core

See merge request KartKrew/Kart!1596
2023-11-05 19:45:43 +00:00
Eidolon
ade0b7cf10 Merge branch 'virtual-keyboard-fix' into 'master'
Only toggle keyboardTyping when input key is valid

See merge request KartKrew/Kart!1604
2023-11-05 19:44:18 +00:00
Eidolon
c8e79ae031 Merge branch 'workaround-broadcast-port' into 'master'
Set broadcast socket ports to 5029

See merge request KartKrew/Kart!1603
2023-11-05 19:44:10 +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