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 { /* TODO: rename to MG_EC_... */
7 MG_ERR_EXIT_SUCCESS,
8 MG_ERR_EXIT_FAILURE,
9
10 MG_ERR_SDL_INIT,
11 MG_ERR_SDL_CREATE_WIN,
12
13 MG_ERR_GL_CTX_CREATE,
14 MG_ERR_GL_CTX_ACTIVATE,
15
16 MG_ERR_SHADER_CREATE,
17
18 MG_ERR_PIPELINE_CREATE,
19
20 MG_ERR_MESH_CREATE,
21
22 MG_ERR_TEXTURE_LOAD,
23 MG_ERR_TEXTURE_CREATE,
24 MG_ERR_SAMPLER_CREATE,
25 MG_ERR_VIEW_CREATE,
26
27 MG_ERR_REN_CREATE,
28
29 MG_ERR_LAST
30} MGErrorCodes;
31
32typedef enum {
33 LOG_INF, /* info */
34 LOG_ERR, /* error */
35 LOG_DBG /* debug */
36} LogType;
37
38void mg_die(MGErrorCodes ec, const char* fmt, ...);
39void mg_log(LogType lt, const char* fmt, ...);
40
41#endif /* UTIL_H */