Commit graph

676 commits

Author SHA1 Message Date
Eidolon
255570cfca Dynamically allocate skins
This avoids an issue where the skins array takes up a fixed, but large
amount of memory at runtime. On x86_64 linux, that array is roughly 80
megabytes in memory, most of which is unused when the game is unmodded.
Instead, we treat `skins` as a dynamically resizing array, and it is an
array-of-pointers into separate allocated `skin_t`.

This is based on Lactozilla's skin limit MR for SRB2, but I've rewritten
it because RR has diverged quite a bit.

This was verified to check every access of `skins` by using clangd's
find-all-references function. However, I have only tested plain skins,
not Lua addons, so that could afford some extra checking.
2025-08-12 15:33:00 -05:00
Eidolon
a4d304a1f5 Update copyright years to 2025 2025-02-13 15:32:26 -06:00
Jack
f3ed9f580e Fixed the p->player null check in destroyed-kart.cpp being a part of hasCustomHusk rather than being a part of pValid as it's supposed to be 2024-09-09 16:19:17 +01:00
Jack
2bdc014006 With the help of GitLab user Lach, I turned my approximated sprite scaling in destroyed-kart.cpp into 100% accurate sprite scaling 2024-09-09 15:41:26 +01:00
Jack
40b231ff62 Changed float percentage mathematics in destroyed-kart.cpp into approximated fixed mathematics that will not risk a desync across platforms with different float standards 2024-09-07 18:01:41 +01:00
Jack
af16e3f993 Implemented SPR2_DKRT and integrated it into the state system 2024-09-07 14:40:12 +01:00
Jack
51112a07f7 Revert "I've spent the last 3 or so hours just trying to get a feel as to how to even begin approaching this task but I think it's just way beyond my understanding, I don't have enough experience with big C / C++ projects to know if its just me or if this project being 2 decades running makes it a freak of nature but I'm just barely holding on here and not seeing any results, so nuts to it for now."
This reverts commit 6125572b63.
2024-09-06 01:13:55 +01:00
Jack
6125572b63 I've spent the last 3 or so hours just trying to get a feel as to how to even begin approaching this task but I think it's just way beyond my understanding, I don't have enough experience with big C / C++ projects to know if its just me or if this project being 2 decades running makes it a freak of nature but I'm just barely holding on here and not seeing any results, so nuts to it for now. 2024-09-01 14:50:27 +01:00
JugadorXEI
586e4c4cd8 Fix powerup aura being unflipped 2024-05-22 21:54:45 +02:00
JugadorXEI
cea8b9566e Fix super flicky bobbing not being flipped, as well as the object itself 2024-05-22 21:54:45 +02:00
JugadorXEI
dbac449272 Fix hyudoro being incorrectly flipped during roaming status 2024-05-22 21:54:45 +02:00
JugadorXEI
87ddd2f794 Fix servant hand not being properly flipped 2024-05-22 21:54:40 +02:00
AJ Martinez
eab2900ac6 Increase shrink contact leniency 2024-05-20 18:47:22 -07:00
Sally Coolatta
08703be9d4 Shrink cooldown: 20sec -> 60sec 2024-05-20 17:19:42 -07:00
Oni
8c0cecf289 Merge branch 'invalid-rideroid-pickup' into 'master'
Fix Rideroids grabbing you out of lightsnake

Closes #1398

See merge request KartKrew/Kart!2392
2024-05-20 21:20:41 +00:00
JugadorXEI
cfc8aaa068 Fix misaligned instawhip objects when under gravflip 2024-05-19 23:48:45 +02:00
JugadorXEI
a9408fd62d Set instawhip recharge's height offset from the start 2024-05-19 23:46:35 +02:00
JugadorXEI
636d7bb3ca Set instawhip recharge's scale only if it differs from the player's 2024-05-19 22:24:28 +02:00
AJ Martinez
3610fb88e8 Fix Rideroids grabbing you out of lightsnake 2024-05-16 21:06:53 -07:00
James R
4485436eed InitSpecialUFO: fix -Wsign-compare 2024-05-05 17:43:42 -07:00
Gunla
254cdc795f Merge branch 'claw-determination' into 'master'
UFO determination

See merge request KartKrew/Kart!2355
2024-05-05 22:14:03 +00:00
toaster
2dc8ce330a Review
- Update SAV_VERSIONMINOR so 2.0/2.1 cup backup files won't load
- Move specialDamage to grandprixinfo_t (from rank_t, per Sal review)
2024-05-05 20:36:43 +01:00
AJ Martinez
cf696ac5c7 Determination: max discount 50->40, rate .25x->.17x 2024-05-04 17:08:32 -07:00
AJ Martinez
10be033605 Cap UFO difficulty reduction at half off 2024-05-03 14:45:21 -07:00
Eidolon
f75564371d Merge public master 2024-05-03 12:55:15 -05:00
bitten2up
cfacbd91be Fix implicit casts of int expecting 4-byte width
This fixes the issue with certain compilers that have int set to
different sizes by either explicitly casting or setting templates
manually
2024-05-03 17:53:53 +00:00
AJ Martinez
7a1a4c58fb Remove UFO damage debug print 2024-05-03 05:01:08 -07:00
AJ Martinez
e418996213 UFO determination 2024-05-03 01:49:05 -07:00
toaster
e88c162161 Also dismount DLZ rocket/rideroid if respawning for any reason 2024-05-02 00:47:04 +01:00
toaster
f2de83843b Dismount DLZ Rocket on tumble bounce counter being nonzero, not tumble height
Tumble height is not set to 0 between (s)tumble events
2024-05-02 00:43:00 +01:00
AJ Martinez
9dee22a7f6 Remove powerup timer debug print 2024-04-29 19:35:49 -07:00
AJ Martinez
fdf1be6a50 Grow/invinc tweakpass 2024-04-29 19:31:36 -07:00
toaster
24a2cc12e4 Charge Aura visual: Remove in more cases
- Dying
- Falling into a deathpit in Sealed Star
2024-04-15 15:10:18 +01:00
Oni
3154d8ccf9 Merge branch 'emerald-disambig' into 'master'
Make default Emerald pickup in extra Sealed Star a fake SA2 yellow-gold Chaos Emerald

See merge request KartKrew/Kart!2268
2024-04-12 03:40:49 +00:00
Oni
ee1fb29de8 Merge branch 'no-gp-thunderdome' into 'master'
No thunderdome in GP

Closes #1265

See merge request KartKrew/Kart!2266
2024-04-12 03:40:20 +00:00
toaster
536840485b The default Emerald pickup in a Sealed Star is a fake SA2 yellow-gold Chaos Emerald
Minimal effort disambiguation for a Sealed Star's Page 2/3 rematch from its Page 1 canon appearance, without also repeating the green Chaos Emerald.
2024-04-11 20:11:25 +01:00
Sally Coolatta
78f3d62808 No thunderdome in GP 2024-04-11 03:07:56 -04:00
James R.
19c726390a Merge branch 'emerald-instawhip-lockout' into 'master'
Allow SS Emerald pickup while instawhip charging

See merge request KartKrew/Kart!2257
2024-04-11 01:37:22 +00:00
Sally Coolatta
5d452ff74f Allow Emerald pickup while instawhip charging 2024-04-09 20:00:27 -04:00
toaster
6e9f53eab9 Correct pobby spawning for starting in reverse gravity but ending in normal gravity 2024-04-09 16:25:51 +01:00
Lach
f274d24560 Fix Poh-Bee behaviour for flipped waypoints 2024-04-09 23:34:18 +10:00
Sally Coolatta
747f09852d SRB2 -> DRRR copyright in objects folder 2024-04-05 10:26:52 -04:00
Lach
d2a53a0e64 Adjust Adventure Air Boosters for 3D models 2024-04-04 20:41:21 +11:00
James R
551a101f7b Hardcode SA2 Pulley (ipullup.lua)
Differences from Lua version:

- Does not set cusval
- Does not have individual states for pulley, hook
  - Simply sets sprite on S_INVISIBLE
- Does not do P_CheckPosition, sets Z directly
- Does not spawn chain visual every tic
  - Spawns a single object and vertically stretches it to
    the correct length
- MT_IPULLUP has MF_SCENERY and a short-circuiting
  thinker, also MF_NOBLOCKMAP so there is never any
  collision against it (it is a controller)
- MT_PULLUPHOOK has MF_NOCLIP to avoid extra collisions
  while moving
2024-04-03 04:37:44 -07:00
James R
e41b371096 Audience: double scale bobbing height 2024-04-02 17:44:36 -07:00
Oni
c3239b3746 Merge branch 'top-thrown-scale' into 'master'
Preserve scale of Garden Top when thrown

See merge request KartKrew/Kart!2213
2024-04-02 18:03:10 +00:00
toaster
d7f4cd2d8f Copyright update for Viv Grannell specifically (the author of this commit) 2024-04-02 17:38:18 +01:00
James R
8e9b9dd0aa Preserve scale of Garden Top when thrown
- If you deploy a Garden Top while grown/shrunk, the Top
  retains its size even after the grow/shrink effect runs
  out
- When the Top was thrown, however, it always used default
  scale
- Now the thrown Top keeps its scale intact
2024-04-02 05:00:21 -07:00
Lach
b30fe0bcb7 Scale Ring Shooter WANTED icon instantaneously 2024-04-01 16:09:26 +11:00
James R
712ae1a371 Destroyed Kart: fix crusher animation soft-lock 2024-03-31 16:28:35 -07:00