From 50200436b705f712b1c82ad58a78b413754e614b Mon Sep 17 00:00:00 2001 From: Jordan Date: Wed, 11 Jan 2017 14:48:13 -0800 Subject: [PATCH] fixes --- src/apc.h | 7 +++++-- src/ir.c | 39 +++++++++++++++++++-------------------- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/src/apc.h b/src/apc.h index efed4d4..a994d12 100644 --- a/src/apc.h +++ b/src/apc.h @@ -2,6 +2,9 @@ #define _APC_H_ //ir.h +enum frame_facing { SFACE, SWFACE, WFACE, NWFACE, NFACE, NEFACE, EFACE, SEFACE, FACING_MAX }; +typedef enum frame_facing apc_facing; + #define BUF_SIZE 256 #define MAX_SETS 256 #define MAX_ELES 256 @@ -10,8 +13,8 @@ #define MAX_MODEL_LEN 256 #define MAX_MAPS 8 #define MAX_POSTS 256 -#define MAX_CLASS_DEPTH 256 -#define MAX_CLASSES 256 +#define MAX_CLASS_DEPTH 64 +#define MAX_CLASSES 64 #define MAX_FRAMES 256 #define PTRS_IN_PAGE 1024 #define MAX_CHUNKS 256 diff --git a/src/ir.c b/src/ir.c index 76c221d..3f22400 100644 --- a/src/ir.c +++ b/src/ir.c @@ -29,11 +29,23 @@ static static inline struct ir_framebox_t* ir_set_add_framebox(struct ir_set_t*, uint8_t*); -static inline -void ir_quit_r(struct pagenode_t*); +static +void ir_free_pages(struct pagenode_t*); static inline int bytes_identical(uint8_t*,uint8_t*); - +static +void* stack_alloc(size_t); +/* Memory allocator */ +struct pagenode_t { + struct pagenode_t* next; + char* head; + char root[]; +}* pagenode_root, * pagenode_head; +#define PN_ALLOCSIZE (sys_pagesize) +#define PN_HEADERSIZE() (sizeof(struct pagenode_t*) + sizeof(char*)) +#define PN_MEMSIZE() (PN_ALLOCSIZE - PN_HEADERSIZE()) +#define PN_HEADSIZE() (pagenode_head->head - pagenode_head->root) +#define PN_HEADSPACE() (PN_MEMSIZE() - PN_HEADSIZE()) /* Enumerated types */ enum dtype { FSDAT, MSDAT, ADAT, LDAT, FBDAT }; enum ltype { OLINK, MLINK, VLINK, ALINK }; @@ -128,13 +140,13 @@ int ir_init */ void ir_quit ( void ) -{ ir_quit_r(pagenode_root); } +{ ir_free_pages(pagenode_root); } -static inline -void ir_quit_r +static +void ir_free_pages ( struct pagenode_t* pagenode ) { if (pagenode->next != NULL) - ir_quit_r(pagenode->next); + ir_free_pages(pagenode->next); free(pagenode); } @@ -377,19 +389,6 @@ union ir_setdata_t* ir_audio return (union ir_setdata_t*) audio; } - -#define PN_ALLOCSIZE (sys_pagesize) -#define PN_HEADERSIZE() (sizeof(struct pagenode_t*) + sizeof(void*)) -#define PN_MEMSIZE() (PN_ALLOCSIZE - PN_HEADERSIZE()) -#define PN_HEADSIZE() (pagenode_head->head - pagenode_head->root) -#define PN_HEADSPACE() (PN_MEMSIZE() - PN_HEADSIZE()) -struct pagenode_t { - struct pagenode_t* next; - char* head; - char root[]; -}* pagenode_root, * pagenode_head; - - static void* stack_alloc(size_t bytes) { if (!bytes) -- 2.18.0