diff options
author | sanine-a <sanine.not@pm.me> | 2020-10-19 05:35:06 -0500 |
---|---|---|
committer | sanine-a <sanine.not@pm.me> | 2020-10-19 05:35:06 -0500 |
commit | 41fa908dc15b522e53946a716f4f6c00520bd46f (patch) | |
tree | bc8176462000b2c77c00d3227037c1acbb13e0ee /src/common.h | |
parent | 2d046ffd16d8ff3a06f92ca438ca6b2d6842ce6a (diff) |
add honey libraries back and reorganize directories
Diffstat (limited to 'src/common.h')
-rw-r--r-- | src/common.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/src/common.h b/src/common.h new file mode 100644 index 0000000..ede67cd --- /dev/null +++ b/src/common.h @@ -0,0 +1,77 @@ +#ifndef HONEY_COMMON_H +#define HONEY_COMMON_H + +// standard c libraries +#include <stdio.h> +#include <stdlib.h> +#include <stdbool.h> +#include <string.h> + +// POSIX options +#include <unistd.h> + +// lua interpreter +#include <lua.h> +#include <lualib.h> +#include <lauxlib.h> + +// glad +#include "glad/glad.h" +#include <GLFW/glfw3.h> + +// c opengl mathematics function +#include <cglm/cglm.h> +#include <cglm/call.h> + +// assimp +#include <assimp/cimport.h> +#include <assimp/scene.h> +#include <assimp/postprocess.h> + +// stb image +#include "stb_image/stb_image.h" + +typedef GLFWwindow* honey_window; + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +typedef enum { + /* generic results */ + HONEY_OK, + HONEY_MEMORY_ALLOCATION_ERROR, + HONEY_FILE_READ_ERROR, + + /* shader errors */ + HONEY_VERTEX_SHADER_COMPILATION_ERROR, + HONEY_FRAGMENT_SHADER_COMPILATION_ERROR, + HONEY_SHADER_LINK_ERROR, + + /* mesh errors */ + HONEY_MESH_BAD_VERTEX_DATA, + HONEY_MESH_BAD_INDEX_DATA, + + /* model errors */ + HONEY_MODEL_LOAD_ERROR, + + HONEY_N_ERRORS +} honey_result; + +#define HONEY_ERROR_DATA_STRING_LENGTH 4096 + +static struct { + char string1[HONEY_ERROR_DATA_STRING_LENGTH]; + char string2[HONEY_ERROR_DATA_STRING_LENGTH]; +} honey_error_data; + +void honey_error_clear_strings(); +void honey_error_set_string1(char* string); +void honey_error_set_string2(char* string); + +/** @brief Generate a human-readable error message. + * + * @param[out] error_string A string with at least 3*HONEY_ERROR_DATA_STRING_LENGTH characters to store the result + * @param[in] error The error to generate a message for + */ +void honey_human_readable_error(char* error_string, honey_result error); + +#endif |