Xonotic
static.qh
Go to the documentation of this file.
1
#pragma once
2
3
#define GETTIME_REALTIME 1
4
#ifdef MENUQC
5
float
(
int
tmr) _gettime = #67;
6
#else
7
float
(
int
tmr) _gettime = #519;
8
#endif
9
10
ERASEABLE
11
void
profile
(
string
s)
12
{
13
static
float
g_starttime;
14
float
rt = _gettime(
GETTIME_REALTIME
);
15
if
(!g_starttime) g_starttime = rt;
16
LOG_TRACEF
(
"[%f] %s"
, rt - g_starttime, s);
17
}
18
19
#define _STATIC_INIT(func, where) \
20
/* ACCUMULATE void _static_##func##profile() { profile(#func); } */
\
21
/* ACCUMULATE_FUNCTION(where, _static_##func##profile) */
\
22
ACCUMULATE void _static_##func(); \
23
ACCUMULATE_FUNCTION(where, _static_##func) \
24
void _static_##func()
25
27
#define STATIC_INIT_EARLY(func) _STATIC_INIT(func##_0, __static_init_0)
28
#define static_init_early() CALL_ACCUMULATED_FUNCTION(__static_init_0)
29
void
__static_init_0
() {}
30
32
#define STATIC_INIT(func) _STATIC_INIT(func##_1, __static_init_1)
33
#define static_init() CALL_ACCUMULATED_FUNCTION(__static_init_1)
34
void
__static_init_1
() {}
35
37
#define STATIC_INIT_LATE(func) _STATIC_INIT(func##_2, __static_init_2)
38
#define static_init_late() CALL_ACCUMULATED_FUNCTION(__static_init_2)
39
void
__static_init_2
() {}
40
42
#define PRECACHE(func) _STATIC_INIT(func##_3, __static_init_3)
43
#define static_init_precache() CALL_ACCUMULATED_FUNCTION(__static_init_3)
44
void
__static_init_3
() {}
45
46
/* other map entities spawn now */
47
49
#define SHUTDOWN(func) _STATIC_INIT(func##_shutdown, __shutdown)
50
#define shutdownhooks() CALL_ACCUMULATED_FUNCTION( __shutdown)
51
void
__shutdown
() {}
profile
ERASEABLE void profile(string s)
Definition:
static.qh:11
float
float(int tmr) _gettime
__static_init_2
void __static_init_2()
Definition:
static.qh:39
__static_init_1
void __static_init_1()
Definition:
static.qh:34
ERASEABLE
#define ERASEABLE
Definition:
_all.inc:35
GETTIME_REALTIME
#define GETTIME_REALTIME
Definition:
static.qh:3
__static_init_3
void __static_init_3()
Definition:
static.qh:44
__static_init_0
void __static_init_0()
Definition:
static.qh:29
LOG_TRACEF
#define LOG_TRACEF(...)
Definition:
log.qh:82
__shutdown
void __shutdown()
Definition:
static.qh:51
lib
static.qh
Generated on Thu Mar 17 2022 17:26:29 for Xonotic by
1.8.13