RingRacers/src/objects
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
..
versus Update copyright years to 2025 2025-02-13 15:32:26 -06:00
adventure-air-booster.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
ark-arrow.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
audience.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
ball-switch.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
battle-ufo.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
block.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
broly.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
broly.hpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
bungee.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
charge.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
checkpoint.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
cloud.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
CMakeLists.txt Hardcode SA2 Pulley (ipullup.lua) 2024-04-03 04:37:44 -07:00
crate.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
dash-rings.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
destroyed-kart.cpp Dynamically allocate skins 2025-08-12 15:33:00 -05:00
dlzothers.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
dlzrocket.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
dlzseasaw.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
drop-target.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
duel-bomb.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
eggball.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
emerald.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
emz-faucet.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
frost-thrower.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
fuel.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
gachabom-rebound.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
gardentop.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
gpzseasaw.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
hyudoro.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
instawhip.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
item-debris.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
item-spot.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
ivoball.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
jawz.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
loops.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
manta-ring.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
mega-barrier.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
monitor.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
objects.hpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
orbinaut.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
powerup-aura.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
powerup-spinner.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
pulley.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
random-item.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
rideroid.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
ring-shooter.c Dynamically allocate skins 2025-08-12 15:33:00 -05:00
rocks.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
sealed-star.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
servant-hand.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
shadow.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
shrink.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
sneaker-panel.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
spb.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
spear.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
super-flicky.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
talk-point.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
trick-balloon.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
ufo.c Dynamically allocate skins 2025-08-12 15:33:00 -05:00
waterfall-particle.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
wpzothers.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00
wpzturbine.c Update copyright years to 2025 2025-02-13 15:32:26 -06:00