mirror of
https://github.com/zeldaret/mm.git
synced 2026-07-11 14:18:39 -04:00
Effect table (#1209)
* effect_ss_table.h * monkaBSS * format * Remove InitVars extern headers * Remove `const` from InitVars * cleanup * cleanup * format * bss * bss * bss
This commit is contained in:
@@ -1,39 +1,6 @@
|
||||
#ifndef _INITVARS_H_
|
||||
#define _INITVARS_H_
|
||||
|
||||
extern EffectSsInit Effect_Ss_Dust_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Kirakira_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Bomb2_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Blast_InitVars;
|
||||
extern EffectSsInit Effect_Ss_G_Spk_InitVars;
|
||||
extern EffectSsInit Effect_Ss_D_Fire_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Bubble_InitVars;
|
||||
extern EffectSsInit Effect_Ss_G_Ripple_InitVars;
|
||||
extern EffectSsInit Effect_Ss_G_Splash_InitVars;
|
||||
extern EffectSsInit Effect_Ss_G_Fire_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Lightning_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Dt_Bubble_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Hahen_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Stick_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Sibuki_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Stone1_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Hitmark_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Fhg_Flash_InitVars;
|
||||
extern EffectSsInit Effect_Ss_K_Fire_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Solder_Srch_Ball_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Kakera_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Ice_Piece_InitVars;
|
||||
extern EffectSsInit Effect_Ss_En_Ice_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Fire_Tail_InitVars;
|
||||
extern EffectSsInit Effect_Ss_En_Fire_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Extra_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Dead_Db_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Dead_Dd_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Dead_Ds_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Ice_Smoke_InitVars;
|
||||
extern EffectSsInit Effect_En_Ice_Block_InitVars;
|
||||
extern EffectSsInit Effect_Ss_Sbn_InitVars;
|
||||
|
||||
extern TransitionInit TransitionFade_InitVars;
|
||||
extern TransitionInit TransitionTriforce_InitVars;
|
||||
extern TransitionInit TransitionWipe1_InitVars;
|
||||
|
||||
@@ -88,43 +88,11 @@ DECLARE_OVERLAY_SEGMENT(player_actor)
|
||||
#undef DEFINE_ACTOR_INTERNAL
|
||||
#undef DEFINE_ACTOR_UNSET
|
||||
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Dust)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Kirakira)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Bomb2)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Blast)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_G_Spk)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_D_Fire)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Bubble)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_G_Ripple)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_G_Splash)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_G_Fire)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Lightning)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Dt_Bubble)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Hahen)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Stick)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Sibuki)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Stone1)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Hitmark)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Fhg_Flash)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_K_Fire)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Solder_Srch_Ball)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Kakera)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Ice_Piece)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_En_Ice)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Fire_Tail)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_En_Fire)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Extra)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Dead_Db)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Dead_Dd)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Dead_Ds)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Ice_Smoke)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_En_Ice_Block)
|
||||
DECLARE_OVERLAY_SEGMENT(fbdemo_triforce)
|
||||
DECLARE_OVERLAY_SEGMENT(fbdemo_wipe1)
|
||||
DECLARE_OVERLAY_SEGMENT(fbdemo_wipe3)
|
||||
DECLARE_OVERLAY_SEGMENT(fbdemo_wipe4)
|
||||
DECLARE_OVERLAY_SEGMENT(fbdemo_wipe5)
|
||||
DECLARE_OVERLAY_SEGMENT(Effect_Ss_Sbn)
|
||||
|
||||
#define DEFINE_OBJECT(name, _enumValue) DECLARE_ROM_SEGMENT(name)
|
||||
#define DEFINE_OBJECT_UNSET(_enumValue)
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
/**
|
||||
* Effect Soft Sprite Table
|
||||
*
|
||||
* DEFINE_EFFECT_SS should be used for normal effects soft sprites
|
||||
* - Argument 0: Name of the effect (without the ovl_ part)
|
||||
* - Argument 1: Enum value for this effect
|
||||
*
|
||||
* DEFINE_EFFECT_SS_UNSET is needed to define empty entries from the original game
|
||||
*/
|
||||
/* 0x00 */ DEFINE_EFFECT_SS(Effect_Ss_Dust, EFFECT_SS_DUST)
|
||||
/* 0x01 */ DEFINE_EFFECT_SS(Effect_Ss_Kirakira, EFFECT_SS_KIRAKIRA)
|
||||
/* 0x02 */ DEFINE_EFFECT_SS_UNSET(EFFECT_SS_UNSET_02)
|
||||
/* 0x03 */ DEFINE_EFFECT_SS(Effect_Ss_Bomb2, EFFECT_SS_BOMB2)
|
||||
/* 0x04 */ DEFINE_EFFECT_SS(Effect_Ss_Blast, EFFECT_SS_BLAST)
|
||||
/* 0x05 */ DEFINE_EFFECT_SS(Effect_Ss_G_Spk, EFFECT_SS_G_SPK)
|
||||
/* 0x06 */ DEFINE_EFFECT_SS(Effect_Ss_D_Fire, EFFECT_SS_D_FIRE)
|
||||
/* 0x07 */ DEFINE_EFFECT_SS(Effect_Ss_Bubble, EFFECT_SS_BUBBLE)
|
||||
/* 0x08 */ DEFINE_EFFECT_SS_UNSET(EFFECT_SS_UNSET_08)
|
||||
/* 0x09 */ DEFINE_EFFECT_SS(Effect_Ss_G_Ripple, EFFECT_SS_G_RIPPLE)
|
||||
/* 0x0A */ DEFINE_EFFECT_SS(Effect_Ss_G_Splash, EFFECT_SS_G_SPLASH)
|
||||
/* 0x0B */ DEFINE_EFFECT_SS_UNSET(EFFECT_SS_UNSET_0B)
|
||||
/* 0x0C */ DEFINE_EFFECT_SS(Effect_Ss_G_Fire, EFFECT_SS_G_FIRE)
|
||||
/* 0x0D */ DEFINE_EFFECT_SS(Effect_Ss_Lightning, EFFECT_SS_LIGHTNING)
|
||||
/* 0x0E */ DEFINE_EFFECT_SS(Effect_Ss_Dt_Bubble, EFFECT_SS_DT_BUBBLE)
|
||||
/* 0x0F */ DEFINE_EFFECT_SS(Effect_Ss_Hahen, EFFECT_SS_HAHEN)
|
||||
/* 0x10 */ DEFINE_EFFECT_SS(Effect_Ss_Stick, EFFECT_SS_STICK)
|
||||
/* 0x11 */ DEFINE_EFFECT_SS(Effect_Ss_Sibuki, EFFECT_SS_SIBUKI)
|
||||
/* 0x12 */ DEFINE_EFFECT_SS_UNSET(EFFECT_SS_UNSET_12)
|
||||
/* 0x13 */ DEFINE_EFFECT_SS_UNSET(EFFECT_SS_UNSET_13)
|
||||
/* 0x14 */ DEFINE_EFFECT_SS(Effect_Ss_Stone1, EFFECT_SS_STONE1)
|
||||
/* 0x15 */ DEFINE_EFFECT_SS(Effect_Ss_Hitmark, EFFECT_SS_HITMARK)
|
||||
/* 0x16 */ DEFINE_EFFECT_SS(Effect_Ss_Fhg_Flash, EFFECT_SS_FHG_FLASH)
|
||||
/* 0x17 */ DEFINE_EFFECT_SS(Effect_Ss_K_Fire, EFFECT_SS_K_FIRE)
|
||||
/* 0x18 */ DEFINE_EFFECT_SS(Effect_Ss_Solder_Srch_Ball, EFFECT_SS_SOLDER_SRCH_BALL)
|
||||
/* 0x19 */ DEFINE_EFFECT_SS(Effect_Ss_Kakera, EFFECT_SS_KAKERA)
|
||||
/* 0x1A */ DEFINE_EFFECT_SS(Effect_Ss_Ice_Piece, EFFECT_SS_ICE_PIECE)
|
||||
/* 0x1B */ DEFINE_EFFECT_SS(Effect_Ss_En_Ice, EFFECT_SS_EN_ICE)
|
||||
/* 0x1C */ DEFINE_EFFECT_SS(Effect_Ss_Fire_Tail, EFFECT_SS_FIRE_TAIL)
|
||||
/* 0x1D */ DEFINE_EFFECT_SS(Effect_Ss_En_Fire, EFFECT_SS_EN_FIRE)
|
||||
/* 0x1E */ DEFINE_EFFECT_SS(Effect_Ss_Extra, EFFECT_SS_EXTRA)
|
||||
/* 0x1F */ DEFINE_EFFECT_SS_UNSET(EFFECT_SS_UNSET_1F)
|
||||
/* 0x20 */ DEFINE_EFFECT_SS(Effect_Ss_Dead_Db, EFFECT_SS_DEAD_DB)
|
||||
/* 0x21 */ DEFINE_EFFECT_SS(Effect_Ss_Dead_Dd, EFFECT_SS_DEAD_DD)
|
||||
/* 0x22 */ DEFINE_EFFECT_SS(Effect_Ss_Dead_Ds, EFFECT_SS_DEAD_DS)
|
||||
/* 0x23 */ DEFINE_EFFECT_SS_UNSET(EFFECT_SS_UNSET_23)
|
||||
/* 0x24 */ DEFINE_EFFECT_SS(Effect_Ss_Ice_Smoke, EFFECT_SS_ICE_SMOKE)
|
||||
/* 0x25 */ DEFINE_EFFECT_SS(Effect_En_Ice_Block, EFFECT_EN_ICE_BLOCK)
|
||||
/* 0x26 */ DEFINE_EFFECT_SS(Effect_Ss_Sbn, EFFECT_SS_SBN)
|
||||
+13
-42
@@ -2,6 +2,7 @@
|
||||
#define Z64EFFECT_H
|
||||
|
||||
#include "PR/ultratypes.h"
|
||||
#include "libc/stdint.h"
|
||||
#include "color.h"
|
||||
#include "z64light.h"
|
||||
#include "z64math.h"
|
||||
@@ -9,6 +10,8 @@
|
||||
|
||||
struct GraphicsContext;
|
||||
struct PlayState;
|
||||
struct Actor;
|
||||
struct CollisionPoly;
|
||||
|
||||
#define SPARK_COUNT 3
|
||||
#define BLURE_COUNT 25
|
||||
@@ -181,7 +184,7 @@ typedef struct {
|
||||
/* 0x08 */ Vec3s p2;
|
||||
/* 0x0E */ s16 life;
|
||||
/* 0x10 */ UNK_TYPE1 pad10[0x4];
|
||||
/* 0x14 */ CollisionPoly* colPoly;
|
||||
/* 0x14 */ struct CollisionPoly* colPoly;
|
||||
} EffectTireMarkElement; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
@@ -265,7 +268,7 @@ typedef struct EffectSs {
|
||||
/* 0x28 */ EffectSsDrawFunc draw;
|
||||
/* 0x2C */ Vec3f vec;
|
||||
/* 0x38 */ void* gfx;
|
||||
/* 0x3C */ Actor* actor;
|
||||
/* 0x3C */ struct Actor* actor;
|
||||
/* 0x40 */ s16 regs[13]; // These are particle-specific
|
||||
/* 0x5A */ u16 flags; // bit 0: set if this entry is not considered free on a priority tie bit 1: ? bit 2: ?
|
||||
/* 0x5C */ s16 life; // -1 means this entry is free
|
||||
@@ -279,47 +282,15 @@ typedef struct {
|
||||
/* 0x8 */ s32 size;
|
||||
} EffectSsInfo; // size = 0xC
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ EFFECT_SS_DUST,
|
||||
/* 0x01 */ EFFECT_SS_KIRAKIRA,
|
||||
/* 0x02 */ EFFECT_SS_UNSET_02, // Deleted
|
||||
/* 0x03 */ EFFECT_SS_BOMB2,
|
||||
/* 0x04 */ EFFECT_SS_BLAST,
|
||||
/* 0x05 */ EFFECT_SS_G_SPK,
|
||||
/* 0x06 */ EFFECT_SS_D_FIRE,
|
||||
/* 0x07 */ EFFECT_SS_BUBBLE,
|
||||
/* 0x08 */ EFFECT_SS_UNSET_08, // Deleted
|
||||
/* 0x09 */ EFFECT_SS_G_RIPPLE,
|
||||
/* 0x0A */ EFFECT_SS_G_SPLASH,
|
||||
/* 0x0B */ EFFECT_SS_UNSET_0B,
|
||||
/* 0x0C */ EFFECT_SS_G_FIRE,
|
||||
/* 0x0D */ EFFECT_SS_LIGHTNING,
|
||||
/* 0x0E */ EFFECT_SS_DT_BUBBLE,
|
||||
/* 0x0F */ EFFECT_SS_HAHEN,
|
||||
/* 0x10 */ EFFECT_SS_STICK,
|
||||
/* 0x11 */ EFFECT_SS_SIBUKI,
|
||||
/* 0x12 */ EFFECT_SS_UNSET_12, // Deleted
|
||||
/* 0x13 */ EFFECT_SS_UNSET_13, // Deleted
|
||||
/* 0x14 */ EFFECT_SS_STONE1,
|
||||
/* 0x15 */ EFFECT_SS_HITMARK,
|
||||
/* 0x16 */ EFFECT_SS_FHG_FLASH,
|
||||
/* 0x17 */ EFFECT_SS_K_FIRE,
|
||||
/* 0x18 */ EFFECT_SS_SOLDER_SRCH_BALL,
|
||||
/* 0x19 */ EFFECT_SS_KAKERA,
|
||||
/* 0x1A */ EFFECT_SS_ICE_PIECE,
|
||||
/* 0x1B */ EFFECT_SS_EN_ICE,
|
||||
/* 0x1C */ EFFECT_SS_FIRE_TAIL,
|
||||
/* 0x1D */ EFFECT_SS_EN_FIRE,
|
||||
/* 0x1E */ EFFECT_SS_EXTRA,
|
||||
/* 0x1F */ EFFECT_SS_UNSET_1F, // Deleted
|
||||
/* 0x20 */ EFFECT_SS_DEAD_DB,
|
||||
/* 0x21 */ EFFECT_SS_DEAD_DD,
|
||||
/* 0x22 */ EFFECT_SS_DEAD_DS,
|
||||
/* 0x23 */ EFFECT_SS_UNSET_23, // Deleted
|
||||
/* 0x24 */ EFFECT_SS_ICE_SMOKE,
|
||||
/* 0x25 */ EFFECT_EN_ICE_BLOCK,
|
||||
/* 0x26 */ EFFECT_SS_SBN,
|
||||
#define DEFINE_EFFECT_SS(_name, enumValue) enumValue,
|
||||
#define DEFINE_EFFECT_SS_UNSET(enumValue) enumValue,
|
||||
|
||||
typedef enum EffectSsType {
|
||||
#include "tables/effect_ss_table.h"
|
||||
/* 0x27 */ EFFECT_SS_MAX
|
||||
} EffectSsType;
|
||||
|
||||
#undef DEFINE_EFFECT_SS
|
||||
#undef DEFINE_EFFECT_SS_UNSET
|
||||
|
||||
#endif
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "ultra64.h"
|
||||
#include "PR/gbi.h"
|
||||
#include "color.h"
|
||||
#include "z64math.h"
|
||||
|
||||
struct PlayState;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user