master uint/magnolia / include / util.h
 1#ifndef UTIL_H
 2#define UTIL_H
 3
 4#define RGBA(r, g, b, a) (((u32)(r)) | ((u32)(g) << 8) | ((u32)(b) << 16) | ((u32)(a) << 24))
 5
 6typedef enum {
 7	MG_EC_EXIT_SUCCESS,
 8	MG_EC_EXIT_FAILURE,
 9
10	MG_EC_INVALID_ARGS,
11
12	MG_EC_MCCLIENT_LOGIN,
13
14	MG_EC_SDL_INIT,
15	MG_EC_SDL_CREATE_WIN,
16	MG_EC_SDL_CREATE_RENDERER,
17
18	MG_EC_MAUS_INIT,
19	MG_EC_MAUS_CREATE_WIN,
20	MG_EC_MAUS_RESIZE,
21
22	MG_EC_GL_CTX_CREATE,
23	MG_EC_GL_CTX_ACTIVATE,
24
25	MG_EC_SOKOL_INIT,
26	MG_EC_SHADER_CREATE,
27
28	MG_EC_PIPELINE_CREATE,
29
30	MG_EC_MESH_CREATE,
31
32	MG_EC_TEXTURE_LOAD,
33	MG_EC_TEXTURE_CREATE,
34	MG_EC_SAMPLER_CREATE,
35	MG_EC_VIEW_CREATE,
36
37	MG_EC_SMALL3D_FRAMEBUFFER_LIMIT,
38	MG_EC_SMALL3D_FRAMEBUFFER_ALLOC,
39	MG_EC_SMALL3D_SCREEN_TEXTURE_CREATE,
40
41	MG_EC_LAST
42} MGErrorCodes;
43
44typedef enum {
45	LOG_INF, /* info */
46	LOG_ERR, /* error */
47	LOG_DBG /* debug */
48} LogType;
49
50/* log message and exit with error code */
51void mg_die(MGErrorCodes ec, const char* fmt, ...);
52
53/* log message */
54void mg_log(LogType lt, const char* fmt, ...);
55
56#endif /* UTIL_H */