80 lines
2.3 KiB
C
80 lines
2.3 KiB
C
#ifndef __ITEM_H__
|
|
#define __ITEM_H__
|
|
|
|
#include <ultra64.h>
|
|
|
|
#include "element.h"
|
|
|
|
typedef u8 ItemType;
|
|
|
|
#define ITEM_TYPE_SWORD 1
|
|
#define ITEM_TYPE_GREATSWORD 2
|
|
#define ITEM_TYPE_THRUSTING_SWORD 3
|
|
|
|
typedef u16 ItemId;
|
|
|
|
#define ITEM_ID_GALLANT_DOLL 132
|
|
|
|
typedef struct {
|
|
/* 0x00 */ char* name;
|
|
/* 0x04 */ ItemType type;
|
|
/* 0x05 */ Element element;
|
|
/* 0x06 */ u8 field_0x6;
|
|
/* 0x07 */ u8 field_0x7;
|
|
/* 0x08 */ u16 field_0x8;
|
|
/* 0x0a */ s8 strength;
|
|
/* 0x0b */ s8 intelligence;
|
|
/* 0x0c */ s8 agility;
|
|
/* 0x0d */ s8 dexterity;
|
|
/* 0x0e */ s8 vitality;
|
|
/* 0x0f */ s8 mentality;
|
|
/* 0x10 */ s8 field_0x10;
|
|
/* 0x11 */ s8 res_strike;
|
|
/* 0x12 */ s8 res_wind;
|
|
/* 0x13 */ s8 res_fire;
|
|
/* 0x14 */ s8 res_earth;
|
|
/* 0x15 */ s8 res_water;
|
|
/* 0x16 */ s8 res_holy;
|
|
/* 0x17 */ u8 res_dark;
|
|
/* 0x18 */ u8 field_0x18;
|
|
/* 0x19 */ u8 field_0x19;
|
|
/* 0x1a */ u8 field_0x1a;
|
|
/* 0x1b */ u8 field_0x1b;
|
|
/* 0x1c */ u8 field_0x1c;
|
|
/* 0x1d */ u8 field_0x1d;
|
|
/* 0x1e */ u8 field_0x1e;
|
|
/* 0x1f */ u8 field_0x1f;
|
|
} ItemData; // size:0x20
|
|
|
|
extern ItemData ITEM_DATA[];
|
|
extern s8 (*FP_ITEM_GET_RESISTANCE[])(ItemId index);
|
|
|
|
extern char* item_get_name(ItemId index);
|
|
extern ItemType item_get_type(ItemId index);
|
|
extern Element item_get_element(ItemId index);
|
|
|
|
extern u8 item_get_field_0x2(ItemId index);
|
|
extern u16 item_get_field_0x4(ItemId index);
|
|
extern s8 item_get_field_0xc(ItemId index);
|
|
|
|
extern s8 item_get_strength(ItemId index);
|
|
extern s8 item_get_vitality(ItemId index);
|
|
extern s8 item_get_intelligence(ItemId index);
|
|
extern s8 item_get_mentality(ItemId index);
|
|
extern s8 item_get_agility(ItemId index);
|
|
extern s8 item_get_dexterity(ItemId index);
|
|
|
|
extern s8 item_get_resistance_strike(ItemId index);
|
|
extern s8 item_get_resistance_wind(ItemId index);
|
|
extern s8 item_get_resistance_fire(ItemId index);
|
|
extern s8 item_get_resistance_earth(ItemId index);
|
|
extern s8 item_get_resistance_water(ItemId index);
|
|
extern s8 item_get_resistance_holy(ItemId index);
|
|
extern s8 item_get_resistance_dark(ItemId index);
|
|
|
|
extern u32 item_get_field_0x14_b68(ItemId index);
|
|
extern u32 item_get_field_0x14_b46(ItemId index);
|
|
extern u32 item_get_field_0x14_b24(ItemId index);
|
|
extern u32 item_get_field_0x14_b12(ItemId index);
|
|
|
|
#endif |