Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
effects.h File Reference

Go to the source code of this file.

Data Structures

struct  BigSmokePuffFXData
 
struct  LandingDustFXData
 
struct  WalkingDustFXData
 
struct  FlowerFXData
 
struct  CloudPuffFXData
 
struct  CloudTrailFXData
 
struct  FootprintFXData
 
struct  FloatingFlowerFXData
 
struct  SnowflakeFXData
 
struct  StarFXData
 
struct  EmoteFXData
 
struct  SparklesFXData
 
struct  ShapeSpellFXData
 
struct  GatherEnergyPinkFXData
 
struct  DropLeavesFXData
 
struct  DustFXData
 
struct  ShatteringStonesFXData
 
struct  SmokeRingFXData
 
struct  DamageStarsFXData
 
struct  ExplosionFXData
 
struct  LensFlareFXData
 
struct  GotItemOutlineFXData
 
struct  SpikyWhiteAuraFXData
 
struct  SmokeImpactFXData
 
struct  DamageIndicatorFXData
 
struct  PurpleRingFXData
 
struct  FlameFXData
 
struct  StarsBurstFXData
 
struct  StarsShimmerFXData
 
struct  RisingBubbleFXData
 
struct  RingBlastFXData
 
struct  ShockwaveFXData
 
struct  MusicNoteFXData
 
struct  SmokeBurstFXData
 
struct  SweatFXData
 
struct  SleepBubbleFXData
 
struct  WindyLeavesFXData
 
struct  FallingLeavesFXData
 
struct  StarsSpreadFXData
 
struct  SteamBurstFXData
 
struct  StarsOrbitingFXData
 
struct  BigSnowflakesFXData
 
struct  DebuffFXData
 
struct  GreenImpactFXData
 
struct  RadialShimmerFXData
 
struct  EndingDecalsFXData
 
struct  LightRaysFXData
 
struct  LightningFXData
 
struct  FireBreathFXData
 
struct  ShimmerBurstFXData
 
struct  EnergyShockwaveFXData
 
struct  ShimmerWaveFXData
 
struct  AuraFXData
 
struct  BulbGlowFXData
 
struct  Effect3DFXData
 
struct  BlastFXData
 
struct  FireFlowerFXData
 
struct  RecoverFXData
 
struct  DisableXFXData
 
struct  BombetteBreakingFXData
 
struct  FireworkFXData
 
struct  ConfettiFXData
 
struct  SnowfallFXData
 
struct  SpinFXData
 
struct  GatherMagicFXData
 
struct  AttackResultTextFXData
 
struct  SmallGoldSparkleFXData
 
struct  ShockOverlayFXData
 
struct  BalloonFXData
 
struct  FloatingRockFXData
 
struct  ChompDropFXData
 
struct  QuizmoStageFXData
 
struct  RadiatingEnergyOrbFXData
 
struct  MotionBlurFlameFXData
 
struct  EnergyOrbWaveFXData
 
struct  MerlinHouseStarsFXData
 
struct  QuizmoAudienceFXData
 
struct  ButterfliesFXData
 
struct  StatChangeFXData
 
struct  SnakingStaticFXData
 
struct  ThunderboltRingFXData
 
struct  SquirtFXData
 
struct  WaterBlockFXData
 
struct  WaterfallFXData
 
struct  WaterFountainFXData
 
struct  UnderwaterFXData
 
struct  LightningBoltFXData
 
struct  WaterSplashFXData
 
struct  SnowmanDollFXData
 
struct  FrightJarFXData
 
struct  StopWatchFXData
 
struct  Effect63FXData
 
struct  ThrowSpinyFXData
 
struct  Effect65FXData
 
struct  TubbaHeartAttackFXData
 
struct  WhirlwindFXData
 
struct  RedImpactFXData
 
struct  FloatingCloudPuffFXData
 
struct  EnergyInOutFXData
 
struct  Effect6BFXData
 
struct  TattleWindowFXData
 
struct  ShinyFlareFXData
 
struct  HuffPuffBreathFXData
 
struct  ColdBreathFXData
 
struct  EmbersFXData
 
struct  HieroglyphsFXData
 
struct  MiscParticlesFXData
 
struct  StaticStatusFXData
 
struct  MovingCloudFXData
 
struct  Effect75FXData
 
struct  FireworkRocketFXData
 
struct  PeachStarBeamSpirit
 
struct  PeachStarBeamFXData
 
struct  ChapterChangeFXData
 
struct  IceShardFXData
 
struct  SpiritCardFXData
 
struct  LilOinkFXData
 
struct  SomethingRotatingFXData
 
struct  BreakingJunkFXData
 
struct  BuffData
 
struct  PartnerBuffFXData
 
struct  QuizmoAssistantFXData
 
struct  IcePillarFXData
 
struct  SunFXData
 
struct  StarSpiritsEnergyFXData
 
struct  PinkSparklesFXData
 
struct  StarOutlineFXData
 
struct  Effect86FXData
 
union  EffectData
 
struct  EffectInstance
 
struct  WattEffectData
 
struct  StarSpiritData
 
struct  EffectBlueprint
 
struct  EffectGraphics
 
struct  EffectTableEntry
 

Macros

#define UNK_ARRAY_SIZE_1   4
 
#define MAX_QUIZMO_AUDIENCE   10
 
#define NUM_WATER_BLOCK_COMPONENTS   4
 
#define TUBBA_MINI_HEART_COUNT   25
 
#define MAX_WHIRLWIND_SEGMENTS   8
 
#define ROCKET_BUF_SIZE   4
 
#define MAX_LIL_OINKS   11
 

Enumerations

enum  StarFXTypes { FX_STAR_BACKGROUND = 0 , FX_STAR_FOREGROUND = 1 , FX_STAR_LARGE_BOUNCING = 2 , FX_STAR_SMALL_BOUNCING = 3 }
 
enum  SparkesFXTypes {
  FX_SPARKLES_0 = 0 , FX_SPARKLES_1 = 1 , FX_SPARKLES_2 = 2 , FX_SPARKLES_3 = 3 ,
  FX_SPARKLES_4 = 4
}
 
enum  DamageStarsFXTypes {
  FX_DAMAGE_STARS_0 = 0 , FX_DAMAGE_STARS_1 = 1 , FX_DAMAGE_STARS_2 = 2 , FX_DAMAGE_STARS_3 = 3 ,
  FX_DAMAGE_STARS_4 = 4
}
 
enum  FlameFXTypes { FX_FLAME_BLUE = 0 , FX_FLAME_RED = 1 , FX_FLAME_SMALL_BLUE = 2 , FX_FLAME_PINK = 3 }
 
enum  AuraFXTypes { FX_AURA_CAPTURE = 0 , FX_AURA_RED = 1 , FX_AURA_BLUE = 2 , FX_AURA_GOLD = 3 }
 
enum  ShockOverlayFXTypes { FX_SHOCK_OVERLAY_SHOCK_HIT = 0 , FX_SHOCK_OVERLAY_LIGHTNING_WORLD = 1 , FX_SHOCK_OVERLAY_MEGA_SHOCK = 2 , FX_SHOCK_OVERLAY_LIGHTNING_BATTLE = 3 }
 
enum  WaterBlockFXTypes { FX_WATER_BLOCK_CREATE = 0 , FX_WATER_BLOCK_DESTROY = 1 }
 
enum  HeartSwarmFXTypes { FX_HEART_SWARM_HIT = 0 , FX_HEART_SWARM_MISS = 1 }
 
enum  LilOinkFlags { LIL_OINK_FLAG_VISIBLE = 1 , LIL_OINK_FLAG_ANIM_CHANGED = 2 }
 
enum  LilOinkTypes {
  LIL_OINK_TYPE_BLACK = 0 , LIL_OINK_TYPE_WHITE = 1 , LIL_OINK_TYPE_PINK = 2 , LIL_OINK_TYPE_PIKACHU = 3 ,
  LIL_OINK_TYPE_SHROOM = 4 , LIL_OINK_TYPE_FLOWER = 5 , LIL_OINK_TYPE_STAR = 6 , LIL_OINK_TYPE_QUESTION = 7 ,
  LIL_OINK_TYPE_SILVER = 8 , LIL_OINK_TYPE_GOLD = 9
}
 
enum  LilOinkAnims {
  LIL_OINK_ANIM_0 = 0 , LIL_OINK_ANIM_1 = 1 , LIL_OINK_ANIM_2 = 2 , LIL_OINK_ANIM_3 = 3 ,
  LIL_OINK_ANIM_4 = 4 , LIL_OINK_ANIM_5 = 5
}
 
enum  { FX_BUFF_DATA_WATER_BLOCK = 0 , FX_BUFF_DATA_CLOUD_NINE = 1 , FX_BUFF_DATA_TURBO_CHARGE = 2 }
 
enum  { FX_SUN_FROM_LEFT = 0 , FX_SUN_FROM_RIGHT = 1 }
 
enum  FireBreathType { FIRE_BREATH_LARGE = 0 , FIRE_BREATH_SMALL = 1 , FIRE_BREATH_TINY = 2 }
 

Functions

EffectInstancecreate_effect_instance (EffectBlueprint *effectBp)
 
void remove_effect (EffectInstance *)
 
s32 load_effect (s32 effectIndex)
 

Data Structure Documentation

◆ BigSmokePuffFXData

struct BigSmokePuffFXData
Data Fields
s16 unk_00
s16 unk_02
s16 unk_04
s16 unk_06
s32 unk_08
f32 x
f32 y
f32 z
f32 partX
f32 partY
f32 unk_20
f32 unk_24
char unk_28[0x4]

◆ LandingDustFXData

struct LandingDustFXData
Data Fields
u16 type
char unk_02[0x2]
f32 x
f32 y
f32 z
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
f32 unk_28
f32 unk_2C
f32 unk_30
f32 unk_34
s32 unk_38
s32 unk_3C
s32 unk_40

◆ WalkingDustFXData

struct WalkingDustFXData
Data Fields
s32 unk_00
u16 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
char unk_14[0x44]
f32 unk_58
f32 unk_5C
f32 unk_60
f32 unk_64
f32 unk_68
s32 unk_6C
s32 unk_70
s32 unk_74

◆ FlowerFXData

struct FlowerFXData
Data Fields
s32 alive
u16 triggeredByNpc
s16 timeLeft
u8 primAlpha
s8 useAltColor
char unk_0A[0x2]
Vec3f pos
Vec3f scale
Vec3f rot
Mtx transformMtx
f32 velScaleA
f32 velScaleB
f32 visibilityAmt
f32 unk_7C
f32 integrator[4]
VecXZf vel

◆ CloudPuffFXData

struct CloudPuffFXData
Data Fields
s32 alive
char unk_04[0x2]
s16 timeLeft
u8 alpha
char unk_09[0x3]
Vec3f pos
Vec3f scale
f32 rescaleX
f32 rescaleY
f32 rescalePhase
f32 radialVel
f32 velY
f32 accelY
f32 jerkY
s32 unk_40
f32 dirX
f32 dirZ

◆ CloudTrailFXData

struct CloudTrailFXData
Data Fields
s32 alive
u16 unk_04
s16 lifetime
u8 alpha
char unk_09[0x3]
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
f32 unk_28
f32 unk_2C
f32 unk_30
char unk_34[0x4]
f32 unk_38
f32 unk_3C
f32 unk_40
s32 unk_44
char unk_48[0x8]

◆ FootprintFXData

struct FootprintFXData
Data Fields
s32 alive
char unk_04[0x2]
s16 lifetime
u8 alpha
char unk_09[0x3]
Vec3f pos
Vec3f scale
Vec3f rot
Mtx mtx
s32 unk_70
char unk_74[0x8]
s32 unk_7C
s32 unk_80
s32 unk_84
char unk_88[0x8]
f32 unk_90
f32 unk_94

◆ FloatingFlowerFXData

struct FloatingFlowerFXData
Data Fields
s32 type
Vec3f pos
Vec3f vel
f32 accelY
f32 jerkY
Vec2f rot
Vec2f angularVel
s32 timeLeft
s32 lifetime
s32 unk_3C
s32 unk_40
s32 unk_44

◆ SnowflakeFXData

struct SnowflakeFXData
Data Fields
Vec3f pos
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
s32 unk_28

◆ StarFXData

struct StarFXData
Data Fields
b32 canBounce
Vec3f pos
Vec3f vel
f32 bounceTime
f32 trailAngle
f32 starAngle
f32 unk_28
f32 starAngleVel
s32 timeLeft
f32 projVel
s32 type
s32 trailMatrixPos
Mtx trailMatrices[8]
f32 scale
s32 primR
s32 primG
s32 primB

◆ EmoteFXData

struct EmoteFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
f32 unk_28
s32 unk_2C
s32 unk_30
s32 unk_34
s32 unk_38
Npc * unk_3C

◆ SparklesFXData

struct SparklesFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
s32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C

◆ ShapeSpellFXData

struct ShapeSpellFXData
Data Fields
b32 isChild
Vec3f pos
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
f32 unk_28
s32 unk_2C
s32 timeLeft
s32 unk_34

◆ GatherEnergyPinkFXData

struct GatherEnergyPinkFXData
Data Fields
s32 unk_00
Vec3f posA
Vec3f posB
f32 unk_1C
f32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
s32 unk_30
s32 unk_34
s32 unk_38
s32 unk_3C
s32 unk_40
s32 unk_44
s32 unk_48
s32 unk_4C
f32 unk_50
f32 unk_54
f32 unk_58
f32 unk_5C

◆ DropLeavesFXData

struct DropLeavesFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C

◆ DustFXData

struct DustFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
s32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
f32 unk_28
s32 unk_2C
s32 unk_30
s32 unk_34
s32 unk_38
s32 unk_3C
s32 unk_40
s32 unk_44

◆ ShatteringStonesFXData

struct ShatteringStonesFXData
Data Fields
f32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
s32 unk_20
s32 unk_24
s32 unk_28
f32 unk_2C
f32 unk_30
f32 unk_34
f32 unk_38
f32 unk_3C

◆ SmokeRingFXData

struct SmokeRingFXData
Data Fields
u16 unk_00
char unk_02[2]
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
s32 unk_28
s32 unk_2C
f32 unk_30
f32 unk_34
s32 unk_38
s32 unk_3C
s32 unk_40

◆ DamageStarsFXData

struct DamageStarsFXData
Data Fields
s32 type
Vec3f pos
Vec3f vel
f32 rollAngle
f32 rollAngleVel
s32 alpha
s32 timeLeft
s32 lifetime

◆ ExplosionFXData

struct ExplosionFXData
Data Fields
s32 unk_00
Vec3f pos
char unk_10[0x10]
f32 unk_20
f32 unk_24
f32 unk_28
f32 unk_2C
s32 unk_30
s32 unk_34
s32 unk_38

◆ LensFlareFXData

struct LensFlareFXData
Data Fields
s32 type
Vec3f pos
f32 largeFlareRot
f32 largeFlareRotVel
f32 largeFlareScale
f32 largeFlareScaleVel
f32 smallFlareScale
s32 largeFlareAlpha
s32 smallFlareAlpha
s32 timeLeft
s32 lifetime

◆ GotItemOutlineFXData

struct GotItemOutlineFXData
Data Fields
s32 type
Vec3f pos
s32 lifetime
s32 timeLeft
f32 scale
s32 alpha

◆ SpikyWhiteAuraFXData

struct SpikyWhiteAuraFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C

◆ SmokeImpactFXData

struct SmokeImpactFXData
Data Fields
u16 unk_00
char unk_02[2]
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
f32 unk_30

◆ DamageIndicatorFXData

struct DamageIndicatorFXData
Data Fields
s32 unk_00
Vec3f basePos
Vec3f curPos
Vec3f relPos
f32 radius
s32 alpha
s32 timeLeft
s32 lifetime
f32 scale
s32 damageAmt

◆ PurpleRingFXData

struct PurpleRingFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
Matrix4f unk_1C
f32 unk_5C
f32 unk_60
f32 unk_64
s32 unk_68
s32 unk_6C
s32 unk_70
u8 unk_74
u8 unk_75
u8 unk_76
u8 unk_77
u8 unk_78
u8 unk_79
char unk_7A[2]

◆ FlameFXData

struct FlameFXData
Data Fields
s32 type
Vec3f pos
f32 baseScale
f32 unk_14
s32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
f32 unk_28
f32 scaleH
f32 scaleW

◆ StarsBurstFXData

struct StarsBurstFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
char unk_1C[8]
f32 unk_24
f32 unk_28
s32 unk_2C
s32 unk_30
s32 unk_34

◆ StarsShimmerFXData

struct StarsShimmerFXData
Data Fields
s16 unk_00
s16 state
Vec3f pos
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
s32 lifeTime
s32 timeLeft
s32 unk_28

◆ RisingBubbleFXData

struct RisingBubbleFXData
Data Fields
s32 unk_00
Vec3f pos
f32 unk_10
s32 unk_14
s32 timeLeft
s32 lifeTime
s32 unk_20
f32 unk_24

◆ RingBlastFXData

struct RingBlastFXData
Data Fields
u16 unk_00
Vec3f pos
f32 unk_10
s32 timeLeft
s32 lifeTime
s32 unk_1C
f32 unk_20
f32 unk_24
f32 unk_28

◆ ShockwaveFXData

struct ShockwaveFXData
Data Fields
u16 unk_00
char unk_02[2]
Vec3f pos
f32 unk_10
f32 unk_14
s32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
s32 unk_28
s32 unk_2C
f32 unk_30
f32 unk_34
s32 alpha
f32 unk_3C
f32 unk_40
f32 unk_44
f32 unk_48
s32 unk_4C
Color_RGB8 prim
Color_RGB8 env
char unk_56[2]

◆ MusicNoteFXData

struct MusicNoteFXData
Data Fields
s32 type
Vec3f pos
f32 scale
s32 alpha
s32 timeLeft
s32 lifetime
s32 noteType
f32 velX
f32 velY
f32 finalVelX
f32 finalVelY

◆ SmokeBurstFXData

struct SmokeBurstFXData
Data Fields
u16 unk_00
Vec3f pos
f32 unk_10
s32 timeLeft
s32 lifeTime
s32 unk_1C
f32 unk_20
Color_RGBA8 rgba

◆ SweatFXData

struct SweatFXData
Data Fields
s32 unk_00
Vec3f pos
f32 unk_10
char unk_14[0x04]
f32 unk_18
f32 unk_1C
f32 unk_20
s32 timeLeft

◆ SleepBubbleFXData

struct SleepBubbleFXData
Data Fields
s32 unk_00
Vec3f pos
f32 unk_10
f32 unk_14
f32 unk_18
s32 timeLeft
s32 unk_20
Vec2f points[20]
f32 unk_C4
f32 unk_C8

◆ WindyLeavesFXData

struct WindyLeavesFXData
Data Fields
s32 type
Vec3f unk_04
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
s32 alpha
s32 unk_28
s32 unk_2C
f32 unk_30
f32 unk_34
f32 unk_38

◆ FallingLeavesFXData

struct FallingLeavesFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
char unk_30[4]

◆ StarsSpreadFXData

struct StarsSpreadFXData
Data Fields
s16 unk_00
char unk_02[2]
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
f32 unk_30

◆ SteamBurstFXData

struct SteamBurstFXData
Data Fields
u16 unk_00
char unk_02[2]
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
f32 unk_30

◆ StarsOrbitingFXData

struct StarsOrbitingFXData
Data Fields
s32 type
Vec3f pos
f32 orbitRadius
f32 targetRadius
f32 roll
f32 rollSpinRate
f32 pitch
s32 yaw
s32 enabled

◆ BigSnowflakesFXData

struct BigSnowflakesFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C

◆ DebuffFXData

struct DebuffFXData
Data Fields
s16 type
char unk_02[2]
Vec3f pos
f32 unk_10
f32 unk_14
f32 unk_18
f32 scaleY
f32 scaleX
s32 timeLeft
s32 lifetime
f32 rotZ
f32 unk_30
s32 alpha
Color_RGB8 primCol
Color_RGB8 envCol
char unk_3E[2]

◆ GreenImpactFXData

struct GreenImpactFXData
Data Fields
u16 unk_00
char unk_02[2]
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
s32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
s32 unk_28
s32 unk_2C
f32 unk_30
f32 unk_34
s32 unk_38
f32 unk_3C
f32 unk_40
f32 unk_44
f32 unk_48
s32 unk_4C
Color_RGB8 unk_50
Color_RGB8 unk_53
char unk_56[2]

◆ RadialShimmerFXData

struct RadialShimmerFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
s32 unk_24
s32 timeLeft
s32 lifeTime
f32 unk_30
f32 unk_34
f32 unk_38
f32 unk_3C
f32 unk_40
f32 unk_44
f32 unk_48
f32 unk_4C
f32 unk_50
f32 unk_54
f32 unk_58
f32 unk_5C
f32 unk_60
f32 unk_64
u8 unk_68
u8 unk_69
u8 unk_6A
u8 unk_6B
u8 unk_6C
u8 unk_6D
char unk_6E[2]

◆ EndingDecalsFXData

struct EndingDecalsFXData
Data Fields
s32 type
Vec3f pos
f32 scale
f32 unk_14
s32 haloAlpha
s32 unk_1C
s32 unk_20
u8 unk_24
u8 unk_25
u8 unk_26
u8 unk_27
u8 unk_28
u8 unk_29
char unk_2A[2]

◆ LightRaysFXData

struct LightRaysFXData
Data Fields
s32 type
char unk_04[0xC]
Vec3f pos
f32 unk_1C
f32 unk_20
s32 alpha
s32 timeLeft
s32 lifetime
char unk_30[4]
f32 unk_34
f32 unk_38
f32 unk_3C
f32 unk_40
char unk_44[4]
f32 unk_48
f32 unk_4C
f32 unk_50
f32 unk_54
f32 unk_58
Vec3f rot
f32 unk_68
f32 unk_6C
Vec3f initialRot
s32 unk_7C
f32 unk_80
f32 unk_84
f32 unk_88
f32 unk_8C
s32 unk_90

◆ LightningFXData

struct LightningFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
s32 unk_10
s32 unk_14
s32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
f32 unk_28
f32 unk_2C
f32 unk_30
f32 unk_34
f32 unk_38
s32 unk_3C
s32 unk_40
struct EffectInstance * unk_44
struct EffectInstance * unk_48

◆ FireBreathFXData

struct FireBreathFXData
Data Fields
s32 type
s32 numChildren
s32 spawnDelay
Vec3f pos
Vec3f initPos
Vec3f endPos
f32 initialScale
f32 targetScale
f32 scale
f32 scaleChangeRate
s32 alpha
s32 duration
s32 timeLeft
s32 lifetime
Vec3f offsetPos
f32 animTime
f32 velY
s32 primR
s32 primG
s32 primB
s32 envR
s32 envG
s32 envB

◆ ShimmerBurstFXData

struct ShimmerBurstFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
f32 unk_28
f32 unk_2C
s32 unk_30
f32 unk_34
s32 unk_38
s32 unk_3C
s32 unk_40
s32 unk_44
s32 unk_48
s32 unk_4C
s32 unk_50
s32 unk_54
s32 unk_58
s32 unk_5C
f32 unk_60
f32 unk_64
f32 unk_68

◆ EnergyShockwaveFXData

struct EnergyShockwaveFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
char unk_10[0xC]
f32 unk_1C
f32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
f32 unk_30
f32 unk_34
f32 unk_38
f32 unk_3C
f32 unk_40
f32 unk_44
f32 unk_48
f32 unk_4C
u8 unk_50
u8 unk_51
s8 unk_52
char unk_53[1]

◆ ShimmerWaveFXData

struct ShimmerWaveFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
f32 unk_28
f32 unk_2C
s32 unk_30
f32 unk_34
s32 unk_38
s32 unk_3C
s32 unk_40
s32 unk_44
s32 unk_48
s32 unk_4C
s32 unk_50
s32 unk_54
s32 unk_58
s32 unk_5C
f32 unk_60
f32 unk_64
f32 unk_68

◆ AuraFXData

struct AuraFXData
Data Fields
s32 type
Vec3f posA
Vec3f posB
Vec2f scale
f32 unk_24
s32 primA
s32 fadeTime
s32 lifeTime
f32 unk_34
f32 unk_38
f32 unk_3C
f32 unk_40
f32 unk_44
f32 unk_48
f32 unk_4C
f32 unk_50
f32 unk_54
f32 unk_58
f32 unk_5C
f32 unk_60
f32 renderYaw
u8 primR
u8 primG
u8 primB
u8 envR
u8 envG
u8 engB
u8 engA

◆ BulbGlowFXData

struct BulbGlowFXData
Data Fields
s32 type
Vec3f pos
s32 brightness
s32 timeLeft
s32 lifetime
s32 depthQueryID
s32 unk_20

◆ Effect3DFXData

struct Effect3DFXData
Data Fields
s32 unk_00
s32 unk_04
Vec3f pos
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
f32 unk_28
f32 unk_2C
f32 unk_30
f32 unk_34
f32 unk_38
f32 unk_3C
f32 unk_40
f32 unk_44
f32 unk_48
f32 unk_4C
f32 unk_50
f32 unk_54
s32 unk_58
s32 unk_5C
s32 unk_60
s32 unk_64

◆ BlastFXData

struct BlastFXData
Data Fields
s16 unk_00
Vec3f pos
f32 unk_10
s32 timeLeft
s32 unk_18
s32 unk_1C
f32 unk_20
f32 unk_24
f32 unk_28

◆ FireFlowerFXData

struct FireFlowerFXData
Data Fields
s32 unk_00
s32 unk_04
Vec3f pos
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
f32 unk_28
f32 unk_2C
f32 unk_30
s32 unk_34
s32 unk_38
s32 unk_3C
Vec3i unk_40

◆ RecoverFXData

struct RecoverFXData
Data Fields
s32 type
Vec3f pos
Vec3f vel
f32 angle
s32 unk_20
f32 offsetX
s32 alpha
s32 timeLeft
s32 lifetime
s32 unk_34
f32 scaleX
f32 scaleY
s32 unk_40
s32 unk_44

◆ DisableXFXData

struct DisableXFXData
Data Fields
s32 type
s32 unk_04
Vec3f pos
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
s32 alpha
s32 unk_28
s32 unk_2C
f32 unk_30
f32 scale
s32 unk_38
s32 koDuration
f32 unk_40
s32 unk_44

◆ BombetteBreakingFXData

struct BombetteBreakingFXData
Data Fields
s16 type
s16 treeIndex
f32 unk_04
Vec3f center
Vec3f unk_14
Vec3f unk_20
Vec3f unk_2C
f32 unk_38
f32 unk_3C
f32 unk_40
s32 timeLeft
s32 unk_48
s32 alpha

◆ FireworkFXData

struct FireworkFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
s32 unk_10
s32 unk_14
char unk_18[4]
f32 unk_1C
s32 unk_20
f32 unk_24
f32 unk_28
s32 unk_2C
s32 unk_30
s32 unk_34
f32 unk_38
u8 unk_3C
u8 unk_3D
u8 unk_3E
u8 unk_3F
u8 unk_40
u8 unk_41
char unk_42[2]

◆ ConfettiFXData

struct ConfettiFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
s32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
s32 unk_30

◆ SnowfallFXData

struct SnowfallFXData
Data Fields
s32 unk_00
s32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
s32 timeLeft
s32 lifeTime
s32 unk_28
s32 unk_2C
s32 unk_30

◆ SpinFXData

struct SpinFXData
Data Fields
s32 type
PlayerStatus * player
Vec3f pos
f32 scale
f32 initialScale
s32 alpha
s32 duration
s32 timeLeft
s32 lifetime
Vec3f rot
Vec3f rotVel
Color_RGB8 color
char unk_47

◆ GatherMagicFXData

struct GatherMagicFXData
Data Fields
s32 unk_00
s32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
s32 unk_14
s32 unk_18
s32 unk_1C
f32 unk_20
f32 unk_24
f32 unk_28
f32 unk_2C
s32 unk_30
s32 unk_34
s32 unk_38
s32 unk_3C
s32 unk_40
s32 unk_44

◆ AttackResultTextFXData

struct AttackResultTextFXData
Data Fields
s32 type
s32 unk_04
Vec3f pos
s32 alpha
s32 timeLeft
s32 lifetime
s32 unk_20
b32 isVisible
f32 scale
char unk_2C[0x4]
Vec2f vel

◆ SmallGoldSparkleFXData

struct SmallGoldSparkleFXData
Data Fields
s32 unk_00
s32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
s32 unk_14
s32 unk_18
f32 unk_1C
s32 unk_20

◆ ShockOverlayFXData

struct ShockOverlayFXData
Data Fields
s32 type
Vec3f pos
s32 unk_10
s32 unk_14
s32 unk_18
s32 timeLeft
s32 lifetime
f32 unk_24
f32 scaleX
f32 scaleY
Color3i primCol
Color3i envCol

◆ BalloonFXData

struct BalloonFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
s32 unk_1C
s32 unk_20

◆ FloatingRockFXData

struct FloatingRockFXData
Data Fields
s32 type
Vec3f pos
f32 floorY
Vec3f vel
f32 fallAccel
Vec3f rot
Vec3f rotVel
f32 scale
s32 unk_40
s32 alpha
s32 timeLeft
s32 lifetime

◆ ChompDropFXData

struct ChompDropFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
s32 unk_1C
s32 unk_20
f32 unk_24
f32 unk_28
s32 unk_2C
s32 unk_30
f32 unk_34
s32 unk_38
s32 unk_3C
s32 unk_40
s32 unk_44

◆ QuizmoStageFXData

struct QuizmoStageFXData
Data Fields
s32 unk_00
s32 vanishTimer
s32 lifetime
Vec3f origin
s32 microphoneRaiseAmt
s32 rearWallRaiseAmt
s32 leftWallRaiseAmt
s32 rightWallRaiseAmt
s32 podiumRaiseAmt
s32 lightScrollAmt
s32 lightScrollIncrement
s32 lightScrollDelay
s32 unkEffectMode
s32 unk_3C
char unk_40[0x04]

◆ RadiatingEnergyOrbFXData

struct RadiatingEnergyOrbFXData
Data Fields
char unk_00[4]
s32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
s32 unk_14
s32 unk_18
s32 unk_1C
f32 unk_20
char unk_24[4]
f32 unk_28
f32 unk_2C
f32 unk_30

◆ MotionBlurFlameFXData

struct MotionBlurFlameFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
Vec3f pos
f32 unk_1C[4]
f32 unk_2C[4]
f32 unk_3C[4]
s32 unk_4C
s32 unk_50
s32 unk_54
char unk_58[4]
s32 unk_5C
s32 unk_60
s32 unk_64

◆ EnergyOrbWaveFXData

struct EnergyOrbWaveFXData
Data Fields
s32 unk_00
Vec3f pos
s32 unk_10
s32 unk_14
s32 unk_18
s32 unk_1C
s32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
f32 scale
f32 unk_34

◆ MerlinHouseStarsFXData

struct MerlinHouseStarsFXData
Data Fields
s32 unk_00
s32 unk_04
s32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
s32 alpha
f32 unk_1C
f32 unk_20
f32 unk_24
f32 unk_28
f32 unk_2C
f32 unk_30
f32 unk_34
f32 unk_38

◆ QuizmoAudienceFXData

struct QuizmoAudienceFXData
Data Fields
s32 unk_00
s32 timeLeft
s32 lifeTime
Vec3f pos
s32 primColor
s32 compState[10]
s32 compType[10]
s32 compPosIdx[10]
f32 compMoveMagnitude[10]
f32 compX[10]
f32 compY[10]

◆ ButterfliesFXData

struct ButterfliesFXData
Data Fields
s32 unk_00
s32 unk_04
s32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
s32 unk_24
f32 unk_28
s32 unk_2C
s32 unk_30
f32 unk_34
f32 unk_38
f32 unk_3C
f32 unk_40
f32 unk_44

◆ StatChangeFXData

struct StatChangeFXData
Data Fields
s32 unk_00
Vec3f pos
f32 scale
s32 timeLeft
s32 unk_18
s32 arrowType
s32 arrowValue
s32 unk_24
f32 scaleX
f32 scaleY
f32 unk_30
f32 unk_34
f32 unk_38
f32 unk_3C
f32 unk_40

◆ SnakingStaticFXData

struct SnakingStaticFXData
Data Fields
s32 type
Vec3f pos
s32 timeLeft
s32 lifeTime
s32 unk_18
s32 unk_1C
s32 unk_20
s32 unk_24
Color3i envCol
f32 unk_34
f32 scale
f32 unk_3C
s32 unk_40

◆ ThunderboltRingFXData

struct ThunderboltRingFXData
Data Fields
s32 unk_00
Vec3f pos
s32 timeLeft
s32 lifeTime
s32 unk_18
s32 unk_1C
s32 unk_20
s32 unk_24
f32 unk_28
f32 unk_2C
s32 unk_30

◆ SquirtFXData

struct SquirtFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
s32 unk_28
s32 unk_2C
s32 unk_30
s32 unk_34
s32 unk_38
s32 unk_3C
s32 unk_40
s32 unk_44
s32 unk_48
s32 unk_4C
f32 unk_50
s32 unk_54
f32 unk_58[12]
f32 unk_88[12]
s32 unk_B8[12]
f32 unk_E8[12]
f32 unk_118[12]
f32 unk_148[12]
s32 unk_178[12]
s32 unk_1A8[12]
u8 unk_1D8[12]

◆ WaterBlockFXData

struct WaterBlockFXData
Data Fields
s32 type
Vec3f pos
s32 timeLeft
s32 lifetime
Color4i color
s32 alpha
f32 unk_2C
f32 unk_30
f32 unk_34
f32 unk_38[4]
f32 unk_48[4]
f32 unk_58[4]
f32 unk_68[4]
f32 unk_78[4]
s32 unk_88[4]

◆ WaterfallFXData

struct WaterfallFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
s32 unk_10
s32 unk_14
s32 unk_18
s32 unk_1C
s32 unk_20
s32 unk_24
f32 unk_28
f32 unk_2C[12]
f32 unk_5C[12]

◆ WaterFountainFXData

struct WaterFountainFXData
Data Fields
s32 unk_00
Vec3f pos
s32 timeLeft
s32 lifeTime
s32 unk_18
s32 unk_1C
s32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
s32 unk_30
f32 unk_34
f32 unk_38
f32 unk_3C
f32 unk_40

◆ UnderwaterFXData

struct UnderwaterFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
s32 timeLeft
s32 lifeTime
f32 unk_18
Color_RGBA8 waterColor
Color_RGB8 unk_20
s8 unk_23[19][13]
s16 unk_11A[19][13]

◆ LightningBoltFXData

struct LightningBoltFXData
Data Fields
s32 type
Vec3f tipPos
Vec3f startPos
Vec3f endPos
s32 timeLeft
s32 lifetime
Color4i outerColor
Color3i innerColor
f32 widthScale
f32 boltVertexPosX[12]
f32 boltVertexPosY[12]
f32 boltVertexPosZ[12]
f32 edgeLength[12]
s32 unk_110
f32 unk_114

◆ WaterSplashFXData

struct WaterSplashFXData
Data Fields
s32 unk_00
Vec3f unk_04
Vec3f unk_10
s32 unk_1C
s32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
s32 unk_30
f32 unk_34

◆ SnowmanDollFXData

struct SnowmanDollFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
s32 unk_10
s32 unk_14
s32 unk_18
s32 unk_1C
s32 unk_20
s32 unk_24
f32 unk_28
f32 unk_2C
f32 unk_30
f32 unk_34
f32 unk_38
f32 unk_3C
f32 unk_40
f32 unk_44
f32 unk_48
f32 unk_4C
f32 unk_50
s32 unk_54
s32 unk_58
s32 unk_5C

◆ FrightJarFXData

struct FrightJarFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
s32 unk_10
s32 unk_14
s32 unk_18
s32 unk_1C
s32 unk_20
s32 unk_24
f32 unk_28

◆ StopWatchFXData

struct StopWatchFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
s32 unk_10
s32 unk_14
s32 unk_18
s32 unk_1C
s32 unk_20
s32 unk_24
f32 unk_28
s32 unk_2C
f32 unk_30
f32 unk_34[10]
f32 unk_5C[10]
f32 unk_84[10]
f32 unk_AC[10]
f32 unk_D4[10]
f32 unk_FC[10]
s32 unk_124[10]
s32 unk_14C[10]

◆ Effect63FXData

struct Effect63FXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
s32 unk_1C
s32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
s32 unk_30
s32 unk_34
s32 unk_38
s32 unk_3C
s32 unk_40
s32 unk_44
f32 unk_48
f32 unk_4C
f32 unk_50
f32 unk_54
f32 unk_58
char unk_5C[4]
f32 unk_60
f32 unk_64
f32 unk_68
f32 unk_6C
f32 unk_70
f32 unk_74
f32 unk_78

◆ ThrowSpinyFXData

struct ThrowSpinyFXData
Data Fields
s32 unk_00
Vec3f pos
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
s32 life
s32 lifeDuration
s32 unk_30
s32 unk_34
s32 unk_38
s32 rgba
f32 unk_40
f32 unk_44
f32 gravity
f32 unk_4C
f32 yaw
f32 rotSpeed
f32 xScale
f32 yScale
u32 state
s32 unk_64
s32 timeUntilFall

◆ Effect65FXData

struct Effect65FXData
Data Fields
s32 variation
f32 unk_04
f32 unk_08
f32 unk_0C
s32 timeLeft
s32 lifeTime
s32 primR
s32 primG
s32 primB
s32 alpha
s32 envR
s32 envG
s32 envB
f32 scale
Vec3f pos
f32 pathJitterX
f32 pathJitterY
f32 pathJitterZ
f32 pathX[30]
f32 pathY[30]
f32 pathZ[30]
s32 pathTimestamp[30]
s32 pathPointEnabled[30]
s32 lastPointIndex
f32 pathLength[30]

◆ TubbaHeartAttackFXData

struct TubbaHeartAttackFXData
Data Fields
s32 type
f32 centerX
f32 centerY
f32 centerZ
s32 timeLeft
s32 lifetime
s32 primR
s32 primG
s32 primB
s32 primA
f32 overallScale
f32 posX[25]
f32 posY[25]
f32 posZ[25]
f32 initialX[25]
f32 initialY[25]
f32 initialZ[25]
f32 finalX[25]
f32 finalY[25]
f32 finalZ[25]
f32 scaleX[25]
f32 scaleY[25]
f32 rotZ[25]
f32 rotXY[25]
f32 shrinkVelX[25]
f32 shrinkVelY[25]
f32 shrinkVelZ[25]
s32 appearDelay[25]
s32 state[25]
s32 stateTime[25]

◆ WhirlwindFXData

struct WhirlwindFXData
Data Fields
s32 unk_00
Vec3f pos
s32 unk_10
s32 unk_14
s32 primR
s32 primG
s32 primB
s32 primAlpha
s32 envR
s32 envG
s32 envB
f32 unk_34
f32 unk_38[8]
f32 unk_58[8]
f32 unk_78[8]
f32 unk_98[8]
f32 unk_B8[8]
f32 unk_D8[8]
f32 unk_F8[8]
f32 unk_118[8]
f32 unk_138
f32 unk_13C
f32 unk_140

◆ RedImpactFXData

struct RedImpactFXData
Data Fields
u16 unk_00
char unk_02[2]
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
s32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
s32 unk_28
s32 unk_2C
f32 unk_30
f32 unk_34
s32 unk_38
f32 unk_3C
f32 unk_40
f32 unk_44
f32 unk_48
s32 unk_4C
Color_RGB8 unk_50
Color_RGB8 unk_53
char unk_56[2]

◆ FloatingCloudPuffFXData

struct FloatingCloudPuffFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
s32 unk_10
s32 unk_14
s32 unk_18
s32 unk_1C
s32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
s32 unk_30
f32 unk_34
f32 unk_38

◆ EnergyInOutFXData

struct EnergyInOutFXData
Data Fields
s32 unk_00
Vec3f pos
s32 unk_10
s32 unk_14
s32 unk_18
s32 unk_1C
s32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
s32 unk_30
f32 scale
f32 unk_38
f32 unk_3C
f32 unk_40
f32 unk_44

◆ Effect6BFXData

struct Effect6BFXData
Data Fields
s32 unk_00
Vec3f pos
char unk_10[12]
s32 unk_1C
s32 unk_20
char unk_24[8]
s32 unk_2C
s32 unk_30
f32 scale
f32 unk_38
s32 unk_3C
char unk_40[0x4]

◆ TattleWindowFXData

struct TattleWindowFXData
Data Fields
s32 type
Vec3f pos
s32 timeLeft
s32 unk_14
f32 unk_18
f32 scale
Vec3f rot
Vec2f offset
Vec2bu closeAmt

◆ ShinyFlareFXData

struct ShinyFlareFXData
Data Fields
s32 unk_00
Vec3f pos
s32 timeLeft
s32 lifeTime
s32 unk_18
s32 unk_1C
s32 unk_20
s32 unk_24
f32 unk_28
f32 unk_2C

◆ HuffPuffBreathFXData

struct HuffPuffBreathFXData
Data Fields
s32 type
Vec3f pos
s32 timeLeft
s32 lifeTime
Color4i primCol
Color4i envCol
f32 texOffsetX
f32 speedX
f32 texOffsetY
f32 speedY
f32 angle
f32 scale

◆ ColdBreathFXData

struct ColdBreathFXData
Data Fields
s32 type
Vec3f pos
s32 timeLeft
s32 lifetime
Color4i primCol
Color4i envCol
f32 unk_38
f32 unk_3C
f32 scale

◆ EmbersFXData

struct EmbersFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
s32 timeLeft
s32 lifetime
s32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
s32 unk_30
s32 unk_34
s32 unk_38
s32 unk_3C
f32 unk_40
f32 unk_44
f32 unk_48
f32 unk_4C
f32 unk_50
f32 unk_54
f32 unk_58
f32 unk_5C
f32 unk_60
s32 unk_64
f32 unk_68
f32 unk_6C

◆ HieroglyphsFXData

struct HieroglyphsFXData
Data Fields
s32 unk_00
Vec3f pos
s32 timeLeft
s32 lifeTime
s32 unk_18
s32 unk_1C
s32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
s32 unk_30
s32 unk_34
f32 unk_38

◆ MiscParticlesFXData

struct MiscParticlesFXData
Data Fields
s32 variation
Vec3f pos
f32 scaleX
f32 scaleY
f32 unk_18
f32 unk_1C
char unk_20[4]
f32 unk_24
f32 unk_28
s32 animTime
s32 timeLeft
s32 lifetime
Color4i innerColor
Color4i glowColor
f32 scale
f32 unk_5C
f32 unk_60

◆ StaticStatusFXData

struct StaticStatusFXData
Data Fields
s32 type
Vec3f pos
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
s32 frame
f32 rot
s32 timeLeft
s32 lifetime
s32 alpha
f32 scale

◆ MovingCloudFXData

struct MovingCloudFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
s32 unk_1C
s32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
s32 unk_30
s32 unk_34
s32 unk_38
s32 unk_3C
s32 unk_40
f32 unk_44

◆ Effect75FXData

struct Effect75FXData
Data Fields
s32 type
Vec3f pos
s32 unk_10
s32 unk_14
Color3i primCol
s32 unk_24
Color3i envCol
s32 unk_34
s32 masterAlpha
f32 scale
f32 unk_40
f32 unk_44
f32 unk_48
f32 unk_4C
f32 unk_50
f32 unk_54
f32 unk_58
f32 unk_5C
f32 unk_60
f32 unk_64
f32 unk_68
f32 unk_6C
f32 unk_70
f32 unk_74
f32 unk_78
f32 unk_7C

◆ FireworkRocketFXData

struct FireworkRocketFXData
Data Fields
s32 variation
Vec3f pos
Vec3f vel
s32 timeLeft
s32 lifeTime
s32 r
s32 g
s32 b
s32 minBlurAlpha
s32 unk_34
s32 unk_38
s32 unk_3C
s32 unk_40
f32 radius
f32 maxRadius
s32 isExploded
f32 rocketX[4]
f32 rocketY[4]
f32 rocketZ[4]
f32 rocketVelX[4]
f32 rocketVelY[4]
f32 rocketVelZ[4]

◆ PeachStarBeamSpirit

struct PeachStarBeamSpirit
Data Fields
s32 flags
Vec3f pos
Vec3f lockedPos

◆ PeachStarBeamFXData

struct PeachStarBeamFXData
Data Fields
s32 type
Vec3f pos
s32 timeLeft
s32 lifetime
s32 primR
s32 primG
s32 primB
s32 beamAlpha
s32 envR
s32 envG
s32 envB
s32 envA
f32 beamScale
s32 unk_3C
f32 rotSpeed
f32 rotAngle
f32 circleRadius
Vec3f circleCenter
f32 twinkYOffset
PeachStarBeamSpirit spirits[8]

◆ ChapterChangeFXData

struct ChapterChangeFXData
Data Fields
s32 unk_00
Vec2f chapterPos
f32 unk_0C
Vec2f endOfPos
s32 timeLeft
s32 lifetime
s32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
s32 unk_30
s32 unk_34
s32 unk_38
s32 unk_3C
s32 unk_40
s32 unk_44
s32 unk_48
s32 unk_4C
f32 unk_50
s32 unk_54

◆ IceShardFXData

struct IceShardFXData
Data Fields
s32 type
Vec3f pos
s32 timeLeft
s32 lifetime
Color4i primCol
Color4i envCol
f32 scale
f32 rot
f32 angularVel
f32 animFrame
f32 animRate
Vec3f vel
f32 gravAccel

◆ SpiritCardFXData

struct SpiritCardFXData
Data Fields
s32 unk_00
Vec3f pos
s32 unk_10
s32 unk_14
f32 unk_18
struct EffectInstance * child
f32 unk_20
f32 yaw
char unk_28[0xC]
u8 chapter
char unk_35[3]

◆ LilOinkFXData

struct LilOinkFXData
Data Fields
s32 timeLeft
s32 lifetime
s32 flags[11]
f32 x[11]
f32 y[11]
f32 z[11]
f32 rot[11]
u8 type[11]
s8 nextAnim[11]
u8 anim[11]
u8 gfxFrame[11]
f32 jumpOffset[11]
s8 animTime[11]

◆ SomethingRotatingFXData

struct SomethingRotatingFXData
Data Fields
s32 unk_00
Vec3f pos
s32 unk_10
s32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
u8 primAlpha
s8 unk_25
Color_RGB8 env
u8 state
char unk_2A[2]
f32 unk_2C

◆ BreakingJunkFXData

struct BreakingJunkFXData
Data Fields
s32 unk_00
Vec3f pos
Vec3f vel
s32 timeLeft
s32 lifeTime
f32 scale
f32 rot
s16 primR
s16 primG
s16 primB
s16 primA
s16 envR
s16 envG
s16 envB
s16 envA

◆ BuffData

struct BuffData
Data Fields
s16 alpha
s16 turnsDisplay
s16 turnsLeft
s16 state
s16 stateTimer

◆ PartnerBuffFXData

struct PartnerBuffFXData
Data Fields
s16 useRandomValues
s16 visible
s32 timeLeft
s32 lifeTime
BuffData unk_0C[3]

◆ QuizmoAssistantFXData

struct QuizmoAssistantFXData
Data Fields
s32 unk_00
Vec3f pos
s32 vanishTimer
s32 lifetime
s32 fadeInAmt
s32 anim

◆ IcePillarFXData

struct IcePillarFXData
Data Fields
s32 unk_00
Vec3f pos
s32 timeLeft
s32 lifeTime
Color_RGBA8 prim
Color_RGBA8 env
f32 scale
s8 unk_24
s8 unk_25
char unk_26[0x2]
struct EffectInstance * miscParticles

◆ SunFXData

struct SunFXData
Data Fields
s32 shineFromRight
Vec3f pos
s32 timeLeft
s32 lifeTime
Color_RGB8 primColor
Color_RGBA8 envColor
char unk_1F[0x1]
f32 texScrollAmt[5]
f32 unk_34
s32 alpha
s32 targetAlpha

◆ StarSpiritsEnergyFXData

struct StarSpiritsEnergyFXData
Data Fields
s32 unk_00
s32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
s32 unk_14
s32 unk_18
s32 unk_1C
s32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
s32 unk_30
s32 unk_34
s32 unk_38
f32 unk_3C
f32 unk_40[4]
s32 unk_50[4]
s32 unk_60
s32 unk_64
s32 unk_68
s32 unk_6C
s32 unk_70
s32 unk_74

◆ PinkSparklesFXData

struct PinkSparklesFXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
s32 unk_1C
s32 unk_20
f32 unk_24
s32 unk_28

◆ StarOutlineFXData

struct StarOutlineFXData
Data Fields
s16 unk_00
s16 unk_02
Vec3f pos
s32 timeLeft
s32 lifeTime
s32 unk_18
s32 unk_1C
s32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
s32 unk_30
s32 unk_34
f32 unk_38
Vec3f unk_3C
f32 unk_48
f32 unk_4C
f32 unk_50
f32 unk_54

◆ Effect86FXData

struct Effect86FXData
Data Fields
s32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
s32 unk_10
s32 unk_14
s32 unk_18
s32 unk_1C
s32 unk_20
s32 unk_24
s32 unk_28
s32 unk_2C
s32 unk_30
f32 unk_34

◆ EffectData

union EffectData
Data Fields
s32 * any
struct Effect00FXData * unk_00
struct BigSmokePuffFXData * bigSmokePuff
struct Effect02FXData * unk_02
struct Effect03FXData * unk_03
struct Effect04FXData * unk_04
struct Effect05FXData * unk_05
struct LandingDustFXData * landingDust
struct WalkingDustFXData * walkingDust
struct FlowerFXData * flowerSplash
struct FlowerFXData * flowerTrail
struct CloudPuffFXData * cloudPuff
struct CloudTrailFXData * cloudTrail
struct FootprintFXData * footprint
struct FloatingFlowerFXData * floatingFlower
struct SnowflakeFXData * snowflake
struct StarFXData * star
struct EmoteFXData * emote
struct SparklesFXData * sparkles
struct ShapeSpellFXData * shapeSpell
struct GatherEnergyPinkFXData * gatherEnergyPink
struct DropLeavesFXData * dropLeaves
struct DustFXData * dust
struct ShatteringStonesFXData * shatteringStones
struct SmokeRingFXData * smokeRing
struct DamageStarsFXData * damageStars
struct ExplosionFXData * explosion
struct LensFlareFXData * lensFlare
struct GotItemOutlineFXData * gotItemOutline
struct SpikyWhiteAuraFXData * spikyWhiteAura
struct SmokeImpactFXData * smokeImpact
struct DamageIndicatorFXData * damageIndicator
struct PurpleRingFXData * purpleRing
struct FlameFXData * flame
struct StarsBurstFXData * starsBurst
struct StarsShimmerFXData * starsShimmer
struct RisingBubbleFXData * risingBubble
struct RingBlastFXData * ringBlast
struct ShockwaveFXData * shockwave
struct MusicNoteFXData * musicNote
struct SmokeBurstFXData * smokeBurst
struct SweatFXData * sweat
struct SleepBubbleFXData * sleepBubble
struct Unk2AFXData * unk_2A
struct WindyLeavesFXData * windyLeaves
struct FallingLeavesFXData * fallingLeaves
struct StarsSpreadFXData * starsSpread
struct SteamBurstFXData * steamBurst
struct StarsOrbitingFXData * starsOrbiting
struct BigSnowflakesFXData * bigSnowflakes
struct DebuffFXData * debuff
struct GreenImpactFXData * greenImpact
struct RadialShimmerFXData * radialShimmer
struct EndingDecalsFXData * endingDecals
struct LightRaysFXData * lightRays
struct LightningFXData * lightning
struct FireBreathFXData * fireBreath
struct ShimmerBurstFXData * shimmerBurst
struct EnergyShockwaveFXData * energyShockwave
struct ShimmerWaveFXData * shimmerWave
struct AuraFXData * aura
struct BulbGlowFXData * bulbGlow
struct Effect3DFXData * unk_3D
struct BlastFXData * blast
struct FireFlowerFXData * fireFlower
struct RecoverFXData * recover
struct DisableXFXData * disableX
struct BombetteBreakingFXData * bombetteBreaking
struct FireworkFXData * firework
struct ConfettiFXData * confetti
struct SnowfallFXData * snowfall
struct SpinFXData * spin
struct GatherMagicFXData * gatherMagic
struct AttackResultTextFXData * attackResultText
struct SmallGoldSparkleFXData * smallGoldSparkle
struct ShockOverlayFXData * flashingBoxShockwave
struct BalloonFXData * balloon
struct FloatingRockFXData * floatingRock
struct ChompDropFXData * chompDrop
struct QuizmoStageFXData * quizmoStage
struct RadiatingEnergyOrbFXData * radiatingEnergyOrb
void * quizmoAnswer
struct MotionBlurFlameFXData * motionBlurFlame
struct EnergyOrbWaveFXData * energyOrbWave
struct MerlinHouseStarsFXData * merlinHouseStars
struct QuizmoAudienceFXData * quizmoAudience
struct ButterfliesFXData * butterflies
struct StatChangeFXData * statChange
struct SnakingStaticFXData * snakingStatic
struct ThunderboltRingFXData * thunderboltRing
struct SquirtFXData * squirt
struct WaterBlockFXData * waterBlock
struct WaterfallFXData * waterfall
struct WaterFountainFXData * waterFountain
struct UnderwaterFXData * underwater
struct LightningBoltFXData * lightningBolt
struct WaterSplashFXData * waterSplash
struct SnowmanDollFXData * snowmanDoll
struct FrightJarFXData * frightJar
struct StopWatchFXData * stopWatch
struct Effect63FXData * unk_63
struct ThrowSpinyFXData * throwSpiny
struct Effect65FXData * unk_65
struct TubbaHeartAttackFXData * tubbaHeartAttack
struct WhirlwindFXData * whirlwind
struct RedImpactFXData * redImpact
struct FloatingCloudPuffFXData * floatingCloudPuff
struct Effect6AFXData * unk_6A
struct EnergyInOutFXData * energyInOut
struct TattleWindowFXData * tattleWindow
struct ShinyFlareFXData * shinyFlare
struct HuffPuffBreathFXData * huffPuffBreath
struct ColdBreathFXData * coldBreath
struct EmbersFXData * embers
struct HieroglyphsFXData * hieroglyphs
struct MiscParticlesFXData * miscParticles
struct StaticStatusFXData * staticStatus
struct MovingCloudFXData * movingCloud
struct Effect75FXData * unk_75
struct Effect76FXData * unk_76
struct FireworkRocketFXData * fireworkRocket
struct PeachStarBeamFXData * peachStarBeam
struct ChapterChangeFXData * chapterChange
struct IceShardFXData * iceShard
struct SpiritCardFXData * spiritCard
struct LilOinkFXData * lilOink
struct SomethingRotatingFXData * somethingRotating
struct BreakingJunkFXData * breakingJunk
struct PartnerBuffFXData * partnerBuff
struct QuizmoAssistantFXData * quizmoAssistant
struct IcePillarFXData * icePillar
struct SunFXData * sun
struct StarSpiritsEnergyFXData * starSpiritsEnergy
struct PinkSparklesFXData * pinkSparkles
struct StarOutlineFXData * starOutline
struct Effect86FXData * unk_86

◆ EffectInstance

struct EffectInstance
Data Fields
s32 flags
s32 effectIndex
s32 numParts
EffectData data
struct EffectGraphics * graphics

◆ WattEffectData

struct WattEffectData
Data Fields
s32 initialized
s32 isBouncing
s32 bouncePhase
s32 isActive
s32 currentEffectIndex
EffectInstance * effect1
EffectInstance * effect2
s32 debuff

◆ StarSpiritData

struct StarSpiritData
Data Fields
f32 unk_00
f32 unk_04
f32 unk_08
f32 unk_0C
f32 unk_10
f32 unk_14
f32 unk_18
f32 unk_1C
f32 unk_20
f32 unk_24
f32 unk_28
f32 unk_2C
f32 unk_30
f32 unk_34
s32 unk_38
s32 unk_3C
s32 unk_40
s16 unk_44
s16 unk_46
s16 unk_48
s16 unk_4A
s16 unk_4C
s16 unk_4E
EffectInstance * unk_50
EffectInstance * unk_54

◆ EffectTableEntry

struct EffectTableEntry
Data Fields
void * entryPoint
void * dmaStart
void * dmaEnd
void * dmaDest
void * graphicsDmaStart
void * graphicsDmaEnd

Macro Definition Documentation

◆ UNK_ARRAY_SIZE_1

#define UNK_ARRAY_SIZE_1   4

Definition at line 1366 of file effects.h.

Referenced by motion_blur_flame_appendGfx().

◆ MAX_QUIZMO_AUDIENCE

#define MAX_QUIZMO_AUDIENCE   10

Definition at line 1419 of file effects.h.

Referenced by quizmo_audience_appendGfx(), and quizmo_audience_update().

◆ NUM_WATER_BLOCK_COMPONENTS

#define NUM_WATER_BLOCK_COMPONENTS   4

Definition at line 1543 of file effects.h.

Referenced by water_block_appendGfx(), water_block_main(), and water_block_update().

◆ TUBBA_MINI_HEART_COUNT

#define TUBBA_MINI_HEART_COUNT   25

◆ MAX_WHIRLWIND_SEGMENTS

#define MAX_WHIRLWIND_SEGMENTS   8

Definition at line 1837 of file effects.h.

Referenced by whirlwind_appendGfx(), whirlwind_main(), and whirlwind_update().

◆ ROCKET_BUF_SIZE

#define ROCKET_BUF_SIZE   4

Definition at line 2129 of file effects.h.

Referenced by firework_rocket_main(), and firework_rocket_update().

◆ MAX_LIL_OINKS

#define MAX_LIL_OINKS   11

Definition at line 2238 of file effects.h.

Referenced by lil_oink_appendGfx(), lil_oink_main(), and lil_oink_update().

Enumeration Type Documentation

◆ StarFXTypes

Enumerator
FX_STAR_BACKGROUND 
FX_STAR_FOREGROUND 
FX_STAR_LARGE_BOUNCING 
FX_STAR_SMALL_BOUNCING 

Definition at line 172 of file effects.h.

172 {
177};
@ FX_STAR_BACKGROUND
Definition effects.h:173
@ FX_STAR_LARGE_BOUNCING
Definition effects.h:175
@ FX_STAR_FOREGROUND
Definition effects.h:174
@ FX_STAR_SMALL_BOUNCING
Definition effects.h:176

◆ SparkesFXTypes

Enumerator
FX_SPARKLES_0 
FX_SPARKLES_1 
FX_SPARKLES_2 
FX_SPARKLES_3 
FX_SPARKLES_4 

Definition at line 233 of file effects.h.

233 {
234 FX_SPARKLES_0 = 0,
235 FX_SPARKLES_1 = 1,
236 FX_SPARKLES_2 = 2,
237 FX_SPARKLES_3 = 3,
238 FX_SPARKLES_4 = 4
239};
@ FX_SPARKLES_3
Definition effects.h:237
@ FX_SPARKLES_2
Definition effects.h:236
@ FX_SPARKLES_1
Definition effects.h:235
@ FX_SPARKLES_4
Definition effects.h:238
@ FX_SPARKLES_0
Definition effects.h:234

◆ DamageStarsFXTypes

Enumerator
FX_DAMAGE_STARS_0 
FX_DAMAGE_STARS_1 
FX_DAMAGE_STARS_2 
FX_DAMAGE_STARS_3 
FX_DAMAGE_STARS_4 

Definition at line 355 of file effects.h.

355 {
361};
@ FX_DAMAGE_STARS_3
Definition effects.h:359
@ FX_DAMAGE_STARS_2
Definition effects.h:358
@ FX_DAMAGE_STARS_4
Definition effects.h:360
@ FX_DAMAGE_STARS_0
Definition effects.h:356
@ FX_DAMAGE_STARS_1
Definition effects.h:357

◆ FlameFXTypes

Enumerator
FX_FLAME_BLUE 
FX_FLAME_RED 
FX_FLAME_SMALL_BLUE 
FX_FLAME_PINK 

Definition at line 479 of file effects.h.

479 {
480 FX_FLAME_BLUE = 0,
481 FX_FLAME_RED = 1,
483 FX_FLAME_PINK = 3,
484};
@ FX_FLAME_RED
Definition effects.h:481
@ FX_FLAME_SMALL_BLUE
Definition effects.h:482
@ FX_FLAME_BLUE
Definition effects.h:480
@ FX_FLAME_PINK
Definition effects.h:483

◆ AuraFXTypes

Enumerator
FX_AURA_CAPTURE 
FX_AURA_RED 
FX_AURA_BLUE 
FX_AURA_GOLD 

Definition at line 985 of file effects.h.

985 {
986 FX_AURA_CAPTURE = 0, // star spirit being captured in the intro
987 FX_AURA_RED = 1, // used by Kooper's Fire Shell
988 FX_AURA_BLUE = 2, // used by Final Bowser
989 FX_AURA_GOLD = 3, // used by The Master (final form)
990};
@ FX_AURA_GOLD
Definition effects.h:989
@ FX_AURA_RED
Definition effects.h:987
@ FX_AURA_CAPTURE
Definition effects.h:986
@ FX_AURA_BLUE
Definition effects.h:988

◆ ShockOverlayFXTypes

Enumerator
FX_SHOCK_OVERLAY_SHOCK_HIT 
FX_SHOCK_OVERLAY_LIGHTNING_WORLD 
FX_SHOCK_OVERLAY_MEGA_SHOCK 
FX_SHOCK_OVERLAY_LIGHTNING_BATTLE 

Definition at line 1262 of file effects.h.

1262 {
1267};
@ FX_SHOCK_OVERLAY_MEGA_SHOCK
Definition effects.h:1265
@ FX_SHOCK_OVERLAY_SHOCK_HIT
Definition effects.h:1263
@ FX_SHOCK_OVERLAY_LIGHTNING_WORLD
Definition effects.h:1264
@ FX_SHOCK_OVERLAY_LIGHTNING_BATTLE
Definition effects.h:1266

◆ WaterBlockFXTypes

Enumerator
FX_WATER_BLOCK_CREATE 
FX_WATER_BLOCK_DESTROY 

Definition at line 1538 of file effects.h.

1538 {
1541};
@ FX_WATER_BLOCK_DESTROY
Definition effects.h:1540
@ FX_WATER_BLOCK_CREATE
Definition effects.h:1539

◆ HeartSwarmFXTypes

Enumerator
FX_HEART_SWARM_HIT 
FX_HEART_SWARM_MISS 

Definition at line 1799 of file effects.h.

1799 {
1802};
@ FX_HEART_SWARM_MISS
Definition effects.h:1801
@ FX_HEART_SWARM_HIT
Definition effects.h:1800

◆ LilOinkFlags

Enumerator
LIL_OINK_FLAG_VISIBLE 
LIL_OINK_FLAG_ANIM_CHANGED 

Definition at line 2240 of file effects.h.

2240 {
2243};
@ LIL_OINK_FLAG_ANIM_CHANGED
Definition effects.h:2242
@ LIL_OINK_FLAG_VISIBLE
Definition effects.h:2241

◆ LilOinkTypes

Enumerator
LIL_OINK_TYPE_BLACK 
LIL_OINK_TYPE_WHITE 
LIL_OINK_TYPE_PINK 
LIL_OINK_TYPE_PIKACHU 
LIL_OINK_TYPE_SHROOM 
LIL_OINK_TYPE_FLOWER 
LIL_OINK_TYPE_STAR 
LIL_OINK_TYPE_QUESTION 
LIL_OINK_TYPE_SILVER 
LIL_OINK_TYPE_GOLD 

Definition at line 2245 of file effects.h.

2245 {
2256};
@ LIL_OINK_TYPE_PINK
Definition effects.h:2248
@ LIL_OINK_TYPE_SILVER
Definition effects.h:2254
@ LIL_OINK_TYPE_GOLD
Definition effects.h:2255
@ LIL_OINK_TYPE_QUESTION
Definition effects.h:2253
@ LIL_OINK_TYPE_BLACK
Definition effects.h:2246
@ LIL_OINK_TYPE_STAR
Definition effects.h:2252
@ LIL_OINK_TYPE_PIKACHU
Definition effects.h:2249
@ LIL_OINK_TYPE_FLOWER
Definition effects.h:2251
@ LIL_OINK_TYPE_SHROOM
Definition effects.h:2250
@ LIL_OINK_TYPE_WHITE
Definition effects.h:2247

◆ LilOinkAnims

Enumerator
LIL_OINK_ANIM_0 
LIL_OINK_ANIM_1 
LIL_OINK_ANIM_2 
LIL_OINK_ANIM_3 
LIL_OINK_ANIM_4 
LIL_OINK_ANIM_5 

Definition at line 2258 of file effects.h.

2258 {
2259 LIL_OINK_ANIM_0 = 0,
2260 LIL_OINK_ANIM_1 = 1,
2261 LIL_OINK_ANIM_2 = 2,
2262 LIL_OINK_ANIM_3 = 3,
2263 LIL_OINK_ANIM_4 = 4,
2264 LIL_OINK_ANIM_5 = 5,
2265};
@ LIL_OINK_ANIM_0
Definition effects.h:2259
@ LIL_OINK_ANIM_2
Definition effects.h:2261
@ LIL_OINK_ANIM_4
Definition effects.h:2263
@ LIL_OINK_ANIM_3
Definition effects.h:2262
@ LIL_OINK_ANIM_1
Definition effects.h:2260
@ LIL_OINK_ANIM_5
Definition effects.h:2264

◆ anonymous enum

anonymous enum
Enumerator
FX_BUFF_DATA_WATER_BLOCK 
FX_BUFF_DATA_CLOUD_NINE 
FX_BUFF_DATA_TURBO_CHARGE 

Definition at line 2317 of file effects.h.

2317 {
2321};
@ FX_BUFF_DATA_TURBO_CHARGE
Definition effects.h:2320
@ FX_BUFF_DATA_CLOUD_NINE
Definition effects.h:2319
@ FX_BUFF_DATA_WATER_BLOCK
Definition effects.h:2318

◆ anonymous enum

anonymous enum
Enumerator
FX_SUN_FROM_LEFT 
FX_SUN_FROM_RIGHT 

Definition at line 2363 of file effects.h.

2363 {
2364 FX_SUN_FROM_LEFT = 0,
2366};
@ FX_SUN_FROM_LEFT
Definition effects.h:2364
@ FX_SUN_FROM_RIGHT
Definition effects.h:2365

◆ FireBreathType

Enumerator
FIRE_BREATH_LARGE 
FIRE_BREATH_SMALL 
FIRE_BREATH_TINY 

Definition at line 2678 of file effects.h.

2678 {
2681 FIRE_BREATH_TINY = 2,
2682};
@ FIRE_BREATH_TINY
Definition effects.h:2681
@ FIRE_BREATH_LARGE
Definition effects.h:2679
@ FIRE_BREATH_SMALL
Definition effects.h:2680

Function Documentation

◆ create_effect_instance()

EffectInstance * create_effect_instance ( EffectBlueprint * effectBp)

Definition at line 190 of file effects.c.

190 {
191 EffectInstance* newEffectInst;
192 EffectGraphics* effectGraphics;
193 s32 i;
194
195 // Search for an unused instance
196 for (i = 0; i < ARRAY_COUNT(gEffectInstances); i++) {
197 if (gEffectInstances[i] == NULL) {
198 break;
199 }
200 }
201
203
204 // Allocate space for the new instance
205 gEffectInstances[i] = newEffectInst = general_heap_malloc(sizeof(*newEffectInst));
206 ASSERT(newEffectInst != NULL);
207
208 effectGraphics = &gEffectGraphicsData[0];
209 newEffectInst->effectIndex = effectBp->effectID;
210 newEffectInst->flags = FX_INSTANCE_FLAG_ENABLED;
211
212 // Look for a loaded effect of the proper index
213 for (i = 0; i < ARRAY_COUNT(gEffectGraphicsData); i++) {
214 if ((effectGraphics->flags & FX_GRAPHICS_LOADED) && (effectGraphics->effectIndex == effectBp->effectID)) {
215 break;
216 }
217 effectGraphics++;
218 }
219
221
222 // If this is the first new instance of the effect, initialize the function pointers
223 if (effectGraphics->instanceCounter == 0) {
224 effectGraphics->update = effectBp->update;
225 if (effectGraphics->update == NULL) {
226 effectGraphics->update = stub_effect_delegate;
227 }
228
229 effectGraphics->renderWorld = effectBp->renderWorld;
230 if (effectGraphics->renderWorld == NULL) {
231 effectGraphics->renderWorld = stub_effect_delegate;
232 }
233
234 effectGraphics->renderUI = effectBp->renderUI;
235 if (effectGraphics->renderUI == NULL) {
236 effectGraphics->renderUI = stub_effect_delegate;
237 }
238 }
239
240 effectGraphics->instanceCounter++;
241 newEffectInst->graphics = effectGraphics;
242
243 if (effectBp->init != NULL) {
244 effectBp->init(newEffectInst);
245 }
246
248 newEffectInst->flags |= FX_INSTANCE_FLAG_BATTLE;
249 }
250 return newEffectInst;
251}
#define general_heap_malloc
EffectInstance * gEffectInstances[96]
Definition effects.c:11
void stub_effect_delegate(EffectInstance *effect)
Used for unbound function points in effect structs.
Definition effects.c:26
BSS EffectGraphics gEffectGraphicsData[15]
Definition effects.c:10
struct EffectGraphics * graphics
Definition effects.h:2606
#define ASSERT(condition)
@ FX_INSTANCE_FLAG_BATTLE
Definition enums.h:3515
@ FX_INSTANCE_FLAG_ENABLED
Definition enums.h:3514
@ FX_GRAPHICS_LOADED
Definition enums.h:3522
@ CONTEXT_WORLD
Definition enums.h:3529
#define ARRAY_COUNT(arr)
Definition macros.h:40
void(* renderUI)(EffectInstance *effectInst)
Definition effects.h:2655
void(* init)(EffectInstance *effectInst)
Definition effects.h:2652
void(* update)(EffectInstance *effectInst)
Definition effects.h:2653
void(* renderWorld)(EffectInstance *effectInst)
Definition effects.h:2654
void(* renderUI)(EffectInstance *effectInst)
Definition effects.h:2665
void(* renderWorld)(EffectInstance *effectInst)
Definition effects.h:2664
s32 instanceCounter
Definition effects.h:2661
void(* update)(EffectInstance *effectInst)
Definition effects.h:2663
GameStatus * gGameStatusPtr
Definition main_loop.c:32

◆ remove_effect()

void remove_effect ( EffectInstance * effectInstance)

Definition at line 253 of file effects.c.

253 {
254 s32 i;
255
256 for (i = 0; i < ARRAY_COUNT(gEffectInstances); i++) {
257 if (gEffectInstances[i] == effectInstance) {
258 break;
259 }
260 }
261
263
264 if (effectInstance->data.any == NULL) {
265 general_heap_free(effectInstance);
266 gEffectInstances[i] = NULL;
267 } else {
268 general_heap_free(effectInstance->data.any);
269 general_heap_free(effectInstance);
270 gEffectInstances[i] = NULL;
271 }
272}
s32 * any
Definition effects.h:2463
EffectData data
Definition effects.h:2605
s32 general_heap_free(void *data)
Definition heap.c:18

◆ load_effect()

s32 load_effect ( s32 effectIndex)

Definition at line 290 of file effects.c.

290 {
291 EffectTableEntry* effectEntry = &gEffectTable[effectIndex];
292 EffectGraphics* effectGraphics;
293 TlbMappablePage* tlbMappablePages;
294 s32 i;
295
296 // Look for a loaded effect matching the desired index
297 for (i = 0, effectGraphics = &gEffectGraphicsData[0]; i < ARRAY_COUNT(gEffectGraphicsData); i++) {
298 if (effectGraphics->flags & FX_GRAPHICS_LOADED && effectGraphics->effectIndex == effectIndex) {
299 break;
300 }
301 effectGraphics++;
302 }
303
304 // If an effect was found within the table, initialize it and return
306 effectGraphics->effectIndex = effectIndex;
307 effectGraphics->instanceCounter = 0;
308 effectGraphics->flags = FX_GRAPHICS_LOADED;
309 return 1;
310 }
311
312 // If a loaded effect wasn't found, look for the first empty space
313 for (i = 0, effectGraphics = &gEffectGraphicsData[0]; i < ARRAY_COUNT(gEffectGraphicsData); i++) {
314 if (!(effectGraphics->flags & FX_GRAPHICS_LOADED)) {
315 break;
316 }
317 effectGraphics++;
318 }
319
320 // If no empty space was found, panic
322
323 // Map space for the effect
324 tlbMappablePages = &gEffectDataBuffer;
325 osMapTLB(i, OS_PM_4K, effectEntry->dmaDest, (s32)((*tlbMappablePages)[i]) & 0xFFFFFF, -1, -1);
326
327 // Copy the effect into the newly mapped space
328 dma_copy(effectEntry->dmaStart, effectEntry->dmaEnd, effectEntry->dmaDest);
329
330 // If there's graphics data for the effect, allocate space and copy into the new space
331 if (effectEntry->graphicsDmaStart != NULL) {
332 void* effectDataBuf = general_heap_malloc(effectEntry->graphicsDmaEnd - effectEntry->graphicsDmaStart);
333 effectGraphics->data = effectDataBuf;
334 ASSERT(effectDataBuf != NULL);
335 dma_copy(effectEntry->graphicsDmaStart, effectEntry->graphicsDmaEnd, effectGraphics->data);
336 }
337
338 // Initialize the newly loaded effect data
339 effectGraphics->effectIndex = effectIndex;
340 effectGraphics->instanceCounter = 0;
341 effectGraphics->flags = FX_GRAPHICS_LOADED;
342 return 1;
343}
TlbEntry TlbMappablePage[15]
Definition effects.c:6
TlbMappablePage gEffectDataBuffer
void * graphicsDmaStart
Definition effects.h:2674
void * graphicsDmaEnd
Definition effects.h:2675
u32 dma_copy(Addr romStart, Addr romEnd, void *vramDest)
Definition 43F0.c:444