|
SSBM Decomp
|
#include "eflib.h"#include "efasync.h"#include "inlines.h"#include "types.h"#include <placeholder.h>#include "baselib/displayfunc.h"#include "baselib/forward.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/mtx.h"#include "baselib/psdisp.h"#include "baselib/psstructs.h"#include "baselib/state.h"#include "dolphin/mtx.h"#include "ef/forward.h"#include "ft/forward.h"#include "ft/inlines.h"#include "ft/types.h"#include "ftCommon/ftCo_Bury.h"#include "gr/grlib.h"#include "lb/lb_00B0.h"#include "lb/lb_00F9.h"#include <runtime.h>#include <trigf.h>#include <baselib/jobj.h>#include <baselib/particle.h>#include <baselib/psappsrt.h>Data Structures | |
| struct | UnkStruct8039EFAC |
| #include <cstddef> More... | |
| struct | struct_efLib_80458F60_0x8 |
| static HSD_JObj** efLib_80458EE0; More... | |
Functions | |
| void | efLib_8005B4B8 (void) |
| void | efLib_8005B704 (HSD_GObj *arg_gobj, s32 arg1) |
| void | efLib_8005B780 (HSD_GObj *gobj) |
| void | efLib_DestroyAll (HSD_GObj *arg_gobj) |
| void | efLib_PauseAll (HSD_GObj *arg_gobj) |
| void | efLib_ResumeAll (HSD_GObj *arg_gobj) |
| void | Effect_RemoveUserData (void *effect) |
| void | efLib_8005BBB4 (u32 arg1, f32 arg8) |
| void | fn_8005BC50 (HSD_GObj *gobj) |
| Effect * | efLib_8005BE88 (int arg0, HSD_GObj *parent_gobj) |
| Effect * | efLib_8005C1B4 (u32 arg0, HSD_GObj *arg_gobj, HSD_JObj *arg_jobj) |
| Effect * | efLib_8005C2BC (u32 arg0, HSD_GObj *arg_gobj, HSD_JObj *arg_jobj) |
| Effect * | efLib_8005C3DC (u32 arg0, HSD_GObj *arg_gobj, HSD_JObj *arg_jobj) |
| Effect * | efLib_8005C5C4 (u32 arg0, HSD_GObj *arg_gobj, HSD_JObj *arg_jobj) |
| #pragma dont_inline on | |
| Effect * | efLib_8005C6F4 (u32 arg0, HSD_GObj *arg_gobj, void *unused_arg) |
| Effect * | efLib_8005C814 (u32 arg0, HSD_GObj *arg_gobj, Vec3 *arg_vec3) |
| #pragma dont_inline reset | |
| void | fn_8005C904 (HSD_GObj *gobj, int arg1) |
| void | efLib_8005C9A4 (HSD_GObj *gobj) |
| void | fn_8005C9D0 (HSD_GObj *gobj) |
| HSD_Generator * | efLib_8005C9FC (s32 arg0, Vec3 *arg_vec3) |
| /* 05C9FC / Effect efLib_8005C9FC(); | |
| HSD_Generator * | efLib_8005CAB0 (s32 arg0) |
| /* 05C9FC / Effect efLib_8005C9FC(u32, Vec3*, f32, Vec3*, ...); | |
| HSD_Generator * | efLib_8005CB34 (s32 arg0, Vec3 *arg_vec3, f32 arg2) |
| HSD_Generator * | efLib_8005CC2C (s32 arg0, HSD_JObj *jobj) |
| HSD_Generator * | efLib_8005C_inline (s32 arg0, HSD_JObj *jobj) |
| HSD_Generator * | efLib_8005CC84 (s32 arg0, HSD_JObj *jobj) |
| /* 05CC84 / HSD_Generator efLib_8005CC84(u32, HSD_JObj*, ...); | |
| HSD_Generator * | efLib_8005CD2C (s32 arg0, void *vlist, HSD_GObj *arg_gobj) |
| HSD_Generator * | efLib_8005CE48 (s32 arg0, void *vlist) |
| HSD_Generator * | efLib_8005CF40 (s32 arg0, void *vlist) |
| HSD_Generator * | efLib_8005D044 (s32 arg0, void *vlist) |
| HSD_JObj * | efLib_8005D174_inner_inline1 (HSD_JObj *jobj_1) |
| HSD_psAppSRT * | efLib_8005D174_inner_inline2 (HSD_Generator *generator_1) |
| void | efLib_8005D174_inline1 (HSD_Generator *generator_1) |
| void | efLib_8005D174 (int arg0, s32 arg1, HSD_JObj *arg_jobj, s32 arg3) |
| Sorry for the mess!! The inlines were made for convenience of splitting up the inner chunks, not by trying to mimic original inlining Likely need to be remade to match how inlines were actually written For more work/alternatives for this function that may be helpful, see https://decomp.me/scratch/VjlDJ. | |
| void | fn_8005DB20 (s32 arg0, s32 arg1, s32 arg2, HSD_JObj *arg3) |
| void | fn_8005DB70 (int arg0, int lo, int hi, HSD_JObj *jobj) |
| void | efLib_8005DBC0 (HSD_Particle *particle) |
| void | efLib_8005DDB8 (Effect *effect) |
| void fn_8005DCD0(void* arg0) { s8* temp_r6; | |
| void | efLib_8005DE94 (Effect *effect) |
| void | efLib_8005E090 (Effect *effect) |
| void | efLib_8005E1D8 (Effect *effect) |
| void | efLib_8005E2B4 (Effect *effect) |
| void | efLib_8005E3A0 (Effect *arg_effect) |
| void | efLib_8005E648 (Effect *arg_effect) |
| void | efLib_8005E950 (Effect *arg_effect) |
| void | efLib_8005EB70 (Effect *arg_effect) |
| void | efLib_8005EBC8 (Effect *arg_effect) |
| void | efLib_8005EDDC (Effect *arg_effect) |
| void | efLib_8005F08C (Effect *arg_effect) |
| void | efLib_8005F270 (Effect *arg_effect) |
| void | efLib_8005F454 (Effect *arg_effect) |
| void | efLib_8005F748 (Effect *arg_effect) |
| void | efLib_8005F774 (HSD_JObj *arg_jobj, s32 arg1, u32 arg2, u32 arg3) |
| void | efLib_8005F864 (HSD_GObj *gobj, s8 arg1, f32 arg2, f32 arg3) |
| void | efLib_8005F990 (HSD_GObj *gobj, s32 arg1) |
| void | efLib_8005FAB8 (Effect *arg_effect) |
| void | fn_8005FBE4 (Effect *arg_effect) |
| Effect * | efLib_8005FCD8 (int arg0, HSD_GObj *gobj, HSD_JObj *jobj, Vec3 *vec) |
Variables | |
| struct _struct_efAsync_803C025C_0xC | efAsync_803C025C [51] |
| static s8 efLib_803BF7A0[0x18] = "Duplicate Free %08X\n"; static s8 efLib_803BF7B8[0x4C] = "can't remove no force effect!\n\0\0error
no parent gobj!\n\0\0Over Anime Call\n"; static s8 efLib_803BF804[0xA] = "translate"; static s8 efLib_803BF81C[0x2C] = "!(jobj->flags &
JOBJ_USE_QUATERNION)"; | |
| HSD_ObjAllocData | Effect_AllocData |
| struct _struct_efLib_80458EE0_0x8 | efLib_80458EE0 [16] |
| static struct struct_efLib_80458F60_0x8 | efLib_80458F60 [8] |
| static s8 | efLib_804D39A0 [8] = "eflib.c" |
| static s8 | efLib_804D39A8 = 0x30 |
| static s8 | efLib_804D39AC [8] = "jobj.h" |
| static s8 | efLib_804D39B4 [8] = "jobj" |
| static s8 | efLib_804D39BC [0xC] = "scale" |
| u32 | efLib_804D64E8 |
| u32 | efLib_804D64EC |
| s32 | efLib_804D64F0 |
| void efLib_8005B4B8 | ( | void | ) |
| void efLib_8005B780 | ( | HSD_GObj * | gobj | ) |
| void efLib_DestroyAll | ( | HSD_GObj * | arg_gobj | ) |
| void efLib_PauseAll | ( | HSD_GObj * | arg_gobj | ) |
| void efLib_ResumeAll | ( | HSD_GObj * | arg_gobj | ) |
| void Effect_RemoveUserData | ( | void * | effect | ) |
| void efLib_8005BBB4 | ( | u32 | arg1, |
| f32 | arg8 | ||
| ) |
| void fn_8005BC50 | ( | HSD_GObj * | gobj | ) |
#pragma dont_inline on
#pragma dont_inline reset
| void fn_8005C904 | ( | HSD_GObj * | gobj, |
| int | arg1 | ||
| ) |
| void efLib_8005C9A4 | ( | HSD_GObj * | gobj | ) |
| void fn_8005C9D0 | ( | HSD_GObj * | gobj | ) |
| HSD_Generator * efLib_8005C9FC | ( | s32 | arg0, |
| Vec3 * | arg_vec3 | ||
| ) |
/* 05C9FC / Effect efLib_8005C9FC();
| HSD_Generator * efLib_8005CAB0 | ( | s32 | arg0 | ) |
/* 05C9FC / Effect efLib_8005C9FC(u32, Vec3*, f32, Vec3*, ...);
| HSD_Generator * efLib_8005CB34 | ( | s32 | arg0, |
| Vec3 * | arg_vec3, | ||
| f32 | arg2 | ||
| ) |
| HSD_Generator * efLib_8005CC2C | ( | s32 | arg0, |
| HSD_JObj * | jobj | ||
| ) |
|
inline |
| HSD_Generator * efLib_8005CC84 | ( | s32 | arg0, |
| HSD_JObj * | jobj | ||
| ) |
/* 05CC84 / HSD_Generator efLib_8005CC84(u32, HSD_JObj*, ...);
| HSD_Generator * efLib_8005CD2C | ( | s32 | arg0, |
| void * | vlist, | ||
| HSD_GObj * | arg_gobj | ||
| ) |
| HSD_Generator * efLib_8005CE48 | ( | s32 | arg0, |
| void * | vlist | ||
| ) |
| HSD_Generator * efLib_8005CF40 | ( | s32 | arg0, |
| void * | vlist | ||
| ) |
| HSD_Generator * efLib_8005D044 | ( | s32 | arg0, |
| void * | vlist | ||
| ) |
|
inline |
|
inline |
Sorry for the mess!! The inlines were made for convenience of splitting up the inner chunks, not by trying to mimic original inlining Likely need to be remade to match how inlines were actually written For more work/alternatives for this function that may be helpful, see https://decomp.me/scratch/VjlDJ.
| void fn_8005DB70 | ( | int | arg0, |
| int | lo, | ||
| int | hi, | ||
| HSD_JObj * | jobj | ||
| ) |
| void efLib_8005DBC0 | ( | HSD_Particle * | particle | ) |
| void efLib_8005DDB8 | ( | Effect * | effect | ) |
void fn_8005DCD0(void* arg0) { s8* temp_r6;
temp_r6 = "Duplicate Free %08X\n"; if ((u32) arg0->unk20 == (u32) (ptclref->unk258 + 0x3C)) { hsd_8039D1E4(arg0, (s32) (temp_r6 + 0x70)); } if ((u32) arg0->unk20 == (u32) (ptclref->unk25C + 0x3C)) { hsd_8039D1E4(arg0, (s32) (temp_r6 + 0x70)); } if ((u32) arg0->unk20 == (u32) (ptclref->unk260 + 0x3C)) { hsd_8039D1E4(arg0, (s32) (temp_r6 + 0x70)); } if ((u32) arg0->unk20 == (u32) (ptclref->unk86C + 0x3C)) { hsd_8039D1E4(arg0, (s32) (temp_r6 + 0x70)); } }
| void efLib_8005DE94 | ( | Effect * | effect | ) |
| void efLib_8005E090 | ( | Effect * | effect | ) |
| void efLib_8005E1D8 | ( | Effect * | effect | ) |
| void efLib_8005E2B4 | ( | Effect * | effect | ) |
| void efLib_8005E3A0 | ( | Effect * | arg_effect | ) |
| void efLib_8005E648 | ( | Effect * | arg_effect | ) |
| void efLib_8005E950 | ( | Effect * | arg_effect | ) |
| void efLib_8005EB70 | ( | Effect * | arg_effect | ) |
| void efLib_8005EBC8 | ( | Effect * | arg_effect | ) |
| void efLib_8005EDDC | ( | Effect * | arg_effect | ) |
| void efLib_8005F08C | ( | Effect * | arg_effect | ) |
| void efLib_8005F270 | ( | Effect * | arg_effect | ) |
| void efLib_8005F454 | ( | Effect * | arg_effect | ) |
| void efLib_8005F748 | ( | Effect * | arg_effect | ) |
| void efLib_8005FAB8 | ( | Effect * | arg_effect | ) |
| void fn_8005FBE4 | ( | Effect * | arg_effect | ) |
|
extern |
static s8 efLib_803BF7A0[0x18] = "Duplicate Free %08X\n"; static s8 efLib_803BF7B8[0x4C] = "can't remove no force effect!\n\0\0error no parent gobj!\n\0\0Over Anime Call\n"; static s8 efLib_803BF804[0xA] = "translate"; static s8 efLib_803BF81C[0x2C] = "!(jobj->flags & JOBJ_USE_QUATERNION)";
| HSD_ObjAllocData Effect_AllocData |
| struct _struct_efLib_80458EE0_0x8 efLib_80458EE0[16] |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
| u32 efLib_804D64E8 |
| u32 efLib_804D64EC |
| s32 efLib_804D64F0 |