#ifndef GAME_NPC_H #define GAME_NPC_H #include #include "sys/sys.h" #define GAME_NPC_MAX_N_DIALOGUES 16 typedef struct { sys_i32 x; sys_i32 y; uint8_t sprite_id; uint8_t palette_id; uint8_t inflict_id; bool face_left; bool flip; uint8_t n_dialogues; const char* no_cake_dialogue; const char* dialogues[GAME_NPC_MAX_N_DIALOGUES]; bool present; uint8_t n_dialogues_seen; bool received_cake; } game_npc; // pointer goes to data section and will be valid forever game_npc* game_npc_create(sys_i32 x, sys_i32 y); void game_npcs_update(bool* allow_input); void game_npcs_draw(); #endif // GAME_NPC_H