90 lines
2.9 KiB
C
90 lines
2.9 KiB
C
#ifndef __ITEM_H__
|
|
#define __ITEM_H__
|
|
|
|
#include <ultra64.h>
|
|
|
|
#include "assert.h"
|
|
#include "element.h"
|
|
|
|
#include "equipment_id.h"
|
|
#include "equipment_type.h"
|
|
|
|
typedef struct {
|
|
/* 0x00 */ char *name;
|
|
/* 0x04 */ EquipmentType type;
|
|
/* 0x05 */ Element element;
|
|
/* 0x06 */ u8 field_0x6;
|
|
/* 0x07 */ u8 field_0x7;
|
|
/* 0x08 */ u16 buy_price;
|
|
/* 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;
|
|
} EquipmentData; // size:0x20
|
|
|
|
ASSERT_SIZE(EquipmentData, 0x20);
|
|
|
|
extern EquipmentData obEquipmentData[];
|
|
extern s8 (*obEquipmentGetResistance[])(EquipmentId index);
|
|
|
|
char *obEquipmentGetName(EquipmentId index);
|
|
EquipmentType obEquipmentGetType(EquipmentId index);
|
|
Element obEquipmentGetElement(EquipmentId index);
|
|
|
|
u8 equipment_get_field_0x6(EquipmentId index);
|
|
u16 obEquipmentGetBuyPrice(EquipmentId index);
|
|
s8 equipment_get_field_0x10(EquipmentId index);
|
|
|
|
s8 obEquipmentGetStrength(EquipmentId index);
|
|
s8 obEquipmentGetVitality(EquipmentId index);
|
|
s8 obEquipmentGetIntelligence(EquipmentId index);
|
|
s8 obEquipmentGetMentality(EquipmentId index);
|
|
s8 obEquipmentGetAgility(EquipmentId index);
|
|
s8 obEquipmentGetDexterity(EquipmentId index);
|
|
|
|
s8 obEquipmentGetResistanceStrike(EquipmentId index);
|
|
s8 obEquipmentGetResistanceWind(EquipmentId index);
|
|
s8 obEquipmentGetResistanceFire(EquipmentId index);
|
|
s8 obEquipmentGetResistanceEarth(EquipmentId index);
|
|
s8 obEquipmentGetResistanceWater(EquipmentId index);
|
|
s8 obEquipmentGetResistanceVirtue(EquipmentId index);
|
|
s8 obEquipmentGetResistanceBane(EquipmentId index);
|
|
|
|
u8 equipment_get_field_0x18_b68(EquipmentId index);
|
|
u8 equipment_get_field_0x18_b46(EquipmentId index);
|
|
u8 equipment_get_field_0x18_b24(EquipmentId index);
|
|
u8 equipment_get_field_0x18_b12(EquipmentId index);
|
|
|
|
u8 equipment_get_field_0x19_b68(EquipmentId index);
|
|
u8 equipment_get_field_0x19_b46(EquipmentId index);
|
|
u8 equipment_get_field_0x19_b24(EquipmentId index);
|
|
u8 equipment_get_field_0x19_b12(EquipmentId index);
|
|
|
|
u8 equipment_get_field_0x1a_b7(EquipmentId index);
|
|
|
|
u8 obEquipmentIsWeapon(EquipmentId index);
|
|
extern EquipmentId obEquipmentGetFirstWeapon(EquipmentId arg0, EquipmentId arg1,
|
|
EquipmentId arg2,
|
|
EquipmentId arg3);
|
|
EquipmentId obEquipmentGetFirstSpellbook(EquipmentId arg0, EquipmentId arg1,
|
|
EquipmentId arg2, EquipmentId arg3);
|
|
|
|
#endif |