ogrebattle64/include/character.h

52 lines
1.2 KiB
C

#ifndef __CHARACTER_H__
#define __CHARACTER_H__
#include <ultra64.h>
#include "assert.h"
#include "class_id.h"
#include "element.h"
#include "gender.h"
typedef struct {
// Possible data still undiscovered:
// - Alignment
// - Held items (four u16's)
/* 0x00 */ s8 name[0x10];
/* 0x10 */ u8 field_0x10;
/* 0x11 */ u8 portrait;
/* 0x12 */ ClassId class;
/* 0x13 */ u8 level;
/* 0x14 */ Gender gender;
/* 0x15 */ u8 field_0x15;
/* 0x16 */ u16 max_hp;
/* 0x18 */ u16 cur_hp;
/* 0x1A */ Element element;
/* 0x1B */ u8 field_0x1b;
/* 0x1C */ u16 strength;
/* 0x1E */ u16 vitality;
/* 0x20 */ u16 intelligence;
/* 0x22 */ u16 mentality;
/* 0x24 */ u16 agility;
// DEX affects melee and special attacks, as well as accuracy.
/* 0x26 */ u16 dexterity;
/* 0x28 */ u8 field_0x28;
/* 0x29 */ u8 field_0x29;
/* 0x2a */ u16 item_upper_left;
/* 0x2c */ u16 item_upper_right;
/* 0x2e */ u16 item_lower_left;
/* 0x30 */ u16 item_lower_right;
/* 0x32 */ u8 field_0x32;
/* 0x33 */ s8 field_0x33;
/* 0x34 */ u8 field_0x34;
/* 0x35 */ u8 field_0x35;
/* 0x36 */ u8 field_0x36;
/* 0x37 */ u8 field_0x37;
} CharacterSlot; // size:0x38
ASSERT_SIZE(CharacterSlot, 0x38);
#endif // __CHARACTER_H__