diff --git a/src/config.h b/src/config.h index 2f7a890..8410f3a 100644 --- a/src/config.h +++ b/src/config.h @@ -22,6 +22,9 @@ /* The size of the player */ #define P_WIDTH 16 #define P_HEIGHT 16 +/*Max number of dynamic NPCs.*/ +#define NPC_STACK_SIZE 256 + #else /* The tile size */ #define T_HEIGHT 8 @@ -32,6 +35,9 @@ /* The player size */ #define P_WIDTH 8 #define P_HEIGHT 8 +/*Max number of "dynamic" NPCs. We are starved for static ram on fx !*/ +#define NPC_STACK_SIZE 32 + #endif /* SPEED should NOT be 8 or bigger: it may cause bugs when handling diff --git a/src/npc.c b/src/npc.c index f308b3e..b9cf88e 100644 --- a/src/npc.c +++ b/src/npc.c @@ -16,13 +16,11 @@ extern bopti_image_t tiny_npc_female; extern bopti_image_t tiny_npc_milkman; extern bopti_image_t tiny_npc_police; -#define NPC_STACK_SIZE 256 - NPC npc_stack[NPC_STACK_SIZE]; uint32_t npc_count; NPC *npc_create() { - if(npc_count == 256) + if(npc_count == NPC_STACK_SIZE) return NULL; return &npc_stack[npc_count++];