prosperon/source/engine/engine.c

78 lines
1.3 KiB
C
Raw Normal View History

2022-01-19 16:43:21 -06:00
#include "engine.h"
2021-11-30 21:29:18 -06:00
2022-02-04 11:36:24 -06:00
#define STB_DS_IMPLEMENTATION
2022-02-07 08:50:34 -06:00
#include <stb_ds.h>
2022-02-04 11:36:24 -06:00
2022-06-30 10:31:23 -05:00
#define STB_TRUETYPE_IMPLEMENTATION
#include <stb_truetype.h>
2022-06-21 12:48:19 -05:00
2022-07-03 00:43:42 -05:00
#define STB_IMAGE_IMPLEMENTATION
#include "stb_image.h"
2022-06-23 02:34:51 -05:00
#define PL_MPEG_IMPLEMENTATION
#include <pl_mpeg.h>
2022-07-28 14:07:20 -05:00
#define STB_
2021-11-30 21:29:18 -06:00
#ifdef EDITOR
#include "editor.h"
#endif
2022-02-06 10:14:57 -06:00
#include "render.h"
2021-11-30 21:29:18 -06:00
#include "openglrender.h"
#include "window.h"
#include "camera.h"
#include "input.h"
#include "sprite.h"
#include "2dphysics.h"
#include "gameobject.h"
#include "registry.h"
2022-01-19 16:43:21 -06:00
#include "log.h"
#include "resources.h"
2022-02-06 10:14:57 -06:00
#include "timer.h"
#include "script.h"
#include "vec.h"
#include "sound.h"
2022-01-19 16:43:21 -06:00
// TODO: Init on the heap
2022-02-04 11:36:24 -06:00
2021-11-30 21:29:18 -06:00
2022-01-19 16:43:21 -06:00
#include "engine.h"
2021-11-30 21:29:18 -06:00
2022-02-06 10:14:57 -06:00
void error_callback(int error, const char *description)
2021-11-30 21:29:18 -06:00
{
2022-02-06 10:14:57 -06:00
fprintf(stderr, "Error: %s\n", description);
}
2021-11-30 21:29:18 -06:00
2022-02-06 10:14:57 -06:00
void engine_init()
{
2022-06-22 23:04:35 -05:00
glfwSetErrorCallback(error_callback);
2022-02-06 10:14:57 -06:00
/* Initialize GLFW */
if (!glfwInit()) {
printf("Could not init GLFW\n");
2022-01-19 16:43:21 -06:00
}
2022-06-22 23:04:35 -05:00
2021-11-30 21:29:18 -06:00
2022-02-06 10:14:57 -06:00
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
2022-02-01 14:50:25 -06:00
resources_init();
script_init();
2022-01-19 16:43:21 -06:00
registry_init();
init_gameobjects();
2022-02-06 10:14:57 -06:00
timer_init();
2021-11-30 21:29:18 -06:00
2022-01-19 16:43:21 -06:00
prefabs = vec_make(MAXNAME, 25);
stbi_set_flip_vertically_on_load(1);
2021-11-30 21:29:18 -06:00
phys2d_init();
2022-01-19 16:43:21 -06:00
gui_init();
sound_init();
}
2021-11-30 21:29:18 -06:00
2022-01-19 16:43:21 -06:00
void engine_stop()
{
2022-02-06 10:14:57 -06:00
glfwTerminate();
}