42 lines
1015 B
C
42 lines
1015 B
C
#ifndef __ABILITY_H__
|
|
#define __ABILITY_H__
|
|
|
|
#include <ultra64.h>
|
|
|
|
#include "assert.h"
|
|
#include "element.h"
|
|
|
|
typedef struct {
|
|
/* 0x00 */ char *name;
|
|
/* 0x04 */ u8 field_0x4;
|
|
/* 0x05 */ Element element;
|
|
/* 0x06 */ u8 field_0x6;
|
|
/* 0x07 */ u8 field_0x7;
|
|
/* 0x08 */ u8 field_0x8;
|
|
/* 0x09 */ u8 field_0x9;
|
|
/* 0x0a */ u8 field_0xa;
|
|
/* 0x0b */ u8 field_0xb;
|
|
/* 0x0c */ u8 field_0xc;
|
|
/* 0x0d */ u8 field_0xd;
|
|
/* 0x0e */ u8 field_0xe;
|
|
/* 0x0f */ u8 field_0xf;
|
|
} AbilityData; // size:0x10
|
|
|
|
ASSERT_SIZE(AbilityData, 0x10);
|
|
|
|
// This can be removed when all ability data has been decompiled.
|
|
typedef union {
|
|
u32 raw[4];
|
|
AbilityData ability_data;
|
|
} AbilityData_u;
|
|
|
|
ASSERT_SIZE(AbilityData_u, 0x10);
|
|
|
|
extern AbilityData_u obAbilityData[];
|
|
|
|
extern char *obAbilityGetName(u8 index);
|
|
extern u8 ability_get_field_0x4(u8 index);
|
|
extern Element obAbilityGetElement(u8 index, u16 arg1, u16 arg2, s32 arg3,
|
|
u16 arg4);
|
|
|
|
#endif // __ABILITY_H__
|