diff --git a/assets/objects/object_tp/object_tp.c b/assets/objects/object_tp/object_tp.c
new file mode 100644
index 000000000..b79b3b4cd
--- /dev/null
+++ b/assets/objects/object_tp/object_tp.c
@@ -0,0 +1,52 @@
+#include "object_tp.h"
+#include "gfx.h"
+
+Gfx gTailpasaranTailSegmentDL[14] = {
+#include "assets/objects/object_tp/gTailpasaranTailSegmentDL.inc.c"
+};
+
+Vtx gTailpasaranTailSegmentVtx[] = {
+#include "assets/objects/object_tp/gTailpasaranTailSegmentVtx.inc.c"
+};
+
+Vtx gTailpasaranHeadClawVtx[] = {
+#include "assets/objects/object_tp/gTailpasaranHeadClawVtx.inc.c"
+};
+
+Vtx gTailpasaranHeadMouthpartsVtx[] = {
+#include "assets/objects/object_tp/gTailpasaranHeadMouthpartsVtx.inc.c"
+};
+
+Gfx gTailpasaranHeadClawDL[54] = {
+#include "assets/objects/object_tp/gTailpasaranHeadClawDL.inc.c"
+};
+
+Gfx gTailpasaranHeadMouthpartsDL[18] = {
+#include "assets/objects/object_tp/gTailpasaranHeadMouthpartsDL.inc.c"
+};
+
+Gfx gTailpasaranHeadDL[3] = {
+#include "assets/objects/object_tp/gTailpasaranHeadDL.inc.c"
+};
+
+u64 gTailpasaranHeadRearTex[TEX_LEN(u64, gTailpasaranHeadRearTex_WIDTH, gTailpasaranHeadRearTex_HEIGHT, 16)] = {
+#include "assets/objects/object_tp/gTailpasaranHeadRearTex.rgba16.inc.c"
+};
+
+u64 gTailpasaranHeadClawBaseTex[TEX_LEN(u64, gTailpasaranHeadClawBaseTex_WIDTH, gTailpasaranHeadClawBaseTex_HEIGHT,
+ 16)] = {
+#include "assets/objects/object_tp/gTailpasaranHeadClawBaseTex.rgba16.inc.c"
+};
+
+u64 gTailpasaranHeadClawTex[TEX_LEN(u64, gTailpasaranHeadClawTex_WIDTH, gTailpasaranHeadClawTex_HEIGHT, 16)] = {
+#include "assets/objects/object_tp/gTailpasaranHeadClawTex.rgba16.inc.c"
+};
+
+u64 gTailpasaranTailSegmentTex[TEX_LEN(u64, gTailpasaranTailSegmentTex_WIDTH, gTailpasaranTailSegmentTex_HEIGHT, 8)] = {
+#include "assets/objects/object_tp/gTailpasaranTailSegmentTex.ia8.inc.c"
+};
+
+u64 gTailpasaranHeadMouthpartsTex[TEX_LEN(u64, gTailpasaranHeadMouthpartsTex_WIDTH,
+ gTailpasaranHeadMouthpartsTex_HEIGHT, 16)] = {
+#include "assets/objects/object_tp/gTailpasaranHeadMouthpartsTex.rgba16.inc.c"
+};
diff --git a/assets/objects/object_tp/object_tp.h b/assets/objects/object_tp/object_tp.h
new file mode 100644
index 000000000..004facfb5
--- /dev/null
+++ b/assets/objects/object_tp/object_tp.h
@@ -0,0 +1,34 @@
+#ifndef OBJECT_TP_H
+#define OBJECT_TP_H
+
+#include "ultra64.h"
+#include "tex_len.h"
+
+extern Gfx gTailpasaranTailSegmentDL[14];
+extern Vtx gTailpasaranTailSegmentVtx[];
+
+extern Gfx gTailpasaranHeadClawDL[54];
+extern Gfx gTailpasaranHeadMouthpartsDL[18];
+extern Gfx gTailpasaranHeadDL[3];
+
+#define gTailpasaranHeadRearTex_WIDTH 8
+#define gTailpasaranHeadRearTex_HEIGHT 16
+extern u64 gTailpasaranHeadRearTex[TEX_LEN(u64, gTailpasaranHeadRearTex_WIDTH, gTailpasaranHeadRearTex_HEIGHT, 16)];
+
+#define gTailpasaranHeadClawBaseTex_WIDTH 8
+#define gTailpasaranHeadClawBaseTex_HEIGHT 8
+extern u64 gTailpasaranHeadClawBaseTex[TEX_LEN(u64, gTailpasaranHeadClawBaseTex_WIDTH, gTailpasaranHeadClawBaseTex_HEIGHT, 16)];
+
+#define gTailpasaranHeadClawTex_WIDTH 16
+#define gTailpasaranHeadClawTex_HEIGHT 16
+extern u64 gTailpasaranHeadClawTex[TEX_LEN(u64, gTailpasaranHeadClawTex_WIDTH, gTailpasaranHeadClawTex_HEIGHT, 16)];
+
+#define gTailpasaranTailSegmentTex_WIDTH 64
+#define gTailpasaranTailSegmentTex_HEIGHT 64
+extern u64 gTailpasaranTailSegmentTex[TEX_LEN(u64, gTailpasaranTailSegmentTex_WIDTH, gTailpasaranTailSegmentTex_HEIGHT, 8)];
+
+#define gTailpasaranHeadMouthpartsTex_WIDTH 8
+#define gTailpasaranHeadMouthpartsTex_HEIGHT 8
+extern u64 gTailpasaranHeadMouthpartsTex[TEX_LEN(u64, gTailpasaranHeadMouthpartsTex_WIDTH, gTailpasaranHeadMouthpartsTex_HEIGHT, 16)];
+
+#endif
diff --git a/assets/objects/object_triforce_spot/object_triforce_spot.c b/assets/objects/object_triforce_spot/object_triforce_spot.c
new file mode 100644
index 000000000..49729e725
--- /dev/null
+++ b/assets/objects/object_triforce_spot/object_triforce_spot.c
@@ -0,0 +1,30 @@
+#include "object_triforce_spot.h"
+#include "gfx.h"
+
+Vtx gTriforceVtx[] = {
+#include "assets/objects/object_triforce_spot/gTriforceVtx.inc.c"
+};
+
+Vtx gTriforceLightColumnVtx[] = {
+#include "assets/objects/object_triforce_spot/gTriforceLightColumnVtx.inc.c"
+};
+
+Gfx gTriforceDL[72] = {
+#include "assets/objects/object_triforce_spot/gTriforceDL.inc.c"
+};
+
+Gfx gTriforceLightColumnDL[26] = {
+#include "assets/objects/object_triforce_spot/gTriforceLightColumnDL.inc.c"
+};
+
+u64 gTriforceTex[TEX_LEN(u64, gTriforceTex_WIDTH, gTriforceTex_HEIGHT, 8)] = {
+#include "assets/objects/object_triforce_spot/gTriforceTex.i8.inc.c"
+};
+
+u64 gTriforceColumnSide1Tex[TEX_LEN(u64, gTriforceColumnSide1Tex_WIDTH, gTriforceColumnSide1Tex_HEIGHT, 8)] = {
+#include "assets/objects/object_triforce_spot/gTriforceColumnSide1Tex.i8.inc.c"
+};
+
+u64 gTriforceColumnSide2Tex[TEX_LEN(u64, gTriforceColumnSide2Tex_WIDTH, gTriforceColumnSide2Tex_HEIGHT, 8)] = {
+#include "assets/objects/object_triforce_spot/gTriforceColumnSide2Tex.i8.inc.c"
+};
diff --git a/assets/objects/object_triforce_spot/object_triforce_spot.h b/assets/objects/object_triforce_spot/object_triforce_spot.h
new file mode 100644
index 000000000..7db44851f
--- /dev/null
+++ b/assets/objects/object_triforce_spot/object_triforce_spot.h
@@ -0,0 +1,24 @@
+#ifndef OBJECT_TRIFORCE_SPOT_H
+#define OBJECT_TRIFORCE_SPOT_H
+
+#include "ultra64.h"
+#include "tex_len.h"
+
+extern Vtx gTriforceVtx[];
+extern Gfx gTriforceDL[72];
+
+extern Gfx gTriforceLightColumnDL[26];
+
+#define gTriforceTex_WIDTH 64
+#define gTriforceTex_HEIGHT 64
+extern u64 gTriforceTex[TEX_LEN(u64, gTriforceTex_WIDTH, gTriforceTex_HEIGHT, 8)];
+
+#define gTriforceColumnSide1Tex_WIDTH 64
+#define gTriforceColumnSide1Tex_HEIGHT 32
+extern u64 gTriforceColumnSide1Tex[TEX_LEN(u64, gTriforceColumnSide1Tex_WIDTH, gTriforceColumnSide1Tex_HEIGHT, 8)];
+
+#define gTriforceColumnSide2Tex_WIDTH 64
+#define gTriforceColumnSide2Tex_HEIGHT 32
+extern u64 gTriforceColumnSide2Tex[TEX_LEN(u64, gTriforceColumnSide2Tex_WIDTH, gTriforceColumnSide2Tex_HEIGHT, 8)];
+
+#endif
diff --git a/assets/objects/object_umajump/gJumpableHorseFenceCol.c b/assets/objects/object_umajump/gJumpableHorseFenceCol.c
new file mode 100644
index 000000000..728b6f1b3
--- /dev/null
+++ b/assets/objects/object_umajump/gJumpableHorseFenceCol.c
@@ -0,0 +1,24 @@
+#include "object_umajump.h"
+#include "array_count.h"
+#include "camera.h"
+#include "z_math.h"
+
+BgCamInfo gJumpableHorseFenceBgCamList[] = {
+#include "assets/objects/object_umajump/gJumpableHorseFenceBgCamList.inc.c"
+};
+
+SurfaceType gJumpableHorseFenceSurfaceTypes[] = {
+#include "assets/objects/object_umajump/gJumpableHorseFenceSurfaceTypes.inc.c"
+};
+
+CollisionPoly gJumpableHorseFencePolyList[] = {
+#include "assets/objects/object_umajump/gJumpableHorseFencePolyList.inc.c"
+};
+
+Vec3s gJumpableHorseFenceVtxList[] = {
+#include "assets/objects/object_umajump/gJumpableHorseFenceVtxList.inc.c"
+};
+
+CollisionHeader gJumpableHorseFenceCol = {
+#include "assets/objects/object_umajump/gJumpableHorseFenceCol.inc.c"
+};
diff --git a/assets/objects/object_umajump/gJumpableHorseFenceDL.c b/assets/objects/object_umajump/gJumpableHorseFenceDL.c
new file mode 100644
index 000000000..bcebc3a97
--- /dev/null
+++ b/assets/objects/object_umajump/gJumpableHorseFenceDL.c
@@ -0,0 +1,25 @@
+#include "object_umajump.h"
+#include "gfx.h"
+#include "tex_len.h"
+
+#define gJumpableHorseFenceBrickTex_WIDTH 16
+#define gJumpableHorseFenceBrickTex_HEIGHT 64
+u64 gJumpableHorseFenceBrickTex[TEX_LEN(u64, gJumpableHorseFenceBrickTex_WIDTH, gJumpableHorseFenceBrickTex_HEIGHT,
+ 16)] = {
+#include "assets/objects/object_umajump/gJumpableHorseFenceBrickTex.rgba16.inc.c"
+};
+
+#define gJumpableHorseFenceMetalBarTex_WIDTH 16
+#define gJumpableHorseFenceMetalBarTex_HEIGHT 64
+u64 gJumpableHorseFenceMetalBarTex[TEX_LEN(u64, gJumpableHorseFenceMetalBarTex_WIDTH,
+ gJumpableHorseFenceMetalBarTex_HEIGHT, 16)] = {
+#include "assets/objects/object_umajump/gJumpableHorseFenceMetalBarTex.rgba16.inc.c"
+};
+
+Vtx gJumpableHorseFenceVtx[] = {
+#include "assets/objects/object_umajump/gJumpableHorseFenceVtx.inc.c"
+};
+
+Gfx gJumpableHorseFenceDL[37] = {
+#include "assets/objects/object_umajump/gJumpableHorseFenceDL.inc.c"
+};
diff --git a/assets/objects/object_umajump/object_umajump.h b/assets/objects/object_umajump/object_umajump.h
new file mode 100644
index 000000000..bb0a84762
--- /dev/null
+++ b/assets/objects/object_umajump/object_umajump.h
@@ -0,0 +1,10 @@
+#ifndef OBJECT_UMAJUMP_H
+#define OBJECT_UMAJUMP_H
+
+#include "ultra64.h"
+#include "bgcheck.h"
+
+extern Gfx gJumpableHorseFenceDL[37];
+extern CollisionHeader gJumpableHorseFenceCol;
+
+#endif
diff --git a/assets/objects/object_vase/gUnusedVaseDL.c b/assets/objects/object_vase/gUnusedVaseDL.c
new file mode 100644
index 000000000..061907495
--- /dev/null
+++ b/assets/objects/object_vase/gUnusedVaseDL.c
@@ -0,0 +1,18 @@
+#include "object_vase.h"
+#include "gfx.h"
+
+Gfx gUnusedVaseDL[52] = {
+#include "assets/objects/object_vase/gUnusedVaseDL.inc.c"
+};
+
+Vtx gUnusedVaseVtx[] = {
+#include "assets/objects/object_vase/gUnusedVaseVtx.inc.c"
+};
+
+u64 gUnusedVaseBodyTex[TEX_LEN(u64, gUnusedVaseBodyTex_WIDTH, gUnusedVaseBodyTex_HEIGHT, 16)] = {
+#include "assets/objects/object_vase/gUnusedVaseBodyTex.rgba16.inc.c"
+};
+
+u64 gUnusedVaseTopTex[TEX_LEN(u64, gUnusedVaseTopTex_WIDTH, gUnusedVaseTopTex_HEIGHT, 16)] = {
+#include "assets/objects/object_vase/gUnusedVaseTopTex.rgba16.inc.c"
+};
diff --git a/assets/objects/object_vase/object_vase.h b/assets/objects/object_vase/object_vase.h
new file mode 100644
index 000000000..4048f41e4
--- /dev/null
+++ b/assets/objects/object_vase/object_vase.h
@@ -0,0 +1,19 @@
+#ifndef OBJECT_VASE_H
+#define OBJECT_VASE_H
+
+#include "ultra64.h"
+#include "tex_len.h"
+
+extern Gfx gUnusedVaseDL[52];
+
+extern Vtx gUnusedVaseVtx[];
+
+#define gUnusedVaseBodyTex_WIDTH 32
+#define gUnusedVaseBodyTex_HEIGHT 32
+extern u64 gUnusedVaseBodyTex[TEX_LEN(u64, gUnusedVaseBodyTex_WIDTH, gUnusedVaseBodyTex_HEIGHT, 16)];
+
+#define gUnusedVaseTopTex_WIDTH 32
+#define gUnusedVaseTopTex_HEIGHT 32
+extern u64 gUnusedVaseTopTex[TEX_LEN(u64, gUnusedVaseTopTex_WIDTH, gUnusedVaseTopTex_HEIGHT, 16)];
+
+#endif
diff --git a/assets/objects/object_yukabyun/gFloorTileEnemyDL.c b/assets/objects/object_yukabyun/gFloorTileEnemyDL.c
new file mode 100644
index 000000000..0092f4bc5
--- /dev/null
+++ b/assets/objects/object_yukabyun/gFloorTileEnemyDL.c
@@ -0,0 +1,14 @@
+#include "object_yukabyun.h"
+#include "gfx.h"
+
+u64 gFloorTileEnemyBottomTex[TEX_LEN(u64, gFloorTileEnemyBottomTex_WIDTH, gFloorTileEnemyBottomTex_HEIGHT, 16)] = {
+#include "assets/objects/object_yukabyun/gFloorTileEnemyBottomTex.rgba16.inc.c"
+};
+
+Vtx gFloorTileEnemyVtx[] = {
+#include "assets/objects/object_yukabyun/gFloorTileEnemyVtx.inc.c"
+};
+
+Gfx gFloorTileEnemyDL[23] = {
+#include "assets/objects/object_yukabyun/gFloorTileEnemyDL.inc.c"
+};
diff --git a/assets/objects/object_yukabyun/gFloorTileEnemyFragmentDL.c b/assets/objects/object_yukabyun/gFloorTileEnemyFragmentDL.c
new file mode 100644
index 000000000..1e5aea6e2
--- /dev/null
+++ b/assets/objects/object_yukabyun/gFloorTileEnemyFragmentDL.c
@@ -0,0 +1,19 @@
+#include "object_yukabyun.h"
+#include "gfx.h"
+
+Vtx gFloorTileEnemyFragmentVtx[] = {
+#include "assets/objects/object_yukabyun/gFloorTileEnemyFragmentVtx.inc.c"
+};
+
+Gfx gFloorTileEnemyFragmentDL[18] = {
+#include "assets/objects/object_yukabyun/gFloorTileEnemyFragmentDL.inc.c"
+};
+
+u64 gFloorTileEnemyTopTex[TEX_LEN(u64, gFloorTileEnemyTopTex_WIDTH, gFloorTileEnemyTopTex_HEIGHT, 16)] = {
+#include "assets/objects/object_yukabyun/gFloorTileEnemyTopTex.rgba16.inc.c"
+};
+
+u64 gFloorTileEnemyFragmentTex[TEX_LEN(u64, gFloorTileEnemyFragmentTex_WIDTH, gFloorTileEnemyFragmentTex_HEIGHT,
+ 16)] = {
+#include "assets/objects/object_yukabyun/gFloorTileEnemyFragmentTex.rgba16.inc.c"
+};
diff --git a/assets/objects/object_yukabyun/object_yukabyun.h b/assets/objects/object_yukabyun/object_yukabyun.h
new file mode 100644
index 000000000..d568240d6
--- /dev/null
+++ b/assets/objects/object_yukabyun/object_yukabyun.h
@@ -0,0 +1,23 @@
+#ifndef OBJECT_YUKABYUN_H
+#define OBJECT_YUKABYUN_H
+
+#include "ultra64.h"
+#include "tex_len.h"
+
+#define gFloorTileEnemyBottomTex_WIDTH 32
+#define gFloorTileEnemyBottomTex_HEIGHT 32
+extern u64 gFloorTileEnemyBottomTex[TEX_LEN(u64, gFloorTileEnemyBottomTex_WIDTH, gFloorTileEnemyBottomTex_HEIGHT, 16)];
+
+extern Gfx gFloorTileEnemyDL[23];
+
+extern Gfx gFloorTileEnemyFragmentDL[18];
+
+#define gFloorTileEnemyTopTex_WIDTH 32
+#define gFloorTileEnemyTopTex_HEIGHT 32
+extern u64 gFloorTileEnemyTopTex[TEX_LEN(u64, gFloorTileEnemyTopTex_WIDTH, gFloorTileEnemyTopTex_HEIGHT, 16)];
+
+#define gFloorTileEnemyFragmentTex_WIDTH 16
+#define gFloorTileEnemyFragmentTex_HEIGHT 16
+extern u64 gFloorTileEnemyFragmentTex[TEX_LEN(u64, gFloorTileEnemyFragmentTex_WIDTH, gFloorTileEnemyFragmentTex_HEIGHT, 16)];
+
+#endif
diff --git a/assets/objects/object_zg/gTowerCollapseBarsCol.c b/assets/objects/object_zg/gTowerCollapseBarsCol.c
new file mode 100644
index 000000000..855b51765
--- /dev/null
+++ b/assets/objects/object_zg/gTowerCollapseBarsCol.c
@@ -0,0 +1,24 @@
+#include "object_zg.h"
+#include "array_count.h"
+#include "camera.h"
+#include "z_math.h"
+
+BgCamInfo gTowerCollapseBarsBgCamList[] = {
+#include "assets/objects/object_zg/gTowerCollapseBarsBgCamList.inc.c"
+};
+
+SurfaceType gTowerCollapseBarsSurfaceTypes[] = {
+#include "assets/objects/object_zg/gTowerCollapseBarsSurfaceTypes.inc.c"
+};
+
+CollisionPoly gTowerCollapseBarsPolyList[] = {
+#include "assets/objects/object_zg/gTowerCollapseBarsPolyList.inc.c"
+};
+
+Vec3s gTowerCollapseBarsVtxList[] = {
+#include "assets/objects/object_zg/gTowerCollapseBarsVtxList.inc.c"
+};
+
+CollisionHeader gTowerCollapseBarsCol = {
+#include "assets/objects/object_zg/gTowerCollapseBarsCol.inc.c"
+};
diff --git a/assets/objects/object_zg/gTowerCollapseBarsDL.c b/assets/objects/object_zg/gTowerCollapseBarsDL.c
new file mode 100644
index 000000000..216708a11
--- /dev/null
+++ b/assets/objects/object_zg/gTowerCollapseBarsDL.c
@@ -0,0 +1,23 @@
+#include "object_zg.h"
+#include "gfx.h"
+#include "tex_len.h"
+
+#define gTowerCollapseBarMetalTex_WIDTH 32
+#define gTowerCollapseBarMetalTex_HEIGHT 32
+u64 gTowerCollapseBarMetalTex[TEX_LEN(u64, gTowerCollapseBarMetalTex_WIDTH, gTowerCollapseBarMetalTex_HEIGHT, 16)] = {
+#include "assets/objects/object_zg/gTowerCollapseBarMetalTex.rgba16.inc.c"
+};
+
+#define gTowerCollapseBarFlameTex_WIDTH 32
+#define gTowerCollapseBarFlameTex_HEIGHT 32
+u64 gTowerCollapseBarFlameTex[TEX_LEN(u64, gTowerCollapseBarFlameTex_WIDTH, gTowerCollapseBarFlameTex_HEIGHT, 16)] = {
+#include "assets/objects/object_zg/gTowerCollapseBarFlameTex.rgba16.inc.c"
+};
+
+Vtx gTowerCollapseBarsVtx[] = {
+#include "assets/objects/object_zg/gTowerCollapseBarsVtx.inc.c"
+};
+
+Gfx gTowerCollapseBarsDL[28] = {
+#include "assets/objects/object_zg/gTowerCollapseBarsDL.inc.c"
+};
diff --git a/assets/objects/object_zg/object_zg.h b/assets/objects/object_zg/object_zg.h
new file mode 100644
index 000000000..622160f3c
--- /dev/null
+++ b/assets/objects/object_zg/object_zg.h
@@ -0,0 +1,11 @@
+#ifndef OBJECT_ZG_H
+#define OBJECT_ZG_H
+
+#include "ultra64.h"
+#include "bgcheck.h"
+
+extern Gfx gTowerCollapseBarsDL[28];
+
+extern CollisionHeader gTowerCollapseBarsCol;
+
+#endif
diff --git a/assets/textures/icon_item_static/icon_item_static.c b/assets/textures/icon_item_static/icon_item_static.c
index 2adb277eb..bec39bde3 100644
--- a/assets/textures/icon_item_static/icon_item_static.c
+++ b/assets/textures/icon_item_static/icon_item_static.c
@@ -692,44 +692,41 @@ u64 gPauseGameOver10Tex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HE
// Various textures and DLs
-#define gABtnSymbolTex_WIDTH 24
-#define gABtnSymbolTex_HEIGHT 16
+#define gABtnSymbolTex_HEIGHT UI_OVERLAY_QUAD_INFO_ICON_HEIGHT
u64 gABtnSymbolTex[TEX_LEN(u64, gABtnSymbolTex_WIDTH, gABtnSymbolTex_HEIGHT, 8)] = {
#include "assets/textures/icon_item_static/gABtnSymbolTex.ia8.inc.c"
};
-#define gBBtnSymbolTex_WIDTH 24
-#define gBBtnSymbolTex_HEIGHT 16
+#define gBBtnSymbolTex_HEIGHT UI_OVERLAY_QUAD_INFO_ICON_HEIGHT
u64 gBBtnSymbolTex[TEX_LEN(u64, gBBtnSymbolTex_WIDTH, gBBtnSymbolTex_HEIGHT, 8)] = {
#include "assets/textures/icon_item_static/gBBtnSymbolTex.ia8.inc.c"
};
-#define gCBtnSymbolsTex_WIDTH 48
-#define gCBtnSymbolsTex_HEIGHT 16
+#define gCBtnSymbolsTex_HEIGHT UI_OVERLAY_QUAD_INFO_ICON_HEIGHT
u64 gCBtnSymbolsTex[TEX_LEN(u64, gCBtnSymbolsTex_WIDTH, gCBtnSymbolsTex_HEIGHT, 8)] = {
#include "assets/textures/icon_item_static/gCBtnSymbolsTex.ia8.inc.c"
};
-#define gNamePanelLeftTex_WIDTH 72
-#define gNamePanelLeftTex_HEIGHT 24
-u64 gNamePanelLeftTex[TEX_LEN(u64, gNamePanelLeftTex_WIDTH, gNamePanelLeftTex_HEIGHT, 8)] = {
-#include "assets/textures/icon_item_static/gNamePanelLeftTex.ia8.inc.c"
+#define gInfoPanelBgLeftTex_WIDTH 72
+#define gInfoPanelBgLeftTex_HEIGHT 24
+u64 gInfoPanelBgLeftTex[TEX_LEN(u64, gInfoPanelBgLeftTex_WIDTH, gInfoPanelBgLeftTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_static/gInfoPanelBgLeftTex.ia8.inc.c"
};
-#define gNamePanelRightTex_WIDTH 72
-#define gNamePanelRightTex_HEIGHT 24
-u64 gNamePanelRightTex[TEX_LEN(u64, gNamePanelRightTex_WIDTH, gNamePanelRightTex_HEIGHT, 8)] = {
-#include "assets/textures/icon_item_static/gNamePanelRightTex.ia8.inc.c"
+#define gInfoPanelBgRightTex_WIDTH 72
+#define gInfoPanelBgRightTex_HEIGHT 24
+u64 gInfoPanelBgRightTex[TEX_LEN(u64, gInfoPanelBgRightTex_WIDTH, gInfoPanelBgRightTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_static/gInfoPanelBgRightTex.ia8.inc.c"
};
-#define gLButtonTex_WIDTH 24
-#define gLButtonTex_HEIGHT 32
+#define gLButtonTex_WIDTH UI_OVERLAY_QUAD_BUTTON_LR_TEX_WIDTH
+#define gLButtonTex_HEIGHT UI_OVERLAY_QUAD_BUTTON_LR_TEX_HEIGHT
u64 gLButtonTex[TEX_LEN(u64, gLButtonTex_WIDTH, gLButtonTex_HEIGHT, 8)] = {
#include "assets/textures/icon_item_static/gLButtonTex.ia8.inc.c"
};
-#define gRButtonTex_WIDTH 24
-#define gRButtonTex_HEIGHT 32
+#define gRButtonTex_WIDTH UI_OVERLAY_QUAD_BUTTON_LR_TEX_WIDTH
+#define gRButtonTex_HEIGHT UI_OVERLAY_QUAD_BUTTON_LR_TEX_HEIGHT
u64 gRButtonTex[TEX_LEN(u64, gRButtonTex_WIDTH, gRButtonTex_HEIGHT, 8)] = {
#include "assets/textures/icon_item_static/gRButtonTex.ia8.inc.c"
};
@@ -748,8 +745,8 @@ u64 gMagicArrowEquipEffectTex[TEX_LEN(u64, gMagicArrowEquipEffectTex_WIDTH, gMag
#include "assets/textures/icon_item_static/gMagicArrowEquipEffectTex.ia8.inc.c"
};
-Gfx gItemNamePanelDL[18] = {
-#include "assets/textures/icon_item_static/gItemNamePanelDL.inc.c"
+Gfx gInfoPanelBgDL[18] = {
+#include "assets/textures/icon_item_static/gInfoPanelBgDL.inc.c"
};
Gfx gLButtonIconDL[10] = {
diff --git a/assets/textures/icon_item_static/icon_item_static.h b/assets/textures/icon_item_static/icon_item_static.h
index e8aff3823..176ea71e8 100644
--- a/assets/textures/icon_item_static/icon_item_static.h
+++ b/assets/textures/icon_item_static/icon_item_static.h
@@ -184,6 +184,10 @@ extern u64 gPauseSave14Tex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX
extern u64 gPauseSave24Tex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
extern u64 gPauseGameOver10Tex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+#define gABtnSymbolTex_WIDTH 24
+#define gBBtnSymbolTex_WIDTH 24
+#define gCBtnSymbolsTex_WIDTH 48
+
#define gSongNoteTex_WIDTH 16
#define gSongNoteTex_HEIGHT 24
extern u64 gSongNoteTex[TEX_LEN(u64, gSongNoteTex_WIDTH, gSongNoteTex_HEIGHT, 8)];
@@ -193,7 +197,7 @@ extern u64 gSongNoteTex[TEX_LEN(u64, gSongNoteTex_WIDTH, gSongNoteTex_HEIGHT, 8)
#define gMagicArrowEquipEffectTex_HEIGHT gMagicArrowEquipEffectTex_SIZE
extern u64 gMagicArrowEquipEffectTex[TEX_LEN(u64, gMagicArrowEquipEffectTex_WIDTH, gMagicArrowEquipEffectTex_HEIGHT, 8)];
-extern Gfx gItemNamePanelDL[18];
+extern Gfx gInfoPanelBgDL[18];
extern Gfx gLButtonIconDL[10];
extern Gfx gRButtonIconDL[10];
extern Gfx gCButtonIconsDL[11];
diff --git a/assets/xml/textures/icon_item_static.xml b/assets/xml/textures/icon_item_static.xml
index 2d67bfa10..4454a3316 100644
--- a/assets/xml/textures/icon_item_static.xml
+++ b/assets/xml/textures/icon_item_static.xml
@@ -169,14 +169,14 @@
-
-
+
+
-
+
diff --git a/assets/xml/textures/icon_item_static_pal.xml b/assets/xml/textures/icon_item_static_pal.xml
index 161d4039a..1869bb2ff 100644
--- a/assets/xml/textures/icon_item_static_pal.xml
+++ b/assets/xml/textures/icon_item_static_pal.xml
@@ -171,14 +171,14 @@
-
-
+
+
-
+
diff --git a/docker-compose.yml b/docker-compose.yml
index bca75f474..8f0a30b13 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,6 +1,7 @@
services:
oot:
build:
+ context: .
dockerfile: Dockerfile
volumes:
- ./:/oot
diff --git a/docs/BUILDING_DOCKER.md b/docs/BUILDING_DOCKER.md
index 98aed29c9..60f54c168 100644
--- a/docs/BUILDING_DOCKER.md
+++ b/docs/BUILDING_DOCKER.md
@@ -4,6 +4,8 @@
To use Docker, you'll need either Docker Desktop or Docker Toolbox installed and setup based on your system.
+On Ubuntu, Docker and required tools can be installed with: `sudo apt install docker.io docker-compose docker-buildx`
+
You'll also need to prepare a local version of the project with a copied base ROM (see steps [2](../README.md#2-clone-the-repository) and [3](../README.md#3-prepare-a-base-rom) of the Linux instructions).
## 2. Create and start the Docker image build
diff --git a/include/camera.h b/include/camera.h
index ad4c01ee0..5f7c650e3 100644
--- a/include/camera.h
+++ b/include/camera.h
@@ -342,7 +342,7 @@ typedef enum CameraDataType {
/* 0x13 */ CAM_DATA_AT_OFFSET_X,
/* 0x14 */ CAM_DATA_AT_OFFSET_Y,
/* 0x15 */ CAM_DATA_AT_OFFSET_Z,
- /* 0x16 */ CAM_DATA_UNK_22,
+ /* 0x16 */ CAM_DATA_INIT_TIMER,
/* 0x17 */ CAM_DATA_UNK_23,
/* 0x18 */ CAM_DATA_FOV_SCALE,
/* 0x19 */ CAM_DATA_YAW_SCALE,
@@ -854,15 +854,15 @@ typedef struct KeepOn3 {
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
typedef struct KeepOn4ReadOnlyData {
- /* 0x00 */ f32 unk_00;
- /* 0x04 */ f32 unk_04;
- /* 0x08 */ f32 unk_08;
- /* 0x0C */ f32 unk_0C;
- /* 0x10 */ f32 unk_10;
- /* 0x14 */ f32 unk_14;
- /* 0x18 */ f32 unk_18;
+ /* 0x00 */ f32 yOffset;
+ /* 0x04 */ f32 eyeDist;
+ /* 0x08 */ f32 pitchTarget; // degrees
+ /* 0x0C */ f32 yawTarget; // degrees
+ /* 0x10 */ f32 atOffsetPlayerForwards; // distance to offset `at` by, in the player's forwards direction
+ /* 0x14 */ f32 unk_14; // scale for stepping yaw and pitch of "at to eye" to target
+ /* 0x18 */ f32 fovTarget;
/* 0x1C */ s16 interfaceField;
- /* 0x1E */ s16 unk_1E;
+ /* 0x1E */ s16 initTimer;
} KeepOn4ReadOnlyData; // size = 0x20
typedef enum CameraItemType {
@@ -882,14 +882,14 @@ typedef enum CameraItemType {
} CameraItemType;
typedef struct KeepOn4ReadWriteData {
- /* 0x00 */ f32 unk_00;
- /* 0x04 */ f32 unk_04;
- /* 0x08 */ f32 unk_08;
- /* 0x0C */ s16 unk_0C;
- /* 0x0E */ s16 unk_0E;
- /* 0x10 */ s16 unk_10;
- /* 0x12 */ s16 unk_12;
- /* 0x14 */ s16 unk_14;
+ /* 0x00 */ f32 atToEyeTargetStepYaw; // binang
+ /* 0x04 */ f32 atToEyeTargetStepPitch; // binang
+ /* 0x08 */ f32 unk_08; // set but unused
+ /* 0x0C */ s16 atToEyeTargetYaw;
+ /* 0x0E */ s16 atToEyeTargetPitch;
+ /* 0x10 */ s16 animTimer;
+ /* 0x12 */ s16 unk_12; // set but unused
+ /* 0x14 */ s16 itemType;
} KeepOn4ReadWriteData; // size = 0x18
typedef struct KeepOn4 {
@@ -906,16 +906,16 @@ typedef struct KeepOn4 {
#define KEEPON4_FLAG_6 (1 << 6)
#define KEEPON4_FLAG_7 (1 << 7)
-#define CAM_FUNCDATA_KEEP4(yOffset, eyeDist, pitchTarget, yawTarget, atOffsetZ, fov, interfaceField, yawUpdateRateTarget, unk_22) \
+#define CAM_FUNCDATA_KEEP4(yOffset, eyeDist, pitchTarget, yawTarget, atOffsetPlayerForwards, fov, interfaceField, unk_14, initTimer) \
{ yOffset, CAM_DATA_Y_OFFSET }, \
{ eyeDist, CAM_DATA_EYE_DIST }, \
{ pitchTarget, CAM_DATA_PITCH_TARGET }, \
{ yawTarget, CAM_DATA_YAW_TARGET }, \
- { atOffsetZ, CAM_DATA_AT_OFFSET_Z }, \
+ { atOffsetPlayerForwards, CAM_DATA_AT_OFFSET_Z }, \
{ fov, CAM_DATA_FOV }, \
{ interfaceField, CAM_DATA_INTERFACE_FIELD }, \
- { yawUpdateRateTarget, CAM_DATA_YAW_UPDATE_RATE_TARGET }, \
- { unk_22, CAM_DATA_UNK_22 }
+ { unk_14, CAM_DATA_YAW_UPDATE_RATE_TARGET }, \
+ { initTimer, CAM_DATA_INIT_TIMER }
typedef struct KeepOn0ReadOnlyData {
/* 0x00 */ f32 fovScale;
@@ -1471,7 +1471,7 @@ typedef struct Special5 {
{ yOffset, CAM_DATA_Y_OFFSET }, \
{ eyeDist, CAM_DATA_EYE_DIST }, \
{ eyeDistNext, CAM_DATA_EYE_DIST_NEXT }, \
- { unk_22, CAM_DATA_UNK_22 }, \
+ { unk_22, CAM_DATA_INIT_TIMER }, \
{ pitchTarget, CAM_DATA_PITCH_TARGET }, \
{ fov, CAM_DATA_FOV }, \
{ atLerpStepScale, CAM_DATA_AT_LERP_STEP_SCALE }, \
@@ -1485,7 +1485,7 @@ typedef struct Special5 {
{ pitchTarget, CAM_DATA_PITCH_TARGET }, \
{ fov, CAM_DATA_FOV }, \
{ atLerpStepScale, CAM_DATA_AT_LERP_STEP_SCALE }, \
- { unk_22, CAM_DATA_UNK_22 }, \
+ { unk_22, CAM_DATA_INIT_TIMER }, \
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
typedef struct Special7ReadWriteData {
diff --git a/include/collision_check.h b/include/collision_check.h
index c897da686..d3d756abc 100644
--- a/include/collision_check.h
+++ b/include/collision_check.h
@@ -80,15 +80,26 @@ typedef struct ColliderInitToActor {
/* 0x07 */ u8 shape;
} ColliderInitToActor; // size = 0x08
+typedef enum HitSpecialEffect {
+ HIT_SPECIAL_EFFECT_NONE,
+ HIT_SPECIAL_EFFECT_FIRE,
+ HIT_SPECIAL_EFFECT_ICE,
+ HIT_SPECIAL_EFFECT_ELECTRIC,
+ HIT_SPECIAL_EFFECT_KNOCKBACK,
+ HIT_SPECIAL_EFFECT_7 = 7, // Same effect as `HIT_SPECIAL_EFFECT_NONE`
+ HIT_SPECIAL_EFFECT_8, // Same effect as `HIT_SPECIAL_EFFECT_NONE`
+ HIT_SPECIAL_EFFECT_9 // Same effect as `HIT_SPECIAL_EFFECT_NONE`
+} HitSpecialEffect;
+
typedef struct ColliderElementDamageInfoAT {
/* 0x00 */ u32 dmgFlags; // Damage types dealt by this collider element as AT.
- /* 0x04 */ u8 effect; // Damage Effect (Knockback, Fire, etc.)
+ /* 0x04 */ u8 hitSpecialEffect; // The hit special effect applied to any actor attacked by this AT collider.
/* 0x05 */ u8 damage; // Damage
} ColliderElementDamageInfoAT; // size = 0x08
typedef enum HitBacklash {
- HIT_BACKLASH_0,
- HIT_BACKLASH_1 // Shock?
+ HIT_BACKLASH_NONE,
+ HIT_BACKLASH_ELECTRIC
} HitBacklash;
typedef struct ColliderElementDamageInfoAC {
@@ -471,7 +482,7 @@ typedef struct CollisionCheckInfo {
/* 0x18 */ u8 damage; // Amount to decrement health by
/* 0x19 */ u8 damageReaction; // Stores what reaction should occur after being hit
/* 0x1A */ u8 atHitBacklash; // Stores the hit backlash type received from attacking an AC collider
- /* 0x1B */ u8 acHitEffect; // Stores what effect should occur when AC is touched by an AT
+ /* 0x1B */ u8 acHitSpecialEffect; // Stores the hit special effect received from being attacked by an AT collider
} CollisionCheckInfo; // size = 0x1C
DamageTable* DamageTable_Get(s32 index);
diff --git a/include/pause.h b/include/pause.h
index 785824549..736e2cd6f 100644
--- a/include/pause.h
+++ b/include/pause.h
@@ -175,7 +175,7 @@ typedef struct PauseContext {
/* 0x0148 */ Vtx* equipPageVtx;
/* 0x014C */ Vtx* mapPageVtx;
/* 0x0150 */ Vtx* questPageVtx;
- /* 0x0154 */ Vtx* infoPanelVtx;
+ /* 0x0154 */ Vtx* uiOverlayVtx;
/* 0x0158 */ Vtx* itemVtx;
/* 0x015C */ Vtx* equipVtx;
/* 0x0160 */ char unk_160[0x04];
diff --git a/include/player.h b/include/player.h
index 3875c9ae0..8a09f547d 100644
--- a/include/player.h
+++ b/include/player.h
@@ -648,16 +648,16 @@ typedef enum PlayerKnockbackType {
/* 0 */ PLAYER_KNOCKBACK_NONE, // No knockback
/* 1 */ PLAYER_KNOCKBACK_SMALL, // A small hop, remains standing up
/* 2 */ PLAYER_KNOCKBACK_LARGE, // Sent flying in the air and lands laying down on the floor
- /* 3 */ PLAYER_KNOCKBACK_LARGE_SHOCK // Same as`PLAYER_KNOCKBACK_LARGE` with a shock effect
+ /* 3 */ PLAYER_KNOCKBACK_LARGE_ELECTRIFIED // Same as`PLAYER_KNOCKBACK_LARGE` with a shock effect
} PlayerKnockbackType;
-typedef enum PlayerDamageResponseType {
+typedef enum PlayerHitResponseType {
/* 0 */ PLAYER_HIT_RESPONSE_NONE,
/* 1 */ PLAYER_HIT_RESPONSE_KNOCKBACK_LARGE,
/* 2 */ PLAYER_HIT_RESPONSE_KNOCKBACK_SMALL,
- /* 3 */ PLAYER_HIT_RESPONSE_ICE_TRAP,
- /* 4 */ PLAYER_HIT_RESPONSE_ELECTRIC_SHOCK
-} PlayerDamageResponseType;
+ /* 3 */ PLAYER_HIT_RESPONSE_FROZEN,
+ /* 4 */ PLAYER_HIT_RESPONSE_ELECTRIFIED
+} PlayerHitResponseType;
typedef struct PlayerAgeProperties {
/* 0x00 */ f32 ceilingCheckHeight;
diff --git a/include/regs.h b/include/regs.h
index db5485a71..205d24407 100644
--- a/include/regs.h
+++ b/include/regs.h
@@ -109,12 +109,12 @@ struct PlayState;
#define R_TEXTBOX_WIDTH YREG(22)
#define R_TEXTBOX_HEIGHT YREG(23)
#if OOT_NTSC
-#define R_KALEIDO_UNK1(i) YREG(48 + (i))
-#define R_KALEIDO_UNK2(i) YREG(50 + (i))
-#define R_KALEIDO_UNK3(i) YREG(52 + (i))
-#define R_KALEIDO_UNK4(i) YREG(54 + (i))
-#define R_KALEIDO_UNK5(i) YREG(56 + (i))
-#define R_KALEIDO_UNK6(i) YREG(58 + (i))
+#define R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(i) YREG(48 + (i))
+#define R_PAUSE_INFO_PANEL_TEXT_X(i) YREG(50 + (i))
+#define R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(i) YREG(52 + (i))
+#define R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(i) YREG(54 + (i))
+#define R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(i) YREG(56 + (i))
+#define R_PAUSE_INFO_PANEL_ICON_EQUIP_X(i) YREG(58 + (i))
#endif
#define R_TEXTBOX_ICON_XPOS YREG(71)
#define R_TEXTBOX_ICON_YPOS YREG(72)
@@ -200,6 +200,9 @@ struct PlayState;
#define R_B_LABEL_Y(i) WREG(12 + (i))
#define R_A_LABEL_Z(i) WREG(14 + (i))
#endif
+#define R_PAUSE_BUTTON_LEFT_X WREG(16)
+#define R_PAUSE_BUTTON_RIGHT_X WREG(17)
+#define R_PAUSE_BUTTON_LEFT_RIGHT_Y WREG(18)
#define R_OW_MINIMAP_X WREG(29)
#define R_OW_MINIMAP_Y WREG(30)
#define R_MINIMAP_DISABLED WREG(31)
@@ -208,12 +211,12 @@ struct PlayState;
#define R_B_LABEL_X(i) WREG(40 + (i))
#define R_B_LABEL_Y(i) WREG(43 + (i))
#define R_A_LABEL_Z(i) WREG(46 + (i))
-#define R_KALEIDO_UNK1(i) WREG(49 + (i))
-#define R_KALEIDO_UNK2(i) WREG(52 + (i))
-#define R_KALEIDO_UNK3(i) WREG(55 + (i))
-#define R_KALEIDO_UNK4(i) WREG(58 + (i))
-#define R_KALEIDO_UNK5(i) WREG(61 + (i))
-#define R_KALEIDO_UNK6(i) WREG(64 + (i))
+#define R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(i) WREG(49 + (i))
+#define R_PAUSE_INFO_PANEL_TEXT_X(i) WREG(52 + (i))
+#define R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(i) WREG(55 + (i))
+#define R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(i) WREG(58 + (i))
+#define R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(i) WREG(61 + (i))
+#define R_PAUSE_INFO_PANEL_ICON_EQUIP_X(i) WREG(64 + (i))
#endif
#define R_DGN_MINIMAP_X WREG(68)
#define R_DGN_MINIMAP_Y WREG(69)
diff --git a/spec/spec b/spec/spec
index ccb13987f..89d83c9c1 100644
--- a/spec/spec
+++ b/spec/spec
@@ -1841,7 +1841,8 @@ beginseg
name "object_yukabyun"
compress
romalign 0x1000
- include "$(BUILD_DIR)/assets/objects/object_yukabyun/object_yukabyun.o"
+ include "$(BUILD_DIR)/assets/objects/object_yukabyun/gFloorTileEnemyDL.o"
+ include "$(BUILD_DIR)/assets/objects/object_yukabyun/gFloorTileEnemyFragmentDL.o"
number 6
endseg
@@ -2057,7 +2058,7 @@ beginseg
name "object_vase"
compress
romalign 0x1000
- include "$(BUILD_DIR)/assets/objects/object_vase/object_vase.o"
+ include "$(BUILD_DIR)/assets/objects/object_vase/gUnusedVaseDL.o"
number 6
endseg
@@ -3017,7 +3018,8 @@ beginseg
name "object_umajump"
compress
romalign 0x1000
- include "$(BUILD_DIR)/assets/objects/object_umajump/object_umajump.o"
+ include "$(BUILD_DIR)/assets/objects/object_umajump/gJumpableHorseFenceDL.o"
+ include "$(BUILD_DIR)/assets/objects/object_umajump/gJumpableHorseFenceCol.o"
number 6
endseg
@@ -3689,7 +3691,8 @@ beginseg
name "object_zg"
compress
romalign 0x1000
- include "$(BUILD_DIR)/assets/objects/object_zg/object_zg.o"
+ include "$(BUILD_DIR)/assets/objects/object_zg/gTowerCollapseBarsDL.o"
+ include "$(BUILD_DIR)/assets/objects/object_zg/gTowerCollapseBarsCol.o"
number 6
endseg
diff --git a/src/code/z_actor.c b/src/code/z_actor.c
index 48541c13f..8b3317529 100644
--- a/src/code/z_actor.c
+++ b/src/code/z_actor.c
@@ -37,8 +37,8 @@
#include "assets/objects/gameplay_dangeon_keep/gameplay_dangeon_keep.h"
#include "assets/objects/object_bdoor/object_bdoor.h"
-#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ntsc-1.0:0" \
- "ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0"
+#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
+ "ntsc-1.0:0 ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0"
CollisionPoly* sCurCeilingPoly;
s32 sCurCeilingBgId;
diff --git a/src/code/z_bgcheck.c b/src/code/z_bgcheck.c
index a87481817..6764a6512 100644
--- a/src/code/z_bgcheck.c
+++ b/src/code/z_bgcheck.c
@@ -14,7 +14,7 @@
#include "player.h"
#include "skin_matrix.h"
-#pragma increment_block_number "ntsc-1.0:144 ntsc-1.1:144 ntsc-1.2:144"
+#pragma increment_block_number "ntsc-1.0:136 ntsc-1.1:136 ntsc-1.2:136"
u16 DynaSSNodeList_GetNextNodeIdx(DynaSSNodeList* nodeList);
void BgCheck_GetStaticLookupIndicesFromPos(CollisionContext* colCtx, Vec3f* pos, Vec3i* sector);
diff --git a/src/code/z_camera.c b/src/code/z_camera.c
index 531fd9e9d..ca2edc63e 100644
--- a/src/code/z_camera.c
+++ b/src/code/z_camera.c
@@ -3659,7 +3659,7 @@ s32 Camera_KeepOn3(Camera* camera) {
}
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
- "ique-cn:128 ntsc-1.0:76 ntsc-1.1:76 ntsc-1.2:76 pal-1.0:76 pal-1.1:76"
+ "ique-cn:128 ntsc-1.0:73 ntsc-1.1:73 ntsc-1.2:73 pal-1.0:73 pal-1.1:73"
s32 Camera_KeepOn4(Camera* camera) {
static Vec3f sAtTarget;
@@ -3696,12 +3696,12 @@ s32 Camera_KeepOn4(Camera* camera) {
camera->play->view.unk_124 = camera->camId | 0x50;
return 1;
}
- rwData->unk_14 = *itemType;
+ rwData->itemType = *itemType;
camera->stateFlags &= ~CAM_STATE_LOCK_MODE;
}
- if (rwData->unk_14 != *itemType) {
- PRINTF(VT_COL(YELLOW, BLACK) "camera: item: item type changed %d -> %d\n" VT_RST, rwData->unk_14, *itemType);
+ if (rwData->itemType != *itemType) {
+ PRINTF(VT_COL(YELLOW, BLACK) "camera: item: item type changed %d -> %d\n" VT_RST, rwData->itemType, *itemType);
camera->animState = 20;
camera->stateFlags |= CAM_STATE_LOCK_MODE;
camera->stateFlags &= ~(CAM_STATE_CHECK_WATER | CAM_STATE_CHECK_BG);
@@ -3715,133 +3715,133 @@ s32 Camera_KeepOn4(Camera* camera) {
CameraModeValue* values = sCameraSettings[camera->setting].cameraModes[camera->mode].values;
f32 yNormal = 1.0f + t - (68.0f / playerHeight * t);
- roData->unk_00 = GET_NEXT_SCALED_RO_DATA(values) * playerHeight * yNormal;
- roData->unk_04 = GET_NEXT_SCALED_RO_DATA(values) * playerHeight * yNormal;
- roData->unk_08 = GET_NEXT_RO_DATA(values);
- roData->unk_0C = GET_NEXT_RO_DATA(values);
- roData->unk_10 = GET_NEXT_RO_DATA(values);
- roData->unk_18 = GET_NEXT_RO_DATA(values);
+ roData->yOffset = GET_NEXT_SCALED_RO_DATA(values) * playerHeight * yNormal;
+ roData->eyeDist = GET_NEXT_SCALED_RO_DATA(values) * playerHeight * yNormal;
+ roData->pitchTarget = GET_NEXT_RO_DATA(values);
+ roData->yawTarget = GET_NEXT_RO_DATA(values);
+ roData->atOffsetPlayerForwards = GET_NEXT_RO_DATA(values);
+ roData->fovTarget = GET_NEXT_RO_DATA(values);
roData->interfaceField = GET_NEXT_RO_DATA(values);
roData->unk_14 = GET_NEXT_SCALED_RO_DATA(values);
- roData->unk_1E = GET_NEXT_RO_DATA(values);
+ roData->initTimer = GET_NEXT_RO_DATA(values);
PRINTF("camera: item: type %d\n", *itemType);
switch (*itemType) {
case CAM_ITEM_TYPE_1:
- roData->unk_00 = playerHeight * -0.6f * yNormal;
- roData->unk_04 = playerHeight * 2.0f * yNormal;
- roData->unk_08 = 10.0f;
+ roData->yOffset = playerHeight * -0.6f * yNormal;
+ roData->eyeDist = playerHeight * 2.0f * yNormal;
+ roData->pitchTarget = 10.0f;
break;
case CAM_ITEM_TYPE_2:
case CAM_ITEM_TYPE_3:
- roData->unk_08 = -20.0f;
- roData->unk_18 = 80.0f;
+ roData->pitchTarget = -20.0f;
+ roData->fovTarget = 80.0f;
break;
case CAM_ITEM_TYPE_4:
- roData->unk_00 = playerHeight * -0.2f * yNormal;
- roData->unk_08 = 25.0f;
+ roData->yOffset = playerHeight * -0.2f * yNormal;
+ roData->pitchTarget = 25.0f;
break;
case CAM_ITEM_TYPE_8:
- roData->unk_00 = playerHeight * -0.2f * yNormal;
- roData->unk_04 = playerHeight * 0.8f * yNormal;
- roData->unk_08 = 50.0f;
- roData->unk_18 = 70.0f;
+ roData->yOffset = playerHeight * -0.2f * yNormal;
+ roData->eyeDist = playerHeight * 0.8f * yNormal;
+ roData->pitchTarget = 50.0f;
+ roData->fovTarget = 70.0f;
break;
case CAM_ITEM_TYPE_9:
if (MM_GETITEM_CAM == true) {
if (LINK_IS_ADULT) {
- roData->unk_00 = playerHeight * -0.1f * yNormal; // Height
- roData->unk_04 = playerHeight * 0.7f * yNormal; // Focal Point
- roData->unk_08 = 35.0f; // Cam Rotation
- roData->unk_0C = 0.0f; // ???
+ roData->yOffset = playerHeight * -0.1f * yNormal; // Height
+ roData->eyeDist = playerHeight * 0.7f * yNormal; // Focal Point
+ roData->pitchTarget = 35.0f; // Cam Rotation
+ roData->yawTarget = 0.0f; // ???
// roData->unk_1C = 0x3540; Rotates cam on Y axis. Not in MM
break;
} else {
- roData->unk_00 = playerHeight * 0.06f * yNormal; // Height
- roData->unk_04 = playerHeight * 0.51f * yNormal; // Focal Point
- roData->unk_08 = 30.0f; // Cam Rotation
- roData->unk_0C = 0.0f; // ???
+ roData->yOffset = playerHeight * 0.06f * yNormal; // Height
+ roData->eyeDist = playerHeight * 0.51f * yNormal; // Focal Point
+ roData->pitchTarget = 30.0f; // Cam Rotation
+ roData->yawTarget = 0.0f; // ???
// roData->unk_1C = 0x3540; Rotates cam on Y axis. Not in MM
break;
}
} else {
- roData->unk_00 = playerHeight * 0.1f * yNormal; // Height
- roData->unk_04 = playerHeight * 0.5f * yNormal; // Focal Point
- roData->unk_08 = -20.0f; // Cam Rotation
- roData->unk_0C = 0.0f; // ???
+ roData->yOffset = playerHeight * 0.1f * yNormal; // Height
+ roData->eyeDist = playerHeight * 0.5f * yNormal; // Focal Point
+ roData->pitchTarget = -20.0f; // Cam Rotation
+ roData->yawTarget = 0.0f; // ???
roData->interfaceField = CAM_INTERFACE_FIELD(
CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_A_HEARTS_MAGIC_FORCE, KEEPON4_FLAG_6);
break;
}
case CAM_ITEM_TYPE_5:
- roData->unk_00 = playerHeight * -0.4f * yNormal;
- roData->unk_08 = -10.0f;
- roData->unk_0C = 45.0f;
+ roData->yOffset = playerHeight * -0.4f * yNormal;
+ roData->pitchTarget = -10.0f;
+ roData->yawTarget = 45.0f;
roData->interfaceField =
CAM_INTERFACE_FIELD(CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_ALL, KEEPON4_FLAG_1);
break;
case CAM_ITEM_TYPE_10:
- roData->unk_00 = playerHeight * -0.5f * yNormal;
- roData->unk_04 = playerHeight * 1.5f * yNormal;
- roData->unk_08 = -15.0f;
- roData->unk_0C = 175.0f;
- roData->unk_18 = 70.0f;
+ roData->yOffset = playerHeight * -0.5f * yNormal;
+ roData->eyeDist = playerHeight * 1.5f * yNormal;
+ roData->pitchTarget = -15.0f;
+ roData->yawTarget = 175.0f;
+ roData->fovTarget = 70.0f;
roData->interfaceField =
CAM_INTERFACE_FIELD(CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_NOTHING_ALT, KEEPON4_FLAG_1);
- roData->unk_1E = 0x3C;
+ roData->initTimer = 0x3C;
break;
case CAM_ITEM_TYPE_12:
- roData->unk_00 = playerHeight * -0.6f * yNormal;
- roData->unk_04 = playerHeight * 1.6f * yNormal;
- roData->unk_08 = -2.0f;
- roData->unk_0C = 120.0f;
- roData->unk_10 = player->stateFlags1 & PLAYER_STATE1_27 ? 0.0f : 20.0f;
+ roData->yOffset = playerHeight * -0.6f * yNormal;
+ roData->eyeDist = playerHeight * 1.6f * yNormal;
+ roData->pitchTarget = -2.0f;
+ roData->yawTarget = 120.0f;
+ roData->atOffsetPlayerForwards = player->stateFlags1 & PLAYER_STATE1_27 ? 0.0f : 20.0f;
roData->interfaceField = CAM_INTERFACE_FIELD(CAM_LETTERBOX_LARGE, CAM_HUD_VISIBILITY_NOTHING_ALT,
KEEPON4_FLAG_4 | KEEPON4_FLAG_1);
- roData->unk_1E = 0x1E;
- roData->unk_18 = 50.0f;
+ roData->initTimer = 0x1E;
+ roData->fovTarget = 50.0f;
break;
case CAM_ITEM_TYPE_90:
- roData->unk_00 = playerHeight * -0.3f * yNormal;
- roData->unk_18 = 45.0f;
+ roData->yOffset = playerHeight * -0.3f * yNormal;
+ roData->fovTarget = 45.0f;
roData->interfaceField =
CAM_INTERFACE_FIELD(CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_IGNORE, KEEPON4_FLAG_1);
break;
case CAM_ITEM_TYPE_91:
- roData->unk_00 = playerHeight * -0.1f * yNormal;
- roData->unk_04 = playerHeight * 1.5f * yNormal;
- roData->unk_08 = -3.0f;
- roData->unk_0C = 10.0f;
- roData->unk_18 = 55.0f;
+ roData->yOffset = playerHeight * -0.1f * yNormal;
+ roData->eyeDist = playerHeight * 1.5f * yNormal;
+ roData->pitchTarget = -3.0f;
+ roData->yawTarget = 10.0f;
+ roData->fovTarget = 55.0f;
roData->interfaceField =
CAM_INTERFACE_FIELD(CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_IGNORE, KEEPON4_FLAG_3);
break;
case CAM_ITEM_TYPE_81:
- roData->unk_00 = playerHeight * -0.3f * yNormal;
- roData->unk_04 = playerHeight * 1.5f * yNormal;
- roData->unk_08 = 2.0f;
- roData->unk_18 = 45.0f;
- roData->unk_0C = 20.0f;
- roData->unk_10 = 20.0f;
+ roData->yOffset = playerHeight * -0.3f * yNormal;
+ roData->eyeDist = playerHeight * 1.5f * yNormal;
+ roData->pitchTarget = 2.0f;
+ roData->fovTarget = 45.0f;
+ roData->yawTarget = 20.0f;
+ roData->atOffsetPlayerForwards = 20.0f;
roData->interfaceField =
CAM_INTERFACE_FIELD(CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_NOTHING_ALT, KEEPON4_FLAG_7);
- roData->unk_1E = 0x1E;
+ roData->initTimer = 0x1E;
break;
case CAM_ITEM_TYPE_11:
- roData->unk_00 = playerHeight * -0.19f * yNormal;
- roData->unk_04 = playerHeight * 0.7f * yNormal;
- roData->unk_0C = 130.0f;
- roData->unk_10 = 10.0f;
+ roData->yOffset = playerHeight * -0.19f * yNormal;
+ roData->eyeDist = playerHeight * 0.7f * yNormal;
+ roData->yawTarget = 130.0f;
+ roData->atOffsetPlayerForwards = 10.0f;
roData->interfaceField = CAM_INTERFACE_FIELD(
CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_A_HEARTS_MAGIC_FORCE, KEEPON4_FLAG_5 | KEEPON4_FLAG_1);
break;
@@ -3860,10 +3860,10 @@ s32 Camera_KeepOn4(Camera* camera) {
sAtTarget = playerPosRot->pos;
sAtTarget.y += playerHeight;
temp_f0_2 = BgCheck_CameraRaycastDown2(&camera->play->colCtx, &spC0, &i, &sAtTarget);
- if (temp_f0_2 > (roData->unk_00 + sAtTarget.y)) {
+ if (temp_f0_2 > (roData->yOffset + sAtTarget.y)) {
sAtTarget.y = temp_f0_2 + 10.0f;
} else {
- sAtTarget.y += roData->unk_00;
+ sAtTarget.y += roData->yOffset;
}
lineOCCheckNumExclusions = 0;
@@ -3874,38 +3874,38 @@ s32 Camera_KeepOn4(Camera* camera) {
lineOCCheckNumExclusions++;
func_80043ABC(camera);
camera->stateFlags &= ~(CAM_STATE_CHECK_WATER | CAM_STATE_CHECK_BG);
- rwData->unk_10 = roData->unk_1E;
+ rwData->animTimer = roData->initTimer;
rwData->unk_08 = playerPosRot->pos.y - camera->playerPosDelta.y;
if (roData->interfaceField & KEEPON4_FLAG_1) {
- atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->unk_08);
+ atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->pitchTarget);
atToEyeBaseYaw = (s16)((s16)(playerPosRot->rot.y - 0x7FFF) - atToEyeNextDir.yaw) > 0
- ? (s16)(playerPosRot->rot.y - 0x7FFF) + CAM_DEG_TO_BINANG(roData->unk_0C)
- : (s16)(playerPosRot->rot.y - 0x7FFF) - CAM_DEG_TO_BINANG(roData->unk_0C);
+ ? (s16)(playerPosRot->rot.y - 0x7FFF) + CAM_DEG_TO_BINANG(roData->yawTarget)
+ : (s16)(playerPosRot->rot.y - 0x7FFF) - CAM_DEG_TO_BINANG(roData->yawTarget);
} else if (roData->interfaceField & KEEPON4_FLAG_2) {
- atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->unk_08);
- atToEyeBaseYaw = CAM_DEG_TO_BINANG(roData->unk_0C);
+ atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->pitchTarget);
+ atToEyeBaseYaw = CAM_DEG_TO_BINANG(roData->yawTarget);
} else if ((roData->interfaceField & KEEPON4_FLAG_3) && camera->target != NULL) {
PosRot sp60;
sp60 = Actor_GetWorldPosShapeRot(camera->target);
- atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->unk_08) - sp60.rot.x;
+ atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->pitchTarget) - sp60.rot.x;
atToEyeBaseYaw = (s16)((s16)(sp60.rot.y - 0x7FFF) - atToEyeNextDir.yaw) > 0
- ? (s16)(sp60.rot.y - 0x7FFF) + CAM_DEG_TO_BINANG(roData->unk_0C)
- : (s16)(sp60.rot.y - 0x7FFF) - CAM_DEG_TO_BINANG(roData->unk_0C);
+ ? (s16)(sp60.rot.y - 0x7FFF) + CAM_DEG_TO_BINANG(roData->yawTarget)
+ : (s16)(sp60.rot.y - 0x7FFF) - CAM_DEG_TO_BINANG(roData->yawTarget);
lineOCCheckExclusions[1] = camera->target;
lineOCCheckNumExclusions++;
} else if ((roData->interfaceField & KEEPON4_FLAG_7) && camera->target != NULL) {
PosRot sp4C;
sp4C = Actor_GetWorld(camera->target);
- atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->unk_08);
+ atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->pitchTarget);
sp9E = Camera_XZAngle(&sp4C.pos, &playerPosRot->pos);
- atToEyeBaseYaw = ((s16)(sp9E - atToEyeNextDir.yaw) > 0) ? sp9E + CAM_DEG_TO_BINANG(roData->unk_0C)
- : sp9E - CAM_DEG_TO_BINANG(roData->unk_0C);
+ atToEyeBaseYaw = ((s16)(sp9E - atToEyeNextDir.yaw) > 0) ? sp9E + CAM_DEG_TO_BINANG(roData->yawTarget)
+ : sp9E - CAM_DEG_TO_BINANG(roData->yawTarget);
lineOCCheckExclusions[1] = camera->target;
lineOCCheckNumExclusions++;
} else if (roData->interfaceField & KEEPON4_FLAG_6) {
- atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->unk_08);
+ atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->pitchTarget);
atToEyeBaseYaw = atToEyeNextDir.yaw;
} else {
atToEyeBasePitch = atToEyeNextDir.pitch;
@@ -3914,7 +3914,7 @@ s32 Camera_KeepOn4(Camera* camera) {
vecGeo.pitch = atToEyeBasePitch;
vecGeo.yaw = atToEyeBaseYaw;
- vecGeo.r = roData->unk_04;
+ vecGeo.r = roData->eyeDist;
sEyeCandidate = Camera_AddVecGeoToVec3f(&sAtTarget, &vecGeo);
if (!(roData->interfaceField & KEEPON4_FLAG_0)) {
angleCnt = ARRAY_COUNT(sCamCheckAroundOffsetsYaw);
@@ -3932,10 +3932,10 @@ s32 Camera_KeepOn4(Camera* camera) {
PRINTF("camera: item: BG&collision check %d time(s)\n", i);
#endif
}
- rwData->unk_04 = (s16)(vecGeo.pitch - atToEyeNextDir.pitch) / (f32)rwData->unk_10;
- rwData->unk_00 = (s16)(vecGeo.yaw - atToEyeNextDir.yaw) / (f32)rwData->unk_10;
- rwData->unk_0C = atToEyeNextDir.yaw;
- rwData->unk_0E = atToEyeNextDir.pitch;
+ rwData->atToEyeTargetStepPitch = (s16)(vecGeo.pitch - atToEyeNextDir.pitch) / (f32)rwData->animTimer;
+ rwData->atToEyeTargetStepYaw = (s16)(vecGeo.yaw - atToEyeNextDir.yaw) / (f32)rwData->animTimer;
+ rwData->atToEyeTargetYaw = atToEyeNextDir.yaw;
+ rwData->atToEyeTargetPitch = atToEyeNextDir.pitch;
camera->animState++;
rwData->unk_12 = 1;
break;
@@ -3948,20 +3948,20 @@ s32 Camera_KeepOn4(Camera* camera) {
camera->yOffsetUpdateRate = 0.25f;
camera->atLERPStepScale = 0.75f;
Camera_LERPCeilVec3f(&sAtTarget, at, 0.5f, 0.5f, 0.2f);
- if (roData->unk_10 != 0.0f) {
- vecGeo.r = roData->unk_10;
+ if (roData->atOffsetPlayerForwards != 0.0f) {
+ vecGeo.r = roData->atOffsetPlayerForwards;
vecGeo.pitch = 0;
vecGeo.yaw = playerPosRot->rot.y;
*at = Camera_AddVecGeoToVec3f(at, &vecGeo);
}
camera->atLERPStepScale = 0.0f;
- camera->dist = Camera_LERPCeilF(roData->unk_04, camera->dist, 0.25f, 2.0f);
+ camera->dist = Camera_LERPCeilF(roData->eyeDist, camera->dist, 0.25f, 2.0f);
vecGeo.r = camera->dist;
- if (rwData->unk_10 != 0) {
+ if (rwData->animTimer != 0) {
camera->stateFlags |= CAM_STATE_LOCK_MODE;
- rwData->unk_0C += (s16)rwData->unk_00;
- rwData->unk_0E += (s16)rwData->unk_04;
- rwData->unk_10--;
+ rwData->atToEyeTargetYaw += (s16)rwData->atToEyeTargetStepYaw;
+ rwData->atToEyeTargetPitch += (s16)rwData->atToEyeTargetStepPitch;
+ rwData->animTimer--;
} else if (roData->interfaceField & KEEPON4_FLAG_4) {
camera->stateFlags |= (CAM_STATE_CAM_FUNC_FINISH | CAM_STATE_BLOCK_BG);
camera->stateFlags |= (CAM_STATE_CHECK_WATER | CAM_STATE_CHECK_BG);
@@ -3983,12 +3983,12 @@ s32 Camera_KeepOn4(Camera* camera) {
}
}
}
- vecGeo.yaw = Camera_LERPCeilS(rwData->unk_0C, atToEyeNextDir.yaw, roData->unk_14, 4);
- vecGeo.pitch = Camera_LERPCeilS(rwData->unk_0E, atToEyeNextDir.pitch, roData->unk_14, 4);
+ vecGeo.yaw = Camera_LERPCeilS(rwData->atToEyeTargetYaw, atToEyeNextDir.yaw, roData->unk_14, 4);
+ vecGeo.pitch = Camera_LERPCeilS(rwData->atToEyeTargetPitch, atToEyeNextDir.pitch, roData->unk_14, 4);
*eyeNext = Camera_AddVecGeoToVec3f(at, &vecGeo);
*eye = *eyeNext;
Camera_BGCheck(camera, at, eye);
- camera->fov = Camera_LERPCeilF(roData->unk_18, camera->fov, camera->fovUpdateRate, 1.0f);
+ camera->fov = Camera_LERPCeilF(roData->fovTarget, camera->fov, camera->fovUpdateRate, 1.0f);
camera->roll = Camera_LERPCeilS(0, camera->roll, 0.5f, 0xA);
//! @bug Missing return, but the return value is not used.
}
diff --git a/src/code/z_camera_data.inc.c b/src/code/z_camera_data.inc.c
index 1de1cefc6..676ed6d3c 100644
--- a/src/code/z_camera_data.inc.c
+++ b/src/code/z_camera_data.inc.c
@@ -118,7 +118,7 @@ s16 sCamDataRegsInit[CAM_DATA_MAX] = {
0, // CAM_DATA_AT_OFFSET_X
0, // CAM_DATA_AT_OFFSET_Y
0, // CAM_DATA_AT_OFFSET_Z
- 6, // CAM_DATA_UNK_22
+ 6, // CAM_DATA_INIT_TIMER
60, // CAM_DATA_UNK_23
30, // CAM_DATA_FOV_SCALE
0, // CAM_DATA_YAW_SCALE
diff --git a/src/code/z_collision_check.c b/src/code/z_collision_check.c
index f1010cc7a..ac49186c1 100644
--- a/src/code/z_collision_check.c
+++ b/src/code/z_collision_check.c
@@ -172,7 +172,7 @@ s32 Collider_DestroyElementDamageInfoAT(PlayState* play, ColliderElementDamageIn
s32 Collider_SetElementDamageInfoAT(PlayState* play, ColliderElementDamageInfoAT* dest,
ColliderElementDamageInfoAT* src) {
dest->dmgFlags = src->dmgFlags;
- dest->effect = src->effect;
+ dest->hitSpecialEffect = src->hitSpecialEffect;
dest->damage = src->damage;
return true;
}
@@ -1743,7 +1743,7 @@ s32 CollisionCheck_SetATvsAC(PlayState* play, Collider* atCol, ColliderElement*
acElem->acHitElem = atElem;
acElem->acElemFlags |= ACELEM_HIT;
if (acCol->actor != NULL) {
- acCol->actor->colChkInfo.acHitEffect = atElem->atDmgInfo.effect;
+ acCol->actor->colChkInfo.acHitSpecialEffect = atElem->atDmgInfo.hitSpecialEffect;
}
acElem->acDmgInfo.hitPos.x = hitPos->x;
acElem->acDmgInfo.hitPos.y = hitPos->y;
@@ -3023,8 +3023,8 @@ void CollisionCheck_InitInfo(CollisionCheckInfo* info) {
void CollisionCheck_ResetDamage(CollisionCheckInfo* info) {
info->damage = 0;
info->damageReaction = 0;
- info->atHitBacklash = HIT_BACKLASH_0;
- info->acHitEffect = 0;
+ info->atHitBacklash = HIT_BACKLASH_NONE;
+ info->acHitSpecialEffect = HIT_SPECIAL_EFFECT_NONE;
info->displacement.x = info->displacement.y = info->displacement.z = 0.0f;
}
diff --git a/src/code/z_construct.c b/src/code/z_construct.c
index 26d5d092a..92c84de00 100644
--- a/src/code/z_construct.c
+++ b/src/code/z_construct.c
@@ -270,18 +270,18 @@ void Regs_InitDataImpl(void) {
YREG(47) = 0;
#if OOT_NTSC
- R_KALEIDO_UNK1(LANGUAGE_JPN) = -45;
- R_KALEIDO_UNK1(LANGUAGE_ENG) = -48;
- R_KALEIDO_UNK2(LANGUAGE_JPN) = 16;
- R_KALEIDO_UNK2(LANGUAGE_ENG) = 22;
- R_KALEIDO_UNK3(LANGUAGE_JPN) = -55;
- R_KALEIDO_UNK3(LANGUAGE_ENG) = -53;
- R_KALEIDO_UNK4(LANGUAGE_JPN) = 43;
- R_KALEIDO_UNK4(LANGUAGE_ENG) = 47;
- R_KALEIDO_UNK5(LANGUAGE_JPN) = -33;
- R_KALEIDO_UNK5(LANGUAGE_ENG) = -42;
- R_KALEIDO_UNK6(LANGUAGE_JPN) = -33;
- R_KALEIDO_UNK6(LANGUAGE_ENG) = -37;
+ R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(LANGUAGE_JPN) = -45;
+ R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(LANGUAGE_ENG) = -48;
+ R_PAUSE_INFO_PANEL_TEXT_X(LANGUAGE_JPN) = 16;
+ R_PAUSE_INFO_PANEL_TEXT_X(LANGUAGE_ENG) = 22;
+ R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(LANGUAGE_JPN) = -55;
+ R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(LANGUAGE_ENG) = -53;
+ R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(LANGUAGE_JPN) = 43;
+ R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(LANGUAGE_ENG) = 47;
+ R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(LANGUAGE_JPN) = -33;
+ R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(LANGUAGE_ENG) = -42;
+ R_PAUSE_INFO_PANEL_ICON_EQUIP_X(LANGUAGE_JPN) = -33;
+ R_PAUSE_INFO_PANEL_ICON_EQUIP_X(LANGUAGE_ENG) = -37;
#else
// Same as above, although these regs are now unused for PAL versions
YREG(48) = -45;
@@ -548,9 +548,9 @@ void Regs_InitDataImpl(void) {
WREG(15) = -350;
#endif
- WREG(16) = -175;
- WREG(17) = 155;
- WREG(18) = 10;
+ R_PAUSE_BUTTON_LEFT_X = -175;
+ R_PAUSE_BUTTON_RIGHT_X = 155;
+ R_PAUSE_BUTTON_LEFT_RIGHT_Y = 10;
WREG(19) = 10;
WREG(20) = -50;
WREG(21) = -54;
@@ -582,24 +582,24 @@ void Regs_InitDataImpl(void) {
R_A_LABEL_Z(LANGUAGE_ENG) = -380;
R_A_LABEL_Z(LANGUAGE_GER) = -360;
R_A_LABEL_Z(LANGUAGE_FRA) = -350;
- R_KALEIDO_UNK1(LANGUAGE_ENG) = -48;
- R_KALEIDO_UNK1(LANGUAGE_GER) = 16;
- R_KALEIDO_UNK1(LANGUAGE_FRA) = -62;
- R_KALEIDO_UNK2(LANGUAGE_ENG) = 22;
- R_KALEIDO_UNK2(LANGUAGE_GER) = -84;
- R_KALEIDO_UNK2(LANGUAGE_FRA) = 20;
- R_KALEIDO_UNK3(LANGUAGE_ENG) = -53;
- R_KALEIDO_UNK3(LANGUAGE_GER) = 40;
- R_KALEIDO_UNK3(LANGUAGE_FRA) = -64;
- R_KALEIDO_UNK4(LANGUAGE_ENG) = 47;
- R_KALEIDO_UNK4(LANGUAGE_GER) = -84;
- R_KALEIDO_UNK4(LANGUAGE_FRA) = 44;
- R_KALEIDO_UNK5(LANGUAGE_ENG) = -42;
- R_KALEIDO_UNK5(LANGUAGE_GER) = 32;
- R_KALEIDO_UNK5(LANGUAGE_FRA) = -45;
- R_KALEIDO_UNK6(LANGUAGE_ENG) = -37;
- R_KALEIDO_UNK6(LANGUAGE_GER) = 30;
- R_KALEIDO_UNK6(LANGUAGE_FRA) = -50;
+ R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(LANGUAGE_ENG) = -48;
+ R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(LANGUAGE_GER) = 16;
+ R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(LANGUAGE_FRA) = -62;
+ R_PAUSE_INFO_PANEL_TEXT_X(LANGUAGE_ENG) = 22;
+ R_PAUSE_INFO_PANEL_TEXT_X(LANGUAGE_GER) = -84;
+ R_PAUSE_INFO_PANEL_TEXT_X(LANGUAGE_FRA) = 20;
+ R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(LANGUAGE_ENG) = -53;
+ R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(LANGUAGE_GER) = 40;
+ R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(LANGUAGE_FRA) = -64;
+ R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(LANGUAGE_ENG) = 47;
+ R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(LANGUAGE_GER) = -84;
+ R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(LANGUAGE_FRA) = 44;
+ R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(LANGUAGE_ENG) = -42;
+ R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(LANGUAGE_GER) = 32;
+ R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(LANGUAGE_FRA) = -45;
+ R_PAUSE_INFO_PANEL_ICON_EQUIP_X(LANGUAGE_ENG) = -37;
+ R_PAUSE_INFO_PANEL_ICON_EQUIP_X(LANGUAGE_GER) = 30;
+ R_PAUSE_INFO_PANEL_ICON_EQUIP_X(LANGUAGE_FRA) = -50;
#endif
R_DGN_MINIMAP_X = 204;
diff --git a/src/code/z_en_a_keep.c b/src/code/z_en_a_keep.c
index 12d31b4f0..7b84c9bd3 100644
--- a/src/code/z_en_a_keep.c
+++ b/src/code/z_en_a_keep.c
@@ -50,8 +50,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/code/z_en_item00.c b/src/code/z_en_item00.c
index 7ec6d36fd..02b0a4078 100644
--- a/src/code/z_en_item00.c
+++ b/src/code/z_en_item00.c
@@ -64,9 +64,9 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000010, 0x00, 0x00 },
- ATELEM_NONE | ATELEM_SFX_NORMAL,
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000010, HIT_BACKLASH_NONE, 0x00 },
+ ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
},
diff --git a/src/code/z_kaleido_setup.c b/src/code/z_kaleido_setup.c
index 58b4d1544..f48621ed3 100644
--- a/src/code/z_kaleido_setup.c
+++ b/src/code/z_kaleido_setup.c
@@ -85,8 +85,8 @@ void KaleidoSetup_Update(PlayState* play) {
// The start button was pressed, pause
gSaveContext.prevHudVisibilityMode = gSaveContext.hudVisibilityMode;
- WREG(16) = -175;
- WREG(17) = 155;
+ R_PAUSE_BUTTON_LEFT_X = -175;
+ R_PAUSE_BUTTON_RIGHT_X = 155;
pauseCtx->pageSwitchTimer = 0;
diff --git a/src/code/z_message.c b/src/code/z_message.c
index c48aaf4bd..be833e8a6 100644
--- a/src/code/z_message.c
+++ b/src/code/z_message.c
@@ -27,7 +27,7 @@
#include "assets/textures/parameter_static/parameter_static.h"
-#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ntsc-1.0:16" \
+#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ntsc-1.0:16" \
"ntsc-1.1:16 ntsc-1.2:16 pal-1.0:0 pal-1.1:0"
#if !PLATFORM_IQUE
diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c
index a33e86351..a06194fc9 100644
--- a/src/code/z_parameter.c
+++ b/src/code/z_parameter.c
@@ -30,7 +30,8 @@
#include "assets/textures/do_action_static/do_action_static.h"
#include "assets/textures/icon_item_static/icon_item_static.h"
-#pragma increment_block_number "gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128"
+#pragma increment_block_number "gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128 ntsc-1.0:128 ntsc-1.1:128" \
+ "ntsc-1.2:128"
typedef struct RestrictionFlags {
/* 0x00 */ u8 sceneId;
diff --git a/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c b/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c
index d087c9a68..1b193f8ca 100644
--- a/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c
+++ b/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c
@@ -46,8 +46,8 @@ static ColliderQuadInit sQuadInit = {
},
{
ELEM_MATERIAL_UNK2,
- { 0x00000080, 0x00, 0x01 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000080, HIT_SPECIAL_EFFECT_NONE, 0x01 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_NEAREST | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.c b/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.c
index 047ad13ba..89b34075e 100644
--- a/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.c
+++ b/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.c
@@ -80,13 +80,13 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_HARD,
ACELEM_NONE,
OCELEM_NONE,
},
- { 0x00BB, 0x0050, 0x0000, { 0 } },
+ { 187, 80, 0, { 0, 0, 0 } },
};
static InitChainEntry sInitChain[] = {
diff --git a/src/overlays/actors/ovl_Bg_Bdan_Switch/z_bg_bdan_switch.c b/src/overlays/actors/ovl_Bg_Bdan_Switch/z_bg_bdan_switch.c
index 280730bcd..90855881e 100644
--- a/src/overlays/actors/ovl_Bg_Bdan_Switch/z_bg_bdan_switch.c
+++ b/src/overlays/actors/ovl_Bg_Bdan_Switch/z_bg_bdan_switch.c
@@ -6,6 +6,7 @@
#include "z_bg_bdan_switch.h"
+#include "array_count.h"
#include "ichain.h"
#include "one_point_cutscene.h"
#include "printf.h"
@@ -70,8 +71,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xEFC1FFFE, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xEFC1FFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -89,7 +90,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_2,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Bombwall/z_bg_bombwall.c b/src/overlays/actors/ovl_Bg_Bombwall/z_bg_bombwall.c
index 15a2ffb84..ce54ce1c8 100644
--- a/src/overlays/actors/ovl_Bg_Bombwall/z_bg_bombwall.c
+++ b/src/overlays/actors/ovl_Bg_Bombwall/z_bg_bombwall.c
@@ -6,6 +6,7 @@
#include "z_bg_bombwall.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "ichain.h"
#include "printf.h"
#include "sfx.h"
@@ -28,12 +29,12 @@ void func_8086EDFC(BgBombwall* this, PlayState* play);
void func_8086EE40(BgBombwall* this, PlayState* play);
void func_8086EE94(BgBombwall* this, PlayState* play);
-static ColliderTrisElementInit sTrisElementsInit[3] = {
+static ColliderTrisElementInit sTrisElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x40000048, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x40000048, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -43,8 +44,8 @@ static ColliderTrisElementInit sTrisElementsInit[3] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x40000048, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x40000048, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -54,8 +55,8 @@ static ColliderTrisElementInit sTrisElementsInit[3] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x40000048, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x40000048, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -73,7 +74,7 @@ static ColliderTrisInit sTrisInit = {
OC2_NONE,
COLSHAPE_TRIS,
},
- 3,
+ ARRAY_COUNT(sTrisElementsInit),
sTrisElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c b/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c
index 188322fc1..422608488 100644
--- a/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c
+++ b/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c
@@ -63,8 +63,8 @@ static ColliderQuadInit sQuadInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000048, 0x00, 0x00 },
- { 0x00000048, 0x00, 0x00 },
+ { 0x00000048, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000048, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Bg_Ddan_Kd/z_bg_ddan_kd.c b/src/overlays/actors/ovl_Bg_Ddan_Kd/z_bg_ddan_kd.c
index 6e82c308d..1f37e0fcd 100644
--- a/src/overlays/actors/ovl_Bg_Ddan_Kd/z_bg_ddan_kd.c
+++ b/src/overlays/actors/ovl_Bg_Ddan_Kd/z_bg_ddan_kd.c
@@ -52,8 +52,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Bg_Dodoago/z_bg_dodoago.c b/src/overlays/actors/ovl_Bg_Dodoago/z_bg_dodoago.c
index 3f825cf6a..e797c8017 100644
--- a/src/overlays/actors/ovl_Bg_Dodoago/z_bg_dodoago.c
+++ b/src/overlays/actors/ovl_Bg_Dodoago/z_bg_dodoago.c
@@ -61,8 +61,8 @@ static ColliderCylinderInit sMainColliderCylinderInit = {
},
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -81,8 +81,8 @@ static ColliderCylinderInit sLeftRightColliderCylinderInit = {
},
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c b/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c
index f855cfe65..f8fe2db5e 100644
--- a/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c
+++ b/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c
@@ -53,8 +53,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x00 },
- { 0x00020800, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00020800, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Bg_Haka_Sgami/z_bg_haka_sgami.c b/src/overlays/actors/ovl_Bg_Haka_Sgami/z_bg_haka_sgami.c
index cf90fc6a6..873fd7609 100644
--- a/src/overlays/actors/ovl_Bg_Haka_Sgami/z_bg_haka_sgami.c
+++ b/src/overlays/actors/ovl_Bg_Haka_Sgami/z_bg_haka_sgami.c
@@ -6,6 +6,7 @@
#include "z_bg_haka_sgami.h"
+#include "array_count.h"
#include "ichain.h"
#include "sfx.h"
#include "z_lib.h"
@@ -46,12 +47,12 @@ ActorProfile Bg_Haka_Sgami_Profile = {
/**/ NULL,
};
-static ColliderTrisElementInit sTrisElementsInit[4] = {
+static ColliderTrisElementInit sTrisElementsInit[] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0x20000000, 0x00, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
@@ -61,8 +62,8 @@ static ColliderTrisElementInit sTrisElementsInit[4] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0x20000000, 0x00, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
@@ -72,8 +73,8 @@ static ColliderTrisElementInit sTrisElementsInit[4] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0x20000000, 0x00, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
@@ -83,8 +84,8 @@ static ColliderTrisElementInit sTrisElementsInit[4] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0x20000000, 0x00, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
@@ -102,7 +103,7 @@ static ColliderTrisInit sTrisInit = {
OC2_TYPE_2,
COLSHAPE_TRIS,
},
- 4,
+ ARRAY_COUNT(sTrisElementsInit),
sTrisElementsInit,
};
@@ -117,8 +118,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Bg_Haka_Trap/z_bg_haka_trap.c b/src/overlays/actors/ovl_Bg_Haka_Trap/z_bg_haka_trap.c
index 250f4ce32..afb0f1904 100644
--- a/src/overlays/actors/ovl_Bg_Haka_Trap/z_bg_haka_trap.c
+++ b/src/overlays/actors/ovl_Bg_Haka_Trap/z_bg_haka_trap.c
@@ -6,6 +6,7 @@
#include "z_bg_haka_trap.h"
+#include "array_count.h"
#include "ichain.h"
#include "rand.h"
#include "sfx.h"
@@ -63,8 +64,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -72,12 +73,12 @@ static ColliderCylinderInit sCylinderInit = {
{ 30, 90, 0, { 0, 0, 0 } },
};
-static ColliderTrisElementInit sTrisElementsInit[2] = {
+static ColliderTrisElementInit sTrisElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00020000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00020000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -87,8 +88,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00020000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00020000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -106,7 +107,7 @@ static ColliderTrisInit sTrisInit = {
OC2_TYPE_2,
COLSHAPE_TRIS,
},
- 2,
+ ARRAY_COUNT(sTrisElementsInit),
sTrisElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Haka_Tubo/z_bg_haka_tubo.c b/src/overlays/actors/ovl_Bg_Haka_Tubo/z_bg_haka_tubo.c
index d4b20752d..c86bc3abd 100644
--- a/src/overlays/actors/ovl_Bg_Haka_Tubo/z_bg_haka_tubo.c
+++ b/src/overlays/actors/ovl_Bg_Haka_Tubo/z_bg_haka_tubo.c
@@ -53,8 +53,8 @@ static ColliderCylinderInit sPotColliderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -73,8 +73,8 @@ static ColliderCylinderInit sFlamesColliderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Bg_Haka_Zou/z_bg_haka_zou.c b/src/overlays/actors/ovl_Bg_Haka_Zou/z_bg_haka_zou.c
index 5be388988..40c579762 100644
--- a/src/overlays/actors/ovl_Bg_Haka_Zou/z_bg_haka_zou.c
+++ b/src/overlays/actors/ovl_Bg_Haka_Zou/z_bg_haka_zou.c
@@ -53,8 +53,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.c b/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.c
index 7abcc1f91..780f11f16 100644
--- a/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.c
+++ b/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.c
@@ -53,8 +53,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.c b/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.c
index 412b2a542..af59378ac 100644
--- a/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.c
+++ b/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.c
@@ -7,6 +7,7 @@
#include "z_bg_hidan_dalm.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "ichain.h"
#include "sfx.h"
#include "sys_matrix.h"
@@ -39,12 +40,12 @@ ActorProfile Bg_Hidan_Dalm_Profile = {
/**/ BgHidanDalm_Draw,
};
-static ColliderTrisElementInit sTrisElementInit[4] = {
+static ColliderTrisElementInit sTrisElementInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000040, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000040, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_NO_AT_INFO | ACELEM_NO_DAMAGE | ACELEM_NO_SWORD_SFX | ACELEM_NO_HITMARK,
OCELEM_NONE,
@@ -54,8 +55,8 @@ static ColliderTrisElementInit sTrisElementInit[4] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000040, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000040, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_NO_AT_INFO | ACELEM_NO_DAMAGE | ACELEM_NO_SWORD_SFX | ACELEM_NO_HITMARK,
OCELEM_NONE,
@@ -65,8 +66,8 @@ static ColliderTrisElementInit sTrisElementInit[4] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000040, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000040, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_NO_AT_INFO | ACELEM_NO_DAMAGE | ACELEM_NO_SWORD_SFX | ACELEM_NO_HITMARK,
OCELEM_NONE,
@@ -76,8 +77,8 @@ static ColliderTrisElementInit sTrisElementInit[4] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000040, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000040, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_NO_AT_INFO | ACELEM_NO_DAMAGE | ACELEM_NO_SWORD_SFX | ACELEM_NO_HITMARK,
OCELEM_NONE,
@@ -95,7 +96,7 @@ static ColliderTrisInit sTrisInit = {
OC2_TYPE_2,
COLSHAPE_TRIS,
},
- 4,
+ ARRAY_COUNT(sTrisElementInit),
sTrisElementInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Hidan_Firewall/z_bg_hidan_firewall.c b/src/overlays/actors/ovl_Bg_Hidan_Firewall/z_bg_hidan_firewall.c
index 9c0716732..286556dba 100644
--- a/src/overlays/actors/ovl_Bg_Hidan_Firewall/z_bg_hidan_firewall.c
+++ b/src/overlays/actors/ovl_Bg_Hidan_Firewall/z_bg_hidan_firewall.c
@@ -54,13 +54,13 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_ON,
},
- { 30, 83, 0, { 0 } },
+ { 30, 83, 0, { 0, 0, 0 } },
};
static CollisionCheckInfoInit sColChkInfoInit = { 1, 80, 100, MASS_IMMOVABLE };
diff --git a/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c b/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c
index 0a01e35dc..1c6ca2164 100644
--- a/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c
+++ b/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c
@@ -67,8 +67,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Bg_Hidan_Hamstep/z_bg_hidan_hamstep.c b/src/overlays/actors/ovl_Bg_Hidan_Hamstep/z_bg_hidan_hamstep.c
index 3f2e87ed3..694fbe634 100644
--- a/src/overlays/actors/ovl_Bg_Hidan_Hamstep/z_bg_hidan_hamstep.c
+++ b/src/overlays/actors/ovl_Bg_Hidan_Hamstep/z_bg_hidan_hamstep.c
@@ -41,12 +41,12 @@ static f32 sYPosOffsets[] = {
-20.0f, -120.0f, -220.0f, -320.0f, -420.0f,
};
-static ColliderTrisElementInit sTrisElementsInit[2] = {
+static ColliderTrisElementInit sTrisElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x40000040, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x40000040, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -56,8 +56,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x40000040, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x40000040, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -75,7 +75,7 @@ static ColliderTrisInit sTrisInit = {
OC2_NONE,
COLSHAPE_TRIS,
},
- 2,
+ ARRAY_COUNT(sTrisElementsInit),
sTrisElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Hidan_Hrock/z_bg_hidan_hrock.c b/src/overlays/actors/ovl_Bg_Hidan_Hrock/z_bg_hidan_hrock.c
index 64159da59..e9f39437f 100644
--- a/src/overlays/actors/ovl_Bg_Hidan_Hrock/z_bg_hidan_hrock.c
+++ b/src/overlays/actors/ovl_Bg_Hidan_Hrock/z_bg_hidan_hrock.c
@@ -6,6 +6,7 @@
#include "z_bg_hidan_hrock.h"
+#include "array_count.h"
#include "ichain.h"
#include "rumble.h"
#include "sfx.h"
@@ -37,12 +38,12 @@ ActorProfile Bg_Hidan_Hrock_Profile = {
/**/ BgHidanHrock_Draw,
};
-static ColliderTrisElementInit sTrisElementsInit[2] = {
+static ColliderTrisElementInit sTrisElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x40000040, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x40000040, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_NO_AT_INFO | ACELEM_NO_DAMAGE | ACELEM_NO_SWORD_SFX | ACELEM_NO_HITMARK,
OCELEM_NONE,
@@ -52,8 +53,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x40000040, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x40000040, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_NO_AT_INFO | ACELEM_NO_DAMAGE | ACELEM_NO_SWORD_SFX | ACELEM_NO_HITMARK,
OCELEM_NONE,
@@ -71,7 +72,7 @@ static ColliderTrisInit sTrisInit = {
OC2_TYPE_2,
COLSHAPE_TRIS,
},
- 2,
+ ARRAY_COUNT(sTrisElementsInit),
sTrisElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c b/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c
index 4f1be80a6..070e7cd10 100644
--- a/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c
+++ b/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c
@@ -8,6 +8,7 @@
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -53,12 +54,12 @@ static Gfx* sBreakableWallDLists[] = {
gFireTempleLargeBombableWallDL,
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -76,7 +77,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_NONE,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Hidan_Rock/z_bg_hidan_rock.c b/src/overlays/actors/ovl_Bg_Hidan_Rock/z_bg_hidan_rock.c
index 872ed0608..603d2f159 100644
--- a/src/overlays/actors/ovl_Bg_Hidan_Rock/z_bg_hidan_rock.c
+++ b/src/overlays/actors/ovl_Bg_Hidan_Rock/z_bg_hidan_rock.c
@@ -65,8 +65,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.c b/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.c
index 7cbf15a2f..0ae0c75a2 100644
--- a/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.c
+++ b/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.c
@@ -37,12 +37,12 @@ ActorProfile Bg_Hidan_Rsekizou_Profile = {
/**/ BgHidanRsekizou_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[6] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_NONE,
@@ -52,8 +52,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_NONE,
@@ -63,8 +63,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_NONE,
@@ -74,8 +74,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_NONE,
@@ -85,8 +85,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_NONE,
@@ -96,8 +96,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_NONE,
@@ -115,7 +115,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_2,
COLSHAPE_JNTSPH,
},
- 6,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Hidan_Sekizou/z_bg_hidan_sekizou.c b/src/overlays/actors/ovl_Bg_Hidan_Sekizou/z_bg_hidan_sekizou.c
index bf74b7bf2..97d257af5 100644
--- a/src/overlays/actors/ovl_Bg_Hidan_Sekizou/z_bg_hidan_sekizou.c
+++ b/src/overlays/actors/ovl_Bg_Hidan_Sekizou/z_bg_hidan_sekizou.c
@@ -41,12 +41,12 @@ ActorProfile Bg_Hidan_Sekizou_Profile = {
/**/ BgHidanSekizou_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[6] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -56,8 +56,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -67,8 +67,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -78,8 +78,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -89,8 +89,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -100,8 +100,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -119,7 +119,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_2,
COLSHAPE_JNTSPH,
},
- 6,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Hidan_Sima/z_bg_hidan_sima.c b/src/overlays/actors/ovl_Bg_Hidan_Sima/z_bg_hidan_sima.c
index c8d02280f..627c6abe7 100644
--- a/src/overlays/actors/ovl_Bg_Hidan_Sima/z_bg_hidan_sima.c
+++ b/src/overlays/actors/ovl_Bg_Hidan_Sima/z_bg_hidan_sima.c
@@ -46,12 +46,12 @@ ActorProfile Bg_Hidan_Sima_Profile = {
/**/ BgHidanSima_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[2] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_NONE,
@@ -61,8 +61,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[2] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.c b/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.c
index 0c6578ec2..cdbbec6b9 100644
--- a/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.c
+++ b/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.c
@@ -64,8 +64,8 @@ static ColliderCylinderInit sCylinderInit1 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -84,8 +84,8 @@ static ColliderCylinderInit sCylinderInit2 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x4FC1FFF6, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x4FC1FFF6, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Bg_Ice_Turara/z_bg_ice_turara.c b/src/overlays/actors/ovl_Bg_Ice_Turara/z_bg_ice_turara.c
index 8f619e0ed..5ba57a0a3 100644
--- a/src/overlays/actors/ovl_Bg_Ice_Turara/z_bg_ice_turara.c
+++ b/src/overlays/actors/ovl_Bg_Ice_Turara/z_bg_ice_turara.c
@@ -40,8 +40,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0x4FC007CA, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0x4FC007CA, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Bg_Jya_1flift/z_bg_jya_1flift.c b/src/overlays/actors/ovl_Bg_Jya_1flift/z_bg_jya_1flift.c
index 6ff102aa4..a7427fcab 100644
--- a/src/overlays/actors/ovl_Bg_Jya_1flift/z_bg_jya_1flift.c
+++ b/src/overlays/actors/ovl_Bg_Jya_1flift/z_bg_jya_1flift.c
@@ -57,8 +57,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Bg_Jya_Bombchuiwa/z_bg_jya_bombchuiwa.c b/src/overlays/actors/ovl_Bg_Jya_Bombchuiwa/z_bg_jya_bombchuiwa.c
index e19f90863..32fe05526 100644
--- a/src/overlays/actors/ovl_Bg_Jya_Bombchuiwa/z_bg_jya_bombchuiwa.c
+++ b/src/overlays/actors/ovl_Bg_Jya_Bombchuiwa/z_bg_jya_bombchuiwa.c
@@ -2,6 +2,7 @@
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -40,12 +41,12 @@ ActorProfile Bg_Jya_Bombchuiwa_Profile = {
/**/ BgJyaBombchuiwa_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -63,7 +64,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_2,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Jya_Bombiwa/z_bg_jya_bombiwa.c b/src/overlays/actors/ovl_Bg_Jya_Bombiwa/z_bg_jya_bombiwa.c
index 87a1aa3a7..2f40d2a17 100644
--- a/src/overlays/actors/ovl_Bg_Jya_Bombiwa/z_bg_jya_bombiwa.c
+++ b/src/overlays/actors/ovl_Bg_Jya_Bombiwa/z_bg_jya_bombiwa.c
@@ -8,6 +8,7 @@
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "ichain.h"
#include "printf.h"
#include "sfx.h"
@@ -41,8 +42,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -60,7 +61,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_NONE,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Jya_Goroiwa/z_bg_jya_goroiwa.c b/src/overlays/actors/ovl_Bg_Jya_Goroiwa/z_bg_jya_goroiwa.c
index fb25354cc..3c91cb71a 100644
--- a/src/overlays/actors/ovl_Bg_Jya_Goroiwa/z_bg_jya_goroiwa.c
+++ b/src/overlays/actors/ovl_Bg_Jya_Goroiwa/z_bg_jya_goroiwa.c
@@ -7,6 +7,7 @@
#include "z_bg_jya_goroiwa.h"
+#include "array_count.h"
#include "ichain.h"
#include "sfx.h"
#include "z_lib.h"
@@ -46,8 +47,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x00, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -65,7 +66,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_2,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Jya_Haheniron/z_bg_jya_haheniron.c b/src/overlays/actors/ovl_Bg_Jya_Haheniron/z_bg_jya_haheniron.c
index dd514e850..665635d16 100644
--- a/src/overlays/actors/ovl_Bg_Jya_Haheniron/z_bg_jya_haheniron.c
+++ b/src/overlays/actors/ovl_Bg_Jya_Haheniron/z_bg_jya_haheniron.c
@@ -43,12 +43,12 @@ ActorProfile Bg_Jya_Haheniron_Profile = {
/**/ BgJyaHaheniron_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
@@ -66,7 +66,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_NONE,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Jya_Ironobj/z_bg_jya_ironobj.c b/src/overlays/actors/ovl_Bg_Jya_Ironobj/z_bg_jya_ironobj.c
index cf1389583..0db1d8bee 100644
--- a/src/overlays/actors/ovl_Bg_Jya_Ironobj/z_bg_jya_ironobj.c
+++ b/src/overlays/actors/ovl_Bg_Jya_Ironobj/z_bg_jya_ironobj.c
@@ -60,8 +60,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Bg_Jya_Megami/z_bg_jya_megami.c b/src/overlays/actors/ovl_Bg_Jya_Megami/z_bg_jya_megami.c
index da2242078..7f5b27316 100644
--- a/src/overlays/actors/ovl_Bg_Jya_Megami/z_bg_jya_megami.c
+++ b/src/overlays/actors/ovl_Bg_Jya_Megami/z_bg_jya_megami.c
@@ -50,8 +50,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00200000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00200000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -69,7 +69,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_NONE,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Menkuri_Eye/z_bg_menkuri_eye.c b/src/overlays/actors/ovl_Bg_Menkuri_Eye/z_bg_menkuri_eye.c
index b13073866..d3dcc483d 100644
--- a/src/overlays/actors/ovl_Bg_Menkuri_Eye/z_bg_menkuri_eye.c
+++ b/src/overlays/actors/ovl_Bg_Menkuri_Eye/z_bg_menkuri_eye.c
@@ -6,6 +6,7 @@
#include "z_bg_menkuri_eye.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -37,12 +38,12 @@ ActorProfile Bg_Menkuri_Eye_Profile = {
static s32 sNumEyesShot;
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0x00000000, 0x00, 0x00 },
- { 0x0001F820, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x0001F820, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -60,7 +61,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_2,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Mizu_Bwall/z_bg_mizu_bwall.c b/src/overlays/actors/ovl_Bg_Mizu_Bwall/z_bg_mizu_bwall.c
index 70c09d9db..6acdc0b57 100644
--- a/src/overlays/actors/ovl_Bg_Mizu_Bwall/z_bg_mizu_bwall.c
+++ b/src/overlays/actors/ovl_Bg_Mizu_Bwall/z_bg_mizu_bwall.c
@@ -44,12 +44,12 @@ ActorProfile Bg_Mizu_Bwall_Profile = {
/**/ BgMizuBwall_Draw,
};
-static ColliderTrisElementInit sTrisElementsInitFloor[2] = {
+static ColliderTrisElementInit sTrisElementsInitFloor[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -59,8 +59,8 @@ static ColliderTrisElementInit sTrisElementsInitFloor[2] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -78,16 +78,16 @@ static ColliderTrisInit sTrisInitFloor = {
OC2_NONE,
COLSHAPE_TRIS,
},
- 2,
+ ARRAY_COUNT(sTrisElementsInitFloor),
sTrisElementsInitFloor,
};
-static ColliderTrisElementInit sTrisElementsInitRutoWall[1] = {
+static ColliderTrisElementInit sTrisElementsInitRutoWall[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -105,16 +105,16 @@ static ColliderTrisInit sTrisInitRutoWall = {
OC2_NONE,
COLSHAPE_TRIS,
},
- 1,
+ ARRAY_COUNT(sTrisElementsInitRutoWall),
sTrisElementsInitRutoWall,
};
-static ColliderTrisElementInit sTrisElementsInitWall[2] = {
+static ColliderTrisElementInit sTrisElementsInitWall[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -124,8 +124,8 @@ static ColliderTrisElementInit sTrisElementsInitWall[2] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -143,7 +143,7 @@ static ColliderTrisInit sTrisInitUnusedWall = {
OC2_NONE,
COLSHAPE_TRIS,
},
- 2,
+ ARRAY_COUNT(sTrisElementsInitWall),
sTrisElementsInitWall,
};
@@ -156,7 +156,7 @@ static ColliderTrisInit sTrisInitStingerWall = {
OC2_NONE,
COLSHAPE_TRIS,
},
- 2,
+ ARRAY_COUNT(sTrisElementsInitWall),
sTrisElementsInitWall,
};
diff --git a/src/overlays/actors/ovl_Bg_Mori_Hashigo/z_bg_mori_hashigo.c b/src/overlays/actors/ovl_Bg_Mori_Hashigo/z_bg_mori_hashigo.c
index ad41dfc21..cab3d7d31 100644
--- a/src/overlays/actors/ovl_Bg_Mori_Hashigo/z_bg_mori_hashigo.c
+++ b/src/overlays/actors/ovl_Bg_Mori_Hashigo/z_bg_mori_hashigo.c
@@ -47,12 +47,12 @@ ActorProfile Bg_Mori_Hashigo_Profile = {
/**/ NULL,
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0x00000000, 0x00, 0x00 },
- { 0x0001F820, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x0001F820, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -70,7 +70,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_NONE,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Po_Event/z_bg_po_event.c b/src/overlays/actors/ovl_Bg_Po_Event/z_bg_po_event.c
index 30f204498..bbfecc301 100644
--- a/src/overlays/actors/ovl_Bg_Po_Event/z_bg_po_event.c
+++ b/src/overlays/actors/ovl_Bg_Po_Event/z_bg_po_event.c
@@ -7,6 +7,7 @@
#include "z_bg_po_event.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -55,12 +56,12 @@ ActorProfile Bg_Po_Event_Profile = {
/**/ BgPoEvent_Draw,
};
-static ColliderTrisElementInit sTrisElementsInit[2] = {
+static ColliderTrisElementInit sTrisElementsInit[] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0x00000000, 0x00, 0x00 },
- { 0x0001F820, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x0001F820, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -70,8 +71,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0x00000000, 0x00, 0x00 },
- { 0x0001F820, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x0001F820, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -89,7 +90,7 @@ static ColliderTrisInit sTrisInit = {
OC2_TYPE_2,
COLSHAPE_TRIS,
},
- 2,
+ ARRAY_COUNT(sTrisElementsInit),
sTrisElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Po_Syokudai/z_bg_po_syokudai.c b/src/overlays/actors/ovl_Bg_Po_Syokudai/z_bg_po_syokudai.c
index cf9c45458..0c1ce9924 100644
--- a/src/overlays/actors/ovl_Bg_Po_Syokudai/z_bg_po_syokudai.c
+++ b/src/overlays/actors/ovl_Bg_Po_Syokudai/z_bg_po_syokudai.c
@@ -45,8 +45,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c b/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c
index f7d198cfa..25adbc111 100644
--- a/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c
+++ b/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c
@@ -6,6 +6,7 @@
#include "z_bg_spot06_objects.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -70,12 +71,12 @@ ActorProfile Bg_Spot06_Objects_Profile = {
/**/ BgSpot06Objects_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000080, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000080, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
@@ -93,7 +94,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_2,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Spot08_Bakudankabe/z_bg_spot08_bakudankabe.c b/src/overlays/actors/ovl_Bg_Spot08_Bakudankabe/z_bg_spot08_bakudankabe.c
index ce59f55d0..e6d32de9f 100644
--- a/src/overlays/actors/ovl_Bg_Spot08_Bakudankabe/z_bg_spot08_bakudankabe.c
+++ b/src/overlays/actors/ovl_Bg_Spot08_Bakudankabe/z_bg_spot08_bakudankabe.c
@@ -44,8 +44,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -55,8 +55,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -66,8 +66,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -85,7 +85,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_2,
COLSHAPE_JNTSPH,
},
- 3,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Spot11_Bakudankabe/z_bg_spot11_bakudankabe.c b/src/overlays/actors/ovl_Bg_Spot11_Bakudankabe/z_bg_spot11_bakudankabe.c
index 427d9d4a6..eadfe2ce5 100644
--- a/src/overlays/actors/ovl_Bg_Spot11_Bakudankabe/z_bg_spot11_bakudankabe.c
+++ b/src/overlays/actors/ovl_Bg_Spot11_Bakudankabe/z_bg_spot11_bakudankabe.c
@@ -48,8 +48,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Bg_Spot16_Bombstone/z_bg_spot16_bombstone.c b/src/overlays/actors/ovl_Bg_Spot16_Bombstone/z_bg_spot16_bombstone.c
index d3b44d8ae..e30db9ba2 100644
--- a/src/overlays/actors/ovl_Bg_Spot16_Bombstone/z_bg_spot16_bombstone.c
+++ b/src/overlays/actors/ovl_Bg_Spot16_Bombstone/z_bg_spot16_bombstone.c
@@ -56,8 +56,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x4FC1FFF6, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x4FC1FFF6, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -75,7 +75,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_2,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
@@ -90,8 +90,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Bg_Spot18_Basket/z_bg_spot18_basket.c b/src/overlays/actors/ovl_Bg_Spot18_Basket/z_bg_spot18_basket.c
index 5e4c7896f..51bccf7ca 100644
--- a/src/overlays/actors/ovl_Bg_Spot18_Basket/z_bg_spot18_basket.c
+++ b/src/overlays/actors/ovl_Bg_Spot18_Basket/z_bg_spot18_basket.c
@@ -49,12 +49,12 @@ ActorProfile Bg_Spot18_Basket_Profile = {
/**/ BgSpot18Basket_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[2] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -64,8 +64,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[2] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -83,7 +83,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_2,
COLSHAPE_JNTSPH,
},
- 2,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c
index 144388d38..5a2fe183e 100644
--- a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c
+++ b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c
@@ -58,13 +58,13 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
},
- { 10, 70, 0, { 0 } },
+ { 10, 70, 0, { 0, 0, 0 } },
};
static CollisionCheckInfoInit sColChkInfoInit = { 10, 35, 100, MASS_IMMOVABLE };
diff --git a/src/overlays/actors/ovl_Bg_Ydan_Maruta/z_bg_ydan_maruta.c b/src/overlays/actors/ovl_Bg_Ydan_Maruta/z_bg_ydan_maruta.c
index 8d683a942..10c23e518 100644
--- a/src/overlays/actors/ovl_Bg_Ydan_Maruta/z_bg_ydan_maruta.c
+++ b/src/overlays/actors/ovl_Bg_Ydan_Maruta/z_bg_ydan_maruta.c
@@ -6,6 +6,7 @@
#include "z_bg_ydan_maruta.h"
+#include "array_count.h"
#include "ichain.h"
#include "one_point_cutscene.h"
#include "sfx.h"
@@ -39,12 +40,12 @@ ActorProfile Bg_Ydan_Maruta_Profile = {
/**/ BgYdanMaruta_Draw,
};
-static ColliderTrisElementInit sTrisElementsInit[2] = {
+static ColliderTrisElementInit sTrisElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x00, 0x04 },
- { 0x00000004, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0x00000004, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_WOOD,
ACELEM_ON,
OCELEM_NONE,
@@ -54,8 +55,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x00, 0x04 },
- { 0x00000004, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0x00000004, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_WOOD,
ACELEM_ON,
OCELEM_NONE,
@@ -73,7 +74,7 @@ static ColliderTrisInit sTrisInit = {
OC2_TYPE_2,
COLSHAPE_TRIS,
},
- 2,
+ ARRAY_COUNT(sTrisElementsInit),
sTrisElementsInit,
};
diff --git a/src/overlays/actors/ovl_Bg_Ydan_Sp/z_bg_ydan_sp.c b/src/overlays/actors/ovl_Bg_Ydan_Sp/z_bg_ydan_sp.c
index 723852f33..a7071694d 100644
--- a/src/overlays/actors/ovl_Bg_Ydan_Sp/z_bg_ydan_sp.c
+++ b/src/overlays/actors/ovl_Bg_Ydan_Sp/z_bg_ydan_sp.c
@@ -7,6 +7,7 @@
#include "z_bg_ydan_sp.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -51,12 +52,12 @@ ActorProfile Bg_Ydan_Sp_Profile = {
/**/ BgYdanSp_Draw,
};
-static ColliderTrisElementInit sTrisElementsInit[2] = {
+static ColliderTrisElementInit sTrisElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x00 },
- { 0x00020800, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00020800, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -66,8 +67,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x00 },
- { 0x00020800, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00020800, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -85,7 +86,7 @@ static ColliderTrisInit sTrisInit = {
OC2_TYPE_2,
COLSHAPE_TRIS,
},
- 2,
+ ARRAY_COUNT(sTrisElementsInit),
sTrisElementsInit,
};
diff --git a/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo_data.inc.c b/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo_data.inc.c
index ce2d694b1..0723fd0eb 100644
--- a/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo_data.inc.c
+++ b/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo_data.inc.c
@@ -1,3 +1,4 @@
+#include "array_count.h"
#include "collision_check.h"
static u8 D_808C7000[] = {
@@ -10,12 +11,12 @@ static u8 D_808C7000[] = {
1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
};
-static ColliderJntSphElementInit sJntSphElementsInit[19] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK3,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -25,8 +26,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK3,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -36,8 +37,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -47,8 +48,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -58,8 +59,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -69,8 +70,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -80,8 +81,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -91,8 +92,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -102,8 +103,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -113,8 +114,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -124,8 +125,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -135,8 +136,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -146,8 +147,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -157,8 +158,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -168,8 +169,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -179,8 +180,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -190,8 +191,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -201,8 +202,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -212,8 +213,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -231,7 +232,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 19,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Boss_Fd/z_boss_fd_colchk.inc.c b/src/overlays/actors/ovl_Boss_Fd/z_boss_fd_colchk.inc.c
index edd02bd7d..4b51a74d6 100644
--- a/src/overlays/actors/ovl_Boss_Fd/z_boss_fd_colchk.inc.c
+++ b/src/overlays/actors/ovl_Boss_Fd/z_boss_fd_colchk.inc.c
@@ -1,11 +1,11 @@
#include "collision_check.h"
-static ColliderJntSphElementInit sJntSphElementsInit[19] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK3,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -15,8 +15,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -26,8 +26,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -37,8 +37,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -48,8 +48,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -59,8 +59,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -70,8 +70,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -81,8 +81,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -92,8 +92,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -103,8 +103,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -114,8 +114,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -125,8 +125,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -136,8 +136,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -147,8 +147,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -158,8 +158,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -169,8 +169,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -180,8 +180,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -191,8 +191,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -202,8 +202,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -221,6 +221,6 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 19,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2_colchk.inc.c b/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2_colchk.inc.c
index 232352818..64994745d 100644
--- a/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2_colchk.inc.c
+++ b/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2_colchk.inc.c
@@ -1,11 +1,11 @@
#include "collision_check.h"
-static ColliderJntSphElementInit sJntSphElementsInit[9] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK3,
- { 0xFFCFFFFF, 0x00, 0x20 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x20 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
@@ -15,8 +15,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[9] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x20 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x20 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -26,8 +26,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[9] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x20 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x20 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -37,8 +37,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[9] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x20 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x20 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -48,8 +48,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[9] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x20 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x20 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -59,8 +59,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[9] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x20 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x20 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -70,8 +70,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[9] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x20 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x20 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -81,8 +81,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[9] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x20 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x20 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -92,8 +92,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[9] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x20 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x20 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -111,6 +111,6 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 9,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c b/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c
index 96ccd5619..e38d2c5c5 100644
--- a/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c
+++ b/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c
@@ -93,8 +93,8 @@ static ColliderCylinderInit sDorfCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
@@ -113,8 +113,8 @@ static ColliderCylinderInit sLightBallCylinderInit = {
},
{
ELEM_MATERIAL_UNK6,
- { 0x00100700, 0x00, 0x08 },
- { 0x0D900740, 0x00, 0x00 },
+ { 0x00100700, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0x0D900740, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c b/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c
index 631faf93b..1cc37837f 100644
--- a/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c
+++ b/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c
@@ -31,7 +31,7 @@
#include "assets/objects/object_geff/object_geff.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
-#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ique-cn:128" \
+#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ique-cn:128" \
"ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128"
#define FLAGS \
@@ -111,8 +111,8 @@ static ColliderJntSphElementInit sJntSphElementsInit1[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -122,8 +122,8 @@ static ColliderJntSphElementInit sJntSphElementsInit1[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -133,8 +133,8 @@ static ColliderJntSphElementInit sJntSphElementsInit1[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -144,8 +144,8 @@ static ColliderJntSphElementInit sJntSphElementsInit1[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -155,8 +155,8 @@ static ColliderJntSphElementInit sJntSphElementsInit1[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -166,8 +166,8 @@ static ColliderJntSphElementInit sJntSphElementsInit1[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -177,8 +177,8 @@ static ColliderJntSphElementInit sJntSphElementsInit1[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -188,8 +188,8 @@ static ColliderJntSphElementInit sJntSphElementsInit1[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -199,8 +199,8 @@ static ColliderJntSphElementInit sJntSphElementsInit1[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -210,8 +210,8 @@ static ColliderJntSphElementInit sJntSphElementsInit1[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -221,8 +221,8 @@ static ColliderJntSphElementInit sJntSphElementsInit1[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -232,8 +232,8 @@ static ColliderJntSphElementInit sJntSphElementsInit1[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -243,8 +243,8 @@ static ColliderJntSphElementInit sJntSphElementsInit1[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -254,8 +254,8 @@ static ColliderJntSphElementInit sJntSphElementsInit1[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -265,8 +265,8 @@ static ColliderJntSphElementInit sJntSphElementsInit1[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -276,8 +276,8 @@ static ColliderJntSphElementInit sJntSphElementsInit1[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -303,8 +303,8 @@ static ColliderJntSphElementInit sJntSphElementsInit2[] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x40 },
- { 0xFFDFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x40 },
+ { 0xFFDFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -314,8 +314,8 @@ static ColliderJntSphElementInit sJntSphElementsInit2[] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x40 },
- { 0xFFDFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x40 },
+ { 0xFFDFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.c b/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.c
index 09f84081d..6a7c63663 100644
--- a/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.c
+++ b/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.c
@@ -115,8 +115,8 @@ static ColliderCylinderInit sCylinderInitBody = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
@@ -135,8 +135,8 @@ static ColliderCylinderInit sCylinderInitSpear = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x30 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x30 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c b/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c
index 0d83b2b4a..85a2a8502 100644
--- a/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c
+++ b/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c
@@ -92,12 +92,12 @@ ActorProfile Boss_Goma_Profile = {
/**/ BossGoma_Draw,
};
-static ColliderJntSphElementInit sColliderJntSphElementsInit[13] = {
+static ColliderJntSphElementInit sColliderJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK3,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -107,8 +107,8 @@ static ColliderJntSphElementInit sColliderJntSphElementsInit[13] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -118,8 +118,8 @@ static ColliderJntSphElementInit sColliderJntSphElementsInit[13] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -129,8 +129,8 @@ static ColliderJntSphElementInit sColliderJntSphElementsInit[13] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -140,8 +140,8 @@ static ColliderJntSphElementInit sColliderJntSphElementsInit[13] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -151,8 +151,8 @@ static ColliderJntSphElementInit sColliderJntSphElementsInit[13] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -162,8 +162,8 @@ static ColliderJntSphElementInit sColliderJntSphElementsInit[13] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -173,8 +173,8 @@ static ColliderJntSphElementInit sColliderJntSphElementsInit[13] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -184,8 +184,8 @@ static ColliderJntSphElementInit sColliderJntSphElementsInit[13] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -195,8 +195,8 @@ static ColliderJntSphElementInit sColliderJntSphElementsInit[13] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -206,8 +206,8 @@ static ColliderJntSphElementInit sColliderJntSphElementsInit[13] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -217,8 +217,8 @@ static ColliderJntSphElementInit sColliderJntSphElementsInit[13] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -228,8 +228,8 @@ static ColliderJntSphElementInit sColliderJntSphElementsInit[13] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -247,7 +247,7 @@ static ColliderJntSphInit sColliderJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 13,
+ ARRAY_COUNT(sColliderJntSphElementsInit),
sColliderJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c b/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c
index 4a992ea49..ec5ee705b 100644
--- a/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c
+++ b/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c
@@ -39,7 +39,7 @@
#include "assets/objects/object_mo/object_mo.h"
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
- "pal-1.0:128 pal-1.1:128"
+ "ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128"
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_CULLING_DISABLED | \
diff --git a/src/overlays/actors/ovl_Boss_Mo/z_boss_mo_colchk.inc.c b/src/overlays/actors/ovl_Boss_Mo/z_boss_mo_colchk.inc.c
index 8063245fa..6a9474e36 100644
--- a/src/overlays/actors/ovl_Boss_Mo/z_boss_mo_colchk.inc.c
+++ b/src/overlays/actors/ovl_Boss_Mo/z_boss_mo_colchk.inc.c
@@ -1,11 +1,11 @@
#include "collision_check.h"
-static ColliderJntSphElementInit sJntSphElementsInit[19] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -15,8 +15,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -26,8 +26,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -37,8 +37,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -48,8 +48,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -59,8 +59,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -70,8 +70,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -81,8 +81,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -92,8 +92,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -103,8 +103,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -114,8 +114,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -125,8 +125,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -136,8 +136,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -147,8 +147,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -158,8 +158,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -169,8 +169,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -180,8 +180,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -191,8 +191,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -202,8 +202,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -221,7 +221,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 19,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
@@ -236,8 +236,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFDFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFDFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Boss_Sst/z_boss_sst_colchk.inc.c b/src/overlays/actors/ovl_Boss_Sst/z_boss_sst_colchk.inc.c
index cb0e5012c..275218c1a 100644
--- a/src/overlays/actors/ovl_Boss_Sst/z_boss_sst_colchk.inc.c
+++ b/src/overlays/actors/ovl_Boss_Sst/z_boss_sst_colchk.inc.c
@@ -1,11 +1,12 @@
+#include "array_count.h"
#include "collision_check.h"
-static ColliderJntSphElementInit sJntSphElementsInitHand[11] = {
+static ColliderJntSphElementInit sJntSphElementsInitHand[] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -15,8 +16,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHand[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -26,8 +27,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHand[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -37,8 +38,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHand[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -48,8 +49,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHand[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -59,8 +60,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHand[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -70,8 +71,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHand[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -81,8 +82,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHand[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -92,8 +93,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHand[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -103,8 +104,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHand[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -114,8 +115,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHand[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -133,16 +134,16 @@ static ColliderJntSphInit sJntSphInitHand = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 11,
+ ARRAY_COUNT(sJntSphElementsInitHand),
sJntSphElementsInitHand,
};
-static ColliderJntSphElementInit sJntSphElementsInitHead[11] = {
+static ColliderJntSphElementInit sJntSphElementsInitHead[] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x30 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x30 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -152,8 +153,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHead[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x30 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x30 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -163,8 +164,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHead[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x30 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x30 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -174,8 +175,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHead[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x30 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x30 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -185,8 +186,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHead[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x30 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x30 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -196,8 +197,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHead[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x30 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x30 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -207,8 +208,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHead[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x30 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x30 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -218,8 +219,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHead[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x30 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x30 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -229,8 +230,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHead[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x30 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x30 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -240,8 +241,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHead[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x30 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x30 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -251,8 +252,8 @@ static ColliderJntSphElementInit sJntSphElementsInitHead[11] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x30 },
- { 0x00000080, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x30 },
+ { 0x00000080, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -270,7 +271,7 @@ static ColliderJntSphInit sJntSphInitHead = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 11,
+ ARRAY_COUNT(sJntSphElementsInitHead),
sJntSphElementsInitHead,
};
@@ -285,8 +286,8 @@ static ColliderCylinderInit sCylinderInitHead = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -305,8 +306,8 @@ static ColliderCylinderInit sCylinderInitHand = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x04, 0x10 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_KNOCKBACK, 0x10 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c b/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c
index e592fd6be..49427c209 100644
--- a/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c
+++ b/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c
@@ -170,8 +170,8 @@ static ColliderCylinderInit sCylinderInitBlasts = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x30 },
- { 0x00100000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x30 },
+ { 0x00100000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -190,8 +190,8 @@ static ColliderCylinderInit sCylinderInitKoumeKotake = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x20 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x20 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -210,8 +210,8 @@ static ColliderCylinderInit sCylinderInitTwinrova = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x20 },
- { 0xFFCDFFFE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x20 },
+ { 0xFFCDFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
@@ -492,7 +492,7 @@ void BossTw_Init(Actor* thisx, PlayState* play2) {
if (this->actor.params == TW_FIRE_BLAST || this->actor.params == TW_FIRE_BLAST_GROUND) {
this->actionFunc = BossTw_BlastFire;
- this->collider.elem.atDmgInfo.effect = 1;
+ this->collider.elem.atDmgInfo.hitSpecialEffect = HIT_SPECIAL_EFFECT_FIRE;
} else if (this->actor.params == TW_ICE_BLAST || this->actor.params == TW_ICE_BLAST_GROUND) {
this->actionFunc = BossTw_BlastIce;
} else if (this->actor.params >= TW_DEATHBALL_KOTAKE) {
diff --git a/src/overlays/actors/ovl_Boss_Va/z_boss_va.c b/src/overlays/actors/ovl_Boss_Va/z_boss_va.c
index f52ec30b1..3a1836159 100644
--- a/src/overlays/actors/ovl_Boss_Va/z_boss_va.c
+++ b/src/overlays/actors/ovl_Boss_Va/z_boss_va.c
@@ -236,8 +236,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFEF, 0x03, 0x08 },
- { 0x00000010, 0x00, 0x00 },
+ { 0xFFCFFFEF, HIT_SPECIAL_EFFECT_ELECTRIC, 0x08 },
+ { 0x00000010, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -245,12 +245,12 @@ static ColliderCylinderInit sCylinderInit = {
{ 85, 120, 0, { 0, 0, 0 } },
};
-static ColliderJntSphElementInit sJntSphElementsInitSupport[1] = {
+static ColliderJntSphElementInit sJntSphElementsInitSupport[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000010, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000010, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -272,12 +272,12 @@ static ColliderJntSphInit sJntSphInitSupport = {
sJntSphElementsInitSupport,
};
-static ColliderJntSphElementInit sJntSphElementsInitBari[1] = {
+static ColliderJntSphElementInit sJntSphElementsInitBari[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x03, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_ELECTRIC, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_NONE,
@@ -310,8 +310,8 @@ static ColliderQuadInit sQuadInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x03, 0x04 },
- { 0x00000010, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_ELECTRIC, 0x04 },
+ { 0x00000010, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL | ATELEM_UNK7,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Demo_Gj/z_demo_gj.c b/src/overlays/actors/ovl_Demo_Gj/z_demo_gj.c
index 03d2fdbf8..cdcfca018 100644
--- a/src/overlays/actors/ovl_Demo_Gj/z_demo_gj.c
+++ b/src/overlays/actors/ovl_Demo_Gj/z_demo_gj.c
@@ -45,8 +45,8 @@ static ColliderCylinderInitType1 sCylinderInit1 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -64,8 +64,8 @@ static ColliderCylinderInitType1 sCylinderInit2 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -83,8 +83,8 @@ static ColliderCylinderInitType1 sCylinderInit3 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Demo_Im/z_demo_im.c b/src/overlays/actors/ovl_Demo_Im/z_demo_im.c
index 29f88da2a..1c53402a6 100644
--- a/src/overlays/actors/ovl_Demo_Im/z_demo_im.c
+++ b/src/overlays/actors/ovl_Demo_Im/z_demo_im.c
@@ -84,7 +84,14 @@ static ColliderCylinderInitType1 sCylinderInit = {
OC1_ON | OC1_TYPE_PLAYER,
COLSHAPE_CYLINDER,
},
- { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
+ {
+ ELEM_MATERIAL_UNK0,
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
+ ATELEM_NONE,
+ ACELEM_NONE,
+ OCELEM_ON,
+ },
{ 25, 80, 0, { 0, 0, 0 } },
};
diff --git a/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c b/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c
index 3ba050413..d5c1faa67 100644
--- a/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c
+++ b/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c
@@ -59,8 +59,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x07, 0x04 },
- { 0x00002000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_7, 0x04 },
+ { 0x00002000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Door_Ana/z_door_ana.c b/src/overlays/actors/ovl_Door_Ana/z_door_ana.c
index 8e04441f6..647ba366b 100644
--- a/src/overlays/actors/ovl_Door_Ana/z_door_ana.c
+++ b/src/overlays/actors/ovl_Door_Ana/z_door_ana.c
@@ -52,13 +52,13 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000048, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000048, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
},
- { 50, 10, 0, { 0 } },
+ { 50, 10, 0, { 0, 0, 0 } },
};
static s16 sGrottoEntrances[] = {
diff --git a/src/overlays/actors/ovl_Door_Killer/z_door_killer.c b/src/overlays/actors/ovl_Door_Killer/z_door_killer.c
index dc016d34b..565ea6adc 100644
--- a/src/overlays/actors/ovl_Door_Killer/z_door_killer.c
+++ b/src/overlays/actors/ovl_Door_Killer/z_door_killer.c
@@ -6,6 +6,7 @@
#include "z_door_killer.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "printf.h"
@@ -64,8 +65,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0x0001FFEE, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0x0001FFEE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_NONE,
@@ -73,12 +74,12 @@ static ColliderCylinderInit sCylinderInit = {
{ 20, 100, 0, { 0, 0, 0 } },
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -96,7 +97,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_NONE,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Am/z_en_am.c b/src/overlays/actors/ovl_En_Am/z_en_am.c
index 6b382ca36..b3f31ec53 100644
--- a/src/overlays/actors/ovl_En_Am/z_en_am.c
+++ b/src/overlays/actors/ovl_En_Am/z_en_am.c
@@ -78,8 +78,8 @@ static ColliderCylinderInit sHurtCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -98,8 +98,8 @@ static ColliderCylinderInit sBlockCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00400106, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00400106, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -118,8 +118,8 @@ static ColliderQuadInit sQuadInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Ani/z_en_ani.c b/src/overlays/actors/ovl_En_Ani/z_en_ani.c
index 17d4eb62f..b42d9bd29 100644
--- a/src/overlays/actors/ovl_En_Ani/z_en_ani.c
+++ b/src/overlays/actors/ovl_En_Ani/z_en_ani.c
@@ -61,13 +61,13 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
},
- { 30, 40, 0, { 0 } },
+ { 30, 40, 0, { 0, 0, 0 } },
};
void EnAni_SetupAction(EnAni* this, EnAniActionFunc actionFunc) {
diff --git a/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c b/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c
index dd527d95b..7f060f2ea 100644
--- a/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c
+++ b/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c
@@ -64,8 +64,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.c b/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.c
index 39cc72c38..5e518870e 100644
--- a/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.c
+++ b/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.c
@@ -55,8 +55,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c
index 48517bfe4..21d2bb6aa 100644
--- a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c
+++ b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c
@@ -57,8 +57,8 @@ static ColliderQuadInit sColliderQuadInit = {
},
{
ELEM_MATERIAL_UNK2,
- { 0x00000020, 0x00, 0x01 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000020, HIT_SPECIAL_EFFECT_NONE, 0x01 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_NEAREST | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Ba/z_en_ba.c b/src/overlays/actors/ovl_En_Ba/z_en_ba.c
index 462e8a5f1..a6ab6b854 100644
--- a/src/overlays/actors/ovl_En_Ba/z_en_ba.c
+++ b/src/overlays/actors/ovl_En_Ba/z_en_ba.c
@@ -6,6 +6,7 @@
#include "z_en_ba.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -51,12 +52,12 @@ ActorProfile En_Ba_Profile = {
static Vec3f D_809B8080 = { 0.0f, 0.0f, 32.0f };
-static ColliderJntSphElementInit sJntSphElementsInit[2] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000010, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000010, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -66,8 +67,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[2] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x00, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
@@ -85,7 +86,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_NONE,
COLSHAPE_JNTSPH,
},
- 2,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Bb/z_en_bb.c b/src/overlays/actors/ovl_En_Bb/z_en_bb.c
index 0c055c9be..50d01b999 100644
--- a/src/overlays/actors/ovl_En_Bb/z_en_bb.c
+++ b/src/overlays/actors/ovl_En_Bb/z_en_bb.c
@@ -7,6 +7,7 @@
#include "z_en_bb.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "attributes.h"
#include "gfx.h"
#include "gfx_setupdl.h"
@@ -225,12 +226,12 @@ ActorProfile En_Bb_Profile = {
/**/ EnBb_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -248,7 +249,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
@@ -369,7 +370,7 @@ void EnBb_Init(Actor* thisx, PlayState* play) {
thisx->naviEnemyId = NAVI_ENEMY_RED_BUBBLE;
thisx->colChkInfo.damageTable = &sDamageTableRed;
this->flameEnvColor.r = 255;
- this->collider.elements[0].base.atDmgInfo.effect = 1;
+ this->collider.elements[0].base.atDmgInfo.hitSpecialEffect = HIT_SPECIAL_EFFECT_FIRE;
EnBb_SetupRed(play, this);
break;
case ENBB_WHITE:
diff --git a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c
index 1ab5979a3..51cab89db 100644
--- a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c
+++ b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c
@@ -62,12 +62,12 @@ ActorProfile En_Bigokuta_Profile = {
/**/ EnBigokuta_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x20000000, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_HARD,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Bili/z_en_bili.c b/src/overlays/actors/ovl_En_Bili/z_en_bili.c
index 804f5e59c..29571ca74 100644
--- a/src/overlays/actors/ovl_En_Bili/z_en_bili.c
+++ b/src/overlays/actors/ovl_En_Bili/z_en_bili.c
@@ -67,8 +67,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x03, 0x08 },
- { 0xFFCFFFFF, 0x01, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_ELECTRIC, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_ELECTRIC, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -157,7 +157,7 @@ void EnBili_Destroy(Actor* thisx, PlayState* play) {
void EnBili_SetupFloatIdle(EnBili* this) {
this->actor.speed = 0.7f;
- this->collider.elem.acDmgInfo.hitBacklash = HIT_BACKLASH_1;
+ this->collider.elem.acDmgInfo.hitBacklash = HIT_BACKLASH_ELECTRIC;
this->timer = 32;
this->actor.home.pos.y = this->actor.world.pos.y;
this->actor.gravity = 0.0f;
@@ -253,7 +253,7 @@ void EnBili_SetupDie(EnBili* this) {
*/
void EnBili_SetupStunned(EnBili* this) {
this->timer = 80;
- this->collider.elem.acDmgInfo.hitBacklash = HIT_BACKLASH_0;
+ this->collider.elem.acDmgInfo.hitBacklash = HIT_BACKLASH_NONE;
this->actor.gravity = -1.0f;
this->actor.speed = 0.0f;
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 150, COLORFILTER_BUFFLAG_XLU, 80);
diff --git a/src/overlays/actors/ovl_En_Bom/z_en_bom.c b/src/overlays/actors/ovl_En_Bom/z_en_bom.c
index bf1c9ee47..e5f590a14 100644
--- a/src/overlays/actors/ovl_En_Bom/z_en_bom.c
+++ b/src/overlays/actors/ovl_En_Bom/z_en_bom.c
@@ -7,6 +7,7 @@
#include "z_en_bom.h"
#include "overlays/effects/ovl_Effect_Ss_Dead_Sound/z_eff_ss_dead_sound.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -53,8 +54,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0x0003F828, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x0003F828, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -62,12 +63,12 @@ static ColliderCylinderInit sCylinderInit = {
{ 6, 11, 14, { 0, 0, 0 } },
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000008, 0x00, 0x08 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000008, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_NONE,
@@ -85,7 +86,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_NONE,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.c b/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.c
index 6e9dc9169..8467c4e5a 100644
--- a/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.c
+++ b/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.c
@@ -46,8 +46,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c b/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c
index 117343703..a4312e540 100644
--- a/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c
+++ b/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c
@@ -7,6 +7,7 @@
#include "z_en_bombf.h"
#include "overlays/effects/ovl_Effect_Ss_Dead_Sound/z_eff_ss_dead_sound.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "regs.h"
@@ -57,8 +58,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0x0003F828, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x0003F828, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -66,12 +67,12 @@ static ColliderCylinderInit sCylinderInit = {
{ 9, 18, 10, { 0, 0, 0 } },
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000008, 0x00, 0x08 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000008, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_NONE,
@@ -89,7 +90,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_NONE,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Boom/z_en_boom.c b/src/overlays/actors/ovl_En_Boom/z_en_boom.c
index f67975510..c8254f1a8 100644
--- a/src/overlays/actors/ovl_En_Boom/z_en_boom.c
+++ b/src/overlays/actors/ovl_En_Boom/z_en_boom.c
@@ -49,8 +49,8 @@ static ColliderQuadInit sQuadInit = {
},
{
ELEM_MATERIAL_UNK2,
- { 0x00000010, 0x00, 0x01 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000010, HIT_SPECIAL_EFFECT_NONE, 0x01 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_NEAREST | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Brob/z_en_brob.c b/src/overlays/actors/ovl_En_Brob/z_en_brob.c
index 1dc0ea5e6..6784fc2de 100644
--- a/src/overlays/actors/ovl_En_Brob/z_en_brob.c
+++ b/src/overlays/actors/ovl_En_Brob/z_en_brob.c
@@ -54,8 +54,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK1,
- { 0xFFCFFFFF, 0x03, 0x08 },
- { 0xFFCFFFFF, 0x01, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_ELECTRIC, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_ELECTRIC, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Bubble/z_en_bubble.c b/src/overlays/actors/ovl_En_Bubble/z_en_bubble.c
index 30de9c5bb..0624c84ad 100644
--- a/src/overlays/actors/ovl_En_Bubble/z_en_bubble.c
+++ b/src/overlays/actors/ovl_En_Bubble/z_en_bubble.c
@@ -1,6 +1,7 @@
#include "z_en_bubble.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "sfx.h"
@@ -36,12 +37,12 @@ ActorProfile En_Bubble_Profile = {
/**/ EnBubble_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[2] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x04 },
- { 0xFFCFD753, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFD753, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -51,8 +52,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[2] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00002824, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00002824, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_NO_AT_INFO | ACELEM_NO_DAMAGE | ACELEM_NO_SWORD_SFX | ACELEM_NO_HITMARK,
OCELEM_NONE,
@@ -70,7 +71,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 2,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
@@ -110,7 +111,7 @@ u32 func_809CBCBC(EnBubble* this) {
ColliderElement* elem = &this->colliderJntSph.elements[0].base;
elem->atDmgInfo.dmgFlags = DMG_EXPLOSIVE;
- elem->atDmgInfo.effect = 0;
+ elem->atDmgInfo.hitSpecialEffect = HIT_SPECIAL_EFFECT_NONE;
elem->atDmgInfo.damage = 4;
elem->atElemFlags = ATELEM_ON;
this->actor.velocity.y = 0.0f;
diff --git a/src/overlays/actors/ovl_En_Butte/z_en_butte.c b/src/overlays/actors/ovl_En_Butte/z_en_butte.c
index 888ef865e..2cf9a677f 100644
--- a/src/overlays/actors/ovl_En_Butte/z_en_butte.c
+++ b/src/overlays/actors/ovl_En_Butte/z_en_butte.c
@@ -8,6 +8,7 @@
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -41,15 +42,17 @@ void EnButte_SetupWaitToDie(EnButte* this);
void EnButte_WaitToDie(EnButte* this, PlayState* play);
static ColliderJntSphElementInit sJntSphElementsInit[] = {
- { {
- ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x000, 0x00 },
- ATELEM_NONE,
- ACELEM_NONE,
- OCELEM_ON,
- },
- { 0, { { 0, 0, 0 }, 5 }, 100 } },
+ {
+ {
+ ELEM_MATERIAL_UNK0,
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
+ ATELEM_NONE,
+ ACELEM_NONE,
+ OCELEM_ON,
+ },
+ { 0, { { 0, 0, 0 }, 5 }, 100 },
+ },
};
static ColliderJntSphInit sColliderJntSphInit = {
{
@@ -60,7 +63,7 @@ static ColliderJntSphInit sColliderJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Bw/z_en_bw.c b/src/overlays/actors/ovl_En_Bw/z_en_bw.c
index 7f6b4ae99..37563cf72 100644
--- a/src/overlays/actors/ovl_En_Bw/z_en_bw.c
+++ b/src/overlays/actors/ovl_En_Bw/z_en_bw.c
@@ -74,8 +74,8 @@ static ColliderCylinderInit sCylinderInit1 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, 0x08 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, 0x08 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
@@ -94,8 +94,8 @@ static ColliderCylinderInit sCylinderInit2 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -786,7 +786,7 @@ void EnBw_Update(Actor* thisx, PlayState* play2) {
func_8002836C(play, &thisx->world.pos, &velocity, &accel, &sp50, &sp4C, 0x3C, 0, 0x14);
}
if (this->unk_248 <= 0.4f) {
- this->collider1.elem.atDmgInfo.effect = 0;
+ this->collider1.elem.atDmgInfo.hitSpecialEffect = HIT_SPECIAL_EFFECT_NONE;
if (((play->gameplayFrames & 1) == 0) && (this->unk_220 < 5) && (this->unk_23C == 0)) {
accel.y = -0.1f;
velocity.x = Rand_CenteredFloat(4.0f);
@@ -806,7 +806,7 @@ void EnBw_Update(Actor* thisx, PlayState* play2) {
20.0f - (this->unk_248 * 40.0f));
}
} else {
- this->collider1.elem.atDmgInfo.effect = 1;
+ this->collider1.elem.atDmgInfo.hitSpecialEffect = HIT_SPECIAL_EFFECT_FIRE;
}
this->unk_234 = Actor_TestFloorInDirection(thisx, play, 50.0f, thisx->world.rot.y);
diff --git a/src/overlays/actors/ovl_En_Bx/z_en_bx.c b/src/overlays/actors/ovl_En_Bx/z_en_bx.c
index 942cfdd6f..4d08e6871 100644
--- a/src/overlays/actors/ovl_En_Bx/z_en_bx.c
+++ b/src/overlays/actors/ovl_En_Bx/z_en_bx.c
@@ -50,8 +50,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK1,
- { 0xFFCFFFFF, 0x03, 0x04 },
- { 0xFFCFFFFF, 0x01, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_ELECTRIC, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_ELECTRIC, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_NONE,
@@ -70,8 +70,8 @@ static ColliderQuadInit sQuadInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x03, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_ELECTRIC, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c b/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c
index f3b7f3dc1..ec6bdd992 100644
--- a/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c
+++ b/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c
@@ -60,8 +60,8 @@ static ColliderCylinderInit sArwingCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFDFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFDFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -80,8 +80,8 @@ static ColliderCylinderInit sLaserCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFDFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFDFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Cow/z_en_cow.c b/src/overlays/actors/ovl_En_Cow/z_en_cow.c
index 2c27b88f2..6f8a5329a 100644
--- a/src/overlays/actors/ovl_En_Cow/z_en_cow.c
+++ b/src/overlays/actors/ovl_En_Cow/z_en_cow.c
@@ -61,8 +61,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Crow/z_en_crow.c b/src/overlays/actors/ovl_En_Crow/z_en_crow.c
index 0182ad038..195494c85 100644
--- a/src/overlays/actors/ovl_En_Crow/z_en_crow.c
+++ b/src/overlays/actors/ovl_En_Crow/z_en_crow.c
@@ -1,5 +1,6 @@
#include "z_en_crow.h"
+#include "array_count.h"
#include "gfx_setupdl.h"
#include "ichain.h"
#include "rand.h"
@@ -43,12 +44,12 @@ ActorProfile En_Crow_Profile = {
/**/ EnCrow_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_HARD,
ACELEM_ON,
OCELEM_ON,
@@ -66,7 +67,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Cs/z_en_cs.c b/src/overlays/actors/ovl_En_Cs/z_en_cs.c
index ce9f69f5c..51825392b 100644
--- a/src/overlays/actors/ovl_En_Cs/z_en_cs.c
+++ b/src/overlays/actors/ovl_En_Cs/z_en_cs.c
@@ -52,8 +52,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c
index 628e7de83..f3fc6fc1a 100644
--- a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c
+++ b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c
@@ -83,8 +83,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c b/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c
index 7401a84e3..d74149bdc 100644
--- a/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c
+++ b/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c
@@ -65,8 +65,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c b/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c
index d30784b4c..dd2a3d45b 100644
--- a/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c
+++ b/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c
@@ -55,12 +55,12 @@ ActorProfile En_Dekubaba_Profile = {
/**/ EnDekubaba_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[7] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_HARD,
ACELEM_ON,
OCELEM_ON,
@@ -70,8 +70,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[7] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -81,8 +81,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[7] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_NONE,
@@ -92,8 +92,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[7] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_NONE,
@@ -103,8 +103,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[7] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_NONE,
@@ -114,8 +114,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[7] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_NONE,
@@ -125,8 +125,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[7] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_NONE,
@@ -144,7 +144,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 7,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.c b/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.c
index dac88693b..1197e36c9 100644
--- a/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.c
+++ b/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.c
@@ -62,8 +62,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Dh/z_en_dh.c b/src/overlays/actors/ovl_En_Dh/z_en_dh.c
index 787066925..dc7007f67 100644
--- a/src/overlays/actors/ovl_En_Dh/z_en_dh.c
+++ b/src/overlays/actors/ovl_En_Dh/z_en_dh.c
@@ -7,6 +7,7 @@
#include "z_en_dh.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "attributes.h"
#include "gfx.h"
#include "gfx_setupdl.h"
@@ -81,8 +82,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -90,12 +91,12 @@ static ColliderCylinderInit sCylinderInit = {
{ 35, 70, 0, { 0, 0, 0 } },
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON | OCELEM_UNK3,
@@ -113,7 +114,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Dha/z_en_dha.c b/src/overlays/actors/ovl_En_Dha/z_en_dha.c
index 559e4a721..d93711b6c 100644
--- a/src/overlays/actors/ovl_En_Dha/z_en_dha.c
+++ b/src/overlays/actors/ovl_En_Dha/z_en_dha.c
@@ -8,6 +8,7 @@
#include "overlays/actors/ovl_En_Dh/z_en_dh.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -88,8 +89,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -99,8 +100,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -110,8 +111,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -121,8 +122,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -132,8 +133,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -151,7 +152,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 5,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c b/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c
index bcb49b925..c9c064136 100644
--- a/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c
+++ b/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c
@@ -78,9 +78,9 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
- ATELEM_NONE | ATELEM_SFX_NORMAL,
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
+ ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
},
diff --git a/src/overlays/actors/ovl_En_Dns/z_en_dns.c b/src/overlays/actors/ovl_En_Dns/z_en_dns.c
index 8dd85d8c2..ef9ada225 100644
--- a/src/overlays/actors/ovl_En_Dns/z_en_dns.c
+++ b/src/overlays/actors/ovl_En_Dns/z_en_dns.c
@@ -79,8 +79,8 @@ static ColliderCylinderInitType1 sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c b/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c
index 72e8c548c..f784bc01f 100644
--- a/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c
+++ b/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c
@@ -82,8 +82,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c b/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c
index 353f42e63..d6e00db87 100644
--- a/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c
+++ b/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c
@@ -102,8 +102,8 @@ static ColliderCylinderInit sBodyCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -122,8 +122,8 @@ static ColliderQuadInit sTargetQuadInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x0001F824, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x0001F824, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Dodojr/z_en_dodojr.c b/src/overlays/actors/ovl_En_Dodojr/z_en_dodojr.c
index 2f276b25f..3697c6593 100644
--- a/src/overlays/actors/ovl_En_Dodojr/z_en_dodojr.c
+++ b/src/overlays/actors/ovl_En_Dodojr/z_en_dodojr.c
@@ -66,8 +66,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFC5FFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFC5FFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c b/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c
index c7446c4f1..ccbb01753 100644
--- a/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c
+++ b/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c
@@ -3,6 +3,7 @@
#include "overlays/actors/ovl_En_Bombf/z_en_bombf.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -63,12 +64,12 @@ ActorProfile En_Dodongo_Profile = {
/**/ EnDodongo_Draw,
};
-static ColliderJntSphElementInit sBodyElementsInit[6] = {
+static ColliderJntSphElementInit sBodyElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -78,8 +79,8 @@ static ColliderJntSphElementInit sBodyElementsInit[6] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -89,8 +90,8 @@ static ColliderJntSphElementInit sBodyElementsInit[6] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -100,8 +101,8 @@ static ColliderJntSphElementInit sBodyElementsInit[6] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -111,8 +112,8 @@ static ColliderJntSphElementInit sBodyElementsInit[6] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -122,8 +123,8 @@ static ColliderJntSphElementInit sBodyElementsInit[6] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x0D800691, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x0D800691, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON | OCELEM_UNK3,
@@ -141,16 +142,16 @@ static ColliderJntSphInit sBodyJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 6,
+ ARRAY_COUNT(sBodyElementsInit),
sBodyElementsInit,
};
-static ColliderTrisElementInit sHardElementsInit[3] = {
+static ColliderTrisElementInit sHardElementsInit[] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0xF24BF96E, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xF24BF96E, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE | ACELEM_NO_AT_INFO,
OCELEM_NONE,
@@ -160,8 +161,8 @@ static ColliderTrisElementInit sHardElementsInit[3] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCBF96E, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCBF96E, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE | ACELEM_NO_AT_INFO,
OCELEM_NONE,
@@ -171,8 +172,8 @@ static ColliderTrisElementInit sHardElementsInit[3] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCBF96E, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCBF96E, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE | ACELEM_NO_AT_INFO,
OCELEM_NONE,
@@ -190,7 +191,7 @@ static ColliderTrisInit sHardTrisInit = {
OC2_NONE,
COLSHAPE_TRIS,
},
- 3,
+ ARRAY_COUNT(sHardElementsInit),
sHardElementsInit,
};
@@ -205,8 +206,8 @@ static ColliderQuadInit sAttackQuadInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x01, 0x10 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_FIRE, 0x10 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL | ATELEM_UNK7,
ACELEM_NONE,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Dog/z_en_dog.c b/src/overlays/actors/ovl_En_Dog/z_en_dog.c
index 4f25c38d0..96ff5b3ff 100644
--- a/src/overlays/actors/ovl_En_Dog/z_en_dog.c
+++ b/src/overlays/actors/ovl_En_Dog/z_en_dog.c
@@ -52,13 +52,13 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
},
- { 16, 20, 0, { 0 } },
+ { 16, 20, 0, { 0, 0, 0 } },
};
static CollisionCheckInfoInit2 sColChkInfoInit = { 0, 0, 0, 0, 50 };
diff --git a/src/overlays/actors/ovl_En_Du/z_en_du.c b/src/overlays/actors/ovl_En_Du/z_en_du.c
index b3ef9d752..ac71becd0 100644
--- a/src/overlays/actors/ovl_En_Du/z_en_du.c
+++ b/src/overlays/actors/ovl_En_Du/z_en_du.c
@@ -60,8 +60,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Eiyer/z_en_eiyer.c b/src/overlays/actors/ovl_En_Eiyer/z_en_eiyer.c
index f0a5b4466..953ee1597 100644
--- a/src/overlays/actors/ovl_En_Eiyer/z_en_eiyer.c
+++ b/src/overlays/actors/ovl_En_Eiyer/z_en_eiyer.c
@@ -70,8 +70,8 @@ static ColliderCylinderInit sColliderCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x04, 0x08 },
- { 0x00000019, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_KNOCKBACK, 0x08 },
+ { 0x00000019, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_HARD,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Fd/z_en_fd.c b/src/overlays/actors/ovl_En_Fd/z_en_fd.c
index 34de563a5..a30e4c92a 100644
--- a/src/overlays/actors/ovl_En_Fd/z_en_fd.c
+++ b/src/overlays/actors/ovl_En_Fd/z_en_fd.c
@@ -8,6 +8,7 @@
#include "libc64/math64.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "segmented_address.h"
@@ -62,12 +63,12 @@ ActorProfile En_Fd_Profile = {
#define FLARE_DANCER_BODY_DMG 0x04
#endif
-static ColliderJntSphElementInit sJntSphElementsInit[12] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, FLARE_DANCER_BODY_DMG },
- { 0x00040088, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, FLARE_DANCER_BODY_DMG },
+ { 0x00040088, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
@@ -77,8 +78,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, FLARE_DANCER_BODY_DMG },
- { 0x00040008, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, FLARE_DANCER_BODY_DMG },
+ { 0x00040008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -88,8 +89,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, FLARE_DANCER_BODY_DMG },
- { 0x00040008, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, FLARE_DANCER_BODY_DMG },
+ { 0x00040008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -99,8 +100,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, FLARE_DANCER_BODY_DMG },
- { 0x00040008, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, FLARE_DANCER_BODY_DMG },
+ { 0x00040008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -110,8 +111,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, FLARE_DANCER_BODY_DMG },
- { 0x00040008, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, FLARE_DANCER_BODY_DMG },
+ { 0x00040008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -121,8 +122,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, FLARE_DANCER_BODY_DMG },
- { 0x00040008, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, FLARE_DANCER_BODY_DMG },
+ { 0x00040008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -132,8 +133,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, FLARE_DANCER_BODY_DMG },
- { 0x00040008, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, FLARE_DANCER_BODY_DMG },
+ { 0x00040008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -143,8 +144,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, FLARE_DANCER_BODY_DMG },
- { 0x00040008, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, FLARE_DANCER_BODY_DMG },
+ { 0x00040008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -154,8 +155,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, FLARE_DANCER_BODY_DMG },
- { 0x00040008, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, FLARE_DANCER_BODY_DMG },
+ { 0x00040008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -165,8 +166,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, FLARE_DANCER_BODY_DMG },
- { 0x00040008, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, FLARE_DANCER_BODY_DMG },
+ { 0x00040008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -176,8 +177,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, FLARE_DANCER_BODY_DMG },
- { 0x00040008, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, FLARE_DANCER_BODY_DMG },
+ { 0x00040008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -187,8 +188,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, FLARE_DANCER_BODY_DMG },
- { 0x00040008, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, FLARE_DANCER_BODY_DMG },
+ { 0x00040008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -206,7 +207,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 12,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Fd_Fire/z_en_fd_fire.c b/src/overlays/actors/ovl_En_Fd_Fire/z_en_fd_fire.c
index a26b54a64..334fc24d3 100644
--- a/src/overlays/actors/ovl_En_Fd_Fire/z_en_fd_fire.c
+++ b/src/overlays/actors/ovl_En_Fd_Fire/z_en_fd_fire.c
@@ -45,8 +45,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, 0x08 },
- { 0x0D840008, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, 0x08 },
+ { 0x0D840008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.c b/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.c
index db514cb80..8820c17de 100644
--- a/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.c
+++ b/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.c
@@ -85,9 +85,9 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK6,
- { 0x00100700, 0x03, 0x20 },
- { 0x0D900700, 0x00, 0x00 },
- ATELEM_ON,
+ { 0x00100700, HIT_SPECIAL_EFFECT_ELECTRIC, 0x20 },
+ { 0x0D900700, HIT_BACKLASH_NONE, 0x00 },
+ ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
},
@@ -550,7 +550,7 @@ void EnFhgFire_EnergyBall(EnFhgFire* this, PlayState* play) {
Actor_PlaySfx(&this->actor, NA_SE_EN_FANTOM_LAUGH);
}
Actor_SetPlayerKnockback(play, &this->actor, 3.0f, this->actor.world.rot.y, 0.0f,
- PLAYER_KNOCKBACK_LARGE_SHOCK, 0x10);
+ PLAYER_KNOCKBACK_LARGE_ELECTRIFIED, 0x10);
}
break;
case FHGFIRE_LIGHT_BLUE:
diff --git a/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.c b/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.c
index 8162544fa..c29b1dd8c 100644
--- a/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.c
+++ b/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.c
@@ -54,8 +54,8 @@ static ColliderCylinderInit D_80A12CA0 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x09, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_9, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_NONE,
@@ -74,8 +74,8 @@ static ColliderCylinderInit D_80A12CCC = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c b/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c
index e3df3a19f..5de7f1e5a 100644
--- a/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c
+++ b/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c
@@ -8,6 +8,7 @@
#include "overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -62,12 +63,12 @@ ActorProfile En_Firefly_Profile = {
/**/ EnFirefly_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_HARD,
ACELEM_ON,
OCELEM_ON,
@@ -85,7 +86,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
@@ -134,7 +135,7 @@ static InitChainEntry sInitChain[] = {
void EnFirefly_Extinguish(EnFirefly* this) {
this->actor.params += 2;
- this->collider.elements[0].base.atDmgInfo.effect = 0; // None
+ this->collider.elements[0].base.atDmgInfo.hitSpecialEffect = HIT_SPECIAL_EFFECT_NONE;
this->auraType = KEESE_AURA_NONE;
this->onFire = false;
this->actor.naviEnemyId = NAVI_ENEMY_KEESE;
@@ -146,7 +147,7 @@ void EnFirefly_Ignite(EnFirefly* this) {
} else {
this->actor.params -= 2;
}
- this->collider.elements[0].base.atDmgInfo.effect = 1; // Fire
+ this->collider.elements[0].base.atDmgInfo.hitSpecialEffect = HIT_SPECIAL_EFFECT_FIRE;
this->auraType = KEESE_AURA_FIRE;
this->onFire = true;
this->actor.naviEnemyId = NAVI_ENEMY_FIRE_KEESE;
@@ -190,10 +191,10 @@ void EnFirefly_Init(Actor* thisx, PlayState* play) {
}
if (this->actor.params == KEESE_ICE_FLY) {
- this->collider.elements[0].base.atDmgInfo.effect = 2; // Ice
+ this->collider.elements[0].base.atDmgInfo.hitSpecialEffect = HIT_SPECIAL_EFFECT_ICE;
this->actor.naviEnemyId = NAVI_ENEMY_ICE_KEESE;
} else {
- this->collider.elements[0].base.atDmgInfo.effect = 0; // Nothing
+ this->collider.elements[0].base.atDmgInfo.hitSpecialEffect = HIT_SPECIAL_EFFECT_NONE;
this->actor.naviEnemyId = NAVI_ENEMY_KEESE;
}
diff --git a/src/overlays/actors/ovl_En_Fish/z_en_fish.c b/src/overlays/actors/ovl_En_Fish/z_en_fish.c
index ce2cb2393..9bc08c7a4 100644
--- a/src/overlays/actors/ovl_En_Fish/z_en_fish.c
+++ b/src/overlays/actors/ovl_En_Fish/z_en_fish.c
@@ -7,6 +7,7 @@
#include "z_en_fish.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -50,12 +51,12 @@ static Actor* D_80A17010 = NULL;
static f32 D_80A17014 = 0.0f;
static f32 D_80A17018 = 0.0f;
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -73,7 +74,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c
index 2c102649c..0cf427357 100644
--- a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c
+++ b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c
@@ -80,8 +80,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x04, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_KNOCKBACK, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_HARD,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Fu/z_en_fu.c b/src/overlays/actors/ovl_En_Fu/z_en_fu.c
index 9495395aa..1d70c37e8 100644
--- a/src/overlays/actors/ovl_En_Fu/z_en_fu.c
+++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.c
@@ -66,8 +66,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Fw/z_en_fw.c b/src/overlays/actors/ovl_En_Fw/z_en_fw.c
index 0672c8a95..cd64d2d43 100644
--- a/src/overlays/actors/ovl_En_Fw/z_en_fw.c
+++ b/src/overlays/actors/ovl_En_Fw/z_en_fw.c
@@ -9,6 +9,7 @@
#include "libc64/math64.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "segmented_address.h"
@@ -51,12 +52,12 @@ ActorProfile En_Fw_Profile = {
/**/ EnFw_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x04 },
- { 0xFFCFFFFE, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
@@ -74,7 +75,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Fz/z_en_fz.c b/src/overlays/actors/ovl_En_Fz/z_en_fz.c
index fc0c1363b..e2f5d28e0 100644
--- a/src/overlays/actors/ovl_En_Fz/z_en_fz.c
+++ b/src/overlays/actors/ovl_En_Fz/z_en_fz.c
@@ -82,8 +82,8 @@ static ColliderCylinderInitType1 sCylinderInit1 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x00 },
- { 0xFFCE0FDB, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCE0FDB, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
@@ -101,8 +101,8 @@ static ColliderCylinderInitType1 sCylinderInit2 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x00 },
- { 0x0001F024, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x0001F024, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -120,8 +120,8 @@ static ColliderCylinderInitType1 sCylinderInit3 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x02, 0x08 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_ICE, 0x08 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_G_Switch/z_en_g_switch.c b/src/overlays/actors/ovl_En_G_Switch/z_en_g_switch.c
index 0adc4cc73..9d06872b7 100644
--- a/src/overlays/actors/ovl_En_G_Switch/z_en_g_switch.c
+++ b/src/overlays/actors/ovl_En_G_Switch/z_en_g_switch.c
@@ -70,8 +70,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Gb/z_en_gb.c b/src/overlays/actors/ovl_En_Gb/z_en_gb.c
index b88e8a7b3..f6b3cd836 100644
--- a/src/overlays/actors/ovl_En_Gb/z_en_gb.c
+++ b/src/overlays/actors/ovl_En_Gb/z_en_gb.c
@@ -70,8 +70,8 @@ static ColliderCylinderInitType1 sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c
index cd5253402..cf3a74c29 100644
--- a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c
+++ b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c
@@ -78,8 +78,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000702, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000702, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c b/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c
index c40402d60..900967f71 100644
--- a/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c
+++ b/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c
@@ -93,8 +93,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x000007A2, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x000007A2, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c
index 8ac3cdcd5..f832f4b4e 100644
--- a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c
+++ b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c
@@ -53,8 +53,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000722, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000722, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c
index a3884acc9..e8938ac97 100644
--- a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c
+++ b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c
@@ -7,6 +7,7 @@
#include "z_en_geldb.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -110,8 +111,8 @@ static ColliderCylinderInit sBodyCylinderInit = {
},
{
ELEM_MATERIAL_UNK1,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -119,12 +120,12 @@ static ColliderCylinderInit sBodyCylinderInit = {
{ 20, 50, 0, { 0, 0, 0 } },
};
-static ColliderTrisElementInit sBlockTrisElementsInit[2] = {
+static ColliderTrisElementInit sBlockTrisElementsInit[] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFC1FFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFC1FFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -134,8 +135,8 @@ static ColliderTrisElementInit sBlockTrisElementsInit[2] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFC1FFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFC1FFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -153,7 +154,7 @@ static ColliderTrisInit sBlockTrisInit = {
OC2_NONE,
COLSHAPE_TRIS,
},
- 2,
+ ARRAY_COUNT(sBlockTrisElementsInit),
sBlockTrisElementsInit,
};
@@ -168,8 +169,8 @@ static ColliderQuadInit sSwordQuadInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL | ATELEM_UNK7,
ACELEM_NONE,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Gm/z_en_gm.c b/src/overlays/actors/ovl_En_Gm/z_en_gm.c
index 3c0b76641..a698d5fba 100644
--- a/src/overlays/actors/ovl_En_Gm/z_en_gm.c
+++ b/src/overlays/actors/ovl_En_Gm/z_en_gm.c
@@ -62,8 +62,8 @@ static ColliderCylinderInitType1 sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Go/z_en_go.c b/src/overlays/actors/ovl_En_Go/z_en_go.c
index f69a4a2f0..b3ed90b9c 100644
--- a/src/overlays/actors/ovl_En_Go/z_en_go.c
+++ b/src/overlays/actors/ovl_En_Go/z_en_go.c
@@ -74,8 +74,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Go2/z_en_go2.c b/src/overlays/actors/ovl_En_Go2/z_en_go2.c
index 4ef7c76fb..29b4628e3 100644
--- a/src/overlays/actors/ovl_En_Go2/z_en_go2.c
+++ b/src/overlays/actors/ovl_En_Go2/z_en_go2.c
@@ -95,8 +95,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000008, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000008, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Goma/z_en_goma.c b/src/overlays/actors/ovl_En_Goma/z_en_goma.c
index b7973fb22..c29001227 100644
--- a/src/overlays/actors/ovl_En_Goma/z_en_goma.c
+++ b/src/overlays/actors/ovl_En_Goma/z_en_goma.c
@@ -88,8 +88,8 @@ static ColliderCylinderInit D_80A4B7A0 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFDFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFDFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -108,8 +108,8 @@ static ColliderCylinderInit D_80A4B7CC = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFDFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFDFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c b/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c
index 06e1dae81..7d5873136 100644
--- a/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c
+++ b/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c
@@ -8,6 +8,7 @@
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "ichain.h"
#include "printf.h"
#include "quake.h"
@@ -74,8 +75,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x00, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -93,7 +94,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_2,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Gs/z_en_gs.c b/src/overlays/actors/ovl_En_Gs/z_en_gs.c
index 286af8080..a98dca483 100644
--- a/src/overlays/actors/ovl_En_Gs/z_en_gs.c
+++ b/src/overlays/actors/ovl_En_Gs/z_en_gs.c
@@ -58,8 +58,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Guest/z_en_guest.c b/src/overlays/actors/ovl_En_Guest/z_en_guest.c
index 9dd16fe23..a6c31638c 100644
--- a/src/overlays/actors/ovl_En_Guest/z_en_guest.c
+++ b/src/overlays/actors/ovl_En_Guest/z_en_guest.c
@@ -54,7 +54,14 @@ static ColliderCylinderInitType1 sCylinderInit = {
OC1_ON | OC1_TYPE_ALL,
COLSHAPE_CYLINDER,
},
- { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
+ {
+ ELEM_MATERIAL_UNK0,
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
+ ATELEM_NONE,
+ ACELEM_NONE,
+ OCELEM_ON,
+ },
{ 10, 60, 0, { 0, 0, 0 } },
};
diff --git a/src/overlays/actors/ovl_En_Hata/z_en_hata.c b/src/overlays/actors/ovl_En_Hata/z_en_hata.c
index 2b4133c39..86a98fd18 100644
--- a/src/overlays/actors/ovl_En_Hata/z_en_hata.c
+++ b/src/overlays/actors/ovl_En_Hata/z_en_hata.c
@@ -47,9 +47,9 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000080, 0x00, 0x00 },
- ATELEM_NONE | ATELEM_SFX_NORMAL,
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000080, HIT_BACKLASH_NONE, 0x00 },
+ ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
},
diff --git a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c
index 3d6a7cb7d..b193f534c 100644
--- a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c
+++ b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c
@@ -87,8 +87,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c b/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c
index 075c5f8cb..9e4fa5d48 100644
--- a/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c
+++ b/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c
@@ -60,8 +60,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c b/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c
index ced83c19c..f77484dca 100644
--- a/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c
+++ b/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c
@@ -56,8 +56,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c b/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c
index 72a6fb9d6..14de43c85 100644
--- a/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c
+++ b/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c
@@ -57,8 +57,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.c b/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.c
index 2fa5d1338..e9a729709 100644
--- a/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.c
+++ b/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.c
@@ -7,6 +7,7 @@
#include "z_en_honotrap.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -76,12 +77,12 @@ ActorProfile En_Honotrap_Profile = {
/**/ EnHonotrap_Draw,
};
-static ColliderTrisElementInit sTrisElementsInit[2] = {
+static ColliderTrisElementInit sTrisElementsInit[] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0x00000000, 0x00, 0x00 },
- { 0x0001F824, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x0001F824, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -91,8 +92,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x0001F824, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x0001F824, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -110,7 +111,7 @@ static ColliderTrisInit sTrisInit = {
OC2_NONE,
COLSHAPE_TRIS,
},
- 2,
+ ARRAY_COUNT(sTrisElementsInit),
sTrisElementsInit,
};
@@ -125,8 +126,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, 0x04 },
- { 0x00100000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0x00100000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Horse/z_en_horse.c b/src/overlays/actors/ovl_En_Horse/z_en_horse.c
index b3b1110af..4dbf4ada3 100644
--- a/src/overlays/actors/ovl_En_Horse/z_en_horse.c
+++ b/src/overlays/actors/ovl_En_Horse/z_en_horse.c
@@ -114,8 +114,8 @@ static ColliderCylinderInit sCylinderInit1 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000400, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000400, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -134,8 +134,8 @@ static ColliderCylinderInit sCylinderInit2 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -143,12 +143,12 @@ static ColliderCylinderInit sCylinderInit2 = {
{ 20, 70, 0, { 0, 0, 0 } },
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x0001F824, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x0001F824, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_NO_AT_INFO | ACELEM_NO_DAMAGE | ACELEM_NO_SWORD_SFX | ACELEM_NO_HITMARK,
OCELEM_ON,
@@ -166,7 +166,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1 | OC2_UNK1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Horse_Ganon/z_en_horse_ganon.c b/src/overlays/actors/ovl_En_Horse_Ganon/z_en_horse_ganon.c
index 1301d1fde..12c32b7be 100644
--- a/src/overlays/actors/ovl_En_Horse_Ganon/z_en_horse_ganon.c
+++ b/src/overlays/actors/ovl_En_Horse_Ganon/z_en_horse_ganon.c
@@ -7,6 +7,7 @@
#include "z_en_horse_ganon.h"
#include "libc64/math64.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -65,8 +66,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -78,8 +79,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -97,7 +98,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1 | OC2_UNK1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.c b/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.c
index 7f15c2fac..6d8304eca 100644
--- a/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.c
+++ b/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.c
@@ -64,8 +64,8 @@ static ColliderCylinderInitType1 sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -73,12 +73,12 @@ static ColliderCylinderInitType1 sCylinderInit = {
{ 20, 100, 0, { 0, 0, 0 } },
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -96,7 +96,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1 | OC2_UNK1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c b/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c
index a77853b6f..fcdeb0d10 100644
--- a/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c
+++ b/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c
@@ -85,8 +85,8 @@ static ColliderCylinderInit sCylinderInit1 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -105,8 +105,8 @@ static ColliderCylinderInit sCylinderInit2 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -118,8 +118,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c b/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c
index 72dc359f1..991ded9bf 100644
--- a/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c
+++ b/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c
@@ -56,8 +56,8 @@ static ColliderCylinderInitType1 sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -65,12 +65,12 @@ static ColliderCylinderInitType1 sCylinderInit = {
{ 40, 100, 0, { 0, 0, 0 } },
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -88,7 +88,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1 | OC2_UNK1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Hs/z_en_hs.c b/src/overlays/actors/ovl_En_Hs/z_en_hs.c
index 757eab0a7..fca53bcd7 100644
--- a/src/overlays/actors/ovl_En_Hs/z_en_hs.c
+++ b/src/overlays/actors/ovl_En_Hs/z_en_hs.c
@@ -53,8 +53,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c b/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c
index 453ab7f65..4eefda79d 100644
--- a/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c
+++ b/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c
@@ -49,8 +49,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Hy/z_en_hy.c b/src/overlays/actors/ovl_En_Hy/z_en_hy.c
index 65a3c884d..ba419257f 100644
--- a/src/overlays/actors/ovl_En_Hy/z_en_hy.c
+++ b/src/overlays/actors/ovl_En_Hy/z_en_hy.c
@@ -71,8 +71,8 @@ static ColliderCylinderInit sColliderCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Ice_Hono/z_en_ice_hono.c b/src/overlays/actors/ovl_En_Ice_Hono/z_en_ice_hono.c
index 86e86a806..fb0e54f10 100644
--- a/src/overlays/actors/ovl_En_Ice_Hono/z_en_ice_hono.c
+++ b/src/overlays/actors/ovl_En_Ice_Hono/z_en_ice_hono.c
@@ -62,8 +62,8 @@ static ColliderCylinderInit sCylinderInitCapturableFlame = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -82,8 +82,8 @@ static ColliderCylinderInit sCylinderInitDroppedFlame = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Ik/z_en_ik.c b/src/overlays/actors/ovl_En_Ik/z_en_ik.c
index 53f9c938c..ad944a395 100644
--- a/src/overlays/actors/ovl_En_Ik/z_en_ik.c
+++ b/src/overlays/actors/ovl_En_Ik/z_en_ik.c
@@ -98,8 +98,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
@@ -107,12 +107,12 @@ static ColliderCylinderInit sCylinderInit = {
{ 25, 80, 0, { 0, 0, 0 } },
};
-static ColliderTrisElementInit sTrisElementsInit[2] = {
+static ColliderTrisElementInit sTrisElementsInit[] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFC3FFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFC3FFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_NO_AT_INFO,
OCELEM_NONE,
@@ -122,8 +122,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFC3FFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFC3FFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_NO_AT_INFO,
OCELEM_NONE,
@@ -141,7 +141,7 @@ static ColliderTrisInit sTrisInit = {
OC2_NONE,
COLSHAPE_TRIS,
},
- 2,
+ ARRAY_COUNT(sTrisElementsInit),
sTrisElementsInit,
};
@@ -156,8 +156,8 @@ static ColliderQuadInit sQuadInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x20000000, 0x00, 0x40 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x20000000, HIT_SPECIAL_EFFECT_NONE, 0x40 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL | ATELEM_UNK7,
ACELEM_NONE,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_In/z_en_in.c b/src/overlays/actors/ovl_En_In/z_en_in.c
index 1c5bdbf73..952e0db3e 100644
--- a/src/overlays/actors/ovl_En_In/z_en_in.c
+++ b/src/overlays/actors/ovl_En_In/z_en_in.c
@@ -67,8 +67,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Insect/z_en_insect.c b/src/overlays/actors/ovl_En_Insect/z_en_insect.c
index dd215680c..3c7cf4729 100644
--- a/src/overlays/actors/ovl_En_Insect/z_en_insect.c
+++ b/src/overlays/actors/ovl_En_Insect/z_en_insect.c
@@ -8,6 +8,7 @@
#include "overlays/actors/ovl_Obj_Makekinsuta/z_obj_makekinsuta.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -70,12 +71,12 @@ ActorProfile En_Insect_Profile = {
/**/ EnInsect_Draw,
};
-static ColliderJntSphElementInit sColliderElementsInit[1] = {
+static ColliderJntSphElementInit sColliderElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -93,7 +94,7 @@ static ColliderJntSphInit sColliderJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sColliderElementsInit),
sColliderElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_It/z_en_it.c b/src/overlays/actors/ovl_En_It/z_en_it.c
index 2faea7fb6..b6bb36d3a 100644
--- a/src/overlays/actors/ovl_En_It/z_en_it.c
+++ b/src/overlays/actors/ovl_En_It/z_en_it.c
@@ -25,13 +25,13 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
},
- { 40, 10, 0, { 0 } },
+ { 40, 10, 0, { 0, 0, 0 } },
};
static CollisionCheckInfoInit2 sColChkInfoInit = { 0, 0, 0, 0, MASS_IMMOVABLE };
diff --git a/src/overlays/actors/ovl_En_Jj/z_en_jj.c b/src/overlays/actors/ovl_En_Jj/z_en_jj.c
index 917c765c7..89ef487ab 100644
--- a/src/overlays/actors/ovl_En_Jj/z_en_jj.c
+++ b/src/overlays/actors/ovl_En_Jj/z_en_jj.c
@@ -69,8 +69,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000004, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000004, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Js/z_en_js.c b/src/overlays/actors/ovl_En_Js/z_en_js.c
index 7e570bdd5..d26911af1 100644
--- a/src/overlays/actors/ovl_En_Js/z_en_js.c
+++ b/src/overlays/actors/ovl_En_Js/z_en_js.c
@@ -48,8 +48,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c
index 71a3eae57..cd887c91e 100644
--- a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c
+++ b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c
@@ -49,8 +49,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE | ACELEM_HOOKABLE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c b/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c
index e18c1a765..940b2a3e1 100644
--- a/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c
+++ b/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c
@@ -37,8 +37,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c b/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c
index 6752e92d1..2fb299193 100644
--- a/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c
+++ b/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c
@@ -53,8 +53,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c b/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c
index 9a3f2eaca..c0c05a65d 100644
--- a/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c
+++ b/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c
@@ -117,8 +117,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c b/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c
index 3a128a5b1..64e730337 100644
--- a/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c
+++ b/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c
@@ -64,8 +64,8 @@ static ColliderCylinderInit sBodyColliderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -84,8 +84,8 @@ static ColliderCylinderInit sHeadColliderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_HARD,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Ko/z_en_ko.c b/src/overlays/actors/ovl_En_Ko/z_en_ko.c
index 213870f48..18eb41e57 100644
--- a/src/overlays/actors/ovl_En_Ko/z_en_ko.c
+++ b/src/overlays/actors/ovl_En_Ko/z_en_ko.c
@@ -68,8 +68,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c
index 9a5a41119..a4e5d5773 100644
--- a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c
+++ b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c
@@ -79,8 +79,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x4FC00758, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x4FC00758, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Kz/z_en_kz.c b/src/overlays/actors/ovl_En_Kz/z_en_kz.c
index 40b10dc67..83cc7fe9c 100644
--- a/src/overlays/actors/ovl_En_Kz/z_en_kz.c
+++ b/src/overlays/actors/ovl_En_Kz/z_en_kz.c
@@ -60,8 +60,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.c b/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.c
index eef5e1c0b..49a435500 100644
--- a/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.c
+++ b/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.c
@@ -38,13 +38,13 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK2,
- { 0x00000001, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000001, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_NONE,
},
- { 200, 200, 0, { 0 } },
+ { 200, 200, 0, { 0, 0, 0 } },
};
void EnMFire1_Init(Actor* thisx, PlayState* play) {
diff --git a/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.c b/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.c
index b66ace6f3..dd62fcabc 100644
--- a/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.c
+++ b/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.c
@@ -48,8 +48,8 @@ static ColliderCylinderInit D_80AA0420 = {
},
{
ELEM_MATERIAL_UNK2,
- { 0x00000001, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000001, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c
index cacb968eb..9a4975614 100644
--- a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c
+++ b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c
@@ -62,8 +62,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c
index e6df4523d..ad8a44991 100644
--- a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c
+++ b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c
@@ -63,8 +63,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c b/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c
index 2a23f0d17..94d1cf2b5 100644
--- a/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c
+++ b/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c
@@ -59,8 +59,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Mb/z_en_mb.c b/src/overlays/actors/ovl_En_Mb/z_en_mb.c
index 56e96bf29..75eb4b1d4 100644
--- a/src/overlays/actors/ovl_En_Mb/z_en_mb.c
+++ b/src/overlays/actors/ovl_En_Mb/z_en_mb.c
@@ -7,6 +7,7 @@
#include "z_en_mb.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -117,8 +118,8 @@ static ColliderCylinderInit sBodyColliderInit = {
},
{
ELEM_MATERIAL_UNK1,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -126,12 +127,12 @@ static ColliderCylinderInit sBodyColliderInit = {
{ 20, 70, 0, { 0, 0, 0 } },
};
-static ColliderTrisElementInit sFrontShieldingTrisElementsInit[2] = {
+static ColliderTrisElementInit sFrontShieldingTrisElementsInit[] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE | ACELEM_NO_AT_INFO,
OCELEM_NONE,
@@ -141,8 +142,8 @@ static ColliderTrisElementInit sFrontShieldingTrisElementsInit[2] = {
{
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE | ACELEM_NO_AT_INFO,
OCELEM_NONE,
@@ -160,7 +161,7 @@ static ColliderTrisInit sFrontShieldingTrisInit = {
OC2_NONE,
COLSHAPE_TRIS,
},
- 2,
+ ARRAY_COUNT(sFrontShieldingTrisElementsInit),
sFrontShieldingTrisElementsInit,
};
@@ -175,8 +176,8 @@ static ColliderQuadInit sAttackColliderQuadInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Md/z_en_md.c b/src/overlays/actors/ovl_En_Md/z_en_md.c
index 025411710..0e8ebd2aa 100644
--- a/src/overlays/actors/ovl_En_Md/z_en_md.c
+++ b/src/overlays/actors/ovl_En_Md/z_en_md.c
@@ -60,8 +60,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Mk/z_en_mk.c b/src/overlays/actors/ovl_En_Mk/z_en_mk.c
index 59257e93d..42846bd7a 100644
--- a/src/overlays/actors/ovl_En_Mk/z_en_mk.c
+++ b/src/overlays/actors/ovl_En_Mk/z_en_mk.c
@@ -50,8 +50,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Mm/z_en_mm.c b/src/overlays/actors/ovl_En_Mm/z_en_mm.c
index 9881334a0..e4ded4a59 100644
--- a/src/overlays/actors/ovl_En_Mm/z_en_mm.c
+++ b/src/overlays/actors/ovl_En_Mm/z_en_mm.c
@@ -76,8 +76,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c
index 187b57659..1210c34ee 100644
--- a/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c
+++ b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c
@@ -71,8 +71,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000004, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000004, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Ms/z_en_ms.c b/src/overlays/actors/ovl_En_Ms/z_en_ms.c
index e9012fb1e..d4e173f2b 100644
--- a/src/overlays/actors/ovl_En_Ms/z_en_ms.c
+++ b/src/overlays/actors/ovl_En_Ms/z_en_ms.c
@@ -49,8 +49,15 @@ static ColliderCylinderInitType1 sCylinderInit = {
OC1_ON | OC1_TYPE_ALL,
COLSHAPE_CYLINDER,
},
- { 0x00, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x00, 0x01, 0x01 },
- { 22, 37, 0, { 0 } },
+ {
+ ELEM_MATERIAL_UNK0,
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
+ ATELEM_NONE,
+ ACELEM_ON,
+ OCELEM_ON,
+ },
+ { 22, 37, 0, { 0, 0, 0 } },
};
static s16 sPrices[] = {
diff --git a/src/overlays/actors/ovl_En_Mu/z_en_mu.c b/src/overlays/actors/ovl_En_Mu/z_en_mu.c
index 78229fc75..3fd3ba25a 100644
--- a/src/overlays/actors/ovl_En_Mu/z_en_mu.c
+++ b/src/overlays/actors/ovl_En_Mu/z_en_mu.c
@@ -37,8 +37,8 @@ static ColliderCylinderInit D_80AB0BD0 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Nb/z_en_nb.c b/src/overlays/actors/ovl_En_Nb/z_en_nb.c
index a91373e78..d72977d3b 100644
--- a/src/overlays/actors/ovl_En_Nb/z_en_nb.c
+++ b/src/overlays/actors/ovl_En_Nb/z_en_nb.c
@@ -87,8 +87,8 @@ static ColliderCylinderInitType1 sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Niw/z_en_niw.c b/src/overlays/actors/ovl_En_Niw/z_en_niw.c
index 5acaf3f9e..3a811453e 100644
--- a/src/overlays/actors/ovl_En_Niw/z_en_niw.c
+++ b/src/overlays/actors/ovl_En_Niw/z_en_niw.c
@@ -106,8 +106,8 @@ static ColliderCylinderInit sCylinderInit1 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -126,8 +126,8 @@ static ColliderCylinderInit sCylinderInit2 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c b/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c
index 8949be289..4e9ccbb9d 100644
--- a/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c
+++ b/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c
@@ -57,8 +57,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c b/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c
index 2ea1ace66..066bf1476 100644
--- a/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c
+++ b/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c
@@ -74,8 +74,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c b/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c
index 9417316e4..f52c80e29 100644
--- a/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c
+++ b/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c
@@ -55,13 +55,13 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_WOOD,
ACELEM_ON,
OCELEM_ON,
},
- { 13, 13, 0, { 0 } },
+ { 13, 13, 0, { 0, 0, 0 } },
};
static s16 sObjectIds[] = {
diff --git a/src/overlays/actors/ovl_En_Ny/z_en_ny.c b/src/overlays/actors/ovl_En_Ny/z_en_ny.c
index 38167bef2..79778e54c 100644
--- a/src/overlays/actors/ovl_En_Ny/z_en_ny.c
+++ b/src/overlays/actors/ovl_En_Ny/z_en_ny.c
@@ -1,6 +1,7 @@
#include "z_en_ny.h"
#include "libc64/math64.h"
+#include "array_count.h"
#include "attributes.h"
#include "gfx.h"
#include "gfx_setupdl.h"
@@ -51,12 +52,12 @@ ActorProfile En_Ny_Profile = {
/**/ EnNy_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x04, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_KNOCKBACK, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -74,7 +75,7 @@ static ColliderJntSphInit sColliderJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c
index d2f11a0c7..daf90d8a3 100644
--- a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c
+++ b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c
@@ -57,8 +57,8 @@ static ColliderCylinderInit sProjectileColliderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_HARD,
ACELEM_ON,
OCELEM_ON,
@@ -77,8 +77,8 @@ static ColliderCylinderInit sOctorockColliderInit = {
},
{
ELEM_MATERIAL_UNK1,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c
index 8da6e7e6e..2a1b4d40f 100644
--- a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c
+++ b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c
@@ -154,9 +154,9 @@ static ColliderCylinderInitType1 sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
- ATELEM_NONE | ATELEM_SFX_NORMAL,
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
+ ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
},
diff --git a/src/overlays/actors/ovl_En_Owl/z_en_owl.c b/src/overlays/actors/ovl_En_Owl/z_en_owl.c
index cd5da7dd2..1f725248d 100644
--- a/src/overlays/actors/ovl_En_Owl/z_en_owl.c
+++ b/src/overlays/actors/ovl_En_Owl/z_en_owl.c
@@ -109,8 +109,8 @@ static ColliderCylinderInit sOwlCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c b/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c
index a4225d0ff..7502487cc 100644
--- a/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c
+++ b/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c
@@ -3,6 +3,7 @@
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -81,8 +82,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
@@ -90,12 +91,12 @@ static ColliderCylinderInit sCylinderInit = {
{ 50, 160, -70, { 0, 0, 0 } },
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -113,7 +114,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
@@ -128,8 +129,8 @@ static ColliderQuadInit sQuadInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.c b/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.c
index caf492b8b..fa7e94faf 100644
--- a/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.c
+++ b/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.c
@@ -54,8 +54,8 @@ static ColliderCylinderInit sColliderCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c b/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c
index 2989292f7..249244b5d 100644
--- a/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c
+++ b/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c
@@ -73,8 +73,8 @@ static ColliderCylinderInit D_80AD7080 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -93,8 +93,8 @@ static ColliderCylinderInit D_80AD70AC = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x01, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_FIRE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c b/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c
index b2effdffe..b1f81b70d 100644
--- a/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c
+++ b/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c
@@ -75,8 +75,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.c b/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.c
index fcd5a3ce2..299b0df33 100644
--- a/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.c
+++ b/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.c
@@ -104,8 +104,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0x4FC7FFEA, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0x4FC7FFEA, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Poh/z_en_poh.c b/src/overlays/actors/ovl_En_Poh/z_en_poh.c
index b6e723285..061720f0d 100644
--- a/src/overlays/actors/ovl_En_Poh/z_en_poh.c
+++ b/src/overlays/actors/ovl_En_Poh/z_en_poh.c
@@ -7,6 +7,7 @@
#include "z_en_poh.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -81,8 +82,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -90,12 +91,12 @@ static ColliderCylinderInit sCylinderInit = {
{ 20, 40, 20, { 0, 0, 0 } },
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -113,7 +114,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Rd/z_en_rd.c b/src/overlays/actors/ovl_En_Rd/z_en_rd.c
index 309169744..b41be053d 100644
--- a/src/overlays/actors/ovl_En_Rd/z_en_rd.c
+++ b/src/overlays/actors/ovl_En_Rd/z_en_rd.c
@@ -99,8 +99,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK1,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c b/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c
index ad278fc07..940fe4229 100644
--- a/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c
+++ b/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c
@@ -117,8 +117,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x08, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_8, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
@@ -151,7 +151,7 @@ void EnReeba_Init(Actor* thisx, PlayState* play) {
PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ リーバぼす登場 ☆☆☆☆☆ %f\n", "☆☆☆☆☆ Reeba boss appears ☆☆☆☆☆ %f\n") VT_RST,
this->scale);
this->actor.colChkInfo.health = 20;
- this->collider.elem.atDmgInfo.effect = 4;
+ this->collider.elem.atDmgInfo.hitSpecialEffect = HIT_SPECIAL_EFFECT_KNOCKBACK;
this->collider.elem.atDmgInfo.damage = 16;
Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_ENEMY);
}
diff --git a/src/overlays/actors/ovl_En_Rr/z_en_rr.c b/src/overlays/actors/ovl_En_Rr/z_en_rr.c
index 5ed4a1ea3..e18f1cb0c 100644
--- a/src/overlays/actors/ovl_En_Rr/z_en_rr.c
+++ b/src/overlays/actors/ovl_En_Rr/z_en_rr.c
@@ -114,8 +114,8 @@ static ColliderCylinderInitType1 sCylinderInit1 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
@@ -133,8 +133,8 @@ static ColliderCylinderInitType1 sCylinderInit2 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c
index b0b2dc7f8..2660e0b2c 100644
--- a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c
+++ b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c
@@ -37,13 +37,13 @@ void EnRu1_Destroy(Actor* thisx, PlayState* play);
void EnRu1_Update(Actor* thisx, PlayState* play);
void EnRu1_Draw(Actor* thisx, PlayState* play);
-void func_80AEC0B4(EnRu1* this, PlayState* play);
-void func_80AEC100(EnRu1* this, PlayState* play);
-void func_80AEC130(EnRu1* this, PlayState* play);
-void func_80AEC17C(EnRu1* this, PlayState* play);
-void func_80AEC1D4(EnRu1* this, PlayState* play);
-void func_80AEC244(EnRu1* this, PlayState* play);
-void func_80AEC2C0(EnRu1* this, PlayState* play);
+void EnRu1_Fountain_GazingAtLink(EnRu1* this, PlayState* play);
+void EnRu1_Fountain_Diving(EnRu1* this, PlayState* play);
+void EnRu1_Fountain_Resurfacing(EnRu1* this, PlayState* play);
+void EnRu1_Fountain_TreadingWater(EnRu1* this, PlayState* play);
+void EnRu1_Fountain_StartingSwimBack(EnRu1* this, PlayState* play);
+void EnRu1_Fountain_SwimmingBack(EnRu1* this, PlayState* play);
+void EnRu1_Fountain_FinishingSwimBack(EnRu1* this, PlayState* play);
void func_80AECA94(EnRu1* this, PlayState* play);
void func_80AECAB4(EnRu1* this, PlayState* play);
void func_80AECAD4(EnRu1* this, PlayState* play);
@@ -98,8 +98,15 @@ static ColliderCylinderInitType1 sStandingCylinderInit = {
OC1_ON | OC1_TYPE_PLAYER,
COLSHAPE_CYLINDER,
},
- { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
- { 25, 80, 0, { 0 } },
+ {
+ ELEM_MATERIAL_UNK0,
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
+ ATELEM_NONE,
+ ACELEM_NONE,
+ OCELEM_ON,
+ },
+ { 25, 80, 0, { 0, 0, 0 } },
};
static ColliderCylinderInitType1 sSittingCylinderInit = {
@@ -110,8 +117,15 @@ static ColliderCylinderInitType1 sSittingCylinderInit = {
OC1_ON | OC1_TYPE_PLAYER,
COLSHAPE_CYLINDER,
},
- { 0x00, { 0x00000101, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x01, 0x00, 0x01 },
- { 20, 30, 0, { 0 } },
+ {
+ ELEM_MATERIAL_UNK0,
+ { 0x00000101, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
+ ATELEM_ON | ATELEM_SFX_NORMAL,
+ ACELEM_NONE,
+ OCELEM_ON,
+ },
+ { 20, 30, 0, { 0, 0, 0 } },
};
static void* sEyeTextures[] = {
@@ -132,52 +146,52 @@ static s32 sUnused = 0;
static u32 D_80AF1938 = 0;
static EnRu1ActionFunc sActionFuncs[] = {
- func_80AEC0B4, // ENRU1_ACTION_00
- func_80AEC100, // ENRU1_ACTION_01
- func_80AEC130, // ENRU1_ACTION_02
- func_80AEC17C, // ENRU1_ACTION_03
- func_80AEC1D4, // ENRU1_ACTION_04
- func_80AEC244, // ENRU1_ACTION_05
- func_80AEC2C0, // ENRU1_ACTION_06
- func_80AECA94, // ENRU1_ACTION_07
- func_80AECAB4, // ENRU1_ACTION_08
- func_80AECAD4, // ENRU1_ACTION_09
- func_80AECB18, // ENRU1_ACTION_10
- func_80AECB60, // ENRU1_ACTION_11
- func_80AECBB8, // ENRU1_ACTION_12
- func_80AECC1C, // ENRU1_ACTION_13
- func_80AECC84, // ENRU1_ACTION_14
- func_80AED304, // ENRU1_ACTION_15
- func_80AED324, // ENRU1_ACTION_16
- func_80AED344, // ENRU1_ACTION_17
- func_80AED374, // ENRU1_ACTION_18
- func_80AED3A4, // ENRU1_ACTION_19
- func_80AED3E0, // ENRU1_ACTION_20
- func_80AED414, // ENRU1_ACTION_21
- func_80AEF29C, // ENRU1_ACTION_22
- func_80AEF2AC, // ENRU1_ACTION_23
- func_80AEF2D0, // ENRU1_ACTION_24
- func_80AEF354, // ENRU1_ACTION_25
- func_80AEF3A8, // ENRU1_ACTION_26
- func_80AEEBD4, // ENRU1_ACTION_27
- func_80AEEC5C, // ENRU1_ACTION_28
- func_80AEECF0, // ENRU1_ACTION_29
- func_80AEED58, // ENRU1_ACTION_30
- func_80AEEDCC, // ENRU1_ACTION_31
- func_80AEEE34, // ENRU1_ACTION_32
- func_80AEEE9C, // ENRU1_ACTION_33
- func_80AEEF08, // ENRU1_ACTION_34
- func_80AEEF5C, // ENRU1_ACTION_35
- func_80AEF9D8, // ENRU1_ACTION_36
- func_80AEFA2C, // ENRU1_ACTION_37
- func_80AEFAAC, // ENRU1_ACTION_38
- func_80AEFB04, // ENRU1_ACTION_39
- func_80AEFB68, // ENRU1_ACTION_40
- func_80AEFCE8, // ENRU1_ACTION_41
- func_80AEFBC8, // ENRU1_ACTION_42
- func_80AEFC24, // ENRU1_ACTION_43
- func_80AEFECC, // ENRU1_ACTION_44
- func_80AEFF40, // ENRU1_ACTION_45
+ EnRu1_Fountain_GazingAtLink, // ENRU1_ACTION_FOUNTAIN_GAZING_AT_LINK
+ EnRu1_Fountain_Diving, // ENRU1_ACTION_FOUNTAIN_DIVING
+ EnRu1_Fountain_Resurfacing, // ENRU1_ACTION_FOUNTAIN_RESURFACING
+ EnRu1_Fountain_TreadingWater, // ENRU1_ACTION_FOUNTAIN_TREADING_WATER
+ EnRu1_Fountain_StartingSwimBack, // ENRU1_ACTION_FOUNTAIN_STARTING_SWIM_BACK
+ EnRu1_Fountain_SwimmingBack, // ENRU1_ACTION_FOUNTAIN_SWIMMING_BACK
+ EnRu1_Fountain_FinishingSwimBack, // ENRU1_ACTION_FOUNTAIN_FINISHING_SWIM_BACK
+ func_80AECA94, // ENRU1_ACTION_07
+ func_80AECAB4, // ENRU1_ACTION_08
+ func_80AECAD4, // ENRU1_ACTION_09
+ func_80AECB18, // ENRU1_ACTION_10
+ func_80AECB60, // ENRU1_ACTION_11
+ func_80AECBB8, // ENRU1_ACTION_12
+ func_80AECC1C, // ENRU1_ACTION_13
+ func_80AECC84, // ENRU1_ACTION_14
+ func_80AED304, // ENRU1_ACTION_15
+ func_80AED324, // ENRU1_ACTION_16
+ func_80AED344, // ENRU1_ACTION_17
+ func_80AED374, // ENRU1_ACTION_18
+ func_80AED3A4, // ENRU1_ACTION_19
+ func_80AED3E0, // ENRU1_ACTION_20
+ func_80AED414, // ENRU1_ACTION_21
+ func_80AEF29C, // ENRU1_ACTION_22
+ func_80AEF2AC, // ENRU1_ACTION_23
+ func_80AEF2D0, // ENRU1_ACTION_24
+ func_80AEF354, // ENRU1_ACTION_25
+ func_80AEF3A8, // ENRU1_ACTION_26
+ func_80AEEBD4, // ENRU1_ACTION_27
+ func_80AEEC5C, // ENRU1_ACTION_28
+ func_80AEECF0, // ENRU1_ACTION_29
+ func_80AEED58, // ENRU1_ACTION_30
+ func_80AEEDCC, // ENRU1_ACTION_31
+ func_80AEEE34, // ENRU1_ACTION_32
+ func_80AEEE9C, // ENRU1_ACTION_33
+ func_80AEEF08, // ENRU1_ACTION_34
+ func_80AEEF5C, // ENRU1_ACTION_35
+ func_80AEF9D8, // ENRU1_ACTION_36
+ func_80AEFA2C, // ENRU1_ACTION_37
+ func_80AEFAAC, // ENRU1_ACTION_38
+ func_80AEFB04, // ENRU1_ACTION_39
+ func_80AEFB68, // ENRU1_ACTION_40
+ func_80AEFCE8, // ENRU1_ACTION_41
+ func_80AEFBC8, // ENRU1_ACTION_42
+ func_80AEFC24, // ENRU1_ACTION_43
+ func_80AEFECC, // ENRU1_ACTION_44
+ func_80AEFF40, // ENRU1_ACTION_45
};
static EnRu1PreLimbDrawFunc sPreLimbDrawFuncs[] = {
@@ -316,7 +330,7 @@ CsCmdActorCue* EnRu1_GetCue(PlayState* play, s32 cueChannel) {
return cue;
}
-s32 func_80AEAFA0(PlayState* play, u16 cueId, s32 cueChannel) {
+s32 EnRu1_CheckCueMatchingId(PlayState* play, u16 cueId, s32 cueChannel) {
CsCmdActorCue* cue = EnRu1_GetCue(play, cueChannel);
if ((cue != NULL) && (cue->id == cueId)) {
@@ -325,7 +339,7 @@ s32 func_80AEAFA0(PlayState* play, u16 cueId, s32 cueChannel) {
return false;
}
-s32 func_80AEAFE0(PlayState* play, u16 cueId, s32 cueChannel) {
+s32 EnRu1_CheckCueNotMatchingId(PlayState* play, u16 cueId, s32 cueChannel) {
CsCmdActorCue* cue = EnRu1_GetCue(play, cueChannel);
if ((cue != NULL) && (cue->id != cueId)) {
@@ -467,22 +481,22 @@ void func_80AEB3CC(EnRu1* this) {
void EnRu1_InitOutsideJabuJabu(EnRu1* this, PlayState* play) {
EnRu1_AnimationChange(this, &gRutoChildWaitHandsBehindBackAnim, ANIMMODE_LOOP, 0, false);
- this->action = ENRU1_ACTION_00;
+ this->action = ENRU1_ACTION_FOUNTAIN_GAZING_AT_LINK;
this->drawConfig = ENRU1_DRAW_OPA;
EnRu1_SetEyes(this, ENRU1_EYES_GAZING);
EnRu1_SetMouth(this, ENRU1_MOUTH_SMILING);
}
-CsCmdActorCue* EnRu1_GetCueChannel3(PlayState* play) {
+CsCmdActorCue* EnRu1_GetFountainCue(PlayState* play) {
return EnRu1_GetCue(play, 3);
}
-s32 func_80AEB458(PlayState* play, u16 cueId) {
- return func_80AEAFA0(play, cueId, 3);
+s32 EnRu1_CheckFountainCueMatchingId(PlayState* play, u16 cueId) {
+ return EnRu1_CheckCueMatchingId(play, cueId, 3);
}
-s32 func_80AEB480(PlayState* play, u16 cueId) {
- return func_80AEAFE0(play, cueId, 3);
+s32 EnRu1_CheckFountainCueNotMatchingId(PlayState* play, u16 cueId) {
+ return EnRu1_CheckCueNotMatchingId(play, cueId, 3);
}
void EnRu1_SpawnRipple(EnRu1* this, PlayState* play, s16 radiusMax, s16 life) {
@@ -495,15 +509,15 @@ void EnRu1_SpawnRipple(EnRu1* this, PlayState* play, s16 radiusMax, s16 life) {
EffectSsGRipple_Spawn(play, &pos, 100, radiusMax, life);
}
-void func_80AEB50C(EnRu1* this, PlayState* play) {
- this->unk_270 += 1.0f;
- if (this->unk_270 >= kREG(3) + 10.0f) {
+void EnRu1_SpawnRippleTreading(EnRu1* this, PlayState* play) {
+ this->treadTimer += 1.0f;
+ if (this->treadTimer >= kREG(3) + 10.0f) {
EnRu1_SpawnRipple(this, play, kREG(1) + 500, 0);
- this->unk_270 = 0.0f;
+ this->treadTimer = 0.0f;
}
}
-void func_80AEB59C(EnRu1* this, PlayState* play) {
+void EnRu1_SpawnThreeRipples(EnRu1* this, PlayState* play) {
EnRu1_SpawnRipple(this, play, kREG(2) + 500, 0);
EnRu1_SpawnRipple(this, play, kREG(2) + 500, kREG(3) + 10.0f);
EnRu1_SpawnRipple(this, play, kREG(2) + 500, (kREG(3) + 10.0f) * 2.0f);
@@ -519,7 +533,10 @@ void EnRu1_SpawnSplash(EnRu1* this, PlayState* play) {
EffectSsGSplash_Spawn(play, &pos, NULL, NULL, 1, 0);
}
-void func_80AEB6E0(EnRu1* this, PlayState* play) {
+/**
+ * Used twice: once to start resurfacing, and once to start swimming toward Link.
+ */
+void EnRu1_StartMovingInWater(EnRu1* this, PlayState* play) {
SkelAnime* skelAnime = &this->skelAnime;
if (skelAnime->baseTransl.y < skelAnime->jointTable[0].y) {
@@ -528,7 +545,7 @@ void func_80AEB6E0(EnRu1* this, PlayState* play) {
}
}
-void func_80AEB738(EnRu1* this, PlayState* play) {
+void EnRu1_MoveInWater(EnRu1* this, PlayState* play) {
SkelAnime* skelAnime = &this->skelAnime;
skelAnime->baseTransl = skelAnime->jointTable[0];
@@ -539,11 +556,11 @@ void func_80AEB738(EnRu1* this, PlayState* play) {
}
}
-void func_80AEB7D0(EnRu1* this) {
+void EnRu1_StopMovingInWater(EnRu1* this) {
this->skelAnime.movementFlags &= ~(ANIM_FLAG_UPDATE_XZ | ANIM_FLAG_UPDATE_Y);
}
-f32 func_80AEB7E0(CsCmdActorCue* cue, PlayState* play) {
+f32 EnRu1_GetSwimLerpFactor(CsCmdActorCue* cue, PlayState* play) {
s32 csCurFrame = play->csCtx.curFrame;
if ((csCurFrame < cue->endFrame) && (cue->endFrame - cue->startFrame > 0)) {
@@ -554,12 +571,12 @@ f32 func_80AEB7E0(CsCmdActorCue* cue, PlayState* play) {
return 1.0f;
}
-f32 func_80AEB87C(f32 arg0, s32 arg1, s32 arg2) {
- return (((f32)arg2 - arg1) * arg0) + arg1;
+f32 EnRu1_Lerp(f32 scale, s32 startPos, s32 endPos) {
+ return (((f32)endPos - startPos) * scale) + startPos;
}
-void func_80AEB89C(EnRu1* this, PlayState* play) {
- CsCmdActorCue* cue = EnRu1_GetCueChannel3(play);
+void EnRu1_InitPositionFromFountainCue(EnRu1* this, PlayState* play) {
+ CsCmdActorCue* cue = EnRu1_GetFountainCue(play);
if (cue != NULL) {
this->actor.world.rot.y = this->actor.shape.rot.y = cue->rot.y;
@@ -570,68 +587,68 @@ void func_80AEB89C(EnRu1* this, PlayState* play) {
}
}
-void func_80AEB914(EnRu1* this, PlayState* play) {
- func_80AEB89C(this, play);
+void EnRu1_InitPositionDivingIntoFountain(EnRu1* this, PlayState* play) {
+ EnRu1_InitPositionFromFountainCue(this, play);
}
-void func_80AEB934(EnRu1* this, PlayState* play) {
- func_80AEB89C(this, play);
+void EnRu1_InitPositionResurfacing(EnRu1* this, PlayState* play) {
+ EnRu1_InitPositionFromFountainCue(this, play);
}
-void func_80AEB954(EnRu1* this, PlayState* play) {
- func_80AEB6E0(this, play);
+void EnRu1_StartSwimmingTowardLink(EnRu1* this, PlayState* play) {
+ EnRu1_StartMovingInWater(this, play);
}
-void func_80AEB974(EnRu1* this, PlayState* play) {
+void EnRu1_SwimTowardLink(EnRu1* this, PlayState* play) {
Vec3f* thisPos;
- f32 sp30;
- CsCmdActorCue* cue = EnRu1_GetCueChannel3(play);
+ f32 swimProximity;
+ CsCmdActorCue* cue = EnRu1_GetFountainCue(play);
s32 pad;
if (cue != NULL) {
- sp30 = func_80AEB7E0(cue, play);
+ swimProximity = EnRu1_GetSwimLerpFactor(cue, play);
thisPos = &this->actor.world.pos;
- thisPos->x = func_80AEB87C(sp30, cue->startPos.x, cue->endPos.x);
- thisPos->y = func_80AEB87C(sp30, cue->startPos.y, cue->endPos.y);
- thisPos->z = func_80AEB87C(sp30, cue->startPos.z, cue->endPos.z);
+ thisPos->x = EnRu1_Lerp(swimProximity, cue->startPos.x, cue->endPos.x);
+ thisPos->y = EnRu1_Lerp(swimProximity, cue->startPos.y, cue->endPos.y);
+ thisPos->z = EnRu1_Lerp(swimProximity, cue->startPos.z, cue->endPos.z);
}
}
-void func_80AEBA0C(EnRu1* this, PlayState* play) {
- func_80AEB6E0(this, play);
+void EnRu1_StartSwimmingAwayFromLink(EnRu1* this, PlayState* play) {
+ EnRu1_StartMovingInWater(this, play);
}
-void func_80AEBA2C(EnRu1* this, PlayState* play) {
+void EnRu1_SwimAwayFromLink(EnRu1* this, PlayState* play) {
s32 pad;
- Vec3f* unk_364 = &this->unk_364;
+ Vec3f* treadStartPos = &this->treadStartPos;
Vec3f* thisPos;
- f32 temp_ret_2;
- CsCmdActorCue* cue = EnRu1_GetCueChannel3(play);
+ f32 proximity;
+ CsCmdActorCue* cue = EnRu1_GetFountainCue(play);
s32 pad2;
if (cue != NULL) {
- temp_ret_2 = func_80AEB7E0(cue, play);
+ proximity = EnRu1_GetSwimLerpFactor(cue, play);
thisPos = &this->actor.world.pos;
- thisPos->x = func_80AEB87C(temp_ret_2, unk_364->x, cue->endPos.x);
- thisPos->y = func_80AEB87C(temp_ret_2, unk_364->y, cue->endPos.y);
- thisPos->z = func_80AEB87C(temp_ret_2, unk_364->z, cue->endPos.z);
+ thisPos->x = EnRu1_Lerp(proximity, treadStartPos->x, cue->endPos.x);
+ thisPos->y = EnRu1_Lerp(proximity, treadStartPos->y, cue->endPos.y);
+ thisPos->z = EnRu1_Lerp(proximity, treadStartPos->z, cue->endPos.z);
}
}
-void func_80AEBAFC(EnRu1* this) {
+void EnRu1_PlayDivingEntrySfx(EnRu1* this) {
if (this->unk_298 == 0) {
Sfx_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_DIVE_INTO_WATER);
this->unk_298 = 1;
}
}
-void func_80AEBB3C(EnRu1* this) {
+void EnRu1_PlayResurfacingSfx(EnRu1* this) {
if (Animation_OnFrame(&this->skelAnime, 5.0f)) {
Sfx_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_PL_FACE_UP);
}
}
-void func_80AEBB78(EnRu1* this) {
+void EnRu1_PlaySwimStrokeSfx(EnRu1* this) {
SkelAnime* skelAnime = &this->skelAnime;
if (Animation_OnFrame(skelAnime, 4.0f) || Animation_OnFrame(skelAnime, 13.0f) ||
@@ -640,13 +657,16 @@ void func_80AEBB78(EnRu1* this) {
}
}
-void func_80AEBBF4(EnRu1* this) {
+void EnRu1_PlaySubmergeSfx(EnRu1* this) {
if (Animation_OnFrame(&this->skelAnime, 8.0f)) {
Sfx_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_PL_SUBMERGE);
}
}
-void func_80AEBC30(PlayState* play) {
+/**
+ * Plays the splashing sound effect when Link falls backwards into the Zora's Fountain waters.
+ */
+void EnRu1_PlayLinkFallingSfx(PlayState* play) {
Player* player;
if (play->csCtx.curFrame == 205) {
@@ -655,85 +675,88 @@ void func_80AEBC30(PlayState* play) {
}
}
-void func_80AEBC84(EnRu1* this, PlayState* play) {
+/**
+ * Ruto giggles at Link outside of Jabu-Jabu.
+ */
+void EnRu1_PlayGiggleSfx(EnRu1* this, PlayState* play) {
if (play->csCtx.curFrame == 130) {
Sfx_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_VO_RT_LAUGH_0);
}
}
-void func_80AEBCB8(EnRu1* this, UNK_TYPE arg1) {
- if (arg1 != 0) {
+void EnRu1_StartBackSwimming(EnRu1* this, s32 isSwimming) {
+ if (isSwimming != 0) {
Animation_Change(&this->skelAnime, &gRutoChildSwimOnBackAnim, 1.0f, 0,
Animation_GetLastFrame(&gRutoChildSwimOnBackAnim), ANIMMODE_LOOP, -8.0f);
}
}
-void func_80AEBD1C(EnRu1* this, PlayState* play) {
- if (func_80AEB480(play, 2)) {
- this->action = ENRU1_ACTION_01;
+void EnRu1_EnterFountainWater(EnRu1* this, PlayState* play) {
+ if (EnRu1_CheckFountainCueNotMatchingId(play, 2)) {
+ this->action = ENRU1_ACTION_FOUNTAIN_DIVING;
this->drawConfig = ENRU1_DRAW_NOTHING;
- func_80AEB914(this, play);
+ EnRu1_InitPositionDivingIntoFountain(this, play);
func_80AEAECC(this, play);
EnRu1_SpawnSplash(this, play);
- func_80AEB59C(this, play);
+ EnRu1_SpawnThreeRipples(this, play);
}
}
-void func_80AEBD94(EnRu1* this, PlayState* play) {
+void EnRu1_Resurface(EnRu1* this, PlayState* play) {
s32 pad[2];
f32 frameCount;
- if (func_80AEB480(play, 3)) {
+ if (EnRu1_CheckFountainCueNotMatchingId(play, 3)) {
frameCount = Animation_GetLastFrame(&gRutoChildResurfaceAnim);
- func_80AEB934(this, play);
- func_80AEB738(this, play);
+ EnRu1_InitPositionResurfacing(this, play);
+ EnRu1_MoveInWater(this, play);
Animation_Change(&this->skelAnime, &gRutoChildResurfaceAnim, 1.0f, 0.0f, frameCount, ANIMMODE_ONCE, 0.0f);
- this->action = ENRU1_ACTION_02;
+ this->action = ENRU1_ACTION_FOUNTAIN_RESURFACING;
this->drawConfig = ENRU1_DRAW_OPA;
}
}
-void func_80AEBE3C(EnRu1* this, PlayState* play, s32 arg2) {
+void EnRu1_ResurfaceProgress(EnRu1* this, PlayState* play, s32 isResurfaced) {
s32 pad[2];
- if (arg2 != 0) {
+ if (isResurfaced != 0) {
f32 frameCount = Animation_GetLastFrame(&gRutoChildTreadWaterAnim);
- func_80AEB7D0(this);
+ EnRu1_StopMovingInWater(this);
Animation_Change(&this->skelAnime, &gRutoChildTreadWaterAnim, 1.0f, 0, frameCount, ANIMMODE_LOOP, -8.0f);
- this->action = ENRU1_ACTION_03;
+ this->action = ENRU1_ACTION_FOUNTAIN_TREADING_WATER;
} else {
- func_80AEB954(this, play);
+ EnRu1_StartSwimmingTowardLink(this, play);
}
}
-void func_80AEBEC8(EnRu1* this, PlayState* play) {
+void EnRu1_StopTreading(EnRu1* this, PlayState* play) {
s32 pad[2];
f32 frameCount;
- if (func_80AEB458(play, 6)) {
+ if (EnRu1_CheckFountainCueMatchingId(play, 6)) {
frameCount = Animation_GetLastFrame(&gRutoChildTransitionToSwimOnBackAnim);
- func_80AEB738(this, play);
+ EnRu1_MoveInWater(this, play);
Animation_Change(&this->skelAnime, &gRutoChildTransitionToSwimOnBackAnim, 1.0f, 0, frameCount, ANIMMODE_ONCE,
-8.0f);
- this->action = ENRU1_ACTION_04;
+ this->action = ENRU1_ACTION_FOUNTAIN_STARTING_SWIM_BACK;
}
}
-void func_80AEBF60(EnRu1* this, PlayState* play) {
- if (func_80AEB480(play, 6)) {
+void EnRu1_TransitionToBackSwimming(EnRu1* this, PlayState* play) {
+ if (EnRu1_CheckFountainCueNotMatchingId(play, 6)) {
s32 pad;
- func_80AEB7D0(this);
- this->action = ENRU1_ACTION_05;
- this->unk_364 = this->actor.world.pos;
+ EnRu1_StopMovingInWater(this);
+ this->action = ENRU1_ACTION_FOUNTAIN_SWIMMING_BACK;
+ this->treadStartPos = this->actor.world.pos;
} else {
- func_80AEBA0C(this, play);
+ EnRu1_StartSwimmingAwayFromLink(this, play);
}
}
-void func_80AEBFD8(EnRu1* this, PlayState* play) {
- CsCmdActorCue* cue = EnRu1_GetCueChannel3(play);
+void EnRu1_EndSwimBack(EnRu1* this, PlayState* play) {
+ CsCmdActorCue* cue = EnRu1_GetFountainCue(play);
f32 frameCount;
u16 csCurFrame;
u16 endFrame;
@@ -746,79 +769,79 @@ void func_80AEBFD8(EnRu1* this, PlayState* play) {
frameCount = Animation_GetLastFrame(&gRutoChildTransitionFromSwimOnBackAnim);
Animation_Change(&this->skelAnime, &gRutoChildTransitionFromSwimOnBackAnim, 1.0, 0, frameCount,
ANIMMODE_ONCE, -8.0f);
- this->action = ENRU1_ACTION_06;
+ this->action = ENRU1_ACTION_FOUNTAIN_FINISHING_SWIM_BACK;
}
}
}
-void func_80AEC070(EnRu1* this, PlayState* play, UNK_TYPE arg2) {
- if ((func_80AEB458(play, 8)) && (arg2 != 0)) {
+void EnRu1_EndGivingSapphire(EnRu1* this, PlayState* play, UNK_TYPE arg2) {
+ if ((EnRu1_CheckFountainCueMatchingId(play, 8)) && (arg2 != 0)) {
Actor_Kill(&this->actor);
}
}
-void func_80AEC0B4(EnRu1* this, PlayState* play) {
- func_80AEB89C(this, play);
+void EnRu1_Fountain_GazingAtLink(EnRu1* this, PlayState* play) {
+ EnRu1_InitPositionFromFountainCue(this, play);
EnRu1_UpdateSkelAnime(this);
- func_80AEBC84(this, play);
- func_80AEBC30(play);
- func_80AEBD1C(this, play);
+ EnRu1_PlayGiggleSfx(this, play);
+ EnRu1_PlayLinkFallingSfx(play);
+ EnRu1_EnterFountainWater(this, play);
}
-void func_80AEC100(EnRu1* this, PlayState* play) {
- func_80AEBAFC(this);
- func_80AEBD94(this, play);
+void EnRu1_Fountain_Diving(EnRu1* this, PlayState* play) {
+ EnRu1_PlayDivingEntrySfx(this);
+ EnRu1_Resurface(this, play);
}
-void func_80AEC130(EnRu1* this, PlayState* play) {
- s32 something = EnRu1_UpdateSkelAnime(this);
+void EnRu1_Fountain_Resurfacing(EnRu1* this, PlayState* play) {
+ s32 doneAnim = EnRu1_UpdateSkelAnime(this);
func_80AEAECC(this, play);
- func_80AEBB3C(this);
- func_80AEBE3C(this, play, something);
+ EnRu1_PlayResurfacingSfx(this);
+ EnRu1_ResurfaceProgress(this, play, doneAnim);
}
-void func_80AEC17C(EnRu1* this, PlayState* play) {
- func_80AEB974(this, play);
+void EnRu1_Fountain_TreadingWater(EnRu1* this, PlayState* play) {
+ EnRu1_SwimTowardLink(this, play);
func_80AEAECC(this, play);
EnRu1_UpdateSkelAnime(this);
- func_80AEB50C(this, play);
- func_80AEBEC8(this, play);
+ EnRu1_SpawnRippleTreading(this, play);
+ EnRu1_StopTreading(this, play);
}
-void func_80AEC1D4(EnRu1* this, PlayState* play) {
- s32 something;
+void EnRu1_Fountain_StartingSwimBack(EnRu1* this, PlayState* play) {
+ s32 doneAnim;
- something = EnRu1_UpdateSkelAnime(this);
+ doneAnim = EnRu1_UpdateSkelAnime(this);
func_80AEAECC(this, play);
EnRu1_UpdateEyes(this);
- func_80AEB50C(this, play);
- func_80AEBCB8(this, something);
- func_80AEBBF4(this);
- func_80AEBF60(this, play);
+ EnRu1_SpawnRippleTreading(this, play);
+ EnRu1_StartBackSwimming(this, doneAnim);
+ EnRu1_PlaySubmergeSfx(this);
+ EnRu1_TransitionToBackSwimming(this, play);
}
-void func_80AEC244(EnRu1* this, PlayState* play) {
- s32 something;
+void EnRu1_Fountain_SwimmingBack(EnRu1* this, PlayState* play) {
+ s32 doneAnim;
- something = EnRu1_UpdateSkelAnime(this);
- func_80AEBA2C(this, play);
+ doneAnim = EnRu1_UpdateSkelAnime(this);
+ EnRu1_SwimAwayFromLink(this, play);
func_80AEAECC(this, play);
EnRu1_UpdateEyes(this);
- func_80AEB50C(this, play);
- func_80AEBCB8(this, something);
- func_80AEBB78(this);
- func_80AEBFD8(this, play);
+ EnRu1_SpawnRippleTreading(this, play);
+ EnRu1_StartBackSwimming(this, doneAnim);
+ EnRu1_PlaySwimStrokeSfx(this);
+ EnRu1_EndSwimBack(this, play);
}
-void func_80AEC2C0(EnRu1* this, PlayState* play) {
- s32 something;
+void EnRu1_Fountain_FinishingSwimBack(EnRu1* this, PlayState* play) {
+ s32 doneAnim;
- something = EnRu1_UpdateSkelAnime(this);
+ doneAnim = EnRu1_UpdateSkelAnime(this);
func_80AEAECC(this, play);
EnRu1_UpdateEyes(this);
- func_80AEB50C(this, play);
- func_80AEC070(this, play, something);
+ EnRu1_SpawnRippleTreading(this, play);
+ EnRu1_EndGivingSapphire(this, play, doneAnim);
}
void EnRu1_InitInJabuJabuHolesRoom(EnRu1* this, PlayState* play) {
@@ -905,7 +928,7 @@ void func_80AEC6B0(EnRu1* this) {
}
void func_80AEC6E4(EnRu1* this, PlayState* play) {
- if ((func_80AEAFA0(play, 4, 3)) && (this->unk_280 == 0)) {
+ if ((EnRu1_CheckCueMatchingId(play, 4, 3)) && (this->unk_280 == 0)) {
Animation_Change(&this->skelAnime, &gRutoChildBringArmsUpAnim, 1.0f, 0,
Animation_GetLastFrame(&gRutoChildBringArmsUpAnim), ANIMMODE_ONCE, -8.0f);
this->unk_280 = 1;
@@ -932,7 +955,7 @@ void func_80AEC81C(EnRu1* this, PlayState* play) {
CsCmdActorCue* cue;
s16 newRotY;
- if (func_80AEAFE0(play, 1, 3)) {
+ if (EnRu1_CheckCueNotMatchingId(play, 1, 3)) {
cue = play->csCtx.actorCues[3];
this->actor.world.pos.x = cue->startPos.x;
this->actor.world.pos.y = cue->startPos.y;
@@ -946,7 +969,7 @@ void func_80AEC81C(EnRu1* this, PlayState* play) {
}
void func_80AEC8B8(EnRu1* this, PlayState* play) {
- if (func_80AEAFA0(play, 3, 3)) {
+ if (EnRu1_CheckCueMatchingId(play, 3, 3)) {
Animation_Change(&this->skelAnime, &gRutoChildTurnAroundAnim, 1.0f, 0,
Animation_GetLastFrame(&gRutoChildTurnAroundAnim), ANIMMODE_ONCE, -8.0f);
this->action = ENRU1_ACTION_10;
@@ -983,7 +1006,7 @@ void func_80AECA18(EnRu1* this) {
}
void func_80AECA44(EnRu1* this, PlayState* play) {
- if (func_80AEAFA0(play, 5, 3)) {
+ if (EnRu1_CheckCueMatchingId(play, 5, 3)) {
SET_INFTABLE(INFTABLE_141);
this->action = ENRU1_ACTION_14;
}
@@ -2028,7 +2051,7 @@ void func_80AEF624(EnRu1* this, PlayState* play) {
CsCmdActorCue* cue2;
s16 newRotTmp;
- if (func_80AEAFE0(play, 1, 3)) {
+ if (EnRu1_CheckCueNotMatchingId(play, 1, 3)) {
frameCount = Animation_GetLastFrame(&gRutoChildWalkToAndHoldUpSapphireAnim);
// this weird part with the redundant variable is necessary to match for some reason
cue2 = play->csCtx.actorCues[3];
@@ -2064,7 +2087,7 @@ void func_80AEF728(EnRu1* this, UNK_TYPE arg1) {
}
void func_80AEF79C(EnRu1* this, PlayState* play) {
- if (func_80AEAFE0(play, 2, 3)) {
+ if (EnRu1_CheckCueNotMatchingId(play, 2, 3)) {
Animation_Change(&this->skelAnime, &gRutoChildBringHandsDownAnim, 1.0f, 0,
Animation_GetLastFrame(&gRutoChildBringHandsDownAnim), ANIMMODE_ONCE, -8.0f);
this->action = ENRU1_ACTION_39;
diff --git a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.h b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.h
index 52e89effd..2f3516e91 100644
--- a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.h
+++ b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.h
@@ -27,7 +27,7 @@ typedef struct EnRu1 {
/* 0x0264 */ s32 action;
/* 0x0268 */ s32 drawConfig;
/* 0x026C */ f32 unk_26C;
- /* 0x0270 */ f32 unk_270;
+ /* 0x0270 */ f32 treadTimer;
/* 0x0274 */ char unk_274[0x4];
/* 0x0278 */ DoorWarp1* blueWarp;
/* 0x027C */ f32 unk_27C;
@@ -55,19 +55,19 @@ typedef struct EnRu1 {
/* 0x0358 */ f32 bobDepth;
/* 0x035C */ s16 bobPhase;
/* 0x0360 */ f32 isSinking;
- /* 0x0364 */ Vec3f unk_364;
+ /* 0x0364 */ Vec3f treadStartPos;
/* 0x0370 */ f32 carryIdleTimer;
/* 0x0374 */ NpcInteractInfo interactInfo;
} EnRu1; // size = 0x039C
typedef enum EnRu1Action {
- /* 0 */ ENRU1_ACTION_00,
- /* 1 */ ENRU1_ACTION_01,
- /* 2 */ ENRU1_ACTION_02,
- /* 3 */ ENRU1_ACTION_03,
- /* 4 */ ENRU1_ACTION_04,
- /* 5 */ ENRU1_ACTION_05,
- /* 6 */ ENRU1_ACTION_06,
+ /* 0 */ ENRU1_ACTION_FOUNTAIN_GAZING_AT_LINK,
+ /* 1 */ ENRU1_ACTION_FOUNTAIN_DIVING,
+ /* 2 */ ENRU1_ACTION_FOUNTAIN_RESURFACING,
+ /* 3 */ ENRU1_ACTION_FOUNTAIN_TREADING_WATER,
+ /* 4 */ ENRU1_ACTION_FOUNTAIN_STARTING_SWIM_BACK,
+ /* 5 */ ENRU1_ACTION_FOUNTAIN_SWIMMING_BACK,
+ /* 6 */ ENRU1_ACTION_FOUNTAIN_FINISHING_SWIM_BACK,
/* 7 */ ENRU1_ACTION_07,
/* 8 */ ENRU1_ACTION_08,
/* 9 */ ENRU1_ACTION_09,
diff --git a/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c b/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c
index 6e35bd842..ff5e3518a 100644
--- a/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c
+++ b/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c
@@ -97,8 +97,15 @@ static ColliderCylinderInitType1 sCylinderInit = {
OC1_NONE,
COLSHAPE_CYLINDER,
},
- { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000080, 0x00, 0x00 }, 0x00, 0x01, 0x00 },
- { 30, 100, 0, { 0 } },
+ {
+ ELEM_MATERIAL_UNK0,
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000080, HIT_BACKLASH_NONE, 0x00 },
+ ATELEM_NONE,
+ ACELEM_ON,
+ OCELEM_NONE,
+ },
+ { 30, 100, 0, { 0, 0, 0 } },
};
static void* sEyeTextures[] = {
diff --git a/src/overlays/actors/ovl_En_Sa/z_en_sa.c b/src/overlays/actors/ovl_En_Sa/z_en_sa.c
index e0ada9499..2e2c651bf 100644
--- a/src/overlays/actors/ovl_En_Sa/z_en_sa.c
+++ b/src/overlays/actors/ovl_En_Sa/z_en_sa.c
@@ -70,8 +70,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Sb/z_en_sb.c b/src/overlays/actors/ovl_En_Sb/z_en_sb.c
index 6ece8b50b..98ab740df 100644
--- a/src/overlays/actors/ovl_En_Sb/z_en_sb.c
+++ b/src/overlays/actors/ovl_En_Sb/z_en_sb.c
@@ -57,7 +57,14 @@ static ColliderCylinderInitType1 sCylinderInit = {
OC1_ON | OC1_TYPE_ALL,
COLSHAPE_CYLINDER,
},
- { 0x00, { 0xFFCFFFFF, 0x04, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x01, 0x01, 0x01 },
+ {
+ ELEM_MATERIAL_UNK0,
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_KNOCKBACK, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
+ ATELEM_ON | ATELEM_SFX_NORMAL,
+ ACELEM_ON,
+ OCELEM_ON,
+ },
{ 30, 40, 0, { 0, 0, 0 } },
};
diff --git a/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c b/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c
index 03ef38b65..d8b479b84 100644
--- a/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c
+++ b/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c
@@ -56,8 +56,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Si/z_en_si.c b/src/overlays/actors/ovl_En_Si/z_en_si.c
index 8885caf31..d916e8fd7 100644
--- a/src/overlays/actors/ovl_En_Si/z_en_si.c
+++ b/src/overlays/actors/ovl_En_Si/z_en_si.c
@@ -37,8 +37,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000090, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000090, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Skb/z_en_skb.c b/src/overlays/actors/ovl_En_Skb/z_en_skb.c
index 5d21c25fb..43ccbba8d 100644
--- a/src/overlays/actors/ovl_En_Skb/z_en_skb.c
+++ b/src/overlays/actors/ovl_En_Skb/z_en_skb.c
@@ -8,6 +8,7 @@
#include "overlays/actors/ovl_En_Encount1/z_en_encount1.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -55,12 +56,12 @@ void EnSkb_TakeDamage(EnSkb* this, PlayState* play);
void EnSkb_SetupDeath(EnSkb* this, PlayState* play);
void EnSkb_Death(EnSkb* this, PlayState* play);
-static ColliderJntSphElementInit sJntSphElementsInit[2] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
@@ -70,8 +71,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[2] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
@@ -89,7 +90,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 2,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Skj/z_en_skj.c b/src/overlays/actors/ovl_En_Skj/z_en_skj.c
index db257c465..b3584bbbf 100644
--- a/src/overlays/actors/ovl_En_Skj/z_en_skj.c
+++ b/src/overlays/actors/ovl_En_Skj/z_en_skj.c
@@ -204,8 +204,8 @@ static ColliderCylinderInitType1 D_80B01678 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x0, 0x08 },
- { 0xFFCFFFFF, 0x0, 0x0 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Skjneedle/z_en_skjneedle.c b/src/overlays/actors/ovl_En_Skjneedle/z_en_skjneedle.c
index 11c33d846..92c8b662f 100644
--- a/src/overlays/actors/ovl_En_Skjneedle/z_en_skjneedle.c
+++ b/src/overlays/actors/ovl_En_Skjneedle/z_en_skjneedle.c
@@ -45,8 +45,8 @@ static ColliderCylinderInitType1 sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c
index f3649fa69..36cc87fa4 100644
--- a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c
+++ b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c
@@ -68,8 +68,8 @@ static ColliderCylinderInit sCylinderInit1 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_NONE,
@@ -90,8 +90,8 @@ static ColliderCylinderInit sCylinderInit2 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -99,12 +99,12 @@ static ColliderCylinderInit sCylinderInit2 = {
{ 20, 60, -30, { 0, 0, 0 } },
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_St/z_en_st.c b/src/overlays/actors/ovl_En_St/z_en_st.c
index f32ce0ba6..e6e55facd 100644
--- a/src/overlays/actors/ovl_En_St/z_en_st.c
+++ b/src/overlays/actors/ovl_En_St/z_en_st.c
@@ -67,8 +67,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_NONE,
@@ -89,8 +89,8 @@ static ColliderCylinderInit sCylinderInit2 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -98,12 +98,12 @@ static ColliderCylinderInit sCylinderInit2 = {
{ 20, 60, -30, { 0, 0, 0 } },
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_ON,
@@ -121,7 +121,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Sth/z_en_sth.c b/src/overlays/actors/ovl_En_Sth/z_en_sth.c
index 5cd96b9c6..e69aede4e 100644
--- a/src/overlays/actors/ovl_En_Sth/z_en_sth.c
+++ b/src/overlays/actors/ovl_En_Sth/z_en_sth.c
@@ -58,8 +58,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Sw/z_en_sw.c b/src/overlays/actors/ovl_En_Sw/z_en_sw.c
index 628d69d19..b74574283 100644
--- a/src/overlays/actors/ovl_En_Sw/z_en_sw.c
+++ b/src/overlays/actors/ovl_En_Sw/z_en_sw.c
@@ -2,6 +2,7 @@
#include "libc64/math64.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "attributes.h"
#include "gfx.h"
#include "gfx_setupdl.h"
@@ -48,16 +49,30 @@ ActorProfile En_Sw_Profile = {
/**/ EnSw_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
- { ELEM_MATERIAL_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFC3FFFE, 0x00, 0x00 }, 0x01, 0x05, 0x01 },
+ {
+ ELEM_MATERIAL_UNK0,
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFC3FFFE, HIT_BACKLASH_NONE, 0x00 },
+ ATELEM_ON | ATELEM_SFX_NORMAL,
+ ACELEM_ON | ACELEM_HOOKABLE,
+ OCELEM_ON,
+ },
{ 2, { { 0, -300, 0 }, 21 }, 100 },
},
};
static ColliderJntSphInit sJntSphInit = {
- { COL_MATERIAL_HIT6, 0x11, 0x09, 0x39, 0x10, COLSHAPE_JNTSPH },
- 1,
+ {
+ COL_MATERIAL_HIT6,
+ AT_ON | AT_TYPE_ENEMY,
+ AC_ON | AC_TYPE_PLAYER,
+ OC1_ON | OC1_TYPE_ALL,
+ OC2_TYPE_1,
+ COLSHAPE_JNTSPH,
+ },
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c b/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c
index b7ac898b9..a97ff743c 100644
--- a/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c
+++ b/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c
@@ -65,8 +65,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Ta/z_en_ta.c b/src/overlays/actors/ovl_En_Ta/z_en_ta.c
index f8d842b7e..bf6570d48 100644
--- a/src/overlays/actors/ovl_En_Ta/z_en_ta.c
+++ b/src/overlays/actors/ovl_En_Ta/z_en_ta.c
@@ -102,8 +102,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000004, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000004, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Test/z_en_test.c b/src/overlays/actors/ovl_En_Test/z_en_test.c
index f81eba1e5..550fafa72 100644
--- a/src/overlays/actors/ovl_En_Test/z_en_test.c
+++ b/src/overlays/actors/ovl_En_Test/z_en_test.c
@@ -163,8 +163,8 @@ static ColliderCylinderInit sBodyColliderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -183,8 +183,8 @@ static ColliderCylinderInit sShieldColliderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFC1FFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFC1FFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -203,8 +203,8 @@ static ColliderQuadInit sSwordColliderQuadInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL | ATELEM_UNK7,
ACELEM_NONE,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Tg/z_en_tg.c b/src/overlays/actors/ovl_En_Tg/z_en_tg.c
index e0e7ef04b..5ad2d2108 100644
--- a/src/overlays/actors/ovl_En_Tg/z_en_tg.c
+++ b/src/overlays/actors/ovl_En_Tg/z_en_tg.c
@@ -33,8 +33,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Tite/z_en_tite.c b/src/overlays/actors/ovl_En_Tite/z_en_tite.c
index 1f45f2541..08fad96d3 100644
--- a/src/overlays/actors/ovl_En_Tite/z_en_tite.c
+++ b/src/overlays/actors/ovl_En_Tite/z_en_tite.c
@@ -9,6 +9,7 @@
#include "overlays/effects/ovl_Effect_Ss_Dead_Sound/z_eff_ss_dead_sound.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -102,12 +103,12 @@ ActorProfile En_Tite_Profile = {
/**/ EnTite_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
@@ -125,7 +126,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Tk/z_en_tk.c b/src/overlays/actors/ovl_En_Tk/z_en_tk.c
index 3c835694c..2ddacf57d 100644
--- a/src/overlays/actors/ovl_En_Tk/z_en_tk.c
+++ b/src/overlays/actors/ovl_En_Tk/z_en_tk.c
@@ -165,8 +165,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c b/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c
index 3f10462ea..9d54250bc 100644
--- a/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c
+++ b/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c
@@ -25,6 +25,8 @@
#include "assets/objects/object_torch2/object_torch2.h"
+#pragma increment_block_number "ique-cn:128"
+
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_CULLING_DISABLED | \
ACTOR_FLAG_DRAW_CULLING_DISABLED)
diff --git a/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c b/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c
index 361ef7718..54526030e 100644
--- a/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c
+++ b/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c
@@ -52,8 +52,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Tp/z_en_tp.c b/src/overlays/actors/ovl_En_Tp/z_en_tp.c
index 59519acfd..ef62bfb82 100644
--- a/src/overlays/actors/ovl_En_Tp/z_en_tp.c
+++ b/src/overlays/actors/ovl_En_Tp/z_en_tp.c
@@ -7,6 +7,7 @@
#include "z_en_tp.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -68,12 +69,12 @@ ActorProfile En_Tp_Profile = {
/**/ EnTp_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x03, 0x08 },
- { 0xFFCFFFFF, 0x01, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_ELECTRIC, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_ELECTRIC, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_NONE,
@@ -91,7 +92,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_En_Trap/z_en_trap.c b/src/overlays/actors/ovl_En_Trap/z_en_trap.c
index 22b44abdf..fc2a85039 100644
--- a/src/overlays/actors/ovl_En_Trap/z_en_trap.c
+++ b/src/overlays/actors/ovl_En_Trap/z_en_trap.c
@@ -61,7 +61,14 @@ static ColliderCylinderInit sCylinderInit = {
OC2_TYPE_1,
COLSHAPE_CYLINDER,
},
- { ELEM_MATERIAL_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00001000, 0x00, 0x00 }, ATELEM_NONE, ACELEM_ON, OCELEM_ON },
+ {
+ ELEM_MATERIAL_UNK0,
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00001000, HIT_BACKLASH_NONE, 0x00 },
+ ATELEM_NONE,
+ ACELEM_ON,
+ OCELEM_ON,
+ },
{ 30, 20, 0, { 0, 0, 0 } },
};
diff --git a/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.c b/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.c
index b7afe53f4..72a4012a4 100644
--- a/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.c
+++ b/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.c
@@ -44,13 +44,13 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_NONE,
},
- { 9, 23, 0, { 0 } },
+ { 9, 23, 0, { 0, 0, 0 } },
};
ActorProfile En_Tubo_Trap_Profile = {
diff --git a/src/overlays/actors/ovl_En_Vali/z_en_vali.c b/src/overlays/actors/ovl_En_Vali/z_en_vali.c
index f6f11e51e..b69184006 100644
--- a/src/overlays/actors/ovl_En_Vali/z_en_vali.c
+++ b/src/overlays/actors/ovl_En_Vali/z_en_vali.c
@@ -66,8 +66,8 @@ static ColliderQuadInit sQuadInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x07, 0x08 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_7, 0x08 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_NONE,
@@ -86,8 +86,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x07, 0x08 },
- { 0xFFCFFFFF, 0x01, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_7, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_ELECTRIC, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
@@ -272,7 +272,7 @@ void EnVali_SetupStunned(EnVali* this) {
this->timer = 80;
this->actor.velocity.y = 0.0f;
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 255, COLORFILTER_BUFFLAG_XLU, 80);
- this->bodyCollider.elem.acDmgInfo.hitBacklash = HIT_BACKLASH_0;
+ this->bodyCollider.elem.acDmgInfo.hitBacklash = HIT_BACKLASH_NONE;
Actor_PlaySfx(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
this->actor.velocity.y = 1.0f;
this->actionFunc = EnVali_Stunned;
@@ -462,7 +462,7 @@ void EnVali_Stunned(EnVali* this, PlayState* play) {
}
if (this->timer == 0) {
- this->bodyCollider.elem.acDmgInfo.hitBacklash = HIT_BACKLASH_1;
+ this->bodyCollider.elem.acDmgInfo.hitBacklash = HIT_BACKLASH_ELECTRIC;
EnVali_SetupFloatIdle(this);
}
}
diff --git a/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.c b/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.c
index a03ea5a1f..d67c54923 100644
--- a/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.c
+++ b/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.c
@@ -51,8 +51,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK6,
- { 0x00100700, 0x00, 0x20 },
- { 0x00100700, 0x00, 0x00 },
+ { 0x00100700, HIT_SPECIAL_EFFECT_NONE, 0x20 },
+ { 0x00100700, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Vm/z_en_vm.c b/src/overlays/actors/ovl_En_Vm/z_en_vm.c
index 128a0af5f..050942aac 100644
--- a/src/overlays/actors/ovl_En_Vm/z_en_vm.c
+++ b/src/overlays/actors/ovl_En_Vm/z_en_vm.c
@@ -61,8 +61,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -81,8 +81,8 @@ static ColliderQuadInit sQuadInit1 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL | ATELEM_UNK7,
ACELEM_NONE,
OCELEM_NONE,
@@ -101,8 +101,8 @@ static ColliderQuadInit sQuadInit2 = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c
index 7373f441a..0192c2cd2 100644
--- a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c
+++ b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c
@@ -71,13 +71,13 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
},
- { 30, 40, 0, { 0 } },
+ { 30, 40, 0, { 0, 0, 0 } },
};
static CollisionCheckInfoInit sColChkInfoInit = { 4, 30, 40, 150 };
diff --git a/src/overlays/actors/ovl_En_Weiyer/z_en_weiyer.c b/src/overlays/actors/ovl_En_Weiyer/z_en_weiyer.c
index 35e232c69..919eb6bd7 100644
--- a/src/overlays/actors/ovl_En_Weiyer/z_en_weiyer.c
+++ b/src/overlays/actors/ovl_En_Weiyer/z_en_weiyer.c
@@ -61,8 +61,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_HARD,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Wf/z_en_wf.c b/src/overlays/actors/ovl_En_Wf/z_en_wf.c
index c651e4ff4..aed59d099 100644
--- a/src/overlays/actors/ovl_En_Wf/z_en_wf.c
+++ b/src/overlays/actors/ovl_En_Wf/z_en_wf.c
@@ -63,12 +63,12 @@ void EnWf_SetupDie(EnWf* this);
void EnWf_Die(EnWf* this, PlayState* play);
s32 EnWf_DodgeRanged(PlayState* play, EnWf* this);
-static ColliderJntSphElementInit sJntSphElementsInit[4] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
@@ -78,8 +78,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[4] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
@@ -89,8 +89,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[4] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFC1FFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFC1FFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
@@ -100,8 +100,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[4] = {
{
{
ELEM_MATERIAL_UNK1,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFC1FFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFC1FFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
@@ -134,8 +134,8 @@ static ColliderCylinderInit sBodyCylinderInit = {
},
{
ELEM_MATERIAL_UNK1,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -154,8 +154,8 @@ static ColliderCylinderInit sTailCylinderInit = {
},
{
ELEM_MATERIAL_UNK1,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Wonder_Item/z_en_wonder_item.c b/src/overlays/actors/ovl_En_Wonder_Item/z_en_wonder_item.c
index af928120c..dd5406c66 100644
--- a/src/overlays/actors/ovl_En_Wonder_Item/z_en_wonder_item.c
+++ b/src/overlays/actors/ovl_En_Wonder_Item/z_en_wonder_item.c
@@ -42,8 +42,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Wood02/z_en_wood02.c b/src/overlays/actors/ovl_En_Wood02/z_en_wood02.c
index 2d351c918..bb1acebc2 100644
--- a/src/overlays/actors/ovl_En_Wood02/z_en_wood02.c
+++ b/src/overlays/actors/ovl_En_Wood02/z_en_wood02.c
@@ -71,8 +71,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK5,
- { 0x00000000, 0x00, 0x00 },
- { 0x0FC0074A, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x0FC0074A, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Xc/z_en_xc.c b/src/overlays/actors/ovl_En_Xc/z_en_xc.c
index 60a247490..e28d8f584 100644
--- a/src/overlays/actors/ovl_En_Xc/z_en_xc.c
+++ b/src/overlays/actors/ovl_En_Xc/z_en_xc.c
@@ -60,8 +60,8 @@ static ColliderCylinderInitType1 sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Yabusame_Mark/z_en_yabusame_mark.c b/src/overlays/actors/ovl_En_Yabusame_Mark/z_en_yabusame_mark.c
index 5fd3e83f8..a0ef6ef16 100644
--- a/src/overlays/actors/ovl_En_Yabusame_Mark/z_en_yabusame_mark.c
+++ b/src/overlays/actors/ovl_En_Yabusame_Mark/z_en_yabusame_mark.c
@@ -37,9 +37,9 @@ static ColliderQuadInit sQuadInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x0001F824, 0x00, 0x00 },
- ATELEM_NONE | ATELEM_SFX_NORMAL,
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x0001F824, HIT_BACKLASH_NONE, 0x00 },
+ ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
},
diff --git a/src/overlays/actors/ovl_En_Yukabyun/z_en_yukabyun.c b/src/overlays/actors/ovl_En_Yukabyun/z_en_yukabyun.c
index 772eceb11..ab9dc51d6 100644
--- a/src/overlays/actors/ovl_En_Yukabyun/z_en_yukabyun.c
+++ b/src/overlays/actors/ovl_En_Yukabyun/z_en_yukabyun.c
@@ -52,8 +52,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x04 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x04 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_HARD,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Zf/z_en_zf.c b/src/overlays/actors/ovl_En_Zf/z_en_zf.c
index 7fa645e64..9481a81ed 100644
--- a/src/overlays/actors/ovl_En_Zf/z_en_zf.c
+++ b/src/overlays/actors/ovl_En_Zf/z_en_zf.c
@@ -140,8 +140,8 @@ static ColliderCylinderInit sBodyCylinderInit = {
},
{
ELEM_MATERIAL_UNK1,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -160,8 +160,8 @@ static ColliderQuadInit sSwordQuadInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x08 },
- { 0x00000000, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x08 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL | ATELEM_UNK7,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c
index 8de916334..a1cca466a 100644
--- a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c
+++ b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c
@@ -64,8 +64,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK1,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c
index cdcefca51..5e5fcb091 100644
--- a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c
+++ b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c
@@ -53,8 +53,8 @@ static ColliderCylinderInitType1 sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c b/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c
index 182062628..6f55b607f 100644
--- a/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c
+++ b/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c
@@ -98,8 +98,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_En_Zo/z_en_zo.c b/src/overlays/actors/ovl_En_Zo/z_en_zo.c
index 85f0f300e..f8b738c29 100644
--- a/src/overlays/actors/ovl_En_Zo/z_en_zo.c
+++ b/src/overlays/actors/ovl_En_Zo/z_en_zo.c
@@ -299,8 +299,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Fishing/z_fishing.c b/src/overlays/actors/ovl_Fishing/z_fishing.c
index 9f94310a3..52e636c77 100644
--- a/src/overlays/actors/ovl_Fishing/z_fishing.c
+++ b/src/overlays/actors/ovl_Fishing/z_fishing.c
@@ -9,6 +9,7 @@
#include "overlays/actors/ovl_En_Kanban/z_en_kanban.h"
#include "assets/objects/object_fish/object_fish.h"
#include "libc64/math64.h"
+#include "array_count.h"
#include "attributes.h"
#include "controller.h"
#include "gfx.h"
@@ -37,8 +38,8 @@
#include "cic6105.h"
#endif
-#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ntsc-1.0:128" \
- "ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128"
+#pragma increment_block_number "gc-eu:224 gc-eu-mq:224 gc-jp:224 gc-jp-ce:224 gc-jp-mq:224 gc-us:224 gc-us-mq:224" \
+ "ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128"
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
@@ -224,12 +225,12 @@ static u8 sFishingPlayerCinematicState = 0;
static u8 sFishingCinematicTimer = 0;
static u8 sSinkingLureFound = false;
-static ColliderJntSphElementInit sJntSphElementsInit[12] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -239,8 +240,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -250,8 +251,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -261,8 +262,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -272,8 +273,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -283,8 +284,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -294,8 +295,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -305,8 +306,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -316,8 +317,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -327,8 +328,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -338,8 +339,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -349,8 +350,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x00, 0x10 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_NONE, 0x10 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
@@ -363,12 +364,12 @@ static ColliderJntSphInit sJntSphInit = {
{
COL_MATERIAL_NONE,
AT_TYPE_ENEMY,
- AC_TYPE_PLAYER,
+ AC_NONE | AC_TYPE_PLAYER,
OC1_ON | OC1_TYPE_PLAYER,
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
- 12,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Item_Shield/z_item_shield.c b/src/overlays/actors/ovl_Item_Shield/z_item_shield.c
index 3dd584a1f..77f6d9e91 100644
--- a/src/overlays/actors/ovl_Item_Shield/z_item_shield.c
+++ b/src/overlays/actors/ovl_Item_Shield/z_item_shield.c
@@ -43,8 +43,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000004, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000004, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Magic_Fire/z_magic_fire.c b/src/overlays/actors/ovl_Magic_Fire/z_magic_fire.c
index a5938c8fc..a16c32a0d 100644
--- a/src/overlays/actors/ovl_Magic_Fire/z_magic_fire.c
+++ b/src/overlays/actors/ovl_Magic_Fire/z_magic_fire.c
@@ -81,8 +81,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00020000, 0x00, 0x01 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00020000, HIT_SPECIAL_EFFECT_NONE, 0x01 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_NONE,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.c b/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.c
index 06254d6ca..0ed454941 100644
--- a/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.c
+++ b/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.c
@@ -7,6 +7,7 @@
#include "z_mir_ray.h"
#include "libu64/debug.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -70,8 +71,8 @@ static ColliderQuadInit sQuadInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00200000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00200000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
@@ -79,12 +80,12 @@ static ColliderQuadInit sQuadInit = {
{ { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } },
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00200000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00200000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
@@ -102,7 +103,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_NONE,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c b/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c
index 7ccb70299..78faf2c0d 100644
--- a/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c
+++ b/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c
@@ -113,8 +113,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.c b/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.c
index 1ebc95cff..09675c4bc 100644
--- a/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.c
+++ b/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.c
@@ -51,13 +51,13 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x4FC1FFFE, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x4FC1FFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
},
- { 55, 70, 0, { 0 } },
+ { 55, 70, 0, { 0, 0, 0 } },
};
static CollisionCheckInfoInit sColChkInfoInit = { 0, 12, 60, MASS_IMMOVABLE };
diff --git a/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c b/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c
index 9430414f3..49575ed0a 100644
--- a/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c
+++ b/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c
@@ -8,6 +8,7 @@
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -43,12 +44,12 @@ ActorProfile Obj_Comb_Profile = {
/**/ ObjComb_Draw,
};
-static ColliderJntSphElementInit sJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x4001FFFE, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x4001FFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -66,7 +67,7 @@ static ColliderJntSphInit sJntSphInit = {
OC2_TYPE_2,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sJntSphElementsInit),
sJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Obj_Dekujr/z_obj_dekujr.c b/src/overlays/actors/ovl_Obj_Dekujr/z_obj_dekujr.c
index 4b1430149..cef0fe97c 100644
--- a/src/overlays/actors/ovl_Obj_Dekujr/z_obj_dekujr.c
+++ b/src/overlays/actors/ovl_Obj_Dekujr/z_obj_dekujr.c
@@ -39,12 +39,19 @@ ActorProfile Obj_Dekujr_Profile = {
static ColliderCylinderInitToActor sCylinderInit = {
{
NULL,
- 0x00,
- 0x00,
- 0x39,
+ AT_NONE,
+ AC_NONE,
+ OC1_ON | OC1_TYPE_ALL,
COLSHAPE_CYLINDER,
},
- { 0x02, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
+ {
+ ELEM_MATERIAL_UNK2,
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
+ ATELEM_NONE,
+ ACELEM_NONE,
+ OCELEM_ON,
+ },
{ 60, 80, 0, { 0, 0, 0 } },
};
diff --git a/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.c b/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.c
index 97c898f46..6490db46a 100644
--- a/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.c
+++ b/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.c
@@ -50,8 +50,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x4FC1FFF6, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x4FC1FFF6, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.c b/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.c
index 8cfaa9599..fe731ff59 100644
--- a/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.c
+++ b/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.c
@@ -42,8 +42,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_NONE,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.c b/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.c
index 3dac2d7fe..ee56e5d20 100644
--- a/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.c
+++ b/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.c
@@ -51,8 +51,8 @@ static ColliderCylinderInit sCylinderInitIce = {
},
{
ELEM_MATERIAL_UNK0,
- { 0xFFCFFFFF, 0x02, 0x00 },
- { 0x00020800, 0x00, 0x00 },
+ { 0xFFCFFFFF, HIT_SPECIAL_EFFECT_ICE, 0x00 },
+ { 0x00020800, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -71,8 +71,8 @@ static ColliderCylinderInit sCylinderInitHard = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x4E01F7F6, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x4E01F7F6, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.c b/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.c
index b4dd82373..a45735f2d 100644
--- a/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.c
+++ b/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.c
@@ -57,8 +57,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000002, 0x00, 0x01 },
- { 0x4FC00748, 0x00, 0x00 },
+ { 0x00000002, HIT_SPECIAL_EFFECT_NONE, 0x01 },
+ { 0x4FC00748, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.c b/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.c
index c8c0a1211..08c20a9ff 100644
--- a/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.c
+++ b/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.c
@@ -51,8 +51,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x40000040, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x40000040, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.c b/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.c
index 3a9928272..39f3e80dc 100644
--- a/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.c
+++ b/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.c
@@ -8,6 +8,7 @@
#include "overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.h"
#include "libc64/qrand.h"
+#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@@ -66,8 +67,8 @@ static ColliderJntSphElementInit sColliderJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00200000, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00200000, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -84,7 +85,7 @@ static ColliderJntSphInit sColliderJntSphInit = {
OC2_TYPE_2,
COLSHAPE_JNTSPH,
},
- 1,
+ ARRAY_COUNT(sColliderJntSphElementsInit),
sColliderJntSphElementsInit,
};
diff --git a/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.c b/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.c
index 2d4311686..1c880224f 100644
--- a/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.c
+++ b/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.c
@@ -87,12 +87,12 @@ static f32 sFocusHeights[] = {
30, // OBJSWITCH_TYPE_CRYSTAL_TARGETABLE
};
-static ColliderTrisElementInit sRustyFloorTrisElementsInit[2] = {
+static ColliderTrisElementInit sRustyFloorTrisElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x40000040, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x40000040, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -102,8 +102,8 @@ static ColliderTrisElementInit sRustyFloorTrisElementsInit[2] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x40000040, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x40000040, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -125,12 +125,12 @@ static ColliderTrisInit sRustyFloorTrisInit = {
sRustyFloorTrisElementsInit,
};
-static ColliderTrisElementInit sEyeTrisElementsInit[2] = {
+static ColliderTrisElementInit sEyeTrisElementsInit[] = {
{
{
ELEM_MATERIAL_UNK4,
- { 0x00000000, 0x00, 0x00 },
- { 0x0001F824, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x0001F824, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -140,8 +140,8 @@ static ColliderTrisElementInit sEyeTrisElementsInit[2] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x0001F824, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x0001F824, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
@@ -163,12 +163,12 @@ static ColliderTrisInit sEyeTrisInit = {
sEyeTrisElementsInit,
};
-static ColliderJntSphElementInit sCrystalJntSphElementsInit[1] = {
+static ColliderJntSphElementInit sCrystalJntSphElementsInit[] = {
{
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0xEFC1FFFE, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xEFC1FFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c b/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c
index 064dceeba..a75c504b6 100644
--- a/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c
+++ b/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c
@@ -50,8 +50,8 @@ static ColliderCylinderInit sCylInitStand = {
},
{
ELEM_MATERIAL_UNK2,
- { 0x00100000, 0x00, 0x00 },
- { 0xEE01FFFF, 0x00, 0x00 },
+ { 0x00100000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xEE01FFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON | ACELEM_HOOKABLE,
OCELEM_ON,
@@ -70,8 +70,8 @@ static ColliderCylinderInit sCylInitFlame = {
},
{
ELEM_MATERIAL_UNK2,
- { 0x00000000, 0x00, 0x00 },
- { 0x00020820, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00020820, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_NONE,
diff --git a/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c b/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c
index 4a2ba2d3d..4719667c4 100644
--- a/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c
+++ b/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c
@@ -78,8 +78,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000002, 0x00, 0x01 },
- { 0x4FC1FFFE, 0x00, 0x00 },
+ { 0x00000002, HIT_SPECIAL_EFFECT_NONE, 0x01 },
+ { 0x4FC1FFFE, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.c b/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.c
index 1ba86361e..c36b928ad 100644
--- a/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.c
+++ b/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.c
@@ -65,8 +65,8 @@ static ColliderCylinderInit sCylinderInit = {
},
{
ELEM_MATERIAL_UNK0,
- { 0x00000000, 0x00, 0x00 },
- { 0x00000020, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0x00000020, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c
index 378915726..6e2027c44 100644
--- a/src/overlays/actors/ovl_player_actor/z_player.c
+++ b/src/overlays/actors/ovl_player_actor/z_player.c
@@ -4622,7 +4622,7 @@ static LinkAnimationHeader* D_808544B0[] = {
&gPlayerAnim_link_normal_back_hit, &gPlayerAnim_link_anchor_back_hitR,
};
-void func_80837C0C(PlayState* play, Player* this, s32 damageResponseType, f32 speed, f32 yVelocity, s16 yRot,
+void func_80837C0C(PlayState* play, Player* this, s32 hitResponseType, f32 speed, f32 yVelocity, s16 yRot,
s32 invincibilityTimer) {
LinkAnimationHeader* anim = NULL;
LinkAnimationHeader** sp28;
@@ -4645,7 +4645,7 @@ void func_80837C0C(PlayState* play, Player* this, s32 damageResponseType, f32 sp
Player_SetIntangibility(this, invincibilityTimer);
- if (damageResponseType == PLAYER_HIT_RESPONSE_ICE_TRAP) {
+ if (hitResponseType == PLAYER_HIT_RESPONSE_FROZEN) {
Player_SetupAction(play, this, Player_Action_8084FB10, 0);
anim = &gPlayerAnim_link_normal_ice_down;
@@ -4655,7 +4655,7 @@ void func_80837C0C(PlayState* play, Player* this, s32 damageResponseType, f32 sp
Player_PlaySfx(this, NA_SE_PL_FREEZE_S);
Player_PlayVoiceSfx(this, NA_SE_VO_LI_FREEZE);
- } else if (damageResponseType == PLAYER_HIT_RESPONSE_ELECTRIC_SHOCK) {
+ } else if (hitResponseType == PLAYER_HIT_RESPONSE_ELECTRIFIED) {
Player_SetupAction(play, this, Player_Action_8084FBF4, 0);
Player_RequestRumble(this, 255, 80, 150, 0);
@@ -4676,8 +4676,8 @@ void func_80837C0C(PlayState* play, Player* this, s32 damageResponseType, f32 sp
anim = &gPlayerAnim_link_swimer_swim_hit;
Player_PlayVoiceSfx(this, NA_SE_VO_LI_DAMAGE_S);
- } else if ((damageResponseType == PLAYER_HIT_RESPONSE_KNOCKBACK_LARGE) ||
- (damageResponseType == PLAYER_HIT_RESPONSE_KNOCKBACK_SMALL) ||
+ } else if ((hitResponseType == PLAYER_HIT_RESPONSE_KNOCKBACK_LARGE) ||
+ (hitResponseType == PLAYER_HIT_RESPONSE_KNOCKBACK_SMALL) ||
!(this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) ||
(this->stateFlags1 & (PLAYER_STATE1_13 | PLAYER_STATE1_14 | PLAYER_STATE1_21))) {
Player_SetupAction(play, this, Player_Action_8084377C, 0);
@@ -4687,7 +4687,7 @@ void func_80837C0C(PlayState* play, Player* this, s32 damageResponseType, f32 sp
Player_RequestRumble(this, 255, 20, 150, 0);
func_80832224(this);
- if (damageResponseType == PLAYER_HIT_RESPONSE_KNOCKBACK_SMALL) {
+ if (hitResponseType == PLAYER_HIT_RESPONSE_KNOCKBACK_SMALL) {
this->av2.actionVar2 = 4;
this->actor.speed = 3.0f;
@@ -4801,7 +4801,7 @@ void func_8083821C(Player* this) {
}
void func_80838280(Player* this) {
- if (this->actor.colChkInfo.acHitEffect == 1) {
+ if (this->actor.colChkInfo.acHitSpecialEffect == HIT_SPECIAL_EFFECT_FIRE) {
func_8083821C(this);
}
Player_PlayVoiceSfx(this, NA_SE_VO_LI_FALL_L);
@@ -4870,7 +4870,7 @@ s32 func_808382DC(Player* this, PlayState* play) {
func_80838280(this);
- if (this->knockbackType == PLAYER_KNOCKBACK_LARGE_SHOCK) {
+ if (this->knockbackType == PLAYER_KNOCKBACK_LARGE_ELECTRIFIED) {
this->bodyShockTimer = 40;
}
@@ -4918,7 +4918,7 @@ s32 func_808382DC(Player* this, PlayState* play) {
}
}
- if (sp64 && (this->shieldQuad.elem.acHitElem->atDmgInfo.effect == 1)) {
+ if (sp64 && (this->shieldQuad.elem.acHitElem->atDmgInfo.hitSpecialEffect == HIT_SPECIAL_EFFECT_FIRE)) {
func_8083819C(this, play);
}
@@ -4941,11 +4941,11 @@ s32 func_808382DC(Player* this, PlayState* play) {
if (this->stateFlags1 & PLAYER_STATE1_27) {
sp4C = PLAYER_HIT_RESPONSE_NONE;
- } else if (this->actor.colChkInfo.acHitEffect == 2) {
- sp4C = PLAYER_HIT_RESPONSE_ICE_TRAP;
- } else if (this->actor.colChkInfo.acHitEffect == 3) {
- sp4C = PLAYER_HIT_RESPONSE_ELECTRIC_SHOCK;
- } else if (this->actor.colChkInfo.acHitEffect == 4) {
+ } else if (this->actor.colChkInfo.acHitSpecialEffect == HIT_SPECIAL_EFFECT_ICE) {
+ sp4C = PLAYER_HIT_RESPONSE_FROZEN;
+ } else if (this->actor.colChkInfo.acHitSpecialEffect == HIT_SPECIAL_EFFECT_ELECTRIC) {
+ sp4C = PLAYER_HIT_RESPONSE_ELECTRIFIED;
+ } else if (this->actor.colChkInfo.acHitSpecialEffect == HIT_SPECIAL_EFFECT_KNOCKBACK) {
sp4C = PLAYER_HIT_RESPONSE_KNOCKBACK_LARGE;
} else {
func_80838280(this);
@@ -9151,10 +9151,9 @@ s32 func_80842DF4(PlayState* play, Player* this) {
if ((func_80842AC4(play, this) == 0) && (this->heldItemAction != PLAYER_IA_HAMMER)) {
func_80842B7C(play, this);
- if (this->actor.colChkInfo.atHitBacklash == HIT_BACKLASH_1) {
+ if (this->actor.colChkInfo.atHitBacklash == HIT_BACKLASH_ELECTRIC) {
this->actor.colChkInfo.damage = 8;
- func_80837C0C(play, this, PLAYER_HIT_RESPONSE_ELECTRIC_SHOCK, 0.0f, 0.0f, this->actor.shape.rot.y,
- 20);
+ func_80837C0C(play, this, PLAYER_HIT_RESPONSE_ELECTRIFIED, 0.0f, 0.0f, this->actor.shape.rot.y, 20);
return 1;
}
}
@@ -10483,8 +10482,8 @@ static ColliderCylinderInit D_80854624 = {
},
{
ELEM_MATERIAL_UNK1,
- { 0x00000000, 0x00, 0x00 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_NONE,
ACELEM_ON,
OCELEM_ON,
@@ -10503,8 +10502,8 @@ static ColliderQuadInit D_80854650 = {
},
{
ELEM_MATERIAL_UNK2,
- { 0x00000100, 0x00, 0x01 },
- { 0xFFCFFFFF, 0x00, 0x00 },
+ { 0x00000100, HIT_SPECIAL_EFFECT_NONE, 0x01 },
+ { 0xFFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_NONE,
OCELEM_NONE,
@@ -10523,8 +10522,8 @@ static ColliderQuadInit D_808546A0 = {
},
{
ELEM_MATERIAL_UNK2,
- { 0x00100000, 0x00, 0x00 },
- { 0xDFCFFFFF, 0x00, 0x00 },
+ { 0x00100000, HIT_SPECIAL_EFFECT_NONE, 0x00 },
+ { 0xDFCFFFFF, HIT_BACKLASH_NONE, 0x00 },
ATELEM_ON | ATELEM_SFX_NORMAL,
ACELEM_ON,
OCELEM_NONE,
@@ -13989,7 +13988,7 @@ void Player_Action_8084E6D4(Player* this, PlayState* play) {
func_8083C0E8(this, play);
} else {
this->actor.colChkInfo.damage = 0;
- func_80837C0C(play, this, PLAYER_HIT_RESPONSE_ICE_TRAP, 0.0f, 0.0f, 0, 20);
+ func_80837C0C(play, this, PLAYER_HIT_RESPONSE_FROZEN, 0.0f, 0.0f, 0, 20);
}
return;
}
diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c
index 9ea67028f..d01e10e22 100644
--- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c
+++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c
@@ -1658,7 +1658,10 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) {
CLOSE_DISPS(gfxCtx, "../z_kaleido_scope_PAL.c", 1577);
}
-void KaleidoScope_DrawInfoPanel(PlayState* play) {
+/**
+ * Draws the buttons for scrolling left/right, and the info plate.
+ */
+void KaleidoScope_DrawUIOverlay(PlayState* play) {
static void* sToEquipTextTextures[] =
LANGUAGE_ARRAY(gPauseToEquipJPNTex, gPauseToEquipENGTex, gPauseToEquipGERTex, gPauseToEquipFRATex);
static void* sToDecideTextTextures[] =
@@ -1711,7 +1714,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
s16 stepG;
s16 stepB;
s16 stepA;
- s16 temp;
+ s16 y;
s16 i;
s16 j;
@@ -1752,91 +1755,98 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
D_8082AE04 ^= 1;
}
- temp = pauseCtx->infoPanelOffsetY - 76;
- for (j = 0, i = 0; i < 7; i++, j += 4) {
- pauseCtx->infoPanelVtx[j + 0].v.ob[0] = pauseCtx->infoPanelVtx[j + 2].v.ob[0] = -72;
+ y = pauseCtx->infoPanelOffsetY - 76;
+ for (j = 0, i = 0; i < UI_OVERLAY_QUAD_MAX; i++, j += 4) {
+ pauseCtx->uiOverlayVtx[j + 0].v.ob[0] = pauseCtx->uiOverlayVtx[j + 2].v.ob[0] = -72;
- pauseCtx->infoPanelVtx[j + 1].v.ob[0] = pauseCtx->infoPanelVtx[j + 3].v.ob[0] = 0;
+ pauseCtx->uiOverlayVtx[j + 1].v.ob[0] = pauseCtx->uiOverlayVtx[j + 3].v.ob[0] = 0;
- pauseCtx->infoPanelVtx[j + 0].v.ob[1] = pauseCtx->infoPanelVtx[j + 1].v.ob[1] = temp;
+ pauseCtx->uiOverlayVtx[j + 0].v.ob[1] = pauseCtx->uiOverlayVtx[j + 1].v.ob[1] = y;
- pauseCtx->infoPanelVtx[j + 2].v.ob[1] = pauseCtx->infoPanelVtx[j + 3].v.ob[1] = temp - 24;
+ pauseCtx->uiOverlayVtx[j + 2].v.ob[1] = pauseCtx->uiOverlayVtx[j + 3].v.ob[1] = y - 24;
- pauseCtx->infoPanelVtx[j + 0].v.ob[2] = pauseCtx->infoPanelVtx[j + 1].v.ob[2] =
- pauseCtx->infoPanelVtx[j + 2].v.ob[2] = pauseCtx->infoPanelVtx[j + 3].v.ob[2] = 0;
+ pauseCtx->uiOverlayVtx[j + 0].v.ob[2] = pauseCtx->uiOverlayVtx[j + 1].v.ob[2] =
+ pauseCtx->uiOverlayVtx[j + 2].v.ob[2] = pauseCtx->uiOverlayVtx[j + 3].v.ob[2] = 0;
- pauseCtx->infoPanelVtx[j + 0].v.flag = pauseCtx->infoPanelVtx[j + 1].v.flag =
- pauseCtx->infoPanelVtx[j + 2].v.flag = pauseCtx->infoPanelVtx[j + 3].v.flag = 0;
+ pauseCtx->uiOverlayVtx[j + 0].v.flag = pauseCtx->uiOverlayVtx[j + 1].v.flag =
+ pauseCtx->uiOverlayVtx[j + 2].v.flag = pauseCtx->uiOverlayVtx[j + 3].v.flag = 0;
- pauseCtx->infoPanelVtx[j + 0].v.tc[0] = pauseCtx->infoPanelVtx[j + 0].v.tc[1] =
- pauseCtx->infoPanelVtx[j + 1].v.tc[1] = pauseCtx->infoPanelVtx[j + 2].v.tc[0] = 0;
+ pauseCtx->uiOverlayVtx[j + 0].v.tc[0] = pauseCtx->uiOverlayVtx[j + 0].v.tc[1] =
+ pauseCtx->uiOverlayVtx[j + 1].v.tc[1] = pauseCtx->uiOverlayVtx[j + 2].v.tc[0] = 0;
- pauseCtx->infoPanelVtx[j + 1].v.tc[0] = pauseCtx->infoPanelVtx[j + 3].v.tc[0] = 0x900;
+ pauseCtx->uiOverlayVtx[j + 1].v.tc[0] = pauseCtx->uiOverlayVtx[j + 3].v.tc[0] = 72 * (1 << 5);
- pauseCtx->infoPanelVtx[j + 2].v.tc[1] = pauseCtx->infoPanelVtx[j + 3].v.tc[1] = 0x300;
+ // 24 = gInfoPanelBgLeftTex_HEIGHT, gInfoPanelBgRightTex_HEIGHT, gQuestIconGoldSkulltulaTex_HEIGHT
+ pauseCtx->uiOverlayVtx[j + 2].v.tc[1] = pauseCtx->uiOverlayVtx[j + 3].v.tc[1] = 24 * (1 << 5);
- pauseCtx->infoPanelVtx[j + 0].v.cn[0] = pauseCtx->infoPanelVtx[j + 2].v.cn[0] =
- pauseCtx->infoPanelVtx[j + 0].v.cn[1] = pauseCtx->infoPanelVtx[j + 2].v.cn[1] =
- pauseCtx->infoPanelVtx[j + 0].v.cn[2] = pauseCtx->infoPanelVtx[j + 2].v.cn[2] =
- pauseCtx->infoPanelVtx[j + 1].v.cn[0] = pauseCtx->infoPanelVtx[j + 3].v.cn[0] =
- pauseCtx->infoPanelVtx[j + 1].v.cn[1] = pauseCtx->infoPanelVtx[j + 3].v.cn[1] =
- pauseCtx->infoPanelVtx[j + 1].v.cn[2] = pauseCtx->infoPanelVtx[j + 3].v.cn[2] = 200;
+ pauseCtx->uiOverlayVtx[j + 0].v.cn[0] = pauseCtx->uiOverlayVtx[j + 2].v.cn[0] =
+ pauseCtx->uiOverlayVtx[j + 0].v.cn[1] = pauseCtx->uiOverlayVtx[j + 2].v.cn[1] =
+ pauseCtx->uiOverlayVtx[j + 0].v.cn[2] = pauseCtx->uiOverlayVtx[j + 2].v.cn[2] =
+ pauseCtx->uiOverlayVtx[j + 1].v.cn[0] = pauseCtx->uiOverlayVtx[j + 3].v.cn[0] =
+ pauseCtx->uiOverlayVtx[j + 1].v.cn[1] = pauseCtx->uiOverlayVtx[j + 3].v.cn[1] =
+ pauseCtx->uiOverlayVtx[j + 1].v.cn[2] = pauseCtx->uiOverlayVtx[j + 3].v.cn[2] = 200;
- pauseCtx->infoPanelVtx[j + 0].v.cn[3] = pauseCtx->infoPanelVtx[j + 2].v.cn[3] =
- pauseCtx->infoPanelVtx[j + 1].v.cn[3] = pauseCtx->infoPanelVtx[j + 3].v.cn[3] = pauseCtx->alpha;
+ pauseCtx->uiOverlayVtx[j + 0].v.cn[3] = pauseCtx->uiOverlayVtx[j + 2].v.cn[3] =
+ pauseCtx->uiOverlayVtx[j + 1].v.cn[3] = pauseCtx->uiOverlayVtx[j + 3].v.cn[3] = pauseCtx->alpha;
}
- pauseCtx->infoPanelVtx[4].v.ob[0] = pauseCtx->infoPanelVtx[6].v.ob[0] = pauseCtx->infoPanelVtx[0].v.ob[0] + 72;
+ // UI_OVERLAY_QUAD_INFO_BG_RIGHT
+ pauseCtx->uiOverlayVtx[4].v.ob[0] = pauseCtx->uiOverlayVtx[6].v.ob[0] = pauseCtx->uiOverlayVtx[0].v.ob[0] + 72;
- pauseCtx->infoPanelVtx[5].v.ob[0] = pauseCtx->infoPanelVtx[7].v.ob[0] = pauseCtx->infoPanelVtx[4].v.ob[0] + 72;
+ pauseCtx->uiOverlayVtx[5].v.ob[0] = pauseCtx->uiOverlayVtx[7].v.ob[0] = pauseCtx->uiOverlayVtx[4].v.ob[0] + 72;
+ // UI_OVERLAY_QUAD_BUTTON_LEFT
if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) && (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE)) {
- pauseCtx->infoPanelVtx[8].v.ob[0] = pauseCtx->infoPanelVtx[10].v.ob[0] = WREG(16);
+ pauseCtx->uiOverlayVtx[8].v.ob[0] = pauseCtx->uiOverlayVtx[10].v.ob[0] = R_PAUSE_BUTTON_LEFT_X;
- pauseCtx->infoPanelVtx[9].v.ob[0] = pauseCtx->infoPanelVtx[11].v.ob[0] = pauseCtx->infoPanelVtx[8].v.ob[0] + 24;
+ pauseCtx->uiOverlayVtx[9].v.ob[0] = pauseCtx->uiOverlayVtx[11].v.ob[0] =
+ pauseCtx->uiOverlayVtx[8].v.ob[0] + UI_OVERLAY_QUAD_BUTTON_LR_WIDTH;
- pauseCtx->infoPanelVtx[8].v.ob[1] = pauseCtx->infoPanelVtx[9].v.ob[1] = WREG(18);
+ pauseCtx->uiOverlayVtx[8].v.ob[1] = pauseCtx->uiOverlayVtx[9].v.ob[1] = R_PAUSE_BUTTON_LEFT_RIGHT_Y;
- pauseCtx->infoPanelVtx[10].v.ob[1] = pauseCtx->infoPanelVtx[11].v.ob[1] =
- pauseCtx->infoPanelVtx[8].v.ob[1] - 32;
+ pauseCtx->uiOverlayVtx[10].v.ob[1] = pauseCtx->uiOverlayVtx[11].v.ob[1] =
+ pauseCtx->uiOverlayVtx[8].v.ob[1] - UI_OVERLAY_QUAD_BUTTON_LR_HEIGHT;
} else {
- pauseCtx->infoPanelVtx[8].v.ob[0] = pauseCtx->infoPanelVtx[10].v.ob[0] = WREG(16) + 3;
+ pauseCtx->uiOverlayVtx[8].v.ob[0] = pauseCtx->uiOverlayVtx[10].v.ob[0] = R_PAUSE_BUTTON_LEFT_X + 3;
- pauseCtx->infoPanelVtx[9].v.ob[0] = pauseCtx->infoPanelVtx[11].v.ob[0] = pauseCtx->infoPanelVtx[8].v.ob[0] + 18;
+ pauseCtx->uiOverlayVtx[9].v.ob[0] = pauseCtx->uiOverlayVtx[11].v.ob[0] =
+ pauseCtx->uiOverlayVtx[8].v.ob[0] + (UI_OVERLAY_QUAD_BUTTON_LR_WIDTH - 2 * 3);
- pauseCtx->infoPanelVtx[8].v.ob[1] = pauseCtx->infoPanelVtx[9].v.ob[1] = WREG(18) - 3;
+ pauseCtx->uiOverlayVtx[8].v.ob[1] = pauseCtx->uiOverlayVtx[9].v.ob[1] = R_PAUSE_BUTTON_LEFT_RIGHT_Y - 3;
- pauseCtx->infoPanelVtx[10].v.ob[1] = pauseCtx->infoPanelVtx[11].v.ob[1] =
- pauseCtx->infoPanelVtx[8].v.ob[1] - 26;
+ pauseCtx->uiOverlayVtx[10].v.ob[1] = pauseCtx->uiOverlayVtx[11].v.ob[1] =
+ pauseCtx->uiOverlayVtx[8].v.ob[1] - (UI_OVERLAY_QUAD_BUTTON_LR_HEIGHT - 2 * 3);
}
+ // UI_OVERLAY_QUAD_BUTTON_RIGHT
if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_RIGHT) && (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE)) {
- pauseCtx->infoPanelVtx[12].v.ob[0] = pauseCtx->infoPanelVtx[14].v.ob[0] = WREG(17);
+ pauseCtx->uiOverlayVtx[12].v.ob[0] = pauseCtx->uiOverlayVtx[14].v.ob[0] = R_PAUSE_BUTTON_RIGHT_X;
- pauseCtx->infoPanelVtx[13].v.ob[0] = pauseCtx->infoPanelVtx[15].v.ob[0] =
- pauseCtx->infoPanelVtx[12].v.ob[0] + 24;
+ pauseCtx->uiOverlayVtx[13].v.ob[0] = pauseCtx->uiOverlayVtx[15].v.ob[0] =
+ pauseCtx->uiOverlayVtx[12].v.ob[0] + UI_OVERLAY_QUAD_BUTTON_LR_WIDTH;
- pauseCtx->infoPanelVtx[12].v.ob[1] = pauseCtx->infoPanelVtx[13].v.ob[1] = WREG(18);
+ pauseCtx->uiOverlayVtx[12].v.ob[1] = pauseCtx->uiOverlayVtx[13].v.ob[1] = R_PAUSE_BUTTON_LEFT_RIGHT_Y;
- pauseCtx->infoPanelVtx[14].v.ob[1] = pauseCtx->infoPanelVtx[15].v.ob[1] =
- pauseCtx->infoPanelVtx[12].v.ob[1] - 32;
+ pauseCtx->uiOverlayVtx[14].v.ob[1] = pauseCtx->uiOverlayVtx[15].v.ob[1] =
+ pauseCtx->uiOverlayVtx[12].v.ob[1] - UI_OVERLAY_QUAD_BUTTON_LR_HEIGHT;
} else {
- pauseCtx->infoPanelVtx[12].v.ob[0] = pauseCtx->infoPanelVtx[14].v.ob[0] = WREG(17) + 3;
+ pauseCtx->uiOverlayVtx[12].v.ob[0] = pauseCtx->uiOverlayVtx[14].v.ob[0] = R_PAUSE_BUTTON_RIGHT_X + 3;
- pauseCtx->infoPanelVtx[13].v.ob[0] = pauseCtx->infoPanelVtx[15].v.ob[0] =
- pauseCtx->infoPanelVtx[12].v.ob[0] + 18;
+ pauseCtx->uiOverlayVtx[13].v.ob[0] = pauseCtx->uiOverlayVtx[15].v.ob[0] =
+ pauseCtx->uiOverlayVtx[12].v.ob[0] + (UI_OVERLAY_QUAD_BUTTON_LR_WIDTH - 2 * 3);
- pauseCtx->infoPanelVtx[12].v.ob[1] = pauseCtx->infoPanelVtx[13].v.ob[1] = WREG(18) - 3;
+ pauseCtx->uiOverlayVtx[12].v.ob[1] = pauseCtx->uiOverlayVtx[13].v.ob[1] = R_PAUSE_BUTTON_LEFT_RIGHT_Y - 3;
- pauseCtx->infoPanelVtx[14].v.ob[1] = pauseCtx->infoPanelVtx[15].v.ob[1] =
- pauseCtx->infoPanelVtx[12].v.ob[1] - 26;
+ pauseCtx->uiOverlayVtx[14].v.ob[1] = pauseCtx->uiOverlayVtx[15].v.ob[1] =
+ pauseCtx->uiOverlayVtx[12].v.ob[1] - (UI_OVERLAY_QUAD_BUTTON_LR_HEIGHT - 2 * 3);
}
- pauseCtx->infoPanelVtx[9].v.tc[0] = pauseCtx->infoPanelVtx[11].v.tc[0] = pauseCtx->infoPanelVtx[13].v.tc[0] =
- pauseCtx->infoPanelVtx[15].v.tc[0] = 0x300;
+ // UI_OVERLAY_QUAD_BUTTON_LEFT, UI_OVERLAY_QUAD_BUTTON_RIGHT
+ pauseCtx->uiOverlayVtx[9].v.tc[0] = pauseCtx->uiOverlayVtx[11].v.tc[0] = pauseCtx->uiOverlayVtx[13].v.tc[0] =
+ pauseCtx->uiOverlayVtx[15].v.tc[0] = UI_OVERLAY_QUAD_BUTTON_LR_TEX_WIDTH * (1 << 5);
- pauseCtx->infoPanelVtx[10].v.tc[1] = pauseCtx->infoPanelVtx[11].v.tc[1] = pauseCtx->infoPanelVtx[14].v.tc[1] =
- pauseCtx->infoPanelVtx[15].v.tc[1] = 0x400;
+ pauseCtx->uiOverlayVtx[10].v.tc[1] = pauseCtx->uiOverlayVtx[11].v.tc[1] = pauseCtx->uiOverlayVtx[14].v.tc[1] =
+ pauseCtx->uiOverlayVtx[15].v.tc[1] = UI_OVERLAY_QUAD_BUTTON_LR_TEX_HEIGHT * (1 << 5);
gDPSetCombineMode(POLY_OPA_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
@@ -1846,14 +1856,16 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_kaleido_scope_PAL.c", 1755);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 90, 100, 130, 255);
- gSPVertex(POLY_OPA_DISP++, &pauseCtx->infoPanelVtx[0], 16, 0);
+ gSPVertex(POLY_OPA_DISP++, &pauseCtx->uiOverlayVtx[0], 16, 0);
- gSPDisplayList(POLY_OPA_DISP++, gItemNamePanelDL);
+ // Draw UI_OVERLAY_QUAD_INFO_BG_LEFT, UI_OVERLAY_QUAD_INFO_BG_RIGHT
+ gSPDisplayList(POLY_OPA_DISP++, gInfoPanelBgDL);
if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) && (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE)) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, D_808321A0, D_808321A2, D_808321A4, D_808321A6);
}
+ // Draw UI_OVERLAY_QUAD_BUTTON_LEFT
gSPDisplayList(POLY_OPA_DISP++, gLButtonIconDL);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 180, 210, 255, 220);
@@ -1862,21 +1874,25 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, D_808321A0, D_808321A2, D_808321A4, D_808321A6);
}
+ // Draw UI_OVERLAY_QUAD_BUTTON_RIGHT
gSPDisplayList(POLY_OPA_DISP++, gRButtonIconDL);
if (pauseCtx->cursorSpecialPos != 0) {
j = (pauseCtx->cursorSpecialPos - 8) * 4;
- pauseCtx->cursorVtx[0].v.ob[0] = pauseCtx->infoPanelVtx[j].v.ob[0];
- pauseCtx->cursorVtx[0].v.ob[1] = pauseCtx->infoPanelVtx[j].v.ob[1];
+ pauseCtx->cursorVtx[0].v.ob[0] = pauseCtx->uiOverlayVtx[j].v.ob[0];
+ pauseCtx->cursorVtx[0].v.ob[1] = pauseCtx->uiOverlayVtx[j].v.ob[1];
KaleidoScope_DrawCursor(play, pauseCtx->pageIndex);
}
- temp = pauseCtx->infoPanelOffsetY - 80;
- pauseCtx->infoPanelVtx[16].v.ob[1] = pauseCtx->infoPanelVtx[17].v.ob[1] = temp;
+ // UI_OVERLAY_QUAD_INFO_ICON
+ y = pauseCtx->infoPanelOffsetY - 80;
+ pauseCtx->uiOverlayVtx[16].v.ob[1] = pauseCtx->uiOverlayVtx[17].v.ob[1] = y;
- pauseCtx->infoPanelVtx[18].v.ob[1] = pauseCtx->infoPanelVtx[19].v.ob[1] = pauseCtx->infoPanelVtx[16].v.ob[1] - 16;
+ pauseCtx->uiOverlayVtx[18].v.ob[1] = pauseCtx->uiOverlayVtx[19].v.ob[1] =
+ pauseCtx->uiOverlayVtx[16].v.ob[1] - UI_OVERLAY_QUAD_INFO_ICON_HEIGHT;
- pauseCtx->infoPanelVtx[18].v.tc[1] = pauseCtx->infoPanelVtx[19].v.tc[1] = 0x200;
+ pauseCtx->uiOverlayVtx[18].v.tc[1] = pauseCtx->uiOverlayVtx[19].v.tc[1] =
+ UI_OVERLAY_QUAD_INFO_ICON_TEX_HEIGHT * (1 << 5);
gDPPipeSync(POLY_OPA_DISP++);
gDPSetCombineLERP(POLY_OPA_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, PRIMITIVE,
@@ -1896,14 +1912,16 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
((pauseCtx->mainState >= PAUSE_MAIN_STATE_SONG_PROMPT_INIT) &&
(pauseCtx->mainState <= PAUSE_MAIN_STATE_EQUIP_CHANGED)) ||
(pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG)) {
- pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] = -63;
- pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] =
- pauseCtx->infoPanelVtx[16].v.ob[0] + 128;
+ // UI_OVERLAY_QUAD_INFO_ICON
+ pauseCtx->uiOverlayVtx[16].v.ob[0] = pauseCtx->uiOverlayVtx[18].v.ob[0] = -63;
- pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x1000;
+ pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
+ pauseCtx->uiOverlayVtx[16].v.ob[0] + ITEM_NAME_TEX_WIDTH;
- gSPVertex(POLY_OPA_DISP++, &pauseCtx->infoPanelVtx[16], 4, 0);
+ pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = ITEM_NAME_TEX_WIDTH * (1 << 5);
+
+ gSPVertex(POLY_OPA_DISP++, &pauseCtx->uiOverlayVtx[16], 4, 0);
if (pauseCtx->nameColorSet == 1) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 70, 70, 70, 255);
@@ -1937,21 +1955,22 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
if (GET_GS_FLAGS(D_8082AE30[pauseCtx->cursorPoint[PAUSE_WORLD_MAP]]) ==
gAreaGsFlags[D_8082AE30[pauseCtx->cursorPoint[PAUSE_WORLD_MAP]]]) {
- pauseCtx->infoPanelVtx[24].v.ob[0] = pauseCtx->infoPanelVtx[26].v.ob[0] = -74;
+ // UI_OVERLAY_QUAD_HAVE_ALL_GS
+ pauseCtx->uiOverlayVtx[24].v.ob[0] = pauseCtx->uiOverlayVtx[26].v.ob[0] = -74;
- pauseCtx->infoPanelVtx[25].v.ob[0] = pauseCtx->infoPanelVtx[27].v.ob[0] =
- pauseCtx->infoPanelVtx[24].v.ob[0] + 19;
+ pauseCtx->uiOverlayVtx[25].v.ob[0] = pauseCtx->uiOverlayVtx[27].v.ob[0] =
+ pauseCtx->uiOverlayVtx[24].v.ob[0] + 19;
- pauseCtx->infoPanelVtx[24].v.ob[1] = pauseCtx->infoPanelVtx[25].v.ob[1] =
- pauseCtx->infoPanelVtx[24].v.ob[1] - 2;
+ pauseCtx->uiOverlayVtx[24].v.ob[1] = pauseCtx->uiOverlayVtx[25].v.ob[1] =
+ pauseCtx->uiOverlayVtx[24].v.ob[1] - 2;
- pauseCtx->infoPanelVtx[26].v.ob[1] = pauseCtx->infoPanelVtx[27].v.ob[1] =
- pauseCtx->infoPanelVtx[24].v.ob[1] - 19;
+ pauseCtx->uiOverlayVtx[26].v.ob[1] = pauseCtx->uiOverlayVtx[27].v.ob[1] =
+ pauseCtx->uiOverlayVtx[24].v.ob[1] - 19;
- pauseCtx->infoPanelVtx[25].v.tc[0] = pauseCtx->infoPanelVtx[27].v.tc[0] = 0x300;
+ pauseCtx->uiOverlayVtx[25].v.tc[0] = pauseCtx->uiOverlayVtx[27].v.tc[0] = QUEST_ICON_WIDTH * (1 << 5);
gDPPipeSync(POLY_OPA_DISP++);
- gSPVertex(POLY_OPA_DISP++, &pauseCtx->infoPanelVtx[24], 4, 0);
+ gSPVertex(POLY_OPA_DISP++, &pauseCtx->uiOverlayVtx[24], 4, 0);
gDPSetCombineLERP(POLY_OPA_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
@@ -1964,31 +1983,36 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
}
} else if ((pauseCtx->mainState < PAUSE_MAIN_STATE_3) || (pauseCtx->mainState == PAUSE_MAIN_STATE_EQUIP_CHANGED) ||
(pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG)) {
- pauseCtx->infoPanelVtx[20].v.ob[1] = pauseCtx->infoPanelVtx[21].v.ob[1] = temp;
+ // UI_OVERLAY_QUAD_INFO_TEXT
+ pauseCtx->uiOverlayVtx[20].v.ob[1] = pauseCtx->uiOverlayVtx[21].v.ob[1] = y;
- pauseCtx->infoPanelVtx[22].v.ob[1] = pauseCtx->infoPanelVtx[23].v.ob[1] =
- pauseCtx->infoPanelVtx[20].v.ob[1] - 16;
+ pauseCtx->uiOverlayVtx[22].v.ob[1] = pauseCtx->uiOverlayVtx[23].v.ob[1] =
+ pauseCtx->uiOverlayVtx[20].v.ob[1] - 16;
- pauseCtx->infoPanelVtx[22].v.tc[1] = pauseCtx->infoPanelVtx[23].v.tc[1] = 0x200;
+ pauseCtx->uiOverlayVtx[22].v.tc[1] = pauseCtx->uiOverlayVtx[23].v.tc[1] = 16 * (1 << 5);
- gSPVertex(POLY_OPA_DISP++, &pauseCtx->infoPanelVtx[16], 8, 0);
+ gSPVertex(POLY_OPA_DISP++, &pauseCtx->uiOverlayVtx[16], 8, 0);
if (pauseCtx->state == PAUSE_STATE_SAVE_PROMPT) {
- pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] =
- R_KALEIDO_UNK5(gSaveContext.language);
+ // UI_OVERLAY_QUAD_INFO_ICON
+ pauseCtx->uiOverlayVtx[16].v.ob[0] = pauseCtx->uiOverlayVtx[18].v.ob[0] =
+ R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(gSaveContext.language);
- pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] =
- pauseCtx->infoPanelVtx[16].v.ob[0] + 24;
+ pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
+ pauseCtx->uiOverlayVtx[16].v.ob[0] + gABtnSymbolTex_WIDTH;
- pauseCtx->infoPanelVtx[20].v.ob[0] = pauseCtx->infoPanelVtx[22].v.ob[0] =
- pauseCtx->infoPanelVtx[16].v.ob[0] + R_KALEIDO_UNK2(gSaveContext.language);
+ // UI_OVERLAY_QUAD_INFO_TEXT
+ pauseCtx->uiOverlayVtx[20].v.ob[0] = pauseCtx->uiOverlayVtx[22].v.ob[0] =
+ pauseCtx->uiOverlayVtx[16].v.ob[0] + R_PAUSE_INFO_PANEL_TEXT_X(gSaveContext.language);
- pauseCtx->infoPanelVtx[21].v.ob[0] = pauseCtx->infoPanelVtx[23].v.ob[0] =
- pauseCtx->infoPanelVtx[20].v.ob[0] + sToDecideTextWidths[gSaveContext.language];
+ pauseCtx->uiOverlayVtx[21].v.ob[0] = pauseCtx->uiOverlayVtx[23].v.ob[0] =
+ pauseCtx->uiOverlayVtx[20].v.ob[0] + sToDecideTextWidths[gSaveContext.language];
- pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x300;
+ // UI_OVERLAY_QUAD_INFO_ICON
+ pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = gABtnSymbolTex_WIDTH * (1 << 5);
- pauseCtx->infoPanelVtx[21].v.tc[0] = pauseCtx->infoPanelVtx[23].v.tc[0] =
+ // UI_OVERLAY_QUAD_INFO_TEXT
+ pauseCtx->uiOverlayVtx[21].v.tc[0] = pauseCtx->uiOverlayVtx[23].v.tc[0] =
sToDecideTextWidths[gSaveContext.language] << 5;
gSPDisplayList(POLY_OPA_DISP++, gAButtonIconDL);
@@ -2000,12 +2024,13 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
sToDecideTextWidths[gSaveContext.language], 16, 4);
} else if (pauseCtx->cursorSpecialPos != 0) {
if ((pauseCtx->state == PAUSE_STATE_MAIN) && (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE)) {
- pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] = -63;
+ // UI_OVERLAY_QUAD_INFO_ICON
+ pauseCtx->uiOverlayVtx[16].v.ob[0] = pauseCtx->uiOverlayVtx[18].v.ob[0] = -63;
- pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] =
- pauseCtx->infoPanelVtx[16].v.ob[0] + 128;
+ pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
+ pauseCtx->uiOverlayVtx[16].v.ob[0] + 128;
- pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x1000;
+ pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = 128 * (1 << 5);
gDPPipeSync(POLY_OPA_DISP++);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 200, 0, 255);
@@ -2022,21 +2047,26 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
}
} else {
if ((u32)pauseCtx->pageIndex == PAUSE_ITEM) {
- pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] =
- R_KALEIDO_UNK1(gSaveContext.language);
+ // UI_OVERLAY_QUAD_INFO_ICON
+ pauseCtx->uiOverlayVtx[16].v.ob[0] = pauseCtx->uiOverlayVtx[18].v.ob[0] =
+ R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(gSaveContext.language);
- pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] =
- pauseCtx->infoPanelVtx[16].v.ob[0] + 48;
+ pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
+ pauseCtx->uiOverlayVtx[16].v.ob[0] + gCBtnSymbolsTex_WIDTH;
- pauseCtx->infoPanelVtx[20].v.ob[0] = pauseCtx->infoPanelVtx[22].v.ob[0] =
- pauseCtx->infoPanelVtx[16].v.ob[0] + R_KALEIDO_UNK4(gSaveContext.language);
+ // UI_OVERLAY_QUAD_INFO_TEXT
+ pauseCtx->uiOverlayVtx[20].v.ob[0] = pauseCtx->uiOverlayVtx[22].v.ob[0] =
+ pauseCtx->uiOverlayVtx[16].v.ob[0] + R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(gSaveContext.language);
- pauseCtx->infoPanelVtx[21].v.ob[0] = pauseCtx->infoPanelVtx[23].v.ob[0] =
- pauseCtx->infoPanelVtx[20].v.ob[0] + sToEquipTextWidths[gSaveContext.language];
+ pauseCtx->uiOverlayVtx[21].v.ob[0] = pauseCtx->uiOverlayVtx[23].v.ob[0] =
+ pauseCtx->uiOverlayVtx[20].v.ob[0] + sToEquipTextWidths[gSaveContext.language];
- pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x600;
+ // UI_OVERLAY_QUAD_INFO_ICON
+ pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] =
+ gCBtnSymbolsTex_WIDTH * (1 << 5);
- pauseCtx->infoPanelVtx[21].v.tc[0] = pauseCtx->infoPanelVtx[23].v.tc[0] =
+ // UI_OVERLAY_QUAD_INFO_TEXT
+ pauseCtx->uiOverlayVtx[21].v.tc[0] = pauseCtx->uiOverlayVtx[23].v.tc[0] =
sToEquipTextWidths[gSaveContext.language] << 5;
gSPDisplayList(POLY_OPA_DISP++, gCButtonIconsDL);
@@ -2051,28 +2081,33 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
} else if ((pauseCtx->pageIndex == PAUSE_QUEST) &&
((pauseCtx->cursorSlot[PAUSE_QUEST] >= 6) && (pauseCtx->cursorSlot[PAUSE_QUEST] <= 0x11))) {
if (pauseCtx->namedItem != PAUSE_ITEM_NONE) {
- pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] =
- R_KALEIDO_UNK3(gSaveContext.language);
+ // UI_OVERLAY_QUAD_INFO_ICON
+ pauseCtx->uiOverlayVtx[16].v.ob[0] = pauseCtx->uiOverlayVtx[18].v.ob[0] =
+ R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(gSaveContext.language);
- pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] =
- pauseCtx->infoPanelVtx[16].v.ob[0] + 24;
+ pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
+ pauseCtx->uiOverlayVtx[16].v.ob[0] + 24;
- pauseCtx->infoPanelVtx[20].v.ob[0] = pauseCtx->infoPanelVtx[22].v.ob[0] =
- pauseCtx->infoPanelVtx[16].v.ob[0] + R_KALEIDO_UNK2(gSaveContext.language);
+ // UI_OVERLAY_QUAD_INFO_TEXT
+ pauseCtx->uiOverlayVtx[20].v.ob[0] = pauseCtx->uiOverlayVtx[22].v.ob[0] =
+ pauseCtx->uiOverlayVtx[16].v.ob[0] + R_PAUSE_INFO_PANEL_TEXT_X(gSaveContext.language);
#if OOT_PAL
if (gSaveContext.language == LANGUAGE_GER) {
- pauseCtx->infoPanelVtx[20].v.ob[0] = pauseCtx->infoPanelVtx[22].v.ob[0] =
- pauseCtx->infoPanelVtx[16].v.ob[0] - 99;
+ pauseCtx->uiOverlayVtx[20].v.ob[0] = pauseCtx->uiOverlayVtx[22].v.ob[0] =
+ pauseCtx->uiOverlayVtx[16].v.ob[0] - 99;
}
#endif
- pauseCtx->infoPanelVtx[21].v.ob[0] = pauseCtx->infoPanelVtx[23].v.ob[0] =
- pauseCtx->infoPanelVtx[20].v.ob[0] + sToPlayMelodyTextWidths[gSaveContext.language];
+ pauseCtx->uiOverlayVtx[21].v.ob[0] = pauseCtx->uiOverlayVtx[23].v.ob[0] =
+ pauseCtx->uiOverlayVtx[20].v.ob[0] + sToPlayMelodyTextWidths[gSaveContext.language];
- pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x300;
+ // UI_OVERLAY_QUAD_INFO_ICON
+ pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] =
+ gABtnSymbolTex_WIDTH * (1 << 5);
- pauseCtx->infoPanelVtx[21].v.tc[0] = pauseCtx->infoPanelVtx[23].v.tc[0] =
+ // UI_OVERLAY_QUAD_INFO_TEXT
+ pauseCtx->uiOverlayVtx[21].v.tc[0] = pauseCtx->uiOverlayVtx[23].v.tc[0] =
sToPlayMelodyTextWidths[gSaveContext.language] << 5;
gSPDisplayList(POLY_OPA_DISP++, gAButtonIconDL);
@@ -2080,26 +2115,31 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
gDPPipeSync(POLY_OPA_DISP++);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255);
- POLY_OPA_DISP =
- KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, sToPlayMelodyTextTextures[gSaveContext.language],
- sToPlayMelodyTextWidths[gSaveContext.language], 16, 4);
+ POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(
+ POLY_OPA_DISP, sToPlayMelodyTextTextures[gSaveContext.language],
+ sToPlayMelodyTextWidths[gSaveContext.language], UI_OVERLAY_QUAD_INFO_TEXT_TEX_HEIGHT, 4);
}
} else if (pauseCtx->pageIndex == PAUSE_EQUIP) {
- pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] =
- R_KALEIDO_UNK6(gSaveContext.language);
+ // UI_OVERLAY_QUAD_INFO_ICON
+ pauseCtx->uiOverlayVtx[16].v.ob[0] = pauseCtx->uiOverlayVtx[18].v.ob[0] =
+ R_PAUSE_INFO_PANEL_ICON_EQUIP_X(gSaveContext.language);
- pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] =
- pauseCtx->infoPanelVtx[16].v.ob[0] + 24;
+ pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
+ pauseCtx->uiOverlayVtx[16].v.ob[0] + 24;
- pauseCtx->infoPanelVtx[20].v.ob[0] = pauseCtx->infoPanelVtx[22].v.ob[0] =
- pauseCtx->infoPanelVtx[16].v.ob[0] + R_KALEIDO_UNK2(gSaveContext.language);
+ // UI_OVERLAY_QUAD_INFO_TEXT
+ pauseCtx->uiOverlayVtx[20].v.ob[0] = pauseCtx->uiOverlayVtx[22].v.ob[0] =
+ pauseCtx->uiOverlayVtx[16].v.ob[0] + R_PAUSE_INFO_PANEL_TEXT_X(gSaveContext.language);
- pauseCtx->infoPanelVtx[21].v.ob[0] = pauseCtx->infoPanelVtx[23].v.ob[0] =
- pauseCtx->infoPanelVtx[20].v.ob[0] + sToEquipTextWidths[gSaveContext.language];
+ pauseCtx->uiOverlayVtx[21].v.ob[0] = pauseCtx->uiOverlayVtx[23].v.ob[0] =
+ pauseCtx->uiOverlayVtx[20].v.ob[0] + sToEquipTextWidths[gSaveContext.language];
- pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x300;
+ // UI_OVERLAY_QUAD_INFO_ICON
+ pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] =
+ gABtnSymbolTex_WIDTH * (1 << 5);
- pauseCtx->infoPanelVtx[21].v.tc[0] = pauseCtx->infoPanelVtx[23].v.tc[0] =
+ // UI_OVERLAY_QUAD_INFO_TEXT
+ pauseCtx->uiOverlayVtx[21].v.tc[0] = pauseCtx->uiOverlayVtx[23].v.tc[0] =
sToEquipTextWidths[gSaveContext.language] << 5;
gSPDisplayList(POLY_OPA_DISP++, gAButtonIconDL);
@@ -2202,11 +2242,11 @@ void KaleidoScope_UpdatePageSwitch(PlayState* play, Input* input) {
if (pauseCtx->nextPageMode) {}
if (pauseCtx->pageSwitchTimer < ((4 * PAGE_SWITCH_NSTEPS) / 2)) {
- WREG(16) -= WREG(25) / WREG(6);
- WREG(17) -= WREG(26) / WREG(6);
+ R_PAUSE_BUTTON_LEFT_X -= WREG(25) / WREG(6);
+ R_PAUSE_BUTTON_RIGHT_X -= WREG(26) / WREG(6);
} else {
- WREG(16) += WREG(25) / WREG(6);
- WREG(17) += WREG(26) / WREG(6);
+ R_PAUSE_BUTTON_LEFT_X += WREG(25) / WREG(6);
+ R_PAUSE_BUTTON_RIGHT_X += WREG(26) / WREG(6);
}
pauseCtx->pageSwitchTimer += 4;
@@ -3337,7 +3377,7 @@ void KaleidoScope_SetVertices(PlayState* play, GraphicsContext* gfxCtx) {
pauseCtx->questVtx[k + 3].v.cn[3] = pauseCtx->alpha;
}
- pauseCtx->infoPanelVtx = GRAPH_ALLOC(gfxCtx, 28 * sizeof(Vtx));
+ pauseCtx->uiOverlayVtx = GRAPH_ALLOC(gfxCtx, (UI_OVERLAY_QUAD_MAX * 4) * sizeof(Vtx));
pauseCtx->promptPageVtx = GRAPH_ALLOC(gfxCtx, ((PAGE_BG_QUADS + VTX_PAGE_PROMPT_QUADS) * 4) * sizeof(Vtx));
KaleidoScope_SetPageVertices(play, pauseCtx->promptPageVtx, VTX_PAGE_PROMPT, VTX_PAGE_PROMPT_QUADS);
@@ -3426,7 +3466,7 @@ void KaleidoScope_Draw(PlayState* play) {
KaleidoScope_SetView(pauseCtx, 0.0f, 0.0f, 64.0f);
if (!IS_PAUSE_STATE_GAMEOVER(pauseCtx)) {
- KaleidoScope_DrawInfoPanel(play);
+ KaleidoScope_DrawUIOverlay(play);
}
}
@@ -3690,8 +3730,8 @@ void KaleidoScope_Update(PlayState* play) {
pauseCtx->cursorSlot[PAUSE_MAP] = pauseCtx->cursorPoint[PAUSE_MAP] = pauseCtx->dungeonMapSlot =
VREG(30) + 3;
- WREG(16) = -175;
- WREG(17) = 155;
+ R_PAUSE_BUTTON_LEFT_X = -175;
+ R_PAUSE_BUTTON_RIGHT_X = 155;
pauseCtx->promptPitch = -314.0f;
@@ -4066,8 +4106,8 @@ void KaleidoScope_Update(PlayState* play) {
160.0f / WREG(6);
pauseCtx->infoPanelOffsetY += 40 / WREG(6);
interfaceCtx->startAlpha += 255 / WREG(6);
- WREG(16) += WREG(25) / WREG(6);
- WREG(17) += WREG(26) / WREG(6);
+ R_PAUSE_BUTTON_LEFT_X += WREG(25) / WREG(6);
+ R_PAUSE_BUTTON_RIGHT_X += WREG(26) / WREG(6);
XREG(5) += 150 / WREG(6);
pauseCtx->alpha += (u16)(255 / (WREG(6) + WREG(4)));
@@ -4225,8 +4265,9 @@ void KaleidoScope_Update(PlayState* play) {
switch (pauseCtx->savePromptState) {
case PAUSE_SAVE_PROMPT_STATE_APPEARING:
pauseCtx->promptPitch -= 314.0f / WREG(6);
- WREG(16) -= WREG(25) / WREG(6);
- WREG(17) -= WREG(26) / WREG(6);
+ R_PAUSE_BUTTON_LEFT_X -= WREG(25) / WREG(6);
+ R_PAUSE_BUTTON_RIGHT_X -= WREG(26) / WREG(6);
+
if (pauseCtx->promptPitch <= -628.0f) {
pauseCtx->promptPitch = -628.0f;
pauseCtx->savePromptState = PAUSE_SAVE_PROMPT_STATE_WAIT_CHOICE;
@@ -4295,8 +4336,9 @@ void KaleidoScope_Update(PlayState* play) {
case PAUSE_SAVE_PROMPT_STATE_RETURN_TO_MENU:
case PAUSE_SAVE_PROMPT_STATE_RETURN_TO_MENU_2:
pauseCtx->promptPitch += 314.0f / WREG(6);
- WREG(16) += WREG(25) / WREG(6);
- WREG(17) += WREG(26) / WREG(6);
+ R_PAUSE_BUTTON_LEFT_X += WREG(25) / WREG(6);
+ R_PAUSE_BUTTON_RIGHT_X += WREG(26) / WREG(6);
+
if (pauseCtx->promptPitch >= -314.0f) {
pauseCtx->state = PAUSE_STATE_MAIN;
pauseCtx->savePromptState = PAUSE_SAVE_PROMPT_STATE_APPEARING;
@@ -4313,8 +4355,8 @@ void KaleidoScope_Update(PlayState* play) {
pauseCtx->questPagePitch += 160.0f / WREG(6);
pauseCtx->promptPitch += 160.0f / WREG(6);
pauseCtx->infoPanelOffsetY -= 40 / WREG(6);
- WREG(16) -= WREG(25) / WREG(6);
- WREG(17) -= WREG(26) / WREG(6);
+ R_PAUSE_BUTTON_LEFT_X -= WREG(25) / WREG(6);
+ R_PAUSE_BUTTON_RIGHT_X -= WREG(26) / WREG(6);
XREG(5) -= 150 / WREG(6);
pauseCtx->alpha -= (u16)(255 / WREG(6));
if (pauseCtx->promptPitch == (YREG(8) + 160.0f)) {
@@ -4341,8 +4383,8 @@ void KaleidoScope_Update(PlayState* play) {
case PAUSE_STATE_GAME_OVER_INIT:
pauseCtx->cursorSlot[PAUSE_MAP] = pauseCtx->cursorPoint[PAUSE_MAP] = pauseCtx->dungeonMapSlot =
VREG(30) + 3;
- WREG(16) = -175;
- WREG(17) = 155;
+ R_PAUSE_BUTTON_LEFT_X = -175;
+ R_PAUSE_BUTTON_RIGHT_X = 155;
pauseCtx->promptPitch = -434.0f;
Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_NOTHING);
@@ -4486,8 +4528,8 @@ void KaleidoScope_Update(PlayState* play) {
pauseCtx->infoPanelOffsetY += 40 / WREG(6);
interfaceCtx->startAlpha += 255 / WREG(6);
VREG(88) -= 3;
- WREG(16) += WREG(25) / WREG(6);
- WREG(17) += WREG(26) / WREG(6);
+ R_PAUSE_BUTTON_LEFT_X += WREG(25) / WREG(6);
+ R_PAUSE_BUTTON_RIGHT_X += WREG(26) / WREG(6);
XREG(5) += 150 / WREG(6);
pauseCtx->alpha += (u16)(255 / (WREG(6) + WREG(4)));
if (pauseCtx->promptPitch < -628.0f) {
@@ -4654,8 +4696,8 @@ void KaleidoScope_Update(PlayState* play) {
pauseCtx->questPagePitch += 160.0f / WREG(6);
pauseCtx->infoPanelOffsetY -= 40 / WREG(6);
interfaceCtx->startAlpha -= 255 / WREG(6);
- WREG(16) -= WREG(25) / WREG(6);
- WREG(17) -= WREG(26) / WREG(6);
+ R_PAUSE_BUTTON_LEFT_X -= WREG(25) / WREG(6);
+ R_PAUSE_BUTTON_RIGHT_X -= WREG(26) / WREG(6);
XREG(5) -= 150 / WREG(6);
pauseCtx->alpha -= (u16)(255 / WREG(6));
if (pauseCtx->itemPagePitch == 160.0f) {
diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h
index 566b087e6..d19b5757a 100644
--- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h
+++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h
@@ -219,7 +219,29 @@ typedef enum ItemQuad {
} ItemQuad;
#define TO_PAGE_LABEL_TEX_WIDTH 128
-#define TO_PAGE_LABEL_TEX_HEIGHT 16
+#define TO_PAGE_LABEL_TEX_HEIGHT UI_OVERLAY_QUAD_INFO_TEXT_TEX_HEIGHT
+
+#define UI_OVERLAY_QUAD_BUTTON_LR_WIDTH 24
+#define UI_OVERLAY_QUAD_BUTTON_LR_HEIGHT 32
+#define UI_OVERLAY_QUAD_BUTTON_LR_TEX_WIDTH 24
+#define UI_OVERLAY_QUAD_BUTTON_LR_TEX_HEIGHT 32
+
+#define UI_OVERLAY_QUAD_INFO_ICON_HEIGHT 16
+#define UI_OVERLAY_QUAD_INFO_ICON_TEX_HEIGHT 16
+
+#define UI_OVERLAY_QUAD_INFO_TEXT_HEIGHT 16
+#define UI_OVERLAY_QUAD_INFO_TEXT_TEX_HEIGHT 16
+
+typedef enum UIOverlayQuad {
+ /* 0 */ UI_OVERLAY_QUAD_INFO_BG_LEFT, // The left half of the info plate background
+ /* 1 */ UI_OVERLAY_QUAD_INFO_BG_RIGHT, // The right half of the info plate background
+ /* 2 */ UI_OVERLAY_QUAD_BUTTON_LEFT, // The button for scrolling to the left page
+ /* 3 */ UI_OVERLAY_QUAD_BUTTON_RIGHT, // The button for scrolling to the right page
+ /* 4 */ UI_OVERLAY_QUAD_INFO_ICON, // The icon in the info plate
+ /* 5 */ UI_OVERLAY_QUAD_INFO_TEXT, // The text in the info plate
+ /* 6 */ UI_OVERLAY_QUAD_HAVE_ALL_GS, // On the overworld map page, the indicator that the selected area has been cleared of gold skulltulas
+ /* 7 */ UI_OVERLAY_QUAD_MAX
+} UIOverlayQuad;
void KaleidoScope_DrawQuestStatus(struct PlayState* play, GraphicsContext* gfxCtx);
s32 KaleidoScope_UpdateQuestStatusPoint(PauseContext* pauseCtx, s32 point);
diff --git a/tools/assets/extract/write_source.txt b/tools/assets/extract/write_source.txt
index 35b876ee4..e4171fb6a 100644
--- a/tools/assets/extract/write_source.txt
+++ b/tools/assets/extract/write_source.txt
@@ -353,16 +353,12 @@ assets/objects/object_tk/object_tk.c
assets/objects/object_toki_objects/object_toki_objects.c
assets/objects/object_torch2/object_torch2.c
assets/objects/object_toryo/object_toryo.c
-assets/objects/object_tp/object_tp.c
assets/objects/object_trap/object_trap.c
-assets/objects/object_triforce_spot/object_triforce_spot.c
assets/objects/object_tr/object_tr.c
assets/objects/object_ts/object_ts.c
assets/objects/object_tsubo/object_tsubo.c
assets/objects/object_tw/object_tw.c
-assets/objects/object_umajump/object_umajump.c
assets/objects/object_vali/object_vali.c
-assets/objects/object_vase/object_vase.c
assets/objects/object_vm/object_vm.c
assets/objects/object_wallmaster/object_wallmaster.c
assets/objects/object_warp1/object_warp1.c
@@ -372,9 +368,7 @@ assets/objects/object_wood02/object_wood02.c
assets/objects/object_xc/object_xc.c
assets/objects/object_yabusame_point/object_yabusame_point.c
assets/objects/object_ydan_objects/object_ydan_objects.c
-assets/objects/object_yukabyun/object_yukabyun.c
assets/objects/object_zf/object_zf.c
-assets/objects/object_zg/object_zg.c
assets/objects/object_zl1/object_zl1.c
assets/objects/object_zl2_anime1/object_zl2_anime1.c
assets/objects/object_zl2_anime2/object_zl2_anime2.c