diff options
| author | fig02 <fig02srl@gmail.com> | 2025-06-04 14:38:33 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-04 14:38:33 -0400 |
| commit | 28cc9d68cfe4a037eb232d5465b84a943539bca3 (patch) | |
| tree | 4001d36dccb035576f3cbf17cf9a548cdc9c5b3f /include/effect.h | |
| parent | e8b708a4480e568f409c8e53986c2e96595b9405 (diff) | |
Remove "z64" prefix from all headers (#2518)
* z64 - a
* z64 - b
* z64 - c
* z64 - d
* z64 - e
* z64 - f
* z64 - g
* z64 - h
* z64 - i
* z64 - l
* z64 - m
* z64 - o
* z64 - p
* z64 - q
* z64 - r
* z64 - s
* z64 - t
* z64 - v
* restore file
* fix merge
* fix merge
---------
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
Diffstat (limited to 'include/effect.h')
| -rw-r--r-- | include/effect.h | 443 |
1 files changed, 443 insertions, 0 deletions
diff --git a/include/effect.h b/include/effect.h new file mode 100644 index 000000000..060b6cd09 --- /dev/null +++ b/include/effect.h @@ -0,0 +1,443 @@ +#ifndef EFFECT_H +#define EFFECT_H + +#include "color.h" +#include "romfile.h" +#include "light.h" +#include "z_math.h" + +struct Actor; +struct GraphicsContext; +struct PlayState; + +/* Effects */ + +#define SPARK_COUNT 3 +#define BLURE_COUNT 25 +#define SHIELD_PARTICLE_COUNT 3 + +#define TOTAL_EFFECT_COUNT SPARK_COUNT + BLURE_COUNT + SHIELD_PARTICLE_COUNT + +typedef struct EffectStatus { + /* 0x00 */ u8 active; + /* 0x01 */ u8 unk_01; + /* 0x02 */ u8 unk_02; +} EffectStatus; // size = 0x03 + +typedef struct EffectSparkElement { + /* 0x00 */ Vec3f velocity; + /* 0x0C */ Vec3f position; + /* 0x18 */ Vec3s unkVelocity; + /* 0x1E */ Vec3s unkPosition; +} EffectSparkElement; // size = 0x24 + +typedef struct EffectSparkInit { + /* 0x000 */ Vec3s position; + /* 0x008 */ s32 numElements; // "table_size"; calculated as uDiv * vDiv + 2 + /* 0x00C */ EffectSparkElement elements[32]; + /* 0x48C */ f32 speed; + /* 0x490 */ f32 gravity; + /* 0x494 */ u32 uDiv; // "u_div" + /* 0x498 */ u32 vDiv; // "v_div" + /* 0x49C */ Color_RGBA8 colorStart[4]; + /* 0x4AC */ Color_RGBA8 colorEnd[4]; + /* 0x4BC */ s32 timer; + /* 0x4C0 */ s32 duration; +} EffectSparkInit; // size = 0x4C4 + +typedef struct EffectSpark { + /* 0x000 */ Vec3s position; + /* 0x008 */ s32 numElements; // "table_size"; calculated as uDiv * vDiv + 2 + /* 0x00C */ EffectSparkElement elements[32]; + /* 0x48C */ f32 speed; + /* 0x490 */ f32 gravity; + /* 0x494 */ u32 uDiv; // "u_div" + /* 0x498 */ u32 vDiv; // "v_div" + /* 0x49C */ Color_RGBA8 colorStart[4]; + /* 0x4AC */ Color_RGBA8 colorEnd[4]; + /* 0x4BC */ s32 timer; + /* 0x4C0 */ s32 duration; +} EffectSpark; // size = 0x4C4 + +typedef struct EffectBlureElement { + /* 0x00 */ s32 state; + /* 0x04 */ s32 timer; + /* 0x08 */ Vec3s p1; + /* 0x0E */ Vec3s p2; + /* 0x14 */ u16 flags; +} EffectBlureElement; // size = 0x18 + +typedef struct EffectBlureInit1 { + /* 0x000 */ char unk_00[0x184]; + /* 0x184 */ u8 p1StartColor[4]; + /* 0x188 */ u8 p2StartColor[4]; + /* 0x18C */ u8 p1EndColor[4]; + /* 0x190 */ u8 p2EndColor[4]; + /* 0x194 */ s32 elemDuration; + /* 0x198 */ s32 unkFlag; + /* 0x19C */ s32 calcMode; +} EffectBlureInit1; // size = 0x1A0 + +typedef struct EffectBlureInit2 { + /* 0x00 */ s32 calcMode; + /* 0x04 */ u16 flags; + /* 0x06 */ s16 addAngleChange; + /* 0x08 */ u8 p1StartColor[4]; + /* 0x0C */ u8 p2StartColor[4]; + /* 0x10 */ u8 p1EndColor[4]; + /* 0x14 */ u8 p2EndColor[4]; + /* 0x18 */ u8 elemDuration; + /* 0x19 */ u8 unkFlag; + /* 0x1A */ u8 drawMode; // 0: simple; 1: simple with alt colors; 2+: smooth + /* 0x1B */ u8 mode4Param; + /* 0x1C */ Color_RGBA8 altPrimColor; // used with drawMode 1 + /* 0x20 */ Color_RGBA8 altEnvColor; // used with drawMode 1 +} EffectBlureInit2; // size = 0x24 + +typedef struct EffectBlure { + /* 0x000 */ EffectBlureElement elements[16]; + /* 0x180 */ s32 calcMode; + /* 0x184 */ f32 mode4Param; + /* 0x188 */ u16 flags; + /* 0x18A */ s16 addAngleChange; + /* 0x18C */ s16 addAngle; + /* 0x18E */ u8 p1StartColor[4]; + /* 0x192 */ u8 p2StartColor[4]; + /* 0x196 */ u8 p1EndColor[4]; + /* 0x19A */ u8 p2EndColor[4]; + /* 0x19E */ u8 numElements; // "now_edge_num" + /* 0x19F */ u8 elemDuration; + /* 0x1A0 */ u8 unkFlag; + /* 0x1A1 */ u8 drawMode; // 0: simple; 1: simple with alt colors; 2+: smooth + /* 0x1A2 */ Color_RGBA8 altPrimColor; // used with drawMode 1 + /* 0x1A6 */ Color_RGBA8 altEnvColor; // used with drawMode 1 +} EffectBlure; // size = 0x1AC + +typedef struct EffectShieldParticleElement { + /* 0x00 */ f32 initialSpeed; + /* 0x04 */ f32 endXChange; + /* 0x08 */ f32 endX; + /* 0x0C */ f32 startXChange; + /* 0x10 */ f32 startX; + /* 0x14 */ s16 yaw; + /* 0x16 */ s16 pitch; +} EffectShieldParticleElement; // size = 0x18 + +typedef struct EffectShieldParticleInit { + /* 0x00 */ u8 numElements; + /* 0x02 */ Vec3s position; + /* 0x08 */ Color_RGBA8 primColorStart; + /* 0x0C */ Color_RGBA8 envColorStart; + /* 0x10 */ Color_RGBA8 primColorMid; + /* 0x14 */ Color_RGBA8 envColorMid; + /* 0x18 */ Color_RGBA8 primColorEnd; + /* 0x1C */ Color_RGBA8 envColorEnd; + /* 0x20 */ f32 deceleration; + /* 0x24 */ f32 maxInitialSpeed; + /* 0x28 */ f32 lengthCutoff; + /* 0x2C */ u8 duration; + /* 0x2E */ LightPoint lightPoint; + /* 0x3C */ s32 lightDecay; // halves light radius every frame when set to 1 +} EffectShieldParticleInit; // size = 0x40 + +typedef struct EffectShieldParticle { + /* 0x000 */ EffectShieldParticleElement elements[16]; + /* 0x180 */ u8 numElements; + /* 0x182 */ Vec3s position; + /* 0x188 */ Color_RGBA8 primColorStart; + /* 0x18C */ Color_RGBA8 envColorStart; + /* 0x190 */ Color_RGBA8 primColorMid; + /* 0x194 */ Color_RGBA8 envColorMid; + /* 0x198 */ Color_RGBA8 primColorEnd; + /* 0x19C */ Color_RGBA8 envColorEnd; + /* 0x1A0 */ f32 deceleration; + /* 0x1A4 */ char unk_1A4[0x04]; + /* 0x1A8 */ f32 maxInitialSpeed; + /* 0x1AC */ f32 lengthCutoff; + /* 0x1B0 */ u8 duration; + /* 0x1B1 */ u8 timer; + /* 0x1B2 */ LightInfo lightInfo; + /* 0x1C0 */ LightNode* lightNode; + /* 0x1C4 */ s32 lightDecay; // halves light radius every frame when set to 1 +} EffectShieldParticle; // size = 0x1C8 + +typedef struct EffectContext { + /* 0x0000 */ struct PlayState* play; + struct { + EffectStatus status; + EffectSpark effect; + } /* 0x0004 */ sparks[SPARK_COUNT]; + struct { + EffectStatus status; + EffectBlure effect; + } /* 0x0E5C */ blures[BLURE_COUNT]; + struct { + EffectStatus status; + EffectShieldParticle effect; + } /* 0x388C */ shieldParticles[SHIELD_PARTICLE_COUNT]; +} EffectContext; // size = 0x3DF0 + +typedef struct EffectInfo { + /* 0x00 */ u32 size; + /* 0x04 */ void (*init)(void* effect, void* initParams); + /* 0x08 */ void (*destroy)(void* effect); + /* 0x0C */ s32 (*update)(void* effect); + /* 0x10 */ void (*draw)(void* effect, struct GraphicsContext* gfxCtx); +} EffectInfo; // size = 0x14 + +typedef enum EffectType { + /* 0x00 */ EFFECT_SPARK, + /* 0x01 */ EFFECT_BLURE1, + /* 0x02 */ EFFECT_BLURE2, + /* 0x03 */ EFFECT_SHIELD_PARTICLE +} EffectType; + +/* Effect Soft Sprites */ + +struct EffectSs; + +typedef u32 (*EffectSsInitFunc)(struct PlayState* play, u32 index, struct EffectSs* effectSs, void* initParams); +typedef void (*EffectSsUpdateFunc)(struct PlayState* play, u32 index, struct EffectSs* effectSs); +typedef void (*EffectSsDrawFunc)(struct PlayState* play, u32 index, struct EffectSs* effectSs); + +typedef struct EffectSsProfile { + /* 0x00 */ u32 type; + /* 0x04 */ EffectSsInitFunc init; +} EffectSsProfile; // size = 0x08 + +typedef struct EffectSsOverlay { + /* 0x00 */ RomFile file; + /* 0x08 */ void* vramStart; + /* 0x0C */ void* vramEnd; + /* 0x10 */ void* loadedRamAddr; + /* 0x14 */ EffectSsProfile* profile; + /* 0x18 */ u8 unk_18; +} EffectSsOverlay; // size = 0x1C + +typedef struct EffectSs { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ EffectSsUpdateFunc update; + /* 0x28 */ EffectSsDrawFunc draw; + /* 0x2C */ Vec3f vec; // usage specific per effect + /* 0x38 */ void* gfx; // mostly used for display lists, sometimes textures + /* 0x3C */ struct Actor* actor; // interfacing actor, usually the actor that spawned the effect + /* 0x40 */ s16 regs[13]; // specific per effect + /* 0x5A */ u16 flags; + /* 0x5C */ s16 life; // -1 means this entry is free + /* 0x5E */ u8 priority; // Lower value means higher priority + /* 0x5F */ u8 type; +} EffectSs; // size = 0x60 + +typedef struct EffectSsInfo { + /* 0x00 */ EffectSs* table; // "data_table" + /* 0x04 */ s32 searchStartIndex; + /* 0x08 */ s32 tableSize; +} EffectSsInfo; // size = 0x0C + +/* G Effect Regs */ + +#define rgTexIdx regs[0] +#define rgScale regs[1] +#define rgTexIdxStep regs[2] +#define rgPrimColorR regs[3] +#define rgPrimColorG regs[4] +#define rgPrimColorB regs[5] +#define rgPrimColorA regs[6] +#define rgEnvColorR regs[7] +#define rgEnvColorG regs[8] +#define rgEnvColorB regs[9] +#define rgEnvColorA regs[10] +#define rgObjectSlot regs[11] + +#define DEFINE_EFFECT_SS(_0, enum) enum, +#define DEFINE_EFFECT_SS_UNSET(enum) enum, + +typedef enum EffectSsType { + #include "tables/effect_ss_table.h" + /* 0x25 */ EFFECT_SS_TYPE_MAX // originally "EFFECT_SS2_TYPE_LAST_LABEL" +} EffectSsType; + +#undef DEFINE_EFFECT_SS +#undef DEFINE_EFFECT_SS_UNSET + +extern EffectSsOverlay gEffectSsOverlayTable[EFFECT_SS_TYPE_MAX]; + +void EffectBlure_AddVertex(EffectBlure* this, Vec3f* p1, Vec3f* p2); +void EffectBlure_AddSpace(EffectBlure* this); +void EffectBlure_Init1(void* thisx, void* initParamsx); +void EffectBlure_Init2(void* thisx, void* initParamsx); +void EffectBlure_Destroy(void* thisx); +s32 EffectBlure_Update(void* thisx); +void EffectBlure_Draw(void* thisx, struct GraphicsContext* gfxCtx); +void EffectShieldParticle_Init(void* thisx, void* initParamsx); +void EffectShieldParticle_Destroy(void* thisx); +s32 EffectShieldParticle_Update(void* thisx); +void EffectShieldParticle_Draw(void* thisx, struct GraphicsContext* gfxCtx); +void EffectSpark_Init(void* thisx, void* initParamsx); +void EffectSpark_Destroy(void* thisx); +s32 EffectSpark_Update(void* thisx); +void EffectSpark_Draw(void* thisx, struct GraphicsContext* gfxCtx); +void func_80026230(struct PlayState* play, Color_RGBA8* color, s16 arg2, s16 arg3); +void func_80026400(struct PlayState* play, Color_RGBA8* color, s16 arg2, s16 arg3); +void func_80026608(struct PlayState* play); +void func_80026690(struct PlayState* play, Color_RGBA8* color, s16 arg2, s16 arg3); +void func_80026860(struct PlayState* play, Color_RGBA8* color, s16 arg2, s16 arg3); +void func_80026A6C(struct PlayState* play); +struct PlayState* Effect_GetPlayState(void); +void* Effect_GetByIndex(s32 index); +void Effect_InitContext(struct PlayState* play); +void Effect_Add(struct PlayState* play, s32* pIndex, s32 type, u8 arg3, u8 arg4, void* initParams); +void Effect_DrawAll(struct GraphicsContext* gfxCtx); +void Effect_UpdateAll(struct PlayState* play); +void Effect_Delete(struct PlayState* play, s32 index); +void Effect_DeleteAll(struct PlayState* play); +void EffectSs_InitInfo(struct PlayState* play, s32 tableSize); +void EffectSs_ClearAll(struct PlayState* play); +void EffectSs_Delete(EffectSs* effectSs); +void EffectSs_Reset(EffectSs* effectSs); +void EffectSs_Insert(struct PlayState* play, EffectSs* effectSs); +void EffectSs_Spawn(struct PlayState* play, s32 type, s32 priority, void* initParams); +void EffectSs_UpdateAll(struct PlayState* play); +void EffectSs_DrawAll(struct PlayState* play); +s16 EffectSs_LerpInv(s16 a, s16 b, s32 weightInv); +s16 EffectSs_LerpS16(s16 a, s16 b, f32 weight); +u8 EffectSs_LerpU8(u8 a, u8 b, f32 weight); +void EffectSs_DrawGEffect(struct PlayState* play, EffectSs* this, void* texture); +void EffectSsDust_Spawn(struct PlayState* play, u16 drawFlags, Vec3f* pos, Vec3f* velocity, Vec3f* accel, + Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 life, + u8 updateMode); +void func_8002829C(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, + Color_RGBA8* envColor, s16 scale, s16 scaleStep); +void func_80028304(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, + Color_RGBA8* envColor, s16 scale, s16 scaleStep); +void func_8002836C(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, + Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 life); +void func_800283D4(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, + Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 life); +void func_8002843C(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, + Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 life); +void func_800284A4(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, + Color_RGBA8* envColor, s16 scale, s16 scaleStep); +void func_80028510(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, + Color_RGBA8* envColor, s16 scale, s16 scaleStep); +void func_8002857C(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel); +void func_800285EC(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel); +void func_8002865C(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep); +void func_800286CC(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep); +void func_8002873C(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep, + s16 life); +void func_800287AC(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep, + s16 life); +void func_8002881C(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, + Color_RGBA8* envColor); +void func_80028858(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, + Color_RGBA8* envColor); +void func_80028990(struct PlayState* play, f32 randScale, Vec3f* srcPos); +void func_80028A54(struct PlayState* play, f32 randScale, Vec3f* srcPos); +void EffectSsKiraKira_SpawnSmallYellow(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel); +void EffectSsKiraKira_SpawnSmall(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, + Color_RGBA8* primColor, Color_RGBA8* envColor); +void EffectSsKiraKira_SpawnDispersed(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, + Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s32 life); +void EffectSsKiraKira_SpawnFocused(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, + Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s32 life); +void EffectSsBomb_Spawn(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel); +void EffectSsBomb2_SpawnFade(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel); +void EffectSsBomb2_SpawnLayered(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, + s16 scaleStep); +void EffectSsBlast_Spawn(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* innerColor, + Color_RGBA8* outerColor, s16 scale, s16 scaleStep, s16 scaleStepDecay, s16 life); +void EffectSsBlast_SpawnWhiteShockwaveSetScale(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, + s16 scale, s16 scaleStep, s16 life); +void EffectSsBlast_SpawnShockwaveSetColor(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, + Color_RGBA8* innerColor, Color_RGBA8* outerColor, s16 life); +void EffectSsBlast_SpawnWhiteShockwave(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel); +void EffectSsGSpk_SpawnAccel(struct PlayState* play, struct Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel, + Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 scaleStep); +void EffectSsGSpk_SpawnNoAccel(struct PlayState* play, struct Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel, + Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 scaleStep); +void EffectSsGSpk_SpawnFuse(struct PlayState* play, struct Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel); +void EffectSsGSpk_SpawnRandColor(struct PlayState* play, struct Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel, + s16 scale, s16 scaleStep); +void EffectSsGSpk_SpawnSmall(struct PlayState* play, struct Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel, + Color_RGBA8* primColor, Color_RGBA8* envColor); +void EffectSsDFire_Spawn(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep, + s16 alpha, s16 fadeDelay, s32 life); +void EffectSsDFire_SpawnFixedScale(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 alpha, + s16 fadeDelay); +void EffectSsBubble_Spawn(struct PlayState* play, Vec3f* pos, f32 yPosOffset, f32 yPosRandScale, f32 xzPosRandScale, + f32 scale); +void EffectSsGRipple_Spawn(struct PlayState* play, Vec3f* pos, s16 radius, s16 radiusMax, s16 life); +void EffectSsGSplash_Spawn(struct PlayState* play, Vec3f* pos, Color_RGBA8* primColor, Color_RGBA8* envColor, s16 type, + s16 scale); +void EffectSsGMagma_Spawn(struct PlayState* play, Vec3f* pos); +void EffectSsGFire_Spawn(struct PlayState* play, Vec3f* pos); +void EffectSsLightning_Spawn(struct PlayState* play, Vec3f* pos, Color_RGBA8* primColor, Color_RGBA8* envColor, + s16 scale, s16 yaw, s16 life, s16 numBolts); +void EffectSsDtBubble_SpawnColorProfile(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, + s16 life, s16 colorProfile, s16 randXZ); +void EffectSsDtBubble_SpawnCustomColor(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, + Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 life, s16 randXZ); +void EffectSsHahen_Spawn(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 unused, s16 scale, + s16 objId, s16 life, Gfx* dList); +void EffectSsHahen_SpawnBurst(struct PlayState* play, Vec3f* pos, f32 burstScale, s16 unused, s16 scale, + s16 randScaleRange, s16 count, s16 objId, s16 life, Gfx* dList); +void EffectSsStick_Spawn(struct PlayState* play, Vec3f* pos, s16 yaw); +void EffectSsSibuki_Spawn(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 moveDelay, + s16 direction, s16 scale); +void EffectSsSibuki_SpawnBurst(struct PlayState* play, Vec3f* pos); +void EffectSsSibuki2_Spawn(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale); +void EffectSsGMagma2_Spawn(struct PlayState* play, Vec3f* pos, Color_RGBA8* primColor, Color_RGBA8* envColor, + s16 updateRate, s16 drawMode, s16 scale); +void EffectSsStone1_Spawn(struct PlayState* play, Vec3f* pos, s32 arg2); +void EffectSsHitMark_Spawn(struct PlayState* play, s32 type, s16 scale, Vec3f* pos); +void EffectSsHitMark_SpawnFixedScale(struct PlayState* play, s32 type, Vec3f* pos); +void EffectSsHitMark_SpawnCustomScale(struct PlayState* play, s32 type, s16 scale, Vec3f* pos); +void EffectSsFhgFlash_SpawnLightBall(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, + u8 param); +void EffectSsFhgFlash_SpawnShock(struct PlayState* play, struct Actor* actor, Vec3f* pos, s16 scale, u8 param); +void EffectSsKFire_Spawn(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scaleMax, u8 type); +void EffectSsSolderSrchBall_Spawn(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 unused, + s16* linkDetected); +void EffectSsKakera_Spawn(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* arg3, s16 gravity, s16 arg5, + s16 arg6, s16 arg7, s16 arg8, s16 scale, s16 arg10, s16 arg11, s32 life, s16 colorIdx, + s16 objId, Gfx* dList); +void EffectSsIcePiece_Spawn(struct PlayState* play, Vec3f* pos, f32 scale, Vec3f* velocity, Vec3f* accel, s32 life); +void EffectSsIcePiece_SpawnBurst(struct PlayState* play, Vec3f* refPos, f32 scale); +void EffectSsEnIce_SpawnFlyingVec3f(struct PlayState* play, struct Actor* actor, Vec3f* pos, s16 primR, s16 primG, + s16 primB, s16 primA, s16 envR, s16 envG, s16 envB, f32 scale); +void EffectSsEnIce_SpawnFlyingVec3s(struct PlayState* play, struct Actor* actor, Vec3s* pos, s16 primR, s16 primG, + s16 primB, s16 primA, s16 envR, s16 envG, s16 envB, f32 scale); +void EffectSsEnIce_Spawn(struct PlayState* play, Vec3f* pos, f32 scale, Vec3f* velocity, Vec3f* accel, + Color_RGBA8* primColor, Color_RGBA8* envColor, s32 life); +void EffectSsFireTail_Spawn(struct PlayState* play, struct Actor* actor, Vec3f* pos, f32 scale, Vec3f* arg4, s16 arg5, + Color_RGBA8* primColor, Color_RGBA8* envColor, s16 type, s16 bodyPart, s32 life); +void EffectSsFireTail_SpawnFlame(struct PlayState* play, struct Actor* actor, Vec3f* pos, f32 arg3, s16 bodyPart, + f32 colorIntensity); +void EffectSsFireTail_SpawnFlameOnPlayer(struct PlayState* play, f32 scale, s16 bodyPart, f32 colorIntensity); +void EffectSsEnFire_SpawnVec3f(struct PlayState* play, struct Actor* actor, Vec3f* pos, s16 scale, s16 arg4, s16 flags, + s16 bodyPart); +void EffectSsEnFire_SpawnVec3s(struct PlayState* play, struct Actor* actor, Vec3s* pos, s16 scale, s16 arg4, s16 flags, + s16 bodyPart); +void EffectSsExtra_Spawn(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scoreIdx); +void EffectSsFCircle_Spawn(struct PlayState* play, struct Actor* actor, Vec3f* pos, s16 radius, s16 height); +void EffectSsDeadDb_Spawn(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep, + s16 primR, s16 primG, s16 primB, s16 primA, s16 envR, s16 envG, s16 envB, s16 unused, + s32 arg14, s16 playSfx); +void EffectSsDeadDd_Spawn(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep, + s16 primR, s16 primG, s16 primB, s16 alpha, s16 envR, s16 envG, s16 envB, s16 alphaStep, + s32 life); +void EffectSsDeadDd_SpawnRandYellow(struct PlayState* play, Vec3f* pos, s16 scale, s16 scaleStep, f32 randPosScale, + s32 randIter, s32 life); +void EffectSsDeadDs_Spawn(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep, + s16 alpha, s32 life); +void EffectSsDeadDs_SpawnStationary(struct PlayState* play, Vec3f* pos, s16 scale, s16 scaleStep, s16 alpha, s32 life); +void EffectSsDeadSound_Spawn(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, u16 sfxId, + s16 lowerPriority, s16 repeatMode, s32 life); +void EffectSsDeadSound_SpawnStationary(struct PlayState* play, Vec3f* pos, u16 sfxId, s16 lowerPriority, s16 repeatMode, + s32 life); +void EffectSsIceSmoke_Spawn(struct PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale); + +#endif |
