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:
Anghelo Carvajal
2023-03-30 13:17:55 -03:00
committed by GitHub
parent 34f9fb9886
commit d8064bb070
78 changed files with 127 additions and 256 deletions
-33
View File
@@ -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;
-32
View File
@@ -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)
+48
View File
@@ -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
View File
@@ -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
+1
View File
@@ -4,6 +4,7 @@
#include "ultra64.h"
#include "PR/gbi.h"
#include "color.h"
#include "z64math.h"
struct PlayState;