SSBM Decomp
Loading...
Searching...
No Matches
item.c File Reference
#include "lb/forward.h"
#include "item.h"
#include "it_266F.h"
#include "it_26B1.h"
#include "math.h"
#include "cm/camera.h"
#include "db/db_2253.h"
#include "ef/efasync.h"
#include "ef/eflib.h"
#include "ft/ftlib.h"
#include "gm/gm_1601.h"
#include "gr/grlib.h"
#include "gr/stage.h"
#include "it/inlines.h"
#include "it/it_2725.h"
#include "it/itcoll.h"
#include "it/types.h"
#include "lb/lb_00B0.h"
#include "lb/lb_00F9.h"
#include "lb/lbaudio_ax.h"
#include "mp/mpcoll.h"
#include "mp/mplib.h"
#include <common_structs.h>
#include <dolphin/mtx/vec.h>
#include <dolphin/os/OSError.h>
#include <baselib/class.h>
#include <baselib/debug.h>
#include <baselib/dobj.h>
#include <baselib/gobj.h>
#include <baselib/gobjgxlink.h>
#include <baselib/gobjobject.h>
#include <baselib/gobjplink.h>
#include <baselib/gobjproc.h>
#include <baselib/gobjuserdata.h>
#include <baselib/jobj.h>

Functions

static void Item_80267130 (HSD_GObj *gobj, SpawnItem *spawnItem)
 
static void Item_802674AC (SpawnItem *spawnItem)
 
static void Item_802675A8 (HSD_GObj *gobj)
 
static void Item_802676F4 (HSD_GObj *gobj)
 
static bool Item_8026784C (enum_t dropItem, int)
 
static void Item_80267AA8 (HSD_GObj *gobj, SpawnItem *spawnItem)
 
static void Item_8026814C (HSD_GObj *gobj)
 
static bool Item_802682F0 (HSD_GObj *gobj)
 
static void Item_80268560 (HSD_GObj *gobj)
 
static HSD_GObjItem_8026862C (SpawnItem *spawnItem)
 
static void Item_80268BE0 (HSD_JObj *item_jobj, HSD_AnimJoint *anim_joint, HSD_MatAnimJoint *matanim_joint, HSD_ShapeAnimJoint *shapeanim_joint, Item *item_data)
 
static void Item_80269528 (HSD_GObj *gobj)
 
static bool Item_802696CC (HSD_GObj *gobj)
 
static void Item_80269A9C (HSD_GObj *gobj)
 
static void Item_80269B60 (HSD_GObj *gobj)
 
static void Item_80269BE4 (HSD_GObj *gobj)
 rather items such as the Barrel Cannon.
 
static void Item_80269C5C (HSD_GObj *gobj)
 
static void Item_80269CC4 (HSD_GObj *gobj)
 
static bool Item_80269DC8 (HSD_GObj *gobj)
 
static bool Item_80269F14 (HSD_GObj *gobj)
 
static void Item_8026A0A0 (HSD_GObj *gobj)
 
static void Item_8026A0FC (HSD_GObj *gobj)
 
static void Item_8026A158 (HSD_GObj *gobj)
 
static void Item_8026A1E8 (HSD_GObj *gobj)
 
static void Item_8026A294 (HSD_GObj *gobj)
 
static void Item_8026A788 (HSD_GObj *gobj)
 
static void Item_8026A810 (HSD_GObj *gobj)
 
static void Item_8026B0B4 (HSD_GObj *gobj)
 
bool Item_80266F3C (void)
 Check if items are enabled.
 
void Item_80266F70 (void)
 Check to load ItCo.dat/usd.
 
void Item_80266FA8 (void)
 ItCo prefunction with 0.
 
void Item_80266FCC (void)
 Init item struct?
 
static void ItUnkHoldKind (HSD_GObj *gobj)
 
static void HSD_JObjSetScaleItem (Item *it, HSD_JObj *jobj, Vec3 *scl)
 
static void HSD_JObjSetFacingDirItem (HSD_JObj *jobj, Item *it)
 
void Item_80267454 (HSD_GObj *gobj)
 Remove Camera Box.
 
void Item_80267978 (HSD_GObj *gobj)
 Store Item Pointers.
 
void PSMTXIdentity (Mtx)
 
void Item_802680CC (HSD_GObj *gobj)
 Setup Item JObj.
 
HSD_DObjHSD_JObjGetDObj (HSD_JObj *)
 
void Item_8026849C (HSD_GObj *gobj)
 Set item model scale.
 
void ftLib_8008702C (s32)
 
static void foobar (HSD_GObj *gobj)
 
static void foobar2 (HSD_GObj *gobj)
 
static void foobar3 (HSD_GObj *gobj)
 
HSD_GObjItem_80268B18 (SpawnItem *spawnItem)
 Item spawn prefunction - spawn airborne.
 
HSD_GObjItem_80268B5C (SpawnItem *spawnItem)
 Item spawn prefunction - spawn grounded.
 
void Item_80268B9C (SpawnItem *spawnItem)
 Item spawn prefunction - spawn grounded and toggle unknown true.
 
void Item_80268D34 (HSD_GObj *gobj, struct ItemStateDesc *itemStateDesc)
 Unk Item AObj-related function.
 
void Item_80268DD4 (HSD_GObj *gobj, f32 frame)
 Advance item animation?
 
void Item_80268E40 (Item *item_data, struct ItemStateDesc *itemStateDesc)
 Copy item script.
 
void Item_80268E5C (HSD_GObj *gobj, enum_t msid, Item_StateChangeFlags flags)
 Item State Change.
 
void Item_802693E4 (HSD_GObj *gobj)
 
void Item_802694CC (HSD_GObj *gobj)
 Advance item animation + script?
 
void Item_802697D4 (HSD_GObj *gobj)
 Item Think - Physics.
 
void Item_80269978 (HSD_GObj *gobj)
 Item Think - Collision.
 
void Item_80269CA0 (Item *item_data, s32 damage)
 Add to damage taken.
 
static void func_8026A158_helper (HSD_GObj *atkCollGObj)
 
static void func_8026A1E8_inline (HSD_GObj *atkCollGObj)
 
static bool processCallback (HSD_GObjPredicate cb, HSD_GObj *gobj, Item *item_data)
 
static bool OnTakeDamageThink (HSD_GObj *gobj, Item *item_data)
 
static bool OnClankThink (HSD_GObj *gobj, Item *item_data)
 
static bool OnGiveDamageThink (HSD_GObj *gobj, Item *item_data)
 
static void EnterHitlagThink (HSD_GObj *gobj, Item *item_data)
 
static void checkHitLag (f32 min_value, Item *item_data)
 
void Item_8026A848 (HSD_GObj *gobj, HSD_GObj *fighter_gobj)
 Remove Item from Player.
 
static void DestroyItemInline (HSD_GObj *gobj, Item *other_ip)
 
static void ItemSwitch (HSD_GObj *gobj)
 
static void RunCallback (HSD_GObj *gobj, HSD_GObjEvent arg1)
 
static void func_8026A8EC_inline1 (HSD_GObj *gobj)
 
static void func_8026A8EC_inline2 (HSD_GObj *gobj)
 
static void func_8026A8EC_inline3 (HSD_GObj *gobj)
 
void Item_8026A8EC (Item_GObj *gobj)
 Destroy Item.
 
void Item_8026AB54 (Item_GObj *gobj, HSD_GObj *owner_gobj, Fighter_Part part)
 
void Item_8026ABD8 (Item_GObj *gobj, Vec3 *pos, f32 arg2)
 Drop Item.
 
void Item_8026AC74 (HSD_GObj *gobj, Vec3 *arg1, Vec3 *arg2, f32 arg3)
 This is actually another Item Drop function.
 
void Item_8026AD20 (HSD_GObj *gobj, Vec3 *arg1, Vec3 *arg2, f32 arg3)
 Throw Item.
 
void Item_8026ADC0 (HSD_GObj *gobj)
 Make Item Airborne.
 
void Item_OnUserDataRemove (void *user_data)
 
uint Item_8026AE60 (void)
 Increment something.
 
void Item_8026AE84 (Item *item_data, enum_t sfx, int pan, int volume)
 Play Item SFX.
 
void Item_8026AF0C (Item *item_data, enum_t sfx, int pan, int volume)
 Play Item SFX 2.
 
void Item_8026AFA0 (Item *item_data, enum_t sfx, int pan, int volume)
 Play Item SFX 3.
 
void Item_8026B034 (Item *item_data)
 Stop Item SFX.
 
void Item_8026B074 (Item *item_data)
 Stop Item SFX 2.
 
bool Item_IsGrabbable (Item_GObj *gobj)
 Check if item is grabbable.
 

Variables

static HSD_ObjAllocData itemAllocData
 
static HSD_ObjAllocData unkAllocData1
 
HSD_ObjAllocData Item_804A0C38
 
HSD_ObjAllocUnk Item_804A0C64
 
HSD_ObjAllocUnk2 Item_804A0CCC
 
S32Vec3 Item_804A0E24
 
void * it_803F1F90 []
 
struct sdata_ItemGXLink it_803F1418 []
 
struct sdata_ItemGXLink it_803F2310 []
 
struct sdata_ItemGXLink it_803F2F28 []
 
struct sdata_ItemGXLink it_803F4CA8 []
 
struct r13_ColAnimStructit_804D6D04
 

Function Documentation

◆ Item_80267130()

static void Item_80267130 ( HSD_GObj gobj,
SpawnItem spawnItem 
)
static

◆ Item_802674AC()

static void Item_802674AC ( SpawnItem spawnItem)
static

◆ Item_802675A8()

static void Item_802675A8 ( HSD_GObj gobj)
static

◆ Item_802676F4()

static void Item_802676F4 ( HSD_GObj gobj)
static

◆ Item_8026784C()

static bool Item_8026784C ( enum_t  dropItem,
int  _ 
)
static
Remarks
Item_8026862C loads two integers into this, but the second one goes _?

◆ Item_80267AA8()

static void Item_80267AA8 ( HSD_GObj gobj,
SpawnItem spawnItem 
)
static

◆ Item_8026814C()

static void Item_8026814C ( HSD_GObj gobj)
static

◆ Item_802682F0()

static bool Item_802682F0 ( HSD_GObj gobj)
static
Todo:
Needs some serious cleaning.

◆ Item_80268560()

static void Item_80268560 ( HSD_GObj gobj)
static

◆ Item_8026862C()

static HSD_GObj * Item_8026862C ( SpawnItem spawnItem)
static

◆ Item_80268BE0()

static void Item_80268BE0 ( HSD_JObj item_jobj,
HSD_AnimJoint anim_joint,
HSD_MatAnimJoint matanim_joint,
HSD_ShapeAnimJoint shapeanim_joint,
Item item_data 
)
static

◆ Item_80269528()

static void Item_80269528 ( HSD_GObj gobj)
static

◆ Item_802696CC()

static bool Item_802696CC ( HSD_GObj gobj)
static

◆ Item_80269A9C()

static void Item_80269A9C ( HSD_GObj gobj)
static

◆ Item_80269B60()

static void Item_80269B60 ( HSD_GObj gobj)
static

◆ Item_80269BE4()

static void Item_80269BE4 ( HSD_GObj gobj)
static

rather items such as the Barrel Cannon.

Remarks
Somewhat arbitrary. Does not run on Hook Shot / Grapple Beam,

◆ Item_80269C5C()

static void Item_80269C5C ( HSD_GObj gobj)
static

◆ Item_80269CC4()

static void Item_80269CC4 ( HSD_GObj gobj)
static

◆ Item_80269DC8()

static bool Item_80269DC8 ( HSD_GObj gobj)
static

◆ Item_80269F14()

static bool Item_80269F14 ( HSD_GObj gobj)
static

◆ Item_8026A0A0()

static void Item_8026A0A0 ( HSD_GObj gobj)
static

◆ Item_8026A0FC()

static void Item_8026A0FC ( HSD_GObj gobj)
static

◆ Item_8026A158()

static void Item_8026A158 ( HSD_GObj gobj)
static

◆ Item_8026A1E8()

static void Item_8026A1E8 ( HSD_GObj gobj)
static

◆ Item_8026A294()

static void Item_8026A294 ( HSD_GObj gobj)
static

◆ Item_8026A788()

static void Item_8026A788 ( HSD_GObj gobj)
static

◆ Item_8026A810()

static void Item_8026A810 ( HSD_GObj gobj)
static

◆ Item_8026B0B4()

static void Item_8026B0B4 ( HSD_GObj gobj)
static

◆ Item_80266F3C()

bool Item_80266F3C ( void  )

Check if items are enabled.

Checks if items are enabled.

◆ Item_80266F70()

void Item_80266F70 ( void  )

Check to load ItCo.dat/usd.

◆ Item_80266FA8()

void Item_80266FA8 ( void  )

ItCo prefunction with 0.

◆ Item_80266FCC()

void Item_80266FCC ( void  )

Init item struct?

◆ ItUnkHoldKind()

static void ItUnkHoldKind ( HSD_GObj gobj)
static

◆ HSD_JObjSetScaleItem()

static void HSD_JObjSetScaleItem ( Item it,
HSD_JObj jobj,
Vec3 scl 
)
static

◆ HSD_JObjSetFacingDirItem()

static void HSD_JObjSetFacingDirItem ( HSD_JObj jobj,
Item it 
)
inlinestatic

◆ Item_80267454()

void Item_80267454 ( HSD_GObj gobj)

Remove Camera Box.

◆ Item_80267978()

void Item_80267978 ( HSD_GObj gobj)

Store Item Pointers.

◆ PSMTXIdentity()

void PSMTXIdentity ( Mtx  )
extern

◆ Item_802680CC()

void Item_802680CC ( HSD_GObj gobj)

Setup Item JObj.

◆ HSD_JObjGetDObj()

HSD_DObj * HSD_JObjGetDObj ( HSD_JObj jobj)
extern

◆ Item_8026849C()

void Item_8026849C ( HSD_GObj gobj)

Set item model scale.

◆ ftLib_8008702C()

void ftLib_8008702C ( s32  arg0)
extern

◆ foobar()

static void foobar ( HSD_GObj gobj)
static

◆ foobar2()

static void foobar2 ( HSD_GObj gobj)
static

◆ foobar3()

static void foobar3 ( HSD_GObj gobj)
static

◆ Item_80268B18()

HSD_GObj * Item_80268B18 ( SpawnItem spawnItem)

Item spawn prefunction - spawn airborne.

◆ Item_80268B5C()

HSD_GObj * Item_80268B5C ( SpawnItem spawnItem)

Item spawn prefunction - spawn grounded.

◆ Item_80268B9C()

void Item_80268B9C ( SpawnItem spawnItem)

Item spawn prefunction - spawn grounded and toggle unknown true.

◆ Item_80268D34()

void Item_80268D34 ( HSD_GObj gobj,
struct ItemStateDesc itemStateDesc 
)

Unk Item AObj-related function.

◆ Item_80268DD4()

void Item_80268DD4 ( HSD_GObj gobj,
f32  frame 
)

Advance item animation?

◆ Item_80268E40()

void Item_80268E40 ( Item item_data,
struct ItemStateDesc itemStateDesc 
)

Copy item script.

◆ Item_80268E5C()

void Item_80268E5C ( HSD_GObj gobj,
enum_t  msid,
Item_StateChangeFlags  flags 
)

Item State Change.

◆ Item_802693E4()

void Item_802693E4 ( HSD_GObj gobj)

◆ Item_802694CC()

void Item_802694CC ( HSD_GObj gobj)

Advance item animation + script?

◆ Item_802697D4()

void Item_802697D4 ( HSD_GObj gobj)

Item Think - Physics.

◆ Item_80269978()

void Item_80269978 ( HSD_GObj gobj)

Item Think - Collision.

◆ Item_80269CA0()

void Item_80269CA0 ( Item item_data,
s32  damage 
)

Add to damage taken.

Set damage taken.

◆ func_8026A158_helper()

static void func_8026A158_helper ( HSD_GObj atkCollGObj)
static

◆ func_8026A1E8_inline()

static void func_8026A1E8_inline ( HSD_GObj atkCollGObj)
static

◆ processCallback()

static bool processCallback ( HSD_GObjPredicate  cb,
HSD_GObj gobj,
Item item_data 
)
static

◆ OnTakeDamageThink()

static bool OnTakeDamageThink ( HSD_GObj gobj,
Item item_data 
)
static

◆ OnClankThink()

static bool OnClankThink ( HSD_GObj gobj,
Item item_data 
)
static

◆ OnGiveDamageThink()

static bool OnGiveDamageThink ( HSD_GObj gobj,
Item item_data 
)
static

◆ EnterHitlagThink()

static void EnterHitlagThink ( HSD_GObj gobj,
Item item_data 
)
static

◆ checkHitLag()

static void checkHitLag ( f32  min_value,
Item item_data 
)
static

◆ Item_8026A848()

void Item_8026A848 ( HSD_GObj gobj,
HSD_GObj fighter_gobj 
)

Remove Item from Player.

◆ DestroyItemInline()

static void DestroyItemInline ( HSD_GObj gobj,
Item other_ip 
)
static

◆ ItemSwitch()

static void ItemSwitch ( HSD_GObj gobj)
static

◆ RunCallback()

static void RunCallback ( HSD_GObj gobj,
HSD_GObjEvent  arg1 
)
static
Todo:
Could this be a higher-level inline in gobjproc.h or something?

◆ func_8026A8EC_inline1()

static void func_8026A8EC_inline1 ( HSD_GObj gobj)
static

◆ func_8026A8EC_inline2()

static void func_8026A8EC_inline2 ( HSD_GObj gobj)
static

◆ func_8026A8EC_inline3()

static void func_8026A8EC_inline3 ( HSD_GObj gobj)
static

◆ Item_8026A8EC()

void Item_8026A8EC ( Item_GObj gobj)

Destroy Item.

◆ Item_8026AB54()

void Item_8026AB54 ( Item_GObj gobj,
HSD_GObj owner_gobj,
Fighter_Part  part 
)

◆ Item_8026ABD8()

void Item_8026ABD8 ( Item_GObj gobj,
Vec3 pos,
f32  arg2 
)

Drop Item.

◆ Item_8026AC74()

void Item_8026AC74 ( HSD_GObj gobj,
Vec3 arg1,
Vec3 arg2,
f32  arg3 
)

This is actually another Item Drop function.

◆ Item_8026AD20()

void Item_8026AD20 ( HSD_GObj gobj,
Vec3 arg1,
Vec3 arg2,
f32  arg3 
)

Throw Item.

◆ Item_8026ADC0()

void Item_8026ADC0 ( HSD_GObj gobj)

Make Item Airborne.

◆ Item_OnUserDataRemove()

void Item_OnUserDataRemove ( void *  user_data)

◆ Item_8026AE60()

uint Item_8026AE60 ( void  )

Increment something.

◆ Item_8026AE84()

void Item_8026AE84 ( Item item_data,
enum_t  sfx,
int  pan,
int  volume 
)

Play Item SFX.

◆ Item_8026AF0C()

void Item_8026AF0C ( Item item_data,
enum_t  sfx,
int  pan,
int  volume 
)

Play Item SFX 2.

◆ Item_8026AFA0()

void Item_8026AFA0 ( Item item_data,
enum_t  sfx,
int  pan,
int  volume 
)

Play Item SFX 3.

◆ Item_8026B034()

void Item_8026B034 ( Item item_data)

Stop Item SFX.

◆ Item_8026B074()

void Item_8026B074 ( Item item_data)

Stop Item SFX 2.

◆ Item_IsGrabbable()

bool Item_IsGrabbable ( Item_GObj gobj)

Check if item is grabbable.

Variable Documentation

◆ itemAllocData

HSD_ObjAllocData itemAllocData
static

◆ unkAllocData1

HSD_ObjAllocData unkAllocData1
static

◆ Item_804A0C38

HSD_ObjAllocData Item_804A0C38

◆ Item_804A0C64

HSD_ObjAllocUnk Item_804A0C64

◆ Item_804A0CCC

HSD_ObjAllocUnk2 Item_804A0CCC

◆ Item_804A0E24

S32Vec3 Item_804A0E24

◆ it_803F1F90

void* it_803F1F90[]
extern

◆ it_803F1418

struct sdata_ItemGXLink it_803F1418[]
extern

◆ it_803F2310

struct sdata_ItemGXLink it_803F2310[]
extern

◆ it_803F2F28

struct sdata_ItemGXLink it_803F2F28[]
extern

◆ it_803F4CA8

struct sdata_ItemGXLink it_803F4CA8[]
extern

◆ it_804D6D04

struct r13_ColAnimStruct* it_804D6D04
extern