Update: move the declarations out of the ifdef
This commit is contained in:
parent
218546d26f
commit
6d7d0bb26a
24
becs.h
24
becs.h
|
|
@ -1,29 +1,37 @@
|
|||
#ifndef BECS_H
|
||||
#define BECS_H
|
||||
|
||||
|
||||
#ifdef BECS_IMPLEMENTATION
|
||||
#include <stdint.h>
|
||||
|
||||
typedef struct BECS_ComponentArray {
|
||||
typedef struct BECS_ComponentArray BECS_ComponentArray;
|
||||
typedef struct BECS_Properties BECS_Properties;
|
||||
typedef struct BECS_ECS BECS_ECS;
|
||||
|
||||
size_t BECS_GetMinMemorySize(BECS_Properties props);
|
||||
BECS_ECS *BECS_Init(void *memory, size_t size, BECS_Properties *props);
|
||||
int32_t BECS_AddComponent(BECS_ECS *ecs, uint32_t entityID, uint64_t componentBitMask, void *component);
|
||||
|
||||
#ifdef BECS_IMPLEMENTATION
|
||||
|
||||
struct BECS_ComponentArray {
|
||||
uint32_t lastEntityAdded;
|
||||
size_t unitSize;
|
||||
uint32_t length;
|
||||
uint32_t capacity;
|
||||
void *array;
|
||||
} BECS_ComponentArray;
|
||||
};
|
||||
|
||||
typedef struct BECS_Properties {
|
||||
struct BECS_Properties {
|
||||
uint32_t maxEntities;
|
||||
uint32_t numComponents;
|
||||
size_t *componentSizes;
|
||||
} BECS_Properties;
|
||||
};
|
||||
|
||||
typedef struct BECS_ECS {
|
||||
struct BECS_ECS {
|
||||
uint64_t *bitMasks;
|
||||
BECS_Properties props;
|
||||
BECS_ComponentArray *componentSets;
|
||||
} BECS_ECS;
|
||||
};
|
||||
|
||||
size_t BECS_GetMinMemorySize
|
||||
(BECS_Properties props)
|
||||
|
|
|
|||
|
|
@ -1 +1,8 @@
|
|||
@echo off
|
||||
REM Build Script for BECS
|
||||
|
||||
mkdir build
|
||||
|
||||
pushd ".\build"
|
||||
cl /GR- /Oi /EHa- /MTd /Zi "..\test\main.c"
|
||||
popd
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
#include <stdlib.h>
|
||||
|
||||
#define BECS_IMPLEMENTATION
|
||||
#include "becs.h"
|
||||
#include "../becs.h"
|
||||
|
||||
typedef struct compA {
|
||||
uint32_t thing;
|
||||
|
|
|
|||
Loading…
Reference in a new issue