SSBM Decomp
Loading...
Searching...
No Matches
it_26B1.h File Reference
#include <platform.h>
#include "it/forward.h"
#include "lb/forward.h"
#include <dolphin/mtx/forward.h>
#include <baselib/forward.h>
#include "ft/types.h"

Go to the source code of this file.

Functions

float it_8026B1D4 (Item_GObj *gobj, HitCapsule *itemHitboxUnk)
 Apply Item Damage.
 
void it_8026B294 (Item_GObj *gobj, Vec3 *pos)
 Copy Item position vector.
 
enum_t it_8026B2B4 (Item_GObj *gobj)
 Check if item is heavy.
 
bool it_8026B2D8 (Item_GObj *gobj)
 Check if item is heavy again?
 
s32 itGetKind (Item_GObj *gobj)
 Get Item ID.
 
enum_t it_8026B30C (Item_GObj *gobj)
 Return flag from Item Attributes.
 
enum_t it_8026B320 (Item_GObj *gobj)
 Return item hold kind.
 
float it_8026B334 (Item_GObj *gobj)
 Return item damage multiplier.
 
void it_8026B344 (Item_GObj *gobj, Vec3 *pos)
 Unknown item position math, related to velocity?
 
float it_8026B378 (Item_GObj *gobj)
 Return item's X-Axis grab range?
 
float it_8026B384 (Item_GObj *gobj)
 Return item's Y-Axis grab range?
 
void it_8026B390 (Item_GObj *gobj)
 Toggle item flag 0x15 in 0xDC8 word ON.
 
void it_8026B3A8 (Item_GObj *gobj)
 Toggle item flag 0x15 in 0xDC8 word OFF.
 
int it_8026B3C0 (ItemKind kind)
 Count item entities of identical kind?
 
void it_8026B3F8 (Article *article, s32 kind)
 Store Item article pointer to table.
 
void it_8026B40C (Article *article, s32 kind)
 Store Stage Item article pointer to table.
 
float it_8026B424 (s32 damage)
 Item Damage Math.
 
s32 it_8026B47C (Item_GObj *gobj)
 Get heal value of healing items.
 
bool it_8026B4F0 (Item_GObj *gobj)
 Check if item is a healing item.
 
float it_8026B54C (Item_GObj *gobj)
 Get unknown float from 0x0 of item's special attributes.
 
float it_8026B560 (Item_GObj *gobj)
 Identical to it_8026B54C but likely using a different itAttributes struct.
 
float it_8026B574 (Item_GObj *gobj)
 Get unknown float from 0x4 of item's special attributes.
 
s32 it_8026B588 (void)
 Get unknown integer from itCommonData.
 
bool it_8026B594 (Item_GObj *gobj)
 Check if item can fire projectiles.
 
HSD_GObjit_8026B5E4 (Vec3 *vector, Vec3 *vector2, Item_GObj *gobj)
 Unknown item camera check?
 
HSD_GObjit_8026B634 (Vec3 *vector, Vec3 *vector2, Item_GObj *gobj)
 Unknown item camera check 2?
 
float it_8026B684 (Vec3 *pos)
 Get facing direction of fighter (?) with NULL.
 
float it_8026B6A8 (Vec3 *pos, HSD_GObj *arg)
 Get facing direction of fighter (?) with variable argument.
 
bool it_8026B6C8 (Item_GObj *gobj)
 Check if item is a stage item?
 
void it_8026B718 (Item_GObj *gobj, float hitlagFrames)
 Set item's hitlag frames.
 
void it_8026B724 (Item_GObj *gobj)
 Toggle bit 3 of 0xDC8 word ON.
 
void it_8026B73C (Item_GObj *gobj)
 Toggle bits in 0xDC8 word.
 
bool it_8026B774 (Item_GObj *gobj, u8 arg1)
 Bitwise operations in 0xDC8 word.
 
s32 it_8026B7A4 (Item_GObj *gobj)
 Get Item State ID.
 
u8 it_8026B7B0 (Item_GObj *gobj)
 Get Item Team ID.
 
s32 it_8026B7BC (Item_GObj *gobj)
 Get flag 0x14 of 0xDC8 word.
 
s32 it_8026B7CC (Item_GObj *gobj)
 Get 0x1C of Item - something to do with stale moves?
 
s32 it_8026B7D8 (void)
 Get unknown var from global data.
 
s32 it_8026B7E0 (void)
 Get unknown var from global data.
 
s32 it_8026B7E8 (Item_GObj *gobj)
 Get bit 1 of 0xDC8 word.
 
void it_8026B7F8 (Item_GObj *gobj)
 Remove item from player on death?
 
bool it_8026B894 (Item_GObj *gobj, HSD_GObj *referenced_gobj)
 Remove all GObj interaction references from item.
 
s32 it_8026B924 (Item_GObj *gobj)
 Return result of unk item check.
 
float it_8026B960 (Item_GObj *gobj)
 Return float result of item kind and state checks.
 
void it_8026B9A8 (Item_GObj *gobj, HSD_GObj *arg1, Fighter_Part arg2)
 Transfer item on character transformation (Zelda <-> Sheik)
 
void it_8026BAE8 (Item_GObj *gobj, float scale_mul)
 Multiply item's scale.
 
void it_8026BB20 (Item_GObj *gobj)
 Clear JObj flags on item model.
 
void it_8026BB44 (Item_GObj *gobj)
 Set JObj flags on item model.
 
void it_8026BB68 (Item_GObj *gobj, Vec3 *pos)
 Adjust item's position to fp bone.
 
void it_8026BB88 (Item_GObj *gobj, Vec3 *pos)
 Adjust item's position based on ECB?
 
void it_8026BBCC (Item_GObj *gobj, Vec3 *pos)
 Adjust item's ECB position?
 
void it_8026BC14 (Item_GObj *gobj)
 Check if item owner is a fighter + decrement hitlag.
 
bool it_8026BC68 (Item_GObj *gobj)
 Return bit 0 of 0xDD0.
 
HSD_GObjit_8026BC78 (Item_GObj *gobj)
 Get item owner.
 
bool it_8026BC84 (Item_GObj *gobj)
 Get item attack kind.
 
void it_8026BC90 (Item_GObj *gobj, Vec3 *pos)
 Unknown item ECB / position update.
 
void it_8026BCF4 (Item_GObj *gobj)
 Unsets #Item::xDCD_flag::bits::b2 of gobj.
 
void it_8026BD0C (Item_GObj *gobj)
 Sets #Item::xDCD_flag::bits::b2 of gobj.
 
void it_8026BD24 (Item_GObj *gobj)
 Sets #Item::xDD0_flag::bits::b3 of gobj.
 
void it_8026BD3C (Item_GObj *gobj)
 Sets #Item::xDCC_flag::bits::b3 of gobj.
 
void it_8026BD54 (Item_GObj *gobj)
 Unsets #Item::xDCC_flag::bits::b3 of gobj.
 
void it_8026BD6C (Item_GObj *gobj)
 Sets #Item::xDCD_flag::bits::b3 of gobj.
 
void it_8026BD84 (Item_GObj *gobj)
 Sets #Item::xDCD_flag::bits::b4 of gobj.
 
void it_8026BD9C (Item_GObj *gobj)
 Sets #Item::xDC8_word::flags::x1A of gobj.
 
void it_8026BDB4 (Item_GObj *gobj)
 Toggle 0x1A of 0xDC8 word OFF.
 
void it_8026BDCC (Item_GObj *gobj)
 Toggles several item flags.
 
void it_8026BE28 (Item_GObj *gobj)
 Toggle several item flags. The inverse of it_8026BDCC.
 
HSD_GObjit_8026BE84 (BobOmbRain *bobOmbRain)
 Bob-Omb Rain Switch.
 
CollDatait_8026C100 (Item_GObj *gobj)
 Get item's CollData pointer.
 
void it_8026C16C (Item_GObj *gobj, bool isHeadless)
 Check if Hammer item's head should break off.
 
bool it_8026C1B4 (Item_GObj *gobj)
 Check if item has a hitbox.
 
u32 it_8026C1D4 (void)
 Get unknown var from r13 pointer.
 
bool it_8026C1E8 (Item_GObj *gobj)
 Check if item has grabbed a GObj?
 
void it_8026C220 (Item_GObj *gobj, HSD_GObj *arg1)
 Get item owner's port number.
 
HSD_GObjit_8026C258 (Vec3 *vector, float facingDir)
 Find the closest item to the given position?
 
void it_8026C334 (Item_GObj *gobj, Vec3 *pos)
 Unknown item position / ECB update.
 
void it_8026C368 (Item_GObj *gobj)
 Run bomb item explosion callbacks.
 
void it_8026C3FC (void)
 Toggle bit 3 of 0xDC8 ON for all active item GObjs?
 
void it_8026C42C (void)
 Toggle bits in 0xDC8 for all active item GObjs?
 

Function Documentation

◆ it_8026B1D4()

float it_8026B1D4 ( Item_GObj gobj,
HitCapsule itemHitboxUnk 
)

Apply Item Damage.

◆ it_8026B294()

void it_8026B294 ( Item_GObj gobj,
Vec3 pos 
)

Copy Item position vector.

◆ it_8026B2B4()

enum_t it_8026B2B4 ( Item_GObj gobj)

Check if item is heavy.

◆ it_8026B2D8()

bool it_8026B2D8 ( Item_GObj gobj)

Check if item is heavy again?

◆ itGetKind()

s32 itGetKind ( Item_GObj gobj)

Get Item ID.

◆ it_8026B30C()

enum_t it_8026B30C ( Item_GObj gobj)

Return flag from Item Attributes.

◆ it_8026B320()

enum_t it_8026B320 ( Item_GObj gobj)

Return item hold kind.

◆ it_8026B334()

float it_8026B334 ( Item_GObj gobj)

Return item damage multiplier.

◆ it_8026B344()

void it_8026B344 ( Item_GObj gobj,
Vec3 pos 
)

Unknown item position math, related to velocity?

◆ it_8026B378()

float it_8026B378 ( Item_GObj gobj)

Return item's X-Axis grab range?

◆ it_8026B384()

float it_8026B384 ( Item_GObj gobj)

Return item's Y-Axis grab range?

◆ it_8026B390()

void it_8026B390 ( Item_GObj gobj)

Toggle item flag 0x15 in 0xDC8 word ON.

◆ it_8026B3A8()

void it_8026B3A8 ( Item_GObj gobj)

Toggle item flag 0x15 in 0xDC8 word OFF.

◆ it_8026B3C0()

int it_8026B3C0 ( ItemKind  kind)

Count item entities of identical kind?

◆ it_8026B3F8()

void it_8026B3F8 ( Article article,
s32  kind 
)

Store Item article pointer to table.

◆ it_8026B40C()

void it_8026B40C ( Article article,
s32  kind 
)

Store Stage Item article pointer to table.

◆ it_8026B424()

float it_8026B424 ( s32  damage)

Item Damage Math.

◆ it_8026B47C()

s32 it_8026B47C ( Item_GObj gobj)

Get heal value of healing items.

◆ it_8026B4F0()

bool it_8026B4F0 ( Item_GObj gobj)

Check if item is a healing item.

◆ it_8026B54C()

float it_8026B54C ( Item_GObj gobj)

Get unknown float from 0x0 of item's special attributes.

◆ it_8026B560()

float it_8026B560 ( Item_GObj gobj)

Identical to it_8026B54C but likely using a different itAttributes struct.

◆ it_8026B574()

float it_8026B574 ( Item_GObj gobj)

Get unknown float from 0x4 of item's special attributes.

◆ it_8026B588()

s32 it_8026B588 ( void  )

Get unknown integer from itCommonData.

◆ it_8026B594()

bool it_8026B594 ( Item_GObj gobj)

Check if item can fire projectiles.

◆ it_8026B5E4()

HSD_GObj * it_8026B5E4 ( Vec3 vector,
Vec3 vector2,
Item_GObj gobj 
)

Unknown item camera check?

◆ it_8026B634()

HSD_GObj * it_8026B634 ( Vec3 vector,
Vec3 vector2,
Item_GObj gobj 
)

Unknown item camera check 2?

◆ it_8026B684()

float it_8026B684 ( Vec3 pos)

Get facing direction of fighter (?) with NULL.

Get facing direction of fp (?) with argument 0.

◆ it_8026B6A8()

float it_8026B6A8 ( Vec3 pos,
HSD_GObj arg1 
)

Get facing direction of fighter (?) with variable argument.

Get facing direction of fp (?) with variable argument.

◆ it_8026B6C8()

bool it_8026B6C8 ( Item_GObj gobj)

Check if item is a stage item?

◆ it_8026B718()

void it_8026B718 ( Item_GObj gobj,
float  hitlagFrames 
)

Set item's hitlag frames.

◆ it_8026B724()

void it_8026B724 ( Item_GObj gobj)

Toggle bit 3 of 0xDC8 word ON.

◆ it_8026B73C()

void it_8026B73C ( Item_GObj gobj)

Toggle bits in 0xDC8 word.

◆ it_8026B774()

bool it_8026B774 ( Item_GObj gobj,
u8  arg1 
)

Bitwise operations in 0xDC8 word.

◆ it_8026B7A4()

s32 it_8026B7A4 ( Item_GObj gobj)

Get Item State ID.

◆ it_8026B7B0()

u8 it_8026B7B0 ( Item_GObj gobj)

Get Item Team ID.

◆ it_8026B7BC()

s32 it_8026B7BC ( Item_GObj gobj)

Get flag 0x14 of 0xDC8 word.

◆ it_8026B7CC()

s32 it_8026B7CC ( Item_GObj gobj)

Get 0x1C of Item - something to do with stale moves?

◆ it_8026B7D8()

s32 it_8026B7D8 ( void  )

Get unknown var from global data.

◆ it_8026B7E0()

s32 it_8026B7E0 ( void  )

Get unknown var from global data.

◆ it_8026B7E8()

s32 it_8026B7E8 ( Item_GObj gobj)

Get bit 1 of 0xDC8 word.

◆ it_8026B7F8()

void it_8026B7F8 ( Item_GObj gobj)

Remove item from player on death?

◆ it_8026B894()

bool it_8026B894 ( HSD_GObj gobj,
HSD_GObj ref_gobj 
)

Remove all GObj interaction references from item.

Returns
Whether or not ref_gobj was the Item::owner.

◆ it_8026B924()

s32 it_8026B924 ( Item_GObj gobj)

Return result of unk item check.

◆ it_8026B960()

float it_8026B960 ( Item_GObj gobj)

Return float result of item kind and state checks.

◆ it_8026B9A8()

void it_8026B9A8 ( Item_GObj gobj,
HSD_GObj arg1,
Fighter_Part  arg2 
)

Transfer item on character transformation (Zelda <-> Sheik)

Todo:
Not enough stack for GET_JOBJ.

◆ it_8026BAE8()

void it_8026BAE8 ( Item_GObj gobj,
float  scale_mul 
)

Multiply item's scale.

◆ it_8026BB20()

void it_8026BB20 ( Item_GObj gobj)

Clear JObj flags on item model.

◆ it_8026BB44()

void it_8026BB44 ( Item_GObj gobj)

Set JObj flags on item model.

◆ it_8026BB68()

void it_8026BB68 ( Item_GObj gobj,
Vec3 pos 
)

Adjust item's position to fp bone.

◆ it_8026BB88()

void it_8026BB88 ( Item_GObj gobj,
Vec3 pos 
)

Adjust item's position based on ECB?

Todo:
Why is this always zero? Stripped something?

◆ it_8026BBCC()

void it_8026BBCC ( Item_GObj gobj,
Vec3 pos 
)

Adjust item's ECB position?

Todo:
Why is this always zero? Stripped something?

◆ it_8026BC14()

void it_8026BC14 ( HSD_GObj gobj)

Check if item owner is a fighter + decrement hitlag.

Check if item owner is a fp + decrement hitlag.

◆ it_8026BC68()

bool it_8026BC68 ( HSD_GObj gobj)

Return bit 0 of 0xDD0.

Returns
#Item::xDD0_flag::bits::b0 of gobj.

◆ it_8026BC78()

HSD_GObj * it_8026BC78 ( HSD_GObj gobj)

Get item owner.

Returns
Item::owner of gobj.

◆ it_8026BC84()

bool it_8026BC84 ( HSD_GObj gobj)

Get item attack kind.

Returns
Item::xD88_attackID of gobj.

◆ it_8026BC90()

void it_8026BC90 ( Item_GObj gobj,
Vec3 pos 
)

Unknown item ECB / position update.

◆ it_8026BCF4()

void it_8026BCF4 ( HSD_GObj gobj)

Unsets #Item::xDCD_flag::bits::b2 of gobj.

Toggle bit 2 of 0xDCD OFF.

◆ it_8026BD0C()

void it_8026BD0C ( HSD_GObj gobj)

Sets #Item::xDCD_flag::bits::b2 of gobj.

Toggle bit 2 of 0xDCD ON.

◆ it_8026BD24()

void it_8026BD24 ( HSD_GObj gobj)

Sets #Item::xDD0_flag::bits::b3 of gobj.

Toggle bit 3 of 0xDD0 ON.

◆ it_8026BD3C()

void it_8026BD3C ( HSD_GObj gobj)

Sets #Item::xDCC_flag::bits::b3 of gobj.

Toggle bit 3 of 0xDCC ON.

◆ it_8026BD54()

void it_8026BD54 ( HSD_GObj gobj)

Unsets #Item::xDCC_flag::bits::b3 of gobj.

Toggle bit 3 of 0xDCC OFF.

◆ it_8026BD6C()

void it_8026BD6C ( HSD_GObj gobj)

Sets #Item::xDCD_flag::bits::b3 of gobj.

Toggle bit 3 of 0xDCD ON.

◆ it_8026BD84()

void it_8026BD84 ( HSD_GObj gobj)

Sets #Item::xDCD_flag::bits::b4 of gobj.

Toggle bit 4 of 0xDCD ON.

◆ it_8026BD9C()

void it_8026BD9C ( HSD_GObj gobj)

Sets #Item::xDC8_word::flags::x1A of gobj.

Toggle 0x1A of 0xDC8 word ON.

◆ it_8026BDB4()

void it_8026BDB4 ( Item_GObj gobj)

Toggle 0x1A of 0xDC8 word OFF.

◆ it_8026BDCC()

void it_8026BDCC ( HSD_GObj gobj)

Toggles several item flags.

Toggle several item flags.

Todo:
Each of these is an inlined function. Some are already defined.

◆ it_8026BE28()

void it_8026BE28 ( HSD_GObj gobj)

Toggle several item flags. The inverse of it_8026BDCC.

Toggle several item flags, inverted.

Todo:
Each of these is an inlined function. Some are already defined.

◆ it_8026BE84()

HSD_GObj * it_8026BE84 ( BobOmbRain bobOmbRain)

Bob-Omb Rain Switch.

◆ it_8026C100()

CollData * it_8026C100 ( Item_GObj gobj)

Get item's CollData pointer.

◆ it_8026C16C()

void it_8026C16C ( Item_GObj gobj,
bool  isHeadless 
)

Check if Hammer item's head should break off.

◆ it_8026C1B4()

bool it_8026C1B4 ( Item_GObj gobj)

Check if item has a hitbox.

◆ it_8026C1D4()

u32 it_8026C1D4 ( void  )

Get unknown var from r13 pointer.

◆ it_8026C1E8()

bool it_8026C1E8 ( Item_GObj gobj)

Check if item has grabbed a GObj?

◆ it_8026C220()

void it_8026C220 ( Item_GObj gobj,
HSD_GObj arg1 
)

Get item owner's port number.

◆ it_8026C258()

HSD_GObj * it_8026C258 ( Vec3 pos,
f32  facing_dir 
)

Find the closest item to the given position?

Remarks
Used by Samus's Homing Missile to lock onto certain items.
Returns
The nearest HSD_GObj to pos that fits the criteria.
Todo:
Why is this cast to short necessary?

◆ it_8026C334()

void it_8026C334 ( Item_GObj gobj,
Vec3 pos 
)

Unknown item position / ECB update.

◆ it_8026C368()

void it_8026C368 ( Item_GObj gobj)

Run bomb item explosion callbacks.

◆ it_8026C3FC()

void it_8026C3FC ( void  )

Toggle bit 3 of 0xDC8 ON for all active item GObjs?

◆ it_8026C42C()

void it_8026C42C ( void  )

Toggle bits in 0xDC8 for all active item GObjs?