Files
Cuyler36 7336d51f44 Sync
2023-04-16 13:43:32 -04:00

74 lines
1.4 KiB
C

#ifndef SYS_DYNAMIC_H
#define SYS_DYNAMIC_H
#include "types.h"
#include "PR/mbi.h"
#ifdef __cplusplus
extern "C" {
#endif
#define SYSDYNAMIC_START_MAGIC 0x1234
#define SYSDYNAMIC_END_MAGIC 0x5678
/*
#define SHADOW_SIZE 512
#define LIGHT_SIZE 256
#define LINE_XLU_SIZE 9952
#define OVERLAY_SIZE 2048
#define LINE_OPA_SIZE 1024
#define WORK_SIZE 128
#define UNK_BUF0_SIZE 32
#define POLY_OPA_SIZE 1792
#define POLY_XLU_SIZE 512
#define FONT_SIZE 256
*/
#define POLY_OPA_SIZE 9952
#define POLY_XLU_SIZE 2048
#define OVERLAY_SIZE 1024
#define WORK_SIZE 128
#define UNK_BUF0_SIZE 32
#define FONT_SIZE 1792
#define SHADOW_SIZE 512
#define LIGHT_SIZE 256
#define NEW0_SIZE 512
#define NEW1_SIZE 256
typedef struct dynamic_s {
u16 start_magic;
Gfx poly_opa[POLY_OPA_SIZE];
Gfx poly_xlu[POLY_XLU_SIZE];
Gfx overlay[OVERLAY_SIZE];
Gfx work[WORK_SIZE];
Gfx unused[UNK_BUF0_SIZE];
Gfx font[FONT_SIZE];
Gfx shadow[SHADOW_SIZE];
Gfx light[LIGHT_SIZE];
Gfx new0[NEW0_SIZE];
Gfx new1[NEW1_SIZE];
u16 end_magic;
} dynamic_t;
extern dynamic_t sys_dynamic;
#define SYSDYNAMIC_OPEN() \
do { \
dynamic_t* __dyn = &sys_dynamic;\
while (0)
#define SYSDYNAMIC_CLOSE() \
(void)__dyn; \
} while (0)
#define SYSDYNAMIC_CHECK_START() (__dyn->start_magic == SYSDYNAMIC_START_MAGIC)
#define SYSDYNAMIC_CHECK_END() (__dyn->end_magic == SYSDYNAMIC_END_MAGIC)
#ifdef __cplusplus
};
#endif
#endif