]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/lib/static.qh
Merge branch 'TimePath/gamemode_composition' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / lib / static.qh
1 #ifndef STATIC_H
2 #define STATIC_H
3
4 void __static_init() { }
5 #define static_init() CALL_ACCUMULATED_FUNCTION(__static_init)
6 void __static_init_late() {  }
7 #define static_init_late() CALL_ACCUMULATED_FUNCTION(__static_init_late)
8
9 #define REGISTER_REGISTRY(func) ACCUMULATE_FUNCTION(__static_init, func)
10
11 #define _STATIC_INIT(where, func) \
12     void _static_##func(); \
13     ACCUMULATE_FUNCTION(where, _static_##func) \
14     void _static_##func()
15
16 #define STATIC_INIT(func)       _STATIC_INIT(__static_init,         func)
17 #define STATIC_INIT_LATE(func)  _STATIC_INIT(__static_init_late,    func##_late)
18
19 #endif