mirror of https://github.com/zeldaret/oot.git
57 lines
1.8 KiB
C
57 lines
1.8 KiB
C
#ifndef _Z64EFFECT_H_
|
|
#define _Z64EFFECT_H_
|
|
#include <color.h>
|
|
|
|
typedef struct {
|
|
/* 0x00 */ Vec3f velocity;
|
|
/* 0x0C */ Vec3f position;
|
|
/* 0x18 */ Vec3s unk_18;
|
|
/* 0x1E */ Vec3s unk_1E;
|
|
} EffSparkParticle; // size = 0x24
|
|
|
|
typedef struct {
|
|
/* 0x000 */ Vec3s position;
|
|
/* 0x008 */ s32 numParticles; // Will be calculated as particleFactor1 * particleFactor2 + 2
|
|
/* 0x00C */ EffSparkParticle particles[32];
|
|
/* 0x48C */ f32 velocity;
|
|
/* 0x490 */ f32 gravity;
|
|
/* 0x494 */ u32 particleFactor1;
|
|
/* 0x498 */ u32 particleFactor2;
|
|
/* 0x49C */ Color_RGBA8 colorStart[4];
|
|
/* 0x4AC */ Color_RGBA8 colorEnd[4];
|
|
/* 0x4BC */ s32 age;
|
|
/* 0x4C0 */ s32 duration;
|
|
} EffSparkParams; // size = 0x4C4
|
|
|
|
// gz has trail related structs but they seem to be different in dbg
|
|
typedef struct {
|
|
/* 0x0000 */ char unk_00[0x184];
|
|
/* 0x0184 */ Color_RGBA8 p1Start;
|
|
/* 0x0188 */ Color_RGBA8 p2Start;
|
|
/* 0x018C */ Color_RGBA8 p1End;
|
|
/* 0x0190 */ Color_RGBA8 p2End;
|
|
/* 0x0194 */ u32 unk_194; // these are proably bytes
|
|
/* 0x0198 */ u32 unk_198;
|
|
/* 0x019C */ u32 unk_19C;
|
|
/* 0x01A0 */
|
|
} TrailEffect; // size = unk
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 numParticles;
|
|
/* 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 acceleration;
|
|
/* 0x24 */ f32 maxInitialSpeed;
|
|
/* 0x28 */ f32 lengthCutoff;
|
|
/* 0x2C */ u8 duration;
|
|
/* 0x2E */ LightInfoPositionalParams lightParams;
|
|
/* 0x3C */ s32 hasLight;
|
|
} EffShieldParticleInit; // size = 0x40
|
|
|
|
#endif
|