have fun making the weapon and class system modular with plain ACS
the only way I can think of is
- hijacking a global array to hold every single piece of data about the weapons and classes, and build it at runtime
- figure out how to do memory management on it, which will inevitably be error-prone and another source of frustration and things breaking
- ... or somehow manage to structure the global array in such a way that it's not necessary
only way I can think of is basically having what is effectively a 2D array, with rows containing every single data point needed for anything, slapping things onto the end as needed, and searching through them on runtime for what's necessary
granted, once you find it the first time you can cache it somewhere maybe (assuming nothing gets added in the middle of the game for whatever reason, because then HOO BOY), but you gotta find it in the first place and that takes time
- create fifty bajillion helper functions because no one would ever willingly mess with the global array directly
- port EVERYTHING in the ACS over, and I'm sure there's stuff in there that no one can explain anymore so good luck
- hope it doesn't break
good fucking luck
oh wait, I just remembered another problem with this: with zandronum online play, the client needs to know about the data too, because of pickup messages and probably some other crap! so you gotta do this TWICE, once for the server and once for the client! and you better fucking hope the clients don't get the order wrong, or have any sort of mismatch in their data whatsoever, because if they do, you are screwed, no ifs, ands, or buts.
there's a reason why I stopped trying to get ACS to do complicated things, and you're looking at one of them