34 lines
667 B
C
34 lines
667 B
C
#ifndef GAME_NPC_H
|
|
#define GAME_NPC_H
|
|
|
|
#include <stdbool.h>
|
|
#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
|