/****************************************************************************
* Copyright (C) 2015-2017 by the SotS Team *
* *
* This file is part of Sovereign of the Skies. *
* *
* Sovereign of the Skies is free software: you can redistribute it *
* and/or modify it *
* under the terms of the GNU Lesser General Public License as published *
* by the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version provided you include a copy of the *
* licence and this header. *
* *
* Sovereign of the Skies is distributed in the hope that it will be *
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with Sovereign of the Skies. *
* If not, see . *
****************************************************************************/
/*
* File: npc.h
* Author: Sturmvogel
*
* Created on May 2, 2017
* @brief Provides structures for NPC access
*/
#ifndef NPC_H
#define NPC_H
#include
/* === STRUCTURES === */
struct coords_16 {
u16 x;
u16 y;
};
struct npc_state
{
u8 bitfield;
u8 field_1;
u8 field_2;
u8 field_3;
u8 oam_id;
u8 type_id;
u8 running_behavior;
u8 is_trainer;
u8 local_id;
u8 local_mapnumber;
u8 local_mapbank;
u8 height;
struct coords_16 stay_around;
struct coords_16 to;
struct coords_16 from;
u8 direction;
u8 movement_area;
u8 field_1A;
u8 oamid2;
u8 an_index;
u8 sight_distance;
u8 tile_to;
u8 tile_from;
u8 unknown_1;
u8 unknown_2;
u8 field_22;
u8 field_23;
};
struct npc_type {
u16 tiles_tag;
u16 pal_num;
u16 pal_tag_2;
u16 field_6;
struct coords_16 pos_neg_center;
u8 pal_slot_unk;
u8 field_D;
u16 pal_table;
u32 oam;
u32 field_14;
u32 image_anims;
u32 gfx_table;
u32 rot_scale_anims;
};
#endif /* NPC_H */