RingRacers/src/acs
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
..
vm Set C++ feature level for ACSVM to 17 2025-04-08 09:22:33 -05:00
acsvm.hpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
call-funcs.cpp Dynamically allocate skins 2025-08-12 15:33:00 -05:00
call-funcs.hpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
CMakeLists.txt acs/CMakeLists.txt: remove ACSVM_NOFLAGS, fix Apple Clang 14 compile 2023-03-31 05:27:59 -07:00
environment.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
environment.hpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
interface.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
interface.h Update copyright years to 2025 2025-02-13 15:32:26 -06:00
stream.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
stream.hpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
thread.cpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00
thread.hpp Update copyright years to 2025 2025-02-13 15:32:26 -06:00