mirror of
https://git.planet-casio.com/Slyvtt/Collab_RPG.git
synced 2024-12-29 13:03:43 +01:00
npc : Functional npc_stack
This commit is contained in:
parent
0f887ea419
commit
a86462fdb2
3 changed files with 11 additions and 12 deletions
10
src/game.c
10
src/game.c
|
@ -175,16 +175,14 @@ void game_get_inputs(Game *game) {
|
||||||
if(keydown(KEY_F1)) {
|
if(keydown(KEY_F1)) {
|
||||||
NPC *mynpc = npc_create();
|
NPC *mynpc = npc_create();
|
||||||
if(mynpc) {
|
if(mynpc) {
|
||||||
mynpc->curx = player->x;
|
mynpc->curx = (player->x << PRECISION)/PXSIZE;
|
||||||
mynpc->cury = player->y;
|
mynpc->cury = (player->y << PRECISION)/PXSIZE;
|
||||||
mynpc->x = 0;
|
mynpc->x = player->x;
|
||||||
mynpc->y = 0;
|
mynpc->y = player->x;
|
||||||
mynpc->hasPath = 0;
|
mynpc->hasPath = 0;
|
||||||
mynpc->face = 0;
|
mynpc->face = 0;
|
||||||
mynpc->paused = 0;
|
mynpc->paused = 0;
|
||||||
mynpc->has_dialog = 0;
|
mynpc->has_dialog = 0;
|
||||||
dprint(0, 50, 0, "succes");
|
|
||||||
dupdate();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -70,7 +70,8 @@ typedef struct {
|
||||||
} Sign;
|
} Sign;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* current coordinates of the NPC */
|
/* current coordinates of the NPC
|
||||||
|
* In 24:8 fixed point */
|
||||||
uint32_t curx;
|
uint32_t curx;
|
||||||
uint32_t cury;
|
uint32_t cury;
|
||||||
|
|
||||||
|
|
10
src/npc.c
10
src/npc.c
|
@ -60,9 +60,9 @@ int npc_append_path(uint16_t x, uint16_t y, NPC *npc) {
|
||||||
npc->ypath = realloc(npc->ypath, npc->path_length * 2 + 2);
|
npc->ypath = realloc(npc->ypath, npc->path_length * 2 + 2);
|
||||||
if(npc->xpath == NULL || npc->ypath == NULL)
|
if(npc->xpath == NULL || npc->ypath == NULL)
|
||||||
return 1;
|
return 1;
|
||||||
|
npc->xpath[npc->path_length] = x - npc->x;
|
||||||
|
npc->ypath[npc->path_length] = y - npc->y;
|
||||||
npc->path_length++;
|
npc->path_length++;
|
||||||
npc->xpath[npc->path_length - 1] = x - npc->x;
|
|
||||||
npc->ypath[npc->path_length - 1] = y - npc->y;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -297,12 +297,12 @@ void npc_draw(Game *game) {
|
||||||
Player *pl = &game->player;
|
Player *pl = &game->player;
|
||||||
|
|
||||||
uint32_t u;
|
uint32_t u;
|
||||||
for(u = 0; u < game->map_level->nbNPC; u++) {
|
|
||||||
npc_draw_single(&game->map_level->npcs[u], pl);
|
|
||||||
}
|
|
||||||
for(u = 0; u < npc_count; u++) {
|
for(u = 0; u < npc_count; u++) {
|
||||||
npc_draw_single(&npc_stack[u], pl);
|
npc_draw_single(&npc_stack[u], pl);
|
||||||
}
|
}
|
||||||
|
for(u = 0; u < game->map_level->nbNPC; u++) {
|
||||||
|
npc_draw_single(&game->map_level->npcs[u], pl);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void npc_reload(GUNUSED Game *game) { npc_count = 0; }
|
void npc_reload(GUNUSED Game *game) { npc_count = 0; }
|
||||||
|
|
Loading…
Reference in a new issue