#ifndef CONFIG_H
#define CONFIG_H


#include <glad/glad.h>


/*
 * this file is for configuration values which are to be set at
 * compile time.  generally speaking, it's for things that would be unwise to
 * change mid-development without considering the work it might take to
 * adapt the game logic.
 *
 * if you're looking for distribution-related definitions like
 * APP_NAME, you should know that they are set from CMake.
 */


#define TICKS_PER_SECOND 60
#define FIXED_DELTA_TIME (1.0 / TICKS_PER_SECOND)

#define RENDER_BASE_WIDTH 640
#define RENDER_BASE_HEIGHT 360
#define RENDER_BASE_RATIO ((float)RENDER_BASE_WIDTH / (float)RENDER_BASE_HEIGHT)

#define TEXTURE_ATLAS_SIZE 2048
#define TEXTURE_ATLAS_BIT_DEPTH 32
#define TEXTURE_ATLAS_FORMAT SDL_PIXELFORMAT_RGBA32

#define NUM_KEYBIND_SLOTS 8

#define AUDIO_FREQUENCY 48000
#define AUDIO_N_CHANNELS 2

#define TEXT_FONT_TEXTURE_SIZE 1024
#define TEXT_FONT_OVERSAMPLING 4
#define TEXT_FONT_FILTERING GL_LINEAR

/* 1024 * 1024 */
/* #define UMKA_STACK_SIZE 1048576 */


#endif
