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

Macros

#define MELEE_IT_ITEM2_H

Functions

void it_8026B9A8 (Item_GObj *gobj, HSD_GObj *arg1, u8 arg2)
 Transfer item on character swap - used for Zelda <-> Sheik.
enum_t it_8026B30C (Item_GObj *gobj)
 Return flag from Item Attributes.
enum_t it_8026B320 (Item_GObj *gobj)
 Return item hold kind.
f32 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.
f32 it_8026B334 (Item_GObj *gobj)
 Return item damage multiplier.
void it_8026B344 (Item_GObj *gobj, Vec3 *pos)
 Unknown item position math, related to velocity?
f32 it_8026B378 (Item_GObj *gobj)
 Return item's X-Axis grab range?
f32 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.
f32 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.
f32 it_8026B54C (Item_GObj *gobj)
 Get unknown float from 0x0 of item's special attributes.
f32 it_8026B560 (Item_GObj *gobj)
 Identical to it_8026B54C but likely using a different itAttributes struct.
f32 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?
f32 it_8026B684 (Vec3 *pos)
 Get facing direction of fp (?) with argument 0.
f32 it_8026B6A8 (Vec3 *pos, HSD_GObj *arg)
 Get facing direction of fp (?) with variable argument.
bool it_8026B6C8 (Item_GObj *gobj)
 Check if item is a stage item?
void it_8026B718 (Item_GObj *gobj, f32 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.
f32 it_8026B960 (Item_GObj *gobj)
 Return float result of item kind and state checks.
void it_8026BAE8 (Item_GObj *gobj, f32 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 fp + 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)
 Toggle bit 2 of 0xDCD OFF.
void it_8026BD0C (Item_GObj *gobj)
 Toggle bit 2 of 0xDCD ON.
void it_8026BD24 (Item_GObj *gobj)
 Toggle bit 3 of 0xDD0 ON.
void it_8026BD3C (Item_GObj *gobj)
 Toggle bit 3 of 0xDCC ON.
void it_8026BD54 (Item_GObj *gobj)
 Toggle bit 3 of 0xDCC OFF.
void it_8026BD6C (Item_GObj *gobj)
 Toggle bit 3 of 0xDCD ON.
void it_8026BD84 (Item_GObj *gobj)
 Toggle bit 4 of 0xDCD ON.
void it_8026BD9C (Item_GObj *gobj)
 Toggle 0x1A of 0xDC8 word ON.
void it_8026BDB4 (Item_GObj *gobj)
 Toggle 0x1A of 0xDC8 word OFF.
void it_8026BDCC (Item_GObj *gobj)
 Toggle several item flags.
void it_8026BE28 (Item_GObj *gobj)
 Toggle several item flags, inverted.
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.
void 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, f32 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?

Detailed Description

Macro Definition Documentation

◆ MELEE_IT_ITEM2_H

#define MELEE_IT_ITEM2_H

Function Documentation

◆ it_8026B9A8()

void it_8026B9A8 ( Item_GObj * gobj,
HSD_GObj * arg1,
u8 arg2 )

Transfer item on character swap - used for Zelda <-> Sheik.

◆ 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_8026B1D4()

f32 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_8026B334()

f32 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()

f32 it_8026B378 ( Item_GObj * gobj)

Return item's X-Axis grab range?

◆ it_8026B384()

f32 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()

f32 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()

f32 it_8026B54C ( Item_GObj * gobj)

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

◆ it_8026B560()

f32 it_8026B560 ( Item_GObj * gobj)

Identical to it_8026B54C but likely using a different itAttributes struct.

◆ it_8026B574()

f32 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 ( HSD_GObj * gobj)

Check if item can fire projectiles.

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()

f32 it_8026B684 ( Vec3 * pos)

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

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

◆ it_8026B6A8()

f32 it_8026B6A8 ( Vec3 * pos,
HSD_GObj * arg1 )

Get facing direction of fp (?) 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,
f32 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()

f32 it_8026B960 ( Item_GObj * gobj)

Return float result of item kind and state checks.

◆ it_8026BAE8()

void it_8026BAE8 ( Item_GObj * gobj,
f32 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 fp + 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)

Toggle bit 2 of 0xDCD OFF.

Toggle bit 2 of 0xDCD OFF.

◆ it_8026BD0C()

void it_8026BD0C ( HSD_GObj * gobj)

Toggle bit 2 of 0xDCD ON.

Toggle bit 2 of 0xDCD ON.

◆ it_8026BD24()

void it_8026BD24 ( HSD_GObj * gobj)

Toggle bit 3 of 0xDD0 ON.

Toggle bit 3 of 0xDD0 ON.

◆ it_8026BD3C()

void it_8026BD3C ( HSD_GObj * gobj)

Toggle bit 3 of 0xDCC ON.

Toggle bit 3 of 0xDCC ON.

◆ it_8026BD54()

void it_8026BD54 ( HSD_GObj * gobj)

Toggle bit 3 of 0xDCC OFF.

Toggle bit 3 of 0xDCC OFF.

◆ it_8026BD6C()

void it_8026BD6C ( HSD_GObj * gobj)

Toggle bit 3 of 0xDCD ON.

Toggle bit 3 of 0xDCD ON.

◆ it_8026BD84()

void it_8026BD84 ( HSD_GObj * gobj)

Toggle bit 4 of 0xDCD ON.

Toggle bit 4 of 0xDCD ON.

◆ it_8026BD9C()

void it_8026BD9C ( HSD_GObj * gobj)

Toggle 0x1A of 0xDC8 word ON.

Toggle 0x1A of 0xDC8 word ON.

◆ it_8026BDB4()

void it_8026BDB4 ( HSD_GObj * gobj)

Toggle 0x1A of 0xDC8 word OFF.

Toggle 0x1A of 0xDC8 word OFF.

◆ it_8026BDCC()

void it_8026BDCC ( HSD_GObj * gobj)

Toggle 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, inverted.

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()

void 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?