Commit Graph

11 Commits

Author SHA1 Message Date
Léo Lam dd0cc52ce9 ksys: Move ActorParam classes into separate folder to declutter Resource/ 2021-06-15 18:04:39 +02:00
Léo Lam 117e6891b0 Reduce code size by avoiding static inline member variables
Static inline member variables require the compiler to emit a static
runtime constructor in all translation units that can see the variables
in question. This normally wouldn't be a problem, but it gets expensive
really quickly when you have ~3000 classes and ~3000 duplicate
static constructors.

This drops the ELF size from ~270MB to ~220MB and probably speeds up
builds a little bit.
2021-01-01 19:10:46 +01:00
Léo Lam 258bfd057a ksys/act: Give better names to ActionBase/Actions functions
And get rid of Ais::clone, which is unused.
2020-12-21 15:50:21 +01:00
Léo Lam 62014b715b ksys/act: Implement Actions, Ais 2020-12-20 18:38:18 +01:00
Léo Lam 058cca1a3f ksys: Replace ClassContainer<T> with 4 different classes
Some functions look really similar but other functions have significant
differences, so it is probably not a class template.
2020-12-19 21:52:22 +01:00
Léo Lam fcbe17a3f0 ksys/act: Start adding RootAi 2020-12-09 18:11:24 +01:00
Léo Lam 632517f727 ksys/act: Add trivial Action functions 2020-12-09 14:53:37 +01:00
Léo Lam 933811d34a ksys/act: Start adding ai::ActionBase 2020-12-06 19:07:38 +01:00
Léo Lam 5a1a488ed3 ksys/act: Rename ai::ClassArg for consistency with Query::InitArg 2020-12-06 16:04:13 +01:00
theo3 2ee9bba8b8 AiAction and AiClass getters and setter functions 2020-08-27 16:16:20 -07:00
Léo Lam 2de366be0f Initial commit 2020-08-18 22:50:25 +02:00