#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
#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
\r
static inline\r
struct ir_framebox_t* ir_set_add_framebox(struct ir_set_t*, uint8_t*);\r
-static inline\r
-void ir_quit_r(struct pagenode_t*);\r
+static\r
+void ir_free_pages(struct pagenode_t*);\r
static inline\r
int bytes_identical(uint8_t*,uint8_t*);\r
-\r
+static\r
+void* stack_alloc(size_t);\r
+/* Memory allocator */\r
+struct pagenode_t {\r
+ struct pagenode_t* next;\r
+ char* head;\r
+ char root[];\r
+}* pagenode_root, * pagenode_head;\r
+#define PN_ALLOCSIZE (sys_pagesize)\r
+#define PN_HEADERSIZE() (sizeof(struct pagenode_t*) + sizeof(char*))\r
+#define PN_MEMSIZE() (PN_ALLOCSIZE - PN_HEADERSIZE())\r
+#define PN_HEADSIZE() (pagenode_head->head - pagenode_head->root)\r
+#define PN_HEADSPACE() (PN_MEMSIZE() - PN_HEADSIZE())\r
/* Enumerated types */\r
enum dtype { FSDAT, MSDAT, ADAT, LDAT, FBDAT };\r
enum ltype { OLINK, MLINK, VLINK, ALINK };\r
*/\r
void ir_quit\r
( void )\r
-{ ir_quit_r(pagenode_root); }\r
+{ ir_free_pages(pagenode_root); }\r
\r
-static inline\r
-void ir_quit_r\r
+static\r
+void ir_free_pages\r
( struct pagenode_t* pagenode )\r
{ if (pagenode->next != NULL)\r
- ir_quit_r(pagenode->next);\r
+ ir_free_pages(pagenode->next);\r
free(pagenode);\r
}\r
\r
return (union ir_setdata_t*) audio;\r
}\r
\r
-\r
-#define PN_ALLOCSIZE (sys_pagesize)\r
-#define PN_HEADERSIZE() (sizeof(struct pagenode_t*) + sizeof(void*))\r
-#define PN_MEMSIZE() (PN_ALLOCSIZE - PN_HEADERSIZE())\r
-#define PN_HEADSIZE() (pagenode_head->head - pagenode_head->root)\r
-#define PN_HEADSPACE() (PN_MEMSIZE() - PN_HEADSIZE())\r
-struct pagenode_t {\r
- struct pagenode_t* next;\r
- char* head;\r
- char root[];\r
-}* pagenode_root, * pagenode_head;\r
-\r
-\r
static\r
void* stack_alloc(size_t bytes)\r
{ if (!bytes)\r