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