SSBM Decomp
Loading...
Searching...
No Matches
efasync.c File Reference
#include "efasync.h"
#include <math.h>
#include <stdarg.h>
#include "efdata.h"
#include "eflib.h"
#include "efsync.h"
#include "types.h"
#include <melee/cm/camera.h>
#include <melee/lb/lb_00B0.h>
#include <melee/lb/lbarchive.h>
#include <melee/lb/lbdvd.h>
#include <sysdolphin/baselib/generator.h>
#include <sysdolphin/baselib/gobj.h>
#include <sysdolphin/baselib/gobjproc.h>
#include <sysdolphin/baselib/particle.h>
#include <sysdolphin/baselib/psstructs.h>
#include <sysdolphin/baselib/random.h>

Functions

static HSD_JObjefAsync_GetEffectJObj (EF_Effect *effect)
static void efAsync_SetEffectRotationZFromPtr (EF_Effect *effect, const f32 *rotation)
static void efAsync_SetEffectRandomRotationZ (EF_Effect *effect)
static void efAsync_SetEffectScaleXYZ (EF_Effect *effect, f32 scale)
static void efAsync_SetEffectScale (EF_Effect *effect, Vec3 *scale)
static void efAsync_SetEffectFacingDir (EF_Effect *effect, f32 facing_dir)
void * efAsync_Dispatch (s32 gfx_id, HSD_GObj *gobj, va_list vlist)
void efAsync_LoadAsync (int index)
void efAsync_OnLoad (HSD_Archive *archive, u8 *data, u32 length, int index)
void efAsync_LoadSync (int idx)
void efAsync_QueueProcessDeferred (HSD_GObj *gobj, EF_QueuedEffect *queued_effect)
void efAsync_QueueFlush (HSD_GObj *gobj, void *arg_struct)
void efAsync_QueueClear (void *arg_struct)
void efAsync_Spawn (HSD_GObj *gobj, void *queue_head, u32 spawn_kind, u32 gfx_id, HSD_JObj *jobj,...)
void efAsync_QueueInit (void)

Variables

HSD_ObjAllocData efAsync_AllocData
static char efAsync_803BFD68 [] = "EfCoData.dat"
static char efAsync_803BFD78 [] = "effCommonDataTable"
static char efAsync_803BFD8C [] = "EfMrData.dat"
static char efAsync_803BFD9C [] = "effMarioDataTable"
static char efAsync_803BFDB0 [] = "EfSsData.dat"
static char efAsync_803BFDC0 [] = "effSamusDataTable"
static char efAsync_803BFDD4 [] = "EfFxData.dat"
static char efAsync_803BFDE4 [] = "effFoxDataTable"
static char efAsync_803BFDF4 [] = "EfCaData.dat"
static char efAsync_803BFE04 [] = "effCaptainDataTable"
static char efAsync_803BFE18 [] = "EfKbData.dat"
static char efAsync_803BFE28 [] = "effKirbyDataTable"
static char efAsync_803BFE3C [] = "EfLkData.dat"
static char efAsync_803BFE4C [] = "effLinkDataTable"
static char efAsync_803BFE60 [] = "EfPkData.dat"
static char efAsync_803BFE70 [] = "effPikachuDataTable"
static char efAsync_803BFE84 [] = "EfDkData.dat"
static char efAsync_803BFE94 [] = "effDonkeyDataTable"
static char efAsync_803BFEA8 [] = "EfYsData.dat"
static char efAsync_803BFEB8 [] = "effYoshiDataTable"
static char efAsync_803BFECC [] = "EfNsData.dat"
static char efAsync_803BFEDC [] = "effNessDataTable"
static char efAsync_803BFEF0 [] = "EfPrData.dat"
static char efAsync_803BFF00 [] = "effPurinDataTable"
static char efAsync_803BFF14 [] = "EfKpData.dat"
static char efAsync_803BFF24 [] = "effKoopaDataTable"
static char efAsync_803BFF38 [] = "EfMtData.dat"
static char efAsync_803BFF48 [] = "effMewtwoDataTable"
static char efAsync_803BFF5C [] = "EfIcData.dat"
static char efAsync_803BFF6C [] = "effIceclimberDataTable"
static char efAsync_803BFF84 [] = "EfPeData.dat"
static char efAsync_803BFF94 [] = "effPeachDataTable"
static char efAsync_803BFFA8 [] = "EfMsData.dat"
static char efAsync_803BFFB8 [] = "effMarsDataTable"
static char efAsync_803BFFCC [] = "EfZdData.dat"
static char efAsync_803BFFDC [] = "effZeldaDataTable"
static char efAsync_803BFFF0 [] = "EfLgData.dat"
static char efAsync_803C0000 [] = "effLuigiDataTable"
static char efAsync_803C0014 [] = "EfGnData.dat"
static char efAsync_803C0024 [] = "effGanonDataTable"
static char efAsync_803C0038 [] = "EfKbMs.dat"
static char efAsync_803C0044 [] = "effKirbyMarsDataTable"
static char efAsync_803C005C [] = "EfKbZd.dat"
static char efAsync_803C0068 [] = "effKirbyZeldaDataTable"
static char efAsync_803C0080 [] = "EfMnData.dat"
static char efAsync_803C0090 [] = "effMenuDataTable"
static char efAsync_803C00A4 [] = "EfKbMr.dat"
static char efAsync_803C00B0 [] = "effKirbyMarioDataTable"
static char efAsync_803C00C8 [] = "EfKbFx.dat"
static char efAsync_803C00D4 [] = "effKirbyFoxDataTable"
static char efAsync_803C00EC [] = "EfKbSs.dat"
static char efAsync_803C00F8 [] = "effKirbySamusDataTable"
static char efAsync_803C0110 [] = "EfKbPk.dat"
static char efAsync_803C011C [] = "effKirbyPikachuDataTable"
static char efAsync_803C0138 [] = "EfKbLg.dat"
static char efAsync_803C0144 [] = "effKirbyLuigiDataTable"
static char efAsync_803C015C [] = "EfKbCa.dat"
static char efAsync_803C0168 [] = "effKirbyCaptainDataTable"
static char efAsync_803C0184 [] = "EfKbDk.dat"
static char efAsync_803C0190 [] = "effKirbyDonkeyDataTable"
static char efAsync_803C01A8 [] = "EfKbKp.dat"
static char efAsync_803C01B4 [] = "effKirbyKoopaDataTable"
static char efAsync_803C01CC [] = "EfKbIc.dat"
static char efAsync_803C01D8 [] = "effKirbyIceDataTable"
static char efAsync_803C01F0 [] = "EfKbGn.dat"
static char efAsync_803C01FC [] = "effKirbyGanonDataTable"
static char efAsync_803C0214 [] = "EfKbFe.dat"
static char efAsync_803C0220 [] = "effKirbyEmblemDataTable"
static char efAsync_803C0238 [] = "EfFeData.dat"
static char efAsync_803C0248 [] = "effEmblemDataTable"
EF_DAT_Entry efAsync_DatEntries [51]

Function Documentation

◆ efAsync_GetEffectJObj()

HSD_JObj * efAsync_GetEffectJObj ( EF_Effect * effect)
inlinestatic

◆ efAsync_SetEffectRotationZFromPtr()

void efAsync_SetEffectRotationZFromPtr ( EF_Effect * effect,
const f32 * rotation )
inlinestatic

◆ efAsync_SetEffectRandomRotationZ()

void efAsync_SetEffectRandomRotationZ ( EF_Effect * effect)
inlinestatic

◆ efAsync_SetEffectScaleXYZ()

void efAsync_SetEffectScaleXYZ ( EF_Effect * effect,
f32 scale )
inlinestatic

◆ efAsync_SetEffectScale()

void efAsync_SetEffectScale ( EF_Effect * effect,
Vec3 * scale )
inlinestatic

◆ efAsync_SetEffectFacingDir()

void efAsync_SetEffectFacingDir ( EF_Effect * effect,
f32 facing_dir )
inlinestatic

◆ efAsync_Dispatch()

void * efAsync_Dispatch ( s32 gfx_id,
HSD_GObj * gobj,
va_list vlist )

◆ efAsync_LoadAsync()

void efAsync_LoadAsync ( int index)

◆ efAsync_OnLoad()

void efAsync_OnLoad ( HSD_Archive * archive,
u8 * data,
u32 length,
int index )

◆ efAsync_LoadSync()

void efAsync_LoadSync ( int idx)

◆ efAsync_QueueProcessDeferred()

void efAsync_QueueProcessDeferred ( HSD_GObj * gobj,
EF_QueuedEffect * queued_effect )

◆ efAsync_QueueFlush()

void efAsync_QueueFlush ( HSD_GObj * gobj,
void * arg_struct )

◆ efAsync_QueueClear()

void efAsync_QueueClear ( void * arg_struct)

◆ efAsync_Spawn()

void efAsync_Spawn ( HSD_GObj * gobj,
void * queue_head,
u32 spawn_kind,
u32 gfx_id,
HSD_JObj * jobj,
... )

◆ efAsync_QueueInit()

void efAsync_QueueInit ( void )

Variable Documentation

◆ efAsync_AllocData

HSD_ObjAllocData efAsync_AllocData

◆ efAsync_803BFD68

char efAsync_803BFD68[] = "EfCoData.dat"
static

◆ efAsync_803BFD78

char efAsync_803BFD78[] = "effCommonDataTable"
static

◆ efAsync_803BFD8C

char efAsync_803BFD8C[] = "EfMrData.dat"
static

◆ efAsync_803BFD9C

char efAsync_803BFD9C[] = "effMarioDataTable"
static

◆ efAsync_803BFDB0

char efAsync_803BFDB0[] = "EfSsData.dat"
static

◆ efAsync_803BFDC0

char efAsync_803BFDC0[] = "effSamusDataTable"
static

◆ efAsync_803BFDD4

char efAsync_803BFDD4[] = "EfFxData.dat"
static

◆ efAsync_803BFDE4

char efAsync_803BFDE4[] = "effFoxDataTable"
static

◆ efAsync_803BFDF4

char efAsync_803BFDF4[] = "EfCaData.dat"
static

◆ efAsync_803BFE04

char efAsync_803BFE04[] = "effCaptainDataTable"
static

◆ efAsync_803BFE18

char efAsync_803BFE18[] = "EfKbData.dat"
static

◆ efAsync_803BFE28

char efAsync_803BFE28[] = "effKirbyDataTable"
static

◆ efAsync_803BFE3C

char efAsync_803BFE3C[] = "EfLkData.dat"
static

◆ efAsync_803BFE4C

char efAsync_803BFE4C[] = "effLinkDataTable"
static

◆ efAsync_803BFE60

char efAsync_803BFE60[] = "EfPkData.dat"
static

◆ efAsync_803BFE70

char efAsync_803BFE70[] = "effPikachuDataTable"
static

◆ efAsync_803BFE84

char efAsync_803BFE84[] = "EfDkData.dat"
static

◆ efAsync_803BFE94

char efAsync_803BFE94[] = "effDonkeyDataTable"
static

◆ efAsync_803BFEA8

char efAsync_803BFEA8[] = "EfYsData.dat"
static

◆ efAsync_803BFEB8

char efAsync_803BFEB8[] = "effYoshiDataTable"
static

◆ efAsync_803BFECC

char efAsync_803BFECC[] = "EfNsData.dat"
static

◆ efAsync_803BFEDC

char efAsync_803BFEDC[] = "effNessDataTable"
static

◆ efAsync_803BFEF0

char efAsync_803BFEF0[] = "EfPrData.dat"
static

◆ efAsync_803BFF00

char efAsync_803BFF00[] = "effPurinDataTable"
static

◆ efAsync_803BFF14

char efAsync_803BFF14[] = "EfKpData.dat"
static

◆ efAsync_803BFF24

char efAsync_803BFF24[] = "effKoopaDataTable"
static

◆ efAsync_803BFF38

char efAsync_803BFF38[] = "EfMtData.dat"
static

◆ efAsync_803BFF48

char efAsync_803BFF48[] = "effMewtwoDataTable"
static

◆ efAsync_803BFF5C

char efAsync_803BFF5C[] = "EfIcData.dat"
static

◆ efAsync_803BFF6C

char efAsync_803BFF6C[] = "effIceclimberDataTable"
static

◆ efAsync_803BFF84

char efAsync_803BFF84[] = "EfPeData.dat"
static

◆ efAsync_803BFF94

char efAsync_803BFF94[] = "effPeachDataTable"
static

◆ efAsync_803BFFA8

char efAsync_803BFFA8[] = "EfMsData.dat"
static

◆ efAsync_803BFFB8

char efAsync_803BFFB8[] = "effMarsDataTable"
static

◆ efAsync_803BFFCC

char efAsync_803BFFCC[] = "EfZdData.dat"
static

◆ efAsync_803BFFDC

char efAsync_803BFFDC[] = "effZeldaDataTable"
static

◆ efAsync_803BFFF0

char efAsync_803BFFF0[] = "EfLgData.dat"
static

◆ efAsync_803C0000

char efAsync_803C0000[] = "effLuigiDataTable"
static

◆ efAsync_803C0014

char efAsync_803C0014[] = "EfGnData.dat"
static

◆ efAsync_803C0024

char efAsync_803C0024[] = "effGanonDataTable"
static

◆ efAsync_803C0038

char efAsync_803C0038[] = "EfKbMs.dat"
static

◆ efAsync_803C0044

char efAsync_803C0044[] = "effKirbyMarsDataTable"
static

◆ efAsync_803C005C

char efAsync_803C005C[] = "EfKbZd.dat"
static

◆ efAsync_803C0068

char efAsync_803C0068[] = "effKirbyZeldaDataTable"
static

◆ efAsync_803C0080

char efAsync_803C0080[] = "EfMnData.dat"
static

◆ efAsync_803C0090

char efAsync_803C0090[] = "effMenuDataTable"
static

◆ efAsync_803C00A4

char efAsync_803C00A4[] = "EfKbMr.dat"
static

◆ efAsync_803C00B0

char efAsync_803C00B0[] = "effKirbyMarioDataTable"
static

◆ efAsync_803C00C8

char efAsync_803C00C8[] = "EfKbFx.dat"
static

◆ efAsync_803C00D4

char efAsync_803C00D4[] = "effKirbyFoxDataTable"
static

◆ efAsync_803C00EC

char efAsync_803C00EC[] = "EfKbSs.dat"
static

◆ efAsync_803C00F8

char efAsync_803C00F8[] = "effKirbySamusDataTable"
static

◆ efAsync_803C0110

char efAsync_803C0110[] = "EfKbPk.dat"
static

◆ efAsync_803C011C

char efAsync_803C011C[] = "effKirbyPikachuDataTable"
static

◆ efAsync_803C0138

char efAsync_803C0138[] = "EfKbLg.dat"
static

◆ efAsync_803C0144

char efAsync_803C0144[] = "effKirbyLuigiDataTable"
static

◆ efAsync_803C015C

char efAsync_803C015C[] = "EfKbCa.dat"
static

◆ efAsync_803C0168

char efAsync_803C0168[] = "effKirbyCaptainDataTable"
static

◆ efAsync_803C0184

char efAsync_803C0184[] = "EfKbDk.dat"
static

◆ efAsync_803C0190

char efAsync_803C0190[] = "effKirbyDonkeyDataTable"
static

◆ efAsync_803C01A8

char efAsync_803C01A8[] = "EfKbKp.dat"
static

◆ efAsync_803C01B4

char efAsync_803C01B4[] = "effKirbyKoopaDataTable"
static

◆ efAsync_803C01CC

char efAsync_803C01CC[] = "EfKbIc.dat"
static

◆ efAsync_803C01D8

char efAsync_803C01D8[] = "effKirbyIceDataTable"
static

◆ efAsync_803C01F0

char efAsync_803C01F0[] = "EfKbGn.dat"
static

◆ efAsync_803C01FC

char efAsync_803C01FC[] = "effKirbyGanonDataTable"
static

◆ efAsync_803C0214

char efAsync_803C0214[] = "EfKbFe.dat"
static

◆ efAsync_803C0220

char efAsync_803C0220[] = "effKirbyEmblemDataTable"
static

◆ efAsync_803C0238

char efAsync_803C0238[] = "EfFeData.dat"
static

◆ efAsync_803C0248

char efAsync_803C0248[] = "effEmblemDataTable"
static

◆ efAsync_DatEntries

EF_DAT_Entry efAsync_DatEntries[51]