Add in engine configuration
All engine constants now sits in a single header file for easy tweaking Also, SFX list fields is now an array rather than a pointer instead.scene_man
parent
b9b0c11524
commit
7dc66945da
|
@ -6,9 +6,8 @@
|
||||||
#include "sc/map/sc_map.h"
|
#include "sc/map/sc_map.h"
|
||||||
#include "sc/queue/sc_queue.h"
|
#include "sc/queue/sc_queue.h"
|
||||||
|
|
||||||
#define N_TAGS 10
|
#include "engine_conf.h"
|
||||||
#define N_COMPONENTS 14
|
|
||||||
#define MAX_COMP_POOL_SIZE 1024
|
|
||||||
typedef struct EntityManager EntityManager_t;
|
typedef struct EntityManager EntityManager_t;
|
||||||
typedef struct Entity Entity_t;
|
typedef struct Entity Entity_t;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#include "assets.h"
|
#include "assets.h"
|
||||||
#include "assert.h"
|
#include "assert.h"
|
||||||
|
#include "engine_conf.h"
|
||||||
|
|
||||||
#define RRES_RAYLIB_IMPLEMENTATION
|
#define RRES_RAYLIB_IMPLEMENTATION
|
||||||
#include "rres.h"
|
#include "rres.h"
|
||||||
|
@ -7,13 +8,6 @@
|
||||||
#include "zstd.h"
|
#include "zstd.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#define MAX_TEXTURES 16
|
|
||||||
#define MAX_SPRITES 64
|
|
||||||
#define MAX_SOUNDS 16
|
|
||||||
#define MAX_FONTS 4
|
|
||||||
#define MAX_N_TILES 4096
|
|
||||||
#define MAX_NAME_LEN 32
|
|
||||||
#define MAX_LEVEL_PACK 4
|
|
||||||
uint8_t n_loaded[5] = {0};
|
uint8_t n_loaded[5] = {0};
|
||||||
|
|
||||||
// Hard limit number of
|
// Hard limit number of
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
#ifndef __COLLISION_FUNCS_H
|
#ifndef __COLLISION_FUNCS_H
|
||||||
#define __COLLISION_FUNCS_H
|
#define __COLLISION_FUNCS_H
|
||||||
#include "EC.h"
|
#include "EC.h"
|
||||||
#define MAX_TILE_TYPES 16
|
|
||||||
|
|
||||||
typedef enum SolidType
|
typedef enum SolidType
|
||||||
{
|
{
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
void init_engine(GameEngine_t* engine)
|
void init_engine(GameEngine_t* engine)
|
||||||
{
|
{
|
||||||
sc_queue_init(&engine->key_buffer);
|
sc_queue_init(&engine->key_buffer);
|
||||||
|
engine->sfx_list.n_sfx = N_SFX;
|
||||||
memset(engine->sfx_list.sfx, 0, engine->sfx_list.n_sfx * sizeof(SFX_t));
|
memset(engine->sfx_list.sfx, 0, engine->sfx_list.n_sfx * sizeof(SFX_t));
|
||||||
init_memory_pools();
|
init_memory_pools();
|
||||||
init_assets(&engine->assets);
|
init_assets(&engine->assets);
|
||||||
|
|
|
@ -9,8 +9,8 @@ typedef struct Scene Scene_t;
|
||||||
|
|
||||||
typedef struct SFXList
|
typedef struct SFXList
|
||||||
{
|
{
|
||||||
SFX_t* sfx;
|
SFX_t sfx[N_SFX];
|
||||||
uint32_t* sfx_queue;
|
uint32_t sfx_queue[N_SFX];
|
||||||
uint32_t n_sfx;
|
uint32_t n_sfx;
|
||||||
uint32_t played_sfx;
|
uint32_t played_sfx;
|
||||||
} SFXList_t;
|
} SFXList_t;
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
#ifndef _ENGINE_CONF_H
|
||||||
|
#define _ENGINE_CONF_H
|
||||||
|
|
||||||
|
#define MAX_TEXTURES 16
|
||||||
|
#define MAX_SPRITES 64
|
||||||
|
#define MAX_SOUNDS 16
|
||||||
|
#define MAX_FONTS 4
|
||||||
|
#define MAX_N_TILES 4096
|
||||||
|
#define MAX_NAME_LEN 32
|
||||||
|
#define MAX_LEVEL_PACK 4
|
||||||
|
#define N_SFX 18
|
||||||
|
|
||||||
|
#define MAX_TILE_TYPES 16
|
||||||
|
|
||||||
|
#define N_TAGS 10
|
||||||
|
#define N_COMPONENTS 14
|
||||||
|
#define MAX_COMP_POOL_SIZE 1024
|
||||||
|
#endif // _ENGINE_CONF_H
|
10
engine/gui.c
10
engine/gui.c
|
@ -188,21 +188,21 @@ const char** GetTextLines(const char* text, int* count)
|
||||||
int textSize = (int)strlen(text);
|
int textSize = (int)strlen(text);
|
||||||
|
|
||||||
lines[0] = text;
|
lines[0] = text;
|
||||||
int len = 0;
|
//int len = 0;
|
||||||
*count = 1;
|
*count = 1;
|
||||||
int lineSize = 0; // Stores current line size, not returned
|
//int lineSize = 0; // Stores current line size, not returned
|
||||||
|
|
||||||
for (int i = 0, k = 0; (i < textSize) && (*count < RAYGUI_MAX_TEXT_LINES); i++)
|
for (int i = 0, k = 0; (i < textSize) && (*count < RAYGUI_MAX_TEXT_LINES); i++)
|
||||||
{
|
{
|
||||||
if (text[i] == '\n')
|
if (text[i] == '\n')
|
||||||
{
|
{
|
||||||
lineSize = len;
|
//lineSize = len;
|
||||||
k++;
|
k++;
|
||||||
lines[k] = &text[i + 1]; // WARNING: next value is valid?
|
lines[k] = &text[i + 1]; // WARNING: next value is valid?
|
||||||
len = 0;
|
//len = 0;
|
||||||
*count += 1;
|
*count += 1;
|
||||||
}
|
}
|
||||||
else len++;
|
//else len++;
|
||||||
}
|
}
|
||||||
|
|
||||||
//lines[*count - 1].size = len;
|
//lines[*count - 1].size = len;
|
||||||
|
|
10
scene_test.c
10
scene_test.c
|
@ -7,9 +7,6 @@
|
||||||
#include <emscripten/emscripten.h>
|
#include <emscripten/emscripten.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static SFX_t sfx_buffer[N_SFX] = {0};
|
|
||||||
static uint32_t sfx_counts[N_SFX] = {0};
|
|
||||||
|
|
||||||
Scene_t* scenes[1];
|
Scene_t* scenes[1];
|
||||||
static GameEngine_t engine =
|
static GameEngine_t engine =
|
||||||
{
|
{
|
||||||
|
@ -17,12 +14,7 @@ static GameEngine_t engine =
|
||||||
.max_scenes = 1,
|
.max_scenes = 1,
|
||||||
.curr_scene = 0,
|
.curr_scene = 0,
|
||||||
.assets = {0},
|
.assets = {0},
|
||||||
.sfx_list = {
|
.sfx_list = {0}
|
||||||
.sfx = sfx_buffer,
|
|
||||||
.n_sfx = N_SFX,
|
|
||||||
.sfx_queue = sfx_counts,
|
|
||||||
.played_sfx = 0,
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void update_loop(void)
|
void update_loop(void)
|
||||||
|
|
|
@ -12,7 +12,6 @@ typedef enum EntityTag {
|
||||||
DYNMEM_ENT_TAG,
|
DYNMEM_ENT_TAG,
|
||||||
} EntityTag_t;
|
} EntityTag_t;
|
||||||
|
|
||||||
#define N_SFX 18
|
|
||||||
typedef enum SFXTag {
|
typedef enum SFXTag {
|
||||||
PLAYER_JMP_SFX = 0,
|
PLAYER_JMP_SFX = 0,
|
||||||
PLAYER_LAND_SFX,
|
PLAYER_LAND_SFX,
|
||||||
|
|
Loading…
Reference in New Issue