Commit graph

10 commits

Author SHA1 Message Date
Eidolon
26017c4fdd Clamp patch column post drawing bounds
Prevents segfaults when drawing patches in certain configurations
2024-01-12 18:32:06 -06:00
James R
decf430714 Vissprites: set dc.texheight
Fixes power-of-2 detection in R_DrawColumnTemplate.
2024-01-11 02:16:01 -08:00
James R
f43094f795 R_ProjectBoundingBox: do not use linkdraw for renderhitbox
Hitbox was not rendering for linkdraw sprites. Don't know
why, but removing this doesn't seem to introduce any
regressions!
2023-11-28 06:33:47 -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
600aec3449 renderhitbox: shown MF_PAPERCOLLISION correctly 2023-11-15 14:48:53 -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
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
Eidolon
68a8f2b274 Multithread software drawing 2023-10-14 15:26:52 -05:00
Eidolon
0f3ede7fed Always clamp texturecolumn in sprite draw 2023-09-24 14:39:12 -05:00
Eidolon
1ffc7d7c82 r_things.c -> r_things.cpp 2023-09-24 14:30:41 -05:00
Renamed from src/r_things.c (Browse further)