diff --git a/assets/objects/object_link_boy/object_link_boy.c b/assets/objects/object_link_boy/object_link_boy.c
index de35c03b67..276e6b2b34 100644
--- a/assets/objects/object_link_boy/object_link_boy.c
+++ b/assets/objects/object_link_boy/object_link_boy.c
@@ -19,14 +19,14 @@ u64 gLinkAdultEyesClosedfTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_
#include "assets/objects/object_link_boy/gLinkAdultEyesClosedfTex.ci8.tlut_gLinkAdultHeadTLUT.inc.c"
};
-u64 gLinkAdultEyesLeftTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)] = {
-#include "assets/objects/object_link_boy/gLinkAdultEyesLeftTex.ci8.tlut_gLinkAdultHeadTLUT.inc.c"
-};
-
u64 gLinkAdultEyesRightTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)] = {
#include "assets/objects/object_link_boy/gLinkAdultEyesRightTex.ci8.tlut_gLinkAdultHeadTLUT.inc.c"
};
+u64 gLinkAdultEyesLeftTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)] = {
+#include "assets/objects/object_link_boy/gLinkAdultEyesLeftTex.ci8.tlut_gLinkAdultHeadTLUT.inc.c"
+};
+
u64 gLinkAdultEyesWideTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)] = {
#include "assets/objects/object_link_boy/gLinkAdultEyesWideTex.ci8.tlut_gLinkAdultHeadTLUT.inc.c"
};
diff --git a/assets/objects/object_link_boy/object_link_boy.h b/assets/objects/object_link_boy/object_link_boy.h
index d8b77c1048..8fadf32923 100644
--- a/assets/objects/object_link_boy/object_link_boy.h
+++ b/assets/objects/object_link_boy/object_link_boy.h
@@ -10,8 +10,8 @@
extern u64 gLinkAdultEyesOpenTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];
extern u64 gLinkAdultEyesHalfTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];
extern u64 gLinkAdultEyesClosedfTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];
-extern u64 gLinkAdultEyesLeftTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];
extern u64 gLinkAdultEyesRightTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];
+extern u64 gLinkAdultEyesLeftTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];
extern u64 gLinkAdultEyesWideTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];
extern u64 gLinkAdultEyesDownTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];
extern u64 gLinkAdultEyesWincingTex[TEX_LEN(u64, LINK_ADULT_EYES_TEX_WIDTH, LINK_ADULT_EYES_TEX_HEIGHT, 8)];
diff --git a/assets/textures/icon_item_24_static/icon_item_24_static.c b/assets/textures/icon_item_24_static/icon_item_24_static.c
new file mode 100644
index 0000000000..5afa6764c0
--- /dev/null
+++ b/assets/textures/icon_item_24_static/icon_item_24_static.c
@@ -0,0 +1,81 @@
+#include "icon_item_24_static.h"
+
+u64 gQuestIconMedallionForestTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconMedallionForestTex.rgba32.inc.c"
+};
+
+u64 gQuestIconMedallionFireTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconMedallionFireTex.rgba32.inc.c"
+};
+
+u64 gQuestIconMedallionWaterTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconMedallionWaterTex.rgba32.inc.c"
+};
+
+u64 gQuestIconMedallionSpiritTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconMedallionSpiritTex.rgba32.inc.c"
+};
+
+u64 gQuestIconMedallionShadowTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconMedallionShadowTex.rgba32.inc.c"
+};
+
+u64 gQuestIconMedallionLightTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconMedallionLightTex.rgba32.inc.c"
+};
+
+u64 gQuestIconKokiriEmeraldTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconKokiriEmeraldTex.rgba32.inc.c"
+};
+
+u64 gQuestIconGoronRubyTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconGoronRubyTex.rgba32.inc.c"
+};
+
+u64 gQuestIconZoraSapphireTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconZoraSapphireTex.rgba32.inc.c"
+};
+
+u64 gQuestIconStoneOfAgonyTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconStoneOfAgonyTex.rgba32.inc.c"
+};
+
+u64 gQuestIconGerudosCardTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconGerudosCardTex.rgba32.inc.c"
+};
+
+u64 gQuestIconGoldSkulltulaTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconGoldSkulltulaTex.rgba32.inc.c"
+};
+
+u64 gQuestIconHeartContainerTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconHeartContainerTex.rgba32.inc.c"
+};
+
+u64 gQuestIconHeartPieceTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconHeartPieceTex.rgba32.inc.c"
+};
+
+u64 gQuestIconDungeonBossKeyTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconDungeonBossKeyTex.rgba32.inc.c"
+};
+
+u64 gQuestIconDungeonCompassTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconDungeonCompassTex.rgba32.inc.c"
+};
+
+u64 gQuestIconDungeonMapTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconDungeonMapTex.rgba32.inc.c"
+};
+
+u64 gQuestIconSmallKeyTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconSmallKeyTex.rgba32.inc.c"
+};
+
+u64 gQuestIconMagicJarSmallTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconMagicJarSmallTex.rgba32.inc.c"
+};
+
+u64 gQuestIconMagicJarBigTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)] = {
+#include "assets/textures/icon_item_24_static/gQuestIconMagicJarBigTex.rgba32.inc.c"
+};
diff --git a/assets/textures/icon_item_24_static/icon_item_24_static.h b/assets/textures/icon_item_24_static/icon_item_24_static.h
new file mode 100644
index 0000000000..dbfa9c40e0
--- /dev/null
+++ b/assets/textures/icon_item_24_static/icon_item_24_static.h
@@ -0,0 +1,29 @@
+#ifndef ICON_ITEM_24_STATIC_H
+#define ICON_ITEM_24_STATIC_H
+
+#include "ultra64.h"
+#include "tex_len.h"
+#include "z64interface.h"
+
+extern u64 gQuestIconMedallionForestTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconMedallionFireTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconMedallionWaterTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconMedallionSpiritTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconMedallionShadowTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconMedallionLightTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconKokiriEmeraldTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconGoronRubyTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconZoraSapphireTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconStoneOfAgonyTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconGerudosCardTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconGoldSkulltulaTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconHeartContainerTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconHeartPieceTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconDungeonBossKeyTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconDungeonCompassTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconDungeonMapTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconSmallKeyTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconMagicJarSmallTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+extern u64 gQuestIconMagicJarBigTex[TEX_LEN(u64, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 32)];
+
+#endif
diff --git a/assets/textures/icon_item_fra_static/icon_item_fra_static.c b/assets/textures/icon_item_fra_static/icon_item_fra_static.c
new file mode 100644
index 0000000000..80dae50a8d
--- /dev/null
+++ b/assets/textures/icon_item_fra_static/icon_item_fra_static.c
@@ -0,0 +1,135 @@
+#include "icon_item_fra_static.h"
+
+u64 gPauseDekuTitleFRATex[TEX_LEN(u64, gPauseDekuTitleFRATex_WIDTH, gPauseDekuTitleFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseDekuTitleFRATex.ia8.inc.c"
+};
+
+u64 gPauseDodongoTitleFRATex[TEX_LEN(u64, gPauseDodongoTitleFRATex_WIDTH, gPauseDodongoTitleFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseDodongoTitleFRATex.ia8.inc.c"
+};
+
+u64 gPauseJabuTitleFRATex[TEX_LEN(u64, gPauseJabuTitleFRATex_WIDTH, gPauseJabuTitleFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseJabuTitleFRATex.ia8.inc.c"
+};
+
+u64 gPauseForestTitleFRATex[TEX_LEN(u64, gPauseForestTitleFRATex_WIDTH, gPauseForestTitleFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseForestTitleFRATex.ia8.inc.c"
+};
+
+u64 gPauseFireTitleFRATex[TEX_LEN(u64, gPauseFireTitleFRATex_WIDTH, gPauseFireTitleFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseFireTitleFRATex.ia8.inc.c"
+};
+
+u64 gPauseWaterTitleFRATex[TEX_LEN(u64, gPauseWaterTitleFRATex_WIDTH, gPauseWaterTitleFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseWaterTitleFRATex.ia8.inc.c"
+};
+
+u64 gPauseSpiritTitleFRATex[TEX_LEN(u64, gPauseSpiritTitleFRATex_WIDTH, gPauseSpiritTitleFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseSpiritTitleFRATex.ia8.inc.c"
+};
+
+u64 gPauseShadowTitleFRATex[TEX_LEN(u64, gPauseShadowTitleFRATex_WIDTH, gPauseShadowTitleFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseShadowTitleFRATex.ia8.inc.c"
+};
+
+u64 gPauseBotWTitleFRATex[TEX_LEN(u64, gPauseBotWTitleFRATex_WIDTH, gPauseBotWTitleFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseBotWTitleFRATex.ia8.inc.c"
+};
+
+u64 gPauseIceCavernTitleFRATex[TEX_LEN(u64, gPauseIceCavernTitleFRATex_WIDTH, gPauseIceCavernTitleFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseIceCavernTitleFRATex.ia8.inc.c"
+};
+
+u64 gPauseToEquipFRATex[TEX_LEN(u64, gPauseToEquipFRATex_WIDTH, gPauseToEquipFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseToEquipFRATex.ia8.inc.c"
+};
+
+u64 gPauseToDecideFRATex[TEX_LEN(u64, gPauseToDecideFRATex_WIDTH, gPauseToDecideFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseToDecideFRATex.ia8.inc.c"
+};
+
+u64 gPauseToPlayMelodyFRATex[TEX_LEN(u64, gPauseToPlayMelodyFRATex_WIDTH, gPauseToPlayMelodyFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseToPlayMelodyFRATex.ia8.inc.c"
+};
+
+u64 gPauseToSelectItemFRATex[TEX_LEN(u64, gPauseToSelectItemFRATex_WIDTH, gPauseToSelectItemFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseToSelectItemFRATex.ia8.inc.c"
+};
+
+u64 gPauseToMapFRATex[TEX_LEN(u64, gPauseToMapFRATex_WIDTH, gPauseToMapFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseToMapFRATex.ia8.inc.c"
+};
+
+u64 gPauseToQuestStatusFRATex[TEX_LEN(u64, gPauseToQuestStatusFRATex_WIDTH, gPauseToQuestStatusFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseToQuestStatusFRATex.ia8.inc.c"
+};
+
+u64 gPauseToEquipmentFRATex[TEX_LEN(u64, gPauseToEquipmentFRATex_WIDTH, gPauseToEquipmentFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseToEquipmentFRATex.ia8.inc.c"
+};
+
+u64 gPauseSavePromptFRATex[TEX_LEN(u64, gPauseSavePromptFRATex_WIDTH, gPauseSavePromptFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseSavePromptFRATex.ia8.inc.c"
+};
+
+u64 gPauseSaveConfirmationFRATex[TEX_LEN(u64, gPauseSaveConfirmationFRATex_WIDTH, gPauseSaveConfirmationFRATex_HEIGHT,
+ 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseSaveConfirmationFRATex.ia8.inc.c"
+};
+
+u64 gPauseYesFRATex[TEX_LEN(u64, gPauseYesFRATex_WIDTH, gPauseYesFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseYesFRATex.ia8.inc.c"
+};
+
+u64 gPauseNoFRATex[TEX_LEN(u64, gPauseNoFRATex_WIDTH, gPauseNoFRATex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseNoFRATex.ia8.inc.c"
+};
+
+u64 gPauseCurrentPositionFRATex[TEX_LEN(u64, gPauseCurrentPositionFRATex_WIDTH, gPauseCurrentPositionFRATex_HEIGHT,
+ 4)] = {
+#include "assets/textures/icon_item_fra_static/gPauseCurrentPositionFRATex.i4.inc.c"
+};
+
+u64 gPauseEquipment00FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseEquipment00FRATex.ia8.inc.c"
+};
+
+u64 gPauseEquipment10FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseEquipment10FRATex.ia8.inc.c"
+};
+
+u64 gPauseEquipment20FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseEquipment20FRATex.ia8.inc.c"
+};
+
+u64 gPauseSelectItem00FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseSelectItem00FRATex.ia8.inc.c"
+};
+
+u64 gPauseSelectItem10FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseSelectItem10FRATex.ia8.inc.c"
+};
+
+u64 gPauseSelectItem20FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseSelectItem20FRATex.ia8.inc.c"
+};
+
+u64 gPauseMap10FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseMap10FRATex.ia8.inc.c"
+};
+
+u64 gPauseQuestStatus10FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseQuestStatus10FRATex.ia8.inc.c"
+};
+
+u64 gPauseSave00FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseSave00FRATex.ia8.inc.c"
+};
+
+u64 gPauseSave10FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseSave10FRATex.ia8.inc.c"
+};
+
+u64 gPauseSave20FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_fra_static/gPauseSave20FRATex.ia8.inc.c"
+};
diff --git a/assets/textures/icon_item_fra_static/icon_item_fra_static.h b/assets/textures/icon_item_fra_static/icon_item_fra_static.h
new file mode 100644
index 0000000000..2a7152a416
--- /dev/null
+++ b/assets/textures/icon_item_fra_static/icon_item_fra_static.h
@@ -0,0 +1,87 @@
+#ifndef ICON_ITEM_FRA_STATIC_H
+#define ICON_ITEM_FRA_STATIC_H
+
+#include "ultra64.h"
+#include "tex_len.h"
+#include "src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h"
+
+#define gPauseDekuTitleFRATex_WIDTH 96
+#define gPauseDekuTitleFRATex_HEIGHT 16
+extern u64 gPauseDekuTitleFRATex[TEX_LEN(u64, gPauseDekuTitleFRATex_WIDTH, gPauseDekuTitleFRATex_HEIGHT, 8)];
+#define gPauseDodongoTitleFRATex_WIDTH 96
+#define gPauseDodongoTitleFRATex_HEIGHT 16
+extern u64 gPauseDodongoTitleFRATex[TEX_LEN(u64, gPauseDodongoTitleFRATex_WIDTH, gPauseDodongoTitleFRATex_HEIGHT, 8)];
+#define gPauseJabuTitleFRATex_WIDTH 96
+#define gPauseJabuTitleFRATex_HEIGHT 16
+extern u64 gPauseJabuTitleFRATex[TEX_LEN(u64, gPauseJabuTitleFRATex_WIDTH, gPauseJabuTitleFRATex_HEIGHT, 8)];
+#define gPauseForestTitleFRATex_WIDTH 96
+#define gPauseForestTitleFRATex_HEIGHT 16
+extern u64 gPauseForestTitleFRATex[TEX_LEN(u64, gPauseForestTitleFRATex_WIDTH, gPauseForestTitleFRATex_HEIGHT, 8)];
+#define gPauseFireTitleFRATex_WIDTH 96
+#define gPauseFireTitleFRATex_HEIGHT 16
+extern u64 gPauseFireTitleFRATex[TEX_LEN(u64, gPauseFireTitleFRATex_WIDTH, gPauseFireTitleFRATex_HEIGHT, 8)];
+#define gPauseWaterTitleFRATex_WIDTH 96
+#define gPauseWaterTitleFRATex_HEIGHT 16
+extern u64 gPauseWaterTitleFRATex[TEX_LEN(u64, gPauseWaterTitleFRATex_WIDTH, gPauseWaterTitleFRATex_HEIGHT, 8)];
+#define gPauseSpiritTitleFRATex_WIDTH 96
+#define gPauseSpiritTitleFRATex_HEIGHT 16
+extern u64 gPauseSpiritTitleFRATex[TEX_LEN(u64, gPauseSpiritTitleFRATex_WIDTH, gPauseSpiritTitleFRATex_HEIGHT, 8)];
+#define gPauseShadowTitleFRATex_WIDTH 96
+#define gPauseShadowTitleFRATex_HEIGHT 16
+extern u64 gPauseShadowTitleFRATex[TEX_LEN(u64, gPauseShadowTitleFRATex_WIDTH, gPauseShadowTitleFRATex_HEIGHT, 8)];
+#define gPauseBotWTitleFRATex_WIDTH 96
+#define gPauseBotWTitleFRATex_HEIGHT 16
+extern u64 gPauseBotWTitleFRATex[TEX_LEN(u64, gPauseBotWTitleFRATex_WIDTH, gPauseBotWTitleFRATex_HEIGHT, 8)];
+#define gPauseIceCavernTitleFRATex_WIDTH 96
+#define gPauseIceCavernTitleFRATex_HEIGHT 16
+extern u64 gPauseIceCavernTitleFRATex[TEX_LEN(u64, gPauseIceCavernTitleFRATex_WIDTH, gPauseIceCavernTitleFRATex_HEIGHT, 8)];
+#define gPauseToEquipFRATex_WIDTH 80
+#define gPauseToEquipFRATex_HEIGHT 16
+extern u64 gPauseToEquipFRATex[TEX_LEN(u64, gPauseToEquipFRATex_WIDTH, gPauseToEquipFRATex_HEIGHT, 8)];
+#define gPauseToDecideFRATex_WIDTH 72
+#define gPauseToDecideFRATex_HEIGHT 16
+extern u64 gPauseToDecideFRATex[TEX_LEN(u64, gPauseToDecideFRATex_WIDTH, gPauseToDecideFRATex_HEIGHT, 8)];
+#define gPauseToPlayMelodyFRATex_WIDTH 112
+#define gPauseToPlayMelodyFRATex_HEIGHT 16
+extern u64 gPauseToPlayMelodyFRATex[TEX_LEN(u64, gPauseToPlayMelodyFRATex_WIDTH, gPauseToPlayMelodyFRATex_HEIGHT, 8)];
+#define gPauseToSelectItemFRATex_WIDTH 128
+#define gPauseToSelectItemFRATex_HEIGHT 16
+extern u64 gPauseToSelectItemFRATex[TEX_LEN(u64, gPauseToSelectItemFRATex_WIDTH, gPauseToSelectItemFRATex_HEIGHT, 8)];
+#define gPauseToMapFRATex_WIDTH 128
+#define gPauseToMapFRATex_HEIGHT 16
+extern u64 gPauseToMapFRATex[TEX_LEN(u64, gPauseToMapFRATex_WIDTH, gPauseToMapFRATex_HEIGHT, 8)];
+#define gPauseToQuestStatusFRATex_WIDTH 128
+#define gPauseToQuestStatusFRATex_HEIGHT 16
+extern u64 gPauseToQuestStatusFRATex[TEX_LEN(u64, gPauseToQuestStatusFRATex_WIDTH, gPauseToQuestStatusFRATex_HEIGHT, 8)];
+#define gPauseToEquipmentFRATex_WIDTH 128
+#define gPauseToEquipmentFRATex_HEIGHT 16
+extern u64 gPauseToEquipmentFRATex[TEX_LEN(u64, gPauseToEquipmentFRATex_WIDTH, gPauseToEquipmentFRATex_HEIGHT, 8)];
+#define gPauseSavePromptFRATex_WIDTH 152
+#define gPauseSavePromptFRATex_HEIGHT 16
+extern u64 gPauseSavePromptFRATex[TEX_LEN(u64, gPauseSavePromptFRATex_WIDTH, gPauseSavePromptFRATex_HEIGHT, 8)];
+#define gPauseSaveConfirmationFRATex_WIDTH 152
+#define gPauseSaveConfirmationFRATex_HEIGHT 16
+extern u64 gPauseSaveConfirmationFRATex[TEX_LEN(u64, gPauseSaveConfirmationFRATex_WIDTH, gPauseSaveConfirmationFRATex_HEIGHT, 8)];
+#define gPauseYesFRATex_WIDTH 48
+#define gPauseYesFRATex_HEIGHT 16
+extern u64 gPauseYesFRATex[TEX_LEN(u64, gPauseYesFRATex_WIDTH, gPauseYesFRATex_HEIGHT, 8)];
+#define gPauseNoFRATex_WIDTH 48
+#define gPauseNoFRATex_HEIGHT 16
+extern u64 gPauseNoFRATex[TEX_LEN(u64, gPauseNoFRATex_WIDTH, gPauseNoFRATex_HEIGHT, 8)];
+#define gPauseCurrentPositionFRATex_WIDTH 64
+#define gPauseCurrentPositionFRATex_HEIGHT 8
+extern u64 gPauseCurrentPositionFRATex[TEX_LEN(u64, gPauseCurrentPositionFRATex_WIDTH, gPauseCurrentPositionFRATex_HEIGHT, 4)];
+
+extern u64 gPauseEquipment00FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseEquipment10FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseEquipment20FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSelectItem00FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSelectItem10FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSelectItem20FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseMap10FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseQuestStatus10FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSave00FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSave10FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSave20FRATex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+
+#endif
diff --git a/assets/textures/icon_item_ger_static/icon_item_ger_static.c b/assets/textures/icon_item_ger_static/icon_item_ger_static.c
new file mode 100644
index 0000000000..379f7f6816
--- /dev/null
+++ b/assets/textures/icon_item_ger_static/icon_item_ger_static.c
@@ -0,0 +1,131 @@
+#include "icon_item_ger_static.h"
+
+u64 gPauseDekuTitleGERTex[TEX_LEN(u64, gPauseDekuTitleGERTex_WIDTH, gPauseDekuTitleGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseDekuTitleGERTex.ia8.inc.c"
+};
+
+u64 gPauseDodongoTitleGERTex[TEX_LEN(u64, gPauseDodongoTitleGERTex_WIDTH, gPauseDodongoTitleGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseDodongoTitleGERTex.ia8.inc.c"
+};
+
+u64 gPauseJabuTitleGERTex[TEX_LEN(u64, gPauseJabuTitleGERTex_WIDTH, gPauseJabuTitleGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseJabuTitleGERTex.ia8.inc.c"
+};
+
+u64 gPauseForestTitleGERTex[TEX_LEN(u64, gPauseForestTitleGERTex_WIDTH, gPauseForestTitleGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseForestTitleGERTex.ia8.inc.c"
+};
+
+u64 gPauseFireTitleGERTex[TEX_LEN(u64, gPauseFireTitleGERTex_WIDTH, gPauseFireTitleGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseFireTitleGERTex.ia8.inc.c"
+};
+
+u64 gPauseWaterTitleGERTex[TEX_LEN(u64, gPauseWaterTitleGERTex_WIDTH, gPauseWaterTitleGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseWaterTitleGERTex.ia8.inc.c"
+};
+
+u64 gPauseSpiritTitleGERTex[TEX_LEN(u64, gPauseSpiritTitleGERTex_WIDTH, gPauseSpiritTitleGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseSpiritTitleGERTex.ia8.inc.c"
+};
+
+u64 gPauseShadowTitleGERTex[TEX_LEN(u64, gPauseShadowTitleGERTex_WIDTH, gPauseShadowTitleGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseShadowTitleGERTex.ia8.inc.c"
+};
+
+u64 gPauseBotWTitleGERTex[TEX_LEN(u64, gPauseBotWTitleGERTex_WIDTH, gPauseBotWTitleGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseBotWTitleGERTex.ia8.inc.c"
+};
+
+u64 gPauseIceCavernTitleGERTex[TEX_LEN(u64, gPauseIceCavernTitleGERTex_WIDTH, gPauseIceCavernTitleGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseIceCavernTitleGERTex.ia8.inc.c"
+};
+
+u64 gPauseToEquipGERTex[TEX_LEN(u64, gPauseToEquipGERTex_WIDTH, gPauseToEquipGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseToEquipGERTex.ia8.inc.c"
+};
+
+u64 gPauseToDecideGERTex[TEX_LEN(u64, gPauseToDecideGERTex_WIDTH, gPauseToDecideGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseToDecideGERTex.ia8.inc.c"
+};
+
+u64 gPauseToPlayMelodyGERTex[TEX_LEN(u64, gPauseToPlayMelodyGERTex_WIDTH, gPauseToPlayMelodyGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseToPlayMelodyGERTex.ia8.inc.c"
+};
+
+u64 gPauseToSelectItemGERTex[TEX_LEN(u64, gPauseToSelectItemGERTex_WIDTH, gPauseToSelectItemGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseToSelectItemGERTex.ia8.inc.c"
+};
+
+u64 gPauseToMapGERTex[TEX_LEN(u64, gPauseToMapGERTex_WIDTH, gPauseToMapGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseToMapGERTex.ia8.inc.c"
+};
+
+u64 gPauseToQuestStatusGERTex[TEX_LEN(u64, gPauseToQuestStatusGERTex_WIDTH, gPauseToQuestStatusGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseToQuestStatusGERTex.ia8.inc.c"
+};
+
+u64 gPauseToEquipmentGERTex[TEX_LEN(u64, gPauseToEquipmentGERTex_WIDTH, gPauseToEquipmentGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseToEquipmentGERTex.ia8.inc.c"
+};
+
+u64 gPauseSavePromptGERTex[TEX_LEN(u64, gPauseSavePromptGERTex_WIDTH, gPauseSavePromptGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseSavePromptGERTex.ia8.inc.c"
+};
+
+u64 gPauseSaveConfirmationGERTex[TEX_LEN(u64, gPauseSaveConfirmationGERTex_WIDTH, gPauseSaveConfirmationGERTex_HEIGHT,
+ 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseSaveConfirmationGERTex.ia8.inc.c"
+};
+
+u64 gPauseYesGERTex[TEX_LEN(u64, gPauseYesGERTex_WIDTH, gPauseYesGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseYesGERTex.ia8.inc.c"
+};
+
+u64 gPauseNoGERTex[TEX_LEN(u64, gPauseNoGERTex_WIDTH, gPauseNoGERTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseNoGERTex.ia8.inc.c"
+};
+
+u64 gPauseCurrentPositionGERTex[TEX_LEN(u64, gPauseCurrentPositionGERTex_WIDTH, gPauseCurrentPositionGERTex_HEIGHT,
+ 4)] = {
+#include "assets/textures/icon_item_ger_static/gPauseCurrentPositionGERTex.i4.inc.c"
+};
+
+u64 gPauseEquipment00GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseEquipment00GERTex.ia8.inc.c"
+};
+
+u64 gPauseEquipment10GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseEquipment10GERTex.ia8.inc.c"
+};
+
+u64 gPauseEquipment20GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseEquipment20GERTex.ia8.inc.c"
+};
+
+u64 gPauseSelectItem00GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseSelectItem00GERTex.ia8.inc.c"
+};
+
+u64 gPauseSelectItem10GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseSelectItem10GERTex.ia8.inc.c"
+};
+
+u64 gPauseSelectItem20GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseSelectItem20GERTex.ia8.inc.c"
+};
+
+u64 gPauseMap10GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseMap10GERTex.ia8.inc.c"
+};
+
+u64 gPauseQuestStatus10GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseQuestStatus10GERTex.ia8.inc.c"
+};
+
+u64 gPauseSave10GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseSave10GERTex.ia8.inc.c"
+};
+
+u64 gPauseSave20GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_ger_static/gPauseSave20GERTex.ia8.inc.c"
+};
diff --git a/assets/textures/icon_item_ger_static/icon_item_ger_static.h b/assets/textures/icon_item_ger_static/icon_item_ger_static.h
new file mode 100644
index 0000000000..bd69237b9a
--- /dev/null
+++ b/assets/textures/icon_item_ger_static/icon_item_ger_static.h
@@ -0,0 +1,86 @@
+#ifndef ICON_ITEM_GER_STATIC_H
+#define ICON_ITEM_GER_STATIC_H
+
+#include "ultra64.h"
+#include "tex_len.h"
+#include "src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h"
+
+#define gPauseDekuTitleGERTex_WIDTH 96
+#define gPauseDekuTitleGERTex_HEIGHT 16
+extern u64 gPauseDekuTitleGERTex[TEX_LEN(u64, gPauseDekuTitleGERTex_WIDTH, gPauseDekuTitleGERTex_HEIGHT, 8)];
+#define gPauseDodongoTitleGERTex_WIDTH 96
+#define gPauseDodongoTitleGERTex_HEIGHT 16
+extern u64 gPauseDodongoTitleGERTex[TEX_LEN(u64, gPauseDodongoTitleGERTex_WIDTH, gPauseDodongoTitleGERTex_HEIGHT, 8)];
+#define gPauseJabuTitleGERTex_WIDTH 96
+#define gPauseJabuTitleGERTex_HEIGHT 16
+extern u64 gPauseJabuTitleGERTex[TEX_LEN(u64, gPauseJabuTitleGERTex_WIDTH, gPauseJabuTitleGERTex_HEIGHT, 8)];
+#define gPauseForestTitleGERTex_WIDTH 96
+#define gPauseForestTitleGERTex_HEIGHT 16
+extern u64 gPauseForestTitleGERTex[TEX_LEN(u64, gPauseForestTitleGERTex_WIDTH, gPauseForestTitleGERTex_HEIGHT, 8)];
+#define gPauseFireTitleGERTex_WIDTH 96
+#define gPauseFireTitleGERTex_HEIGHT 16
+extern u64 gPauseFireTitleGERTex[TEX_LEN(u64, gPauseFireTitleGERTex_WIDTH, gPauseFireTitleGERTex_HEIGHT, 8)];
+#define gPauseWaterTitleGERTex_WIDTH 96
+#define gPauseWaterTitleGERTex_HEIGHT 16
+extern u64 gPauseWaterTitleGERTex[TEX_LEN(u64, gPauseWaterTitleGERTex_WIDTH, gPauseWaterTitleGERTex_HEIGHT, 8)];
+#define gPauseSpiritTitleGERTex_WIDTH 96
+#define gPauseSpiritTitleGERTex_HEIGHT 16
+extern u64 gPauseSpiritTitleGERTex[TEX_LEN(u64, gPauseSpiritTitleGERTex_WIDTH, gPauseSpiritTitleGERTex_HEIGHT, 8)];
+#define gPauseShadowTitleGERTex_WIDTH 96
+#define gPauseShadowTitleGERTex_HEIGHT 16
+extern u64 gPauseShadowTitleGERTex[TEX_LEN(u64, gPauseShadowTitleGERTex_WIDTH, gPauseShadowTitleGERTex_HEIGHT, 8)];
+#define gPauseBotWTitleGERTex_WIDTH 96
+#define gPauseBotWTitleGERTex_HEIGHT 16
+extern u64 gPauseBotWTitleGERTex[TEX_LEN(u64, gPauseBotWTitleGERTex_WIDTH, gPauseBotWTitleGERTex_HEIGHT, 8)];
+#define gPauseIceCavernTitleGERTex_WIDTH 96
+#define gPauseIceCavernTitleGERTex_HEIGHT 16
+extern u64 gPauseIceCavernTitleGERTex[TEX_LEN(u64, gPauseIceCavernTitleGERTex_WIDTH, gPauseIceCavernTitleGERTex_HEIGHT, 8)];
+#define gPauseToEquipGERTex_WIDTH 88
+#define gPauseToEquipGERTex_HEIGHT 16
+extern u64 gPauseToEquipGERTex[TEX_LEN(u64, gPauseToEquipGERTex_WIDTH, gPauseToEquipGERTex_HEIGHT, 8)];
+#define gPauseToDecideGERTex_WIDTH 88
+#define gPauseToDecideGERTex_HEIGHT 16
+extern u64 gPauseToDecideGERTex[TEX_LEN(u64, gPauseToDecideGERTex_WIDTH, gPauseToDecideGERTex_HEIGHT, 8)];
+#define gPauseToPlayMelodyGERTex_WIDTH 104
+#define gPauseToPlayMelodyGERTex_HEIGHT 16
+extern u64 gPauseToPlayMelodyGERTex[TEX_LEN(u64, gPauseToPlayMelodyGERTex_WIDTH, gPauseToPlayMelodyGERTex_HEIGHT, 8)];
+#define gPauseToSelectItemGERTex_WIDTH 128
+#define gPauseToSelectItemGERTex_HEIGHT 16
+extern u64 gPauseToSelectItemGERTex[TEX_LEN(u64, gPauseToSelectItemGERTex_WIDTH, gPauseToSelectItemGERTex_HEIGHT, 8)];
+#define gPauseToMapGERTex_WIDTH 128
+#define gPauseToMapGERTex_HEIGHT 16
+extern u64 gPauseToMapGERTex[TEX_LEN(u64, gPauseToMapGERTex_WIDTH, gPauseToMapGERTex_HEIGHT, 8)];
+#define gPauseToQuestStatusGERTex_WIDTH 128
+#define gPauseToQuestStatusGERTex_HEIGHT 16
+extern u64 gPauseToQuestStatusGERTex[TEX_LEN(u64, gPauseToQuestStatusGERTex_WIDTH, gPauseToQuestStatusGERTex_HEIGHT, 8)];
+#define gPauseToEquipmentGERTex_WIDTH 128
+#define gPauseToEquipmentGERTex_HEIGHT 16
+extern u64 gPauseToEquipmentGERTex[TEX_LEN(u64, gPauseToEquipmentGERTex_WIDTH, gPauseToEquipmentGERTex_HEIGHT, 8)];
+#define gPauseSavePromptGERTex_WIDTH 152
+#define gPauseSavePromptGERTex_HEIGHT 16
+extern u64 gPauseSavePromptGERTex[TEX_LEN(u64, gPauseSavePromptGERTex_WIDTH, gPauseSavePromptGERTex_HEIGHT, 8)];
+#define gPauseSaveConfirmationGERTex_WIDTH 152
+#define gPauseSaveConfirmationGERTex_HEIGHT 16
+extern u64 gPauseSaveConfirmationGERTex[TEX_LEN(u64, gPauseSaveConfirmationGERTex_WIDTH, gPauseSaveConfirmationGERTex_HEIGHT, 8)];
+#define gPauseYesGERTex_WIDTH 48
+#define gPauseYesGERTex_HEIGHT 16
+extern u64 gPauseYesGERTex[TEX_LEN(u64, gPauseYesGERTex_WIDTH, gPauseYesGERTex_HEIGHT, 8)];
+#define gPauseNoGERTex_WIDTH 48
+#define gPauseNoGERTex_HEIGHT 16
+extern u64 gPauseNoGERTex[TEX_LEN(u64, gPauseNoGERTex_WIDTH, gPauseNoGERTex_HEIGHT, 8)];
+#define gPauseCurrentPositionGERTex_WIDTH 64
+#define gPauseCurrentPositionGERTex_HEIGHT 8
+extern u64 gPauseCurrentPositionGERTex[TEX_LEN(u64, gPauseCurrentPositionGERTex_WIDTH, gPauseCurrentPositionGERTex_HEIGHT, 4)];
+
+extern u64 gPauseEquipment00GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseEquipment10GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseEquipment20GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSelectItem00GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSelectItem10GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSelectItem20GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseMap10GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseQuestStatus10GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSave10GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSave20GERTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+
+#endif
diff --git a/assets/textures/icon_item_jpn_static/icon_item_jpn_static.c b/assets/textures/icon_item_jpn_static/icon_item_jpn_static.c
new file mode 100644
index 0000000000..92d56b0724
--- /dev/null
+++ b/assets/textures/icon_item_jpn_static/icon_item_jpn_static.c
@@ -0,0 +1,127 @@
+#include "icon_item_jpn_static.h"
+
+u64 gPauseDekuTitleJPNTex[TEX_LEN(u64, gPauseDekuTitleJPNTex_WIDTH, gPauseDekuTitleJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseDekuTitleJPNTex.ia8.inc.c"
+};
+
+u64 gPauseDodongoTitleJPNTex[TEX_LEN(u64, gPauseDodongoTitleJPNTex_WIDTH, gPauseDodongoTitleJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseDodongoTitleJPNTex.ia8.inc.c"
+};
+
+u64 gPauseJabuTitleJPNTex[TEX_LEN(u64, gPauseJabuTitleJPNTex_WIDTH, gPauseJabuTitleJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseJabuTitleJPNTex.ia8.inc.c"
+};
+
+u64 gPauseForestTitleJPNTex[TEX_LEN(u64, gPauseForestTitleJPNTex_WIDTH, gPauseForestTitleJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseForestTitleJPNTex.ia8.inc.c"
+};
+
+u64 gPauseFireTitleJPNTex[TEX_LEN(u64, gPauseFireTitleJPNTex_WIDTH, gPauseFireTitleJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseFireTitleJPNTex.ia8.inc.c"
+};
+
+u64 gPauseWaterTitleJPNTex[TEX_LEN(u64, gPauseWaterTitleJPNTex_WIDTH, gPauseWaterTitleJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseWaterTitleJPNTex.ia8.inc.c"
+};
+
+u64 gPauseSpiritTitleJPNTex[TEX_LEN(u64, gPauseSpiritTitleJPNTex_WIDTH, gPauseSpiritTitleJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseSpiritTitleJPNTex.ia8.inc.c"
+};
+
+u64 gPauseShadowTitleJPNTex[TEX_LEN(u64, gPauseShadowTitleJPNTex_WIDTH, gPauseShadowTitleJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseShadowTitleJPNTex.ia8.inc.c"
+};
+
+u64 gPauseBotWTitleJPNTex[TEX_LEN(u64, gPauseBotWTitleJPNTex_WIDTH, gPauseBotWTitleJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseBotWTitleJPNTex.ia8.inc.c"
+};
+
+u64 gPauseIceCavernTitleJPNTex[TEX_LEN(u64, gPauseIceCavernTitleJPNTex_WIDTH, gPauseIceCavernTitleJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseIceCavernTitleJPNTex.ia8.inc.c"
+};
+
+u64 gPauseToEquipJPNTex[TEX_LEN(u64, gPauseToEquipJPNTex_WIDTH, gPauseToEquipJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseToEquipJPNTex.ia8.inc.c"
+};
+
+u64 gPauseToDecideJPNTex[TEX_LEN(u64, gPauseToDecideJPNTex_WIDTH, gPauseToDecideJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseToDecideJPNTex.ia8.inc.c"
+};
+
+u64 gPauseToPlayMelodyJPNTex[TEX_LEN(u64, gPauseToPlayMelodyJPNTex_WIDTH, gPauseToPlayMelodyJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseToPlayMelodyJPNTex.ia8.inc.c"
+};
+
+u64 gPauseToSelectItemJPNTex[TEX_LEN(u64, gPauseToSelectItemJPNTex_WIDTH, gPauseToSelectItemJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseToSelectItemJPNTex.ia8.inc.c"
+};
+
+u64 gPauseToMapJPNTex[TEX_LEN(u64, gPauseToMapJPNTex_WIDTH, gPauseToMapJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseToMapJPNTex.ia8.inc.c"
+};
+
+u64 gPauseToQuestStatusJPNTex[TEX_LEN(u64, gPauseToQuestStatusJPNTex_WIDTH, gPauseToQuestStatusJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseToQuestStatusJPNTex.ia8.inc.c"
+};
+
+u64 gPauseToEquipmentJPNTex[TEX_LEN(u64, gPauseToEquipmentJPNTex_WIDTH, gPauseToEquipmentJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseToEquipmentJPNTex.ia8.inc.c"
+};
+
+u64 gPauseSavePromptJPNTex[TEX_LEN(u64, gPauseSavePromptJPNTex_WIDTH, gPauseSavePromptJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseSavePromptJPNTex.ia8.inc.c"
+};
+
+u64 gPauseSaveConfirmationJPNTex[TEX_LEN(u64, gPauseSaveConfirmationJPNTex_WIDTH, gPauseSaveConfirmationJPNTex_HEIGHT,
+ 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseSaveConfirmationJPNTex.ia8.inc.c"
+};
+
+u64 gPauseYesJPNTex[TEX_LEN(u64, gPauseYesJPNTex_WIDTH, gPauseYesJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseYesJPNTex.ia8.inc.c"
+};
+
+u64 gPauseNoJPNTex[TEX_LEN(u64, gPauseNoJPNTex_WIDTH, gPauseNoJPNTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseNoJPNTex.ia8.inc.c"
+};
+
+u64 gPauseCurrentPositionJPNTex[TEX_LEN(u64, gPauseCurrentPositionJPNTex_WIDTH, gPauseCurrentPositionJPNTex_HEIGHT,
+ 4)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseCurrentPositionJPNTex.i4.inc.c"
+};
+
+u64 gPauseEquipment10JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseEquipment10JPNTex.ia8.inc.c"
+};
+
+u64 gPauseSelectItem00JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseSelectItem00JPNTex.ia8.inc.c"
+};
+
+u64 gPauseSelectItem10JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseSelectItem10JPNTex.ia8.inc.c"
+};
+
+u64 gPauseSelectItem20JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseSelectItem20JPNTex.ia8.inc.c"
+};
+
+u64 gPauseMap10JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseMap10JPNTex.ia8.inc.c"
+};
+
+u64 gPauseQuestStatus00JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseQuestStatus00JPNTex.ia8.inc.c"
+};
+
+u64 gPauseQuestStatus10JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseQuestStatus10JPNTex.ia8.inc.c"
+};
+
+u64 gPauseQuestStatus20JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseQuestStatus20JPNTex.ia8.inc.c"
+};
+
+u64 gPauseSave10JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_jpn_static/gPauseSave10JPNTex.ia8.inc.c"
+};
diff --git a/assets/textures/icon_item_jpn_static/icon_item_jpn_static.h b/assets/textures/icon_item_jpn_static/icon_item_jpn_static.h
new file mode 100644
index 0000000000..bd21c0a74e
--- /dev/null
+++ b/assets/textures/icon_item_jpn_static/icon_item_jpn_static.h
@@ -0,0 +1,85 @@
+#ifndef ICON_ITEM_JPN_STATIC_H
+#define ICON_ITEM_JPN_STATIC_H
+
+#include "ultra64.h"
+#include "tex_len.h"
+#include "src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h"
+
+#define gPauseDekuTitleJPNTex_WIDTH 96
+#define gPauseDekuTitleJPNTex_HEIGHT 16
+extern u64 gPauseDekuTitleJPNTex[TEX_LEN(u64, gPauseDekuTitleJPNTex_WIDTH, gPauseDekuTitleJPNTex_HEIGHT, 8)];
+#define gPauseDodongoTitleJPNTex_WIDTH 96
+#define gPauseDodongoTitleJPNTex_HEIGHT 16
+extern u64 gPauseDodongoTitleJPNTex[TEX_LEN(u64, gPauseDodongoTitleJPNTex_WIDTH, gPauseDodongoTitleJPNTex_HEIGHT, 8)];
+#define gPauseJabuTitleJPNTex_WIDTH 96
+#define gPauseJabuTitleJPNTex_HEIGHT 16
+extern u64 gPauseJabuTitleJPNTex[TEX_LEN(u64, gPauseJabuTitleJPNTex_WIDTH, gPauseJabuTitleJPNTex_HEIGHT, 8)];
+#define gPauseForestTitleJPNTex_WIDTH 96
+#define gPauseForestTitleJPNTex_HEIGHT 16
+extern u64 gPauseForestTitleJPNTex[TEX_LEN(u64, gPauseForestTitleJPNTex_WIDTH, gPauseForestTitleJPNTex_HEIGHT, 8)];
+#define gPauseFireTitleJPNTex_WIDTH 96
+#define gPauseFireTitleJPNTex_HEIGHT 16
+extern u64 gPauseFireTitleJPNTex[TEX_LEN(u64, gPauseFireTitleJPNTex_WIDTH, gPauseFireTitleJPNTex_HEIGHT, 8)];
+#define gPauseWaterTitleJPNTex_WIDTH 96
+#define gPauseWaterTitleJPNTex_HEIGHT 16
+extern u64 gPauseWaterTitleJPNTex[TEX_LEN(u64, gPauseWaterTitleJPNTex_WIDTH, gPauseWaterTitleJPNTex_HEIGHT, 8)];
+#define gPauseSpiritTitleJPNTex_WIDTH 96
+#define gPauseSpiritTitleJPNTex_HEIGHT 16
+extern u64 gPauseSpiritTitleJPNTex[TEX_LEN(u64, gPauseSpiritTitleJPNTex_WIDTH, gPauseSpiritTitleJPNTex_HEIGHT, 8)];
+#define gPauseShadowTitleJPNTex_WIDTH 96
+#define gPauseShadowTitleJPNTex_HEIGHT 16
+extern u64 gPauseShadowTitleJPNTex[TEX_LEN(u64, gPauseShadowTitleJPNTex_WIDTH, gPauseShadowTitleJPNTex_HEIGHT, 8)];
+#define gPauseBotWTitleJPNTex_WIDTH 96
+#define gPauseBotWTitleJPNTex_HEIGHT 16
+extern u64 gPauseBotWTitleJPNTex[TEX_LEN(u64, gPauseBotWTitleJPNTex_WIDTH, gPauseBotWTitleJPNTex_HEIGHT, 8)];
+#define gPauseIceCavernTitleJPNTex_WIDTH 96
+#define gPauseIceCavernTitleJPNTex_HEIGHT 16
+extern u64 gPauseIceCavernTitleJPNTex[TEX_LEN(u64, gPauseIceCavernTitleJPNTex_WIDTH, gPauseIceCavernTitleJPNTex_HEIGHT, 8)];
+#define gPauseToEquipJPNTex_WIDTH 56
+#define gPauseToEquipJPNTex_HEIGHT 16
+extern u64 gPauseToEquipJPNTex[TEX_LEN(u64, gPauseToEquipJPNTex_WIDTH, gPauseToEquipJPNTex_HEIGHT, 8)];
+#define gPauseToDecideJPNTex_WIDTH 48
+#define gPauseToDecideJPNTex_HEIGHT 16
+extern u64 gPauseToDecideJPNTex[TEX_LEN(u64, gPauseToDecideJPNTex_WIDTH, gPauseToDecideJPNTex_HEIGHT, 8)];
+#define gPauseToPlayMelodyJPNTex_WIDTH 96
+#define gPauseToPlayMelodyJPNTex_HEIGHT 16
+extern u64 gPauseToPlayMelodyJPNTex[TEX_LEN(u64, gPauseToPlayMelodyJPNTex_WIDTH, gPauseToPlayMelodyJPNTex_HEIGHT, 8)];
+#define gPauseToSelectItemJPNTex_WIDTH 128
+#define gPauseToSelectItemJPNTex_HEIGHT 16
+extern u64 gPauseToSelectItemJPNTex[TEX_LEN(u64, gPauseToSelectItemJPNTex_WIDTH, gPauseToSelectItemJPNTex_HEIGHT, 8)];
+#define gPauseToMapJPNTex_WIDTH 128
+#define gPauseToMapJPNTex_HEIGHT 16
+extern u64 gPauseToMapJPNTex[TEX_LEN(u64, gPauseToMapJPNTex_WIDTH, gPauseToMapJPNTex_HEIGHT, 8)];
+#define gPauseToQuestStatusJPNTex_WIDTH 128
+#define gPauseToQuestStatusJPNTex_HEIGHT 16
+extern u64 gPauseToQuestStatusJPNTex[TEX_LEN(u64, gPauseToQuestStatusJPNTex_WIDTH, gPauseToQuestStatusJPNTex_HEIGHT, 8)];
+#define gPauseToEquipmentJPNTex_WIDTH 128
+#define gPauseToEquipmentJPNTex_HEIGHT 16
+extern u64 gPauseToEquipmentJPNTex[TEX_LEN(u64, gPauseToEquipmentJPNTex_WIDTH, gPauseToEquipmentJPNTex_HEIGHT, 8)];
+#define gPauseSavePromptJPNTex_WIDTH 152
+#define gPauseSavePromptJPNTex_HEIGHT 16
+extern u64 gPauseSavePromptJPNTex[TEX_LEN(u64, gPauseSavePromptJPNTex_WIDTH, gPauseSavePromptJPNTex_HEIGHT, 8)];
+#define gPauseSaveConfirmationJPNTex_WIDTH 152
+#define gPauseSaveConfirmationJPNTex_HEIGHT 16
+extern u64 gPauseSaveConfirmationJPNTex[TEX_LEN(u64, gPauseSaveConfirmationJPNTex_WIDTH, gPauseSaveConfirmationJPNTex_HEIGHT, 8)];
+#define gPauseYesJPNTex_WIDTH 48
+#define gPauseYesJPNTex_HEIGHT 16
+extern u64 gPauseYesJPNTex[TEX_LEN(u64, gPauseYesJPNTex_WIDTH, gPauseYesJPNTex_HEIGHT, 8)];
+#define gPauseNoJPNTex_WIDTH 48
+#define gPauseNoJPNTex_HEIGHT 16
+extern u64 gPauseNoJPNTex[TEX_LEN(u64, gPauseNoJPNTex_WIDTH, gPauseNoJPNTex_HEIGHT, 8)];
+#define gPauseCurrentPositionJPNTex_WIDTH 64
+#define gPauseCurrentPositionJPNTex_HEIGHT 8
+extern u64 gPauseCurrentPositionJPNTex[TEX_LEN(u64, gPauseCurrentPositionJPNTex_WIDTH, gPauseCurrentPositionJPNTex_HEIGHT, 4)];
+
+extern u64 gPauseEquipment10JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSelectItem00JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSelectItem10JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSelectItem20JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseMap10JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseQuestStatus00JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseQuestStatus10JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseQuestStatus20JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSave10JPNTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+
+#endif
diff --git a/assets/textures/icon_item_nes_static/icon_item_nes_static.c b/assets/textures/icon_item_nes_static/icon_item_nes_static.c
new file mode 100644
index 0000000000..5e84c69162
--- /dev/null
+++ b/assets/textures/icon_item_nes_static/icon_item_nes_static.c
@@ -0,0 +1,127 @@
+#include "icon_item_nes_static.h"
+
+u64 gPauseDekuTitleENGTex[TEX_LEN(u64, gPauseDekuTitleENGTex_WIDTH, gPauseDekuTitleENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseDekuTitleENGTex.ia8.inc.c"
+};
+
+u64 gPauseDodongoTitleENGTex[TEX_LEN(u64, gPauseDodongoTitleENGTex_WIDTH, gPauseDodongoTitleENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseDodongoTitleENGTex.ia8.inc.c"
+};
+
+u64 gPauseJabuTitleENGTex[TEX_LEN(u64, gPauseJabuTitleENGTex_WIDTH, gPauseJabuTitleENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseJabuTitleENGTex.ia8.inc.c"
+};
+
+u64 gPauseForestTitleENGTex[TEX_LEN(u64, gPauseForestTitleENGTex_WIDTH, gPauseForestTitleENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseForestTitleENGTex.ia8.inc.c"
+};
+
+u64 gPauseFireTitleENGTex[TEX_LEN(u64, gPauseFireTitleENGTex_WIDTH, gPauseFireTitleENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseFireTitleENGTex.ia8.inc.c"
+};
+
+u64 gPauseWaterTitleENGTex[TEX_LEN(u64, gPauseWaterTitleENGTex_WIDTH, gPauseWaterTitleENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseWaterTitleENGTex.ia8.inc.c"
+};
+
+u64 gPauseSpiritTitleENGTex[TEX_LEN(u64, gPauseSpiritTitleENGTex_WIDTH, gPauseSpiritTitleENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseSpiritTitleENGTex.ia8.inc.c"
+};
+
+u64 gPauseShadowTitleENGTex[TEX_LEN(u64, gPauseShadowTitleENGTex_WIDTH, gPauseShadowTitleENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseShadowTitleENGTex.ia8.inc.c"
+};
+
+u64 gPauseBotWTitleENGTex[TEX_LEN(u64, gPauseBotWTitleENGTex_WIDTH, gPauseBotWTitleENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseBotWTitleENGTex.ia8.inc.c"
+};
+
+u64 gPauseIceCavernTitleENGTex[TEX_LEN(u64, gPauseIceCavernTitleENGTex_WIDTH, gPauseIceCavernTitleENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseIceCavernTitleENGTex.ia8.inc.c"
+};
+
+u64 gPauseToEquipENGTex[TEX_LEN(u64, gPauseToEquipENGTex_WIDTH, gPauseToEquipENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseToEquipENGTex.ia8.inc.c"
+};
+
+u64 gPauseToDecideENGTex[TEX_LEN(u64, gPauseToDecideENGTex_WIDTH, gPauseToDecideENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseToDecideENGTex.ia8.inc.c"
+};
+
+u64 gPauseToPlayMelodyENGTex[TEX_LEN(u64, gPauseToPlayMelodyENGTex_WIDTH, gPauseToPlayMelodyENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseToPlayMelodyENGTex.ia8.inc.c"
+};
+
+u64 gPauseToSelectItemENGTex[TEX_LEN(u64, gPauseToSelectItemENGTex_WIDTH, gPauseToSelectItemENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseToSelectItemENGTex.ia8.inc.c"
+};
+
+u64 gPauseToMapENGTex[TEX_LEN(u64, gPauseToMapENGTex_WIDTH, gPauseToMapENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseToMapENGTex.ia8.inc.c"
+};
+
+u64 gPauseToQuestStatusENGTex[TEX_LEN(u64, gPauseToQuestStatusENGTex_WIDTH, gPauseToQuestStatusENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseToQuestStatusENGTex.ia8.inc.c"
+};
+
+u64 gPauseToEquipmentENGTex[TEX_LEN(u64, gPauseToEquipmentENGTex_WIDTH, gPauseToEquipmentENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseToEquipmentENGTex.ia8.inc.c"
+};
+
+u64 gPauseSavePromptENGTex[TEX_LEN(u64, gPauseSavePromptENGTex_WIDTH, gPauseSavePromptENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseSavePromptENGTex.ia8.inc.c"
+};
+
+u64 gPauseSaveConfirmationENGTex[TEX_LEN(u64, gPauseSaveConfirmationENGTex_WIDTH, gPauseSaveConfirmationENGTex_HEIGHT,
+ 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseSaveConfirmationENGTex.ia8.inc.c"
+};
+
+u64 gPauseYesENGTex[TEX_LEN(u64, gPauseYesENGTex_WIDTH, gPauseYesENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseYesENGTex.ia8.inc.c"
+};
+
+u64 gPauseNoENGTex[TEX_LEN(u64, gPauseNoENGTex_WIDTH, gPauseNoENGTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseNoENGTex.ia8.inc.c"
+};
+
+u64 gPauseCurrentPositionENGTex[TEX_LEN(u64, gPauseCurrentPositionENGTex_WIDTH, gPauseCurrentPositionENGTex_HEIGHT,
+ 4)] = {
+#include "assets/textures/icon_item_nes_static/gPauseCurrentPositionENGTex.i4.inc.c"
+};
+
+u64 gPauseEquipment10ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseEquipment10ENGTex.ia8.inc.c"
+};
+
+u64 gPauseSelectItem00ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseSelectItem00ENGTex.ia8.inc.c"
+};
+
+u64 gPauseSelectItem10ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseSelectItem10ENGTex.ia8.inc.c"
+};
+
+u64 gPauseSelectItem20ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseSelectItem20ENGTex.ia8.inc.c"
+};
+
+u64 gPauseMap10ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseMap10ENGTex.ia8.inc.c"
+};
+
+u64 gPauseQuestStatus00ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseQuestStatus00ENGTex.ia8.inc.c"
+};
+
+u64 gPauseQuestStatus10ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseQuestStatus10ENGTex.ia8.inc.c"
+};
+
+u64 gPauseQuestStatus20ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseQuestStatus20ENGTex.ia8.inc.c"
+};
+
+u64 gPauseSave10ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_nes_static/gPauseSave10ENGTex.ia8.inc.c"
+};
diff --git a/assets/textures/icon_item_nes_static/icon_item_nes_static.h b/assets/textures/icon_item_nes_static/icon_item_nes_static.h
new file mode 100644
index 0000000000..007bebf3bc
--- /dev/null
+++ b/assets/textures/icon_item_nes_static/icon_item_nes_static.h
@@ -0,0 +1,85 @@
+#ifndef ICON_ITEM_NES_STATIC_H
+#define ICON_ITEM_NES_STATIC_H
+
+#include "ultra64.h"
+#include "tex_len.h"
+#include "src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h"
+
+#define gPauseDekuTitleENGTex_WIDTH 96
+#define gPauseDekuTitleENGTex_HEIGHT 16
+extern u64 gPauseDekuTitleENGTex[TEX_LEN(u64, gPauseDekuTitleENGTex_WIDTH, gPauseDekuTitleENGTex_HEIGHT, 8)];
+#define gPauseDodongoTitleENGTex_WIDTH 96
+#define gPauseDodongoTitleENGTex_HEIGHT 16
+extern u64 gPauseDodongoTitleENGTex[TEX_LEN(u64, gPauseDodongoTitleENGTex_WIDTH, gPauseDodongoTitleENGTex_HEIGHT, 8)];
+#define gPauseJabuTitleENGTex_WIDTH 96
+#define gPauseJabuTitleENGTex_HEIGHT 16
+extern u64 gPauseJabuTitleENGTex[TEX_LEN(u64, gPauseJabuTitleENGTex_WIDTH, gPauseJabuTitleENGTex_HEIGHT, 8)];
+#define gPauseForestTitleENGTex_WIDTH 96
+#define gPauseForestTitleENGTex_HEIGHT 16
+extern u64 gPauseForestTitleENGTex[TEX_LEN(u64, gPauseForestTitleENGTex_WIDTH, gPauseForestTitleENGTex_HEIGHT, 8)];
+#define gPauseFireTitleENGTex_WIDTH 96
+#define gPauseFireTitleENGTex_HEIGHT 16
+extern u64 gPauseFireTitleENGTex[TEX_LEN(u64, gPauseFireTitleENGTex_WIDTH, gPauseFireTitleENGTex_HEIGHT, 8)];
+#define gPauseWaterTitleENGTex_WIDTH 96
+#define gPauseWaterTitleENGTex_HEIGHT 16
+extern u64 gPauseWaterTitleENGTex[TEX_LEN(u64, gPauseWaterTitleENGTex_WIDTH, gPauseWaterTitleENGTex_HEIGHT, 8)];
+#define gPauseSpiritTitleENGTex_WIDTH 96
+#define gPauseSpiritTitleENGTex_HEIGHT 16
+extern u64 gPauseSpiritTitleENGTex[TEX_LEN(u64, gPauseSpiritTitleENGTex_WIDTH, gPauseSpiritTitleENGTex_HEIGHT, 8)];
+#define gPauseShadowTitleENGTex_WIDTH 96
+#define gPauseShadowTitleENGTex_HEIGHT 16
+extern u64 gPauseShadowTitleENGTex[TEX_LEN(u64, gPauseShadowTitleENGTex_WIDTH, gPauseShadowTitleENGTex_HEIGHT, 8)];
+#define gPauseBotWTitleENGTex_WIDTH 96
+#define gPauseBotWTitleENGTex_HEIGHT 16
+extern u64 gPauseBotWTitleENGTex[TEX_LEN(u64, gPauseBotWTitleENGTex_WIDTH, gPauseBotWTitleENGTex_HEIGHT, 8)];
+#define gPauseIceCavernTitleENGTex_WIDTH 96
+#define gPauseIceCavernTitleENGTex_HEIGHT 16
+extern u64 gPauseIceCavernTitleENGTex[TEX_LEN(u64, gPauseIceCavernTitleENGTex_WIDTH, gPauseIceCavernTitleENGTex_HEIGHT, 8)];
+#define gPauseToEquipENGTex_WIDTH 56
+#define gPauseToEquipENGTex_HEIGHT 16
+extern u64 gPauseToEquipENGTex[TEX_LEN(u64, gPauseToEquipENGTex_WIDTH, gPauseToEquipENGTex_HEIGHT, 8)];
+#define gPauseToDecideENGTex_WIDTH 64
+#define gPauseToDecideENGTex_HEIGHT 16
+extern u64 gPauseToDecideENGTex[TEX_LEN(u64, gPauseToDecideENGTex_WIDTH, gPauseToDecideENGTex_HEIGHT, 8)];
+#define gPauseToPlayMelodyENGTex_WIDTH 80
+#define gPauseToPlayMelodyENGTex_HEIGHT 16
+extern u64 gPauseToPlayMelodyENGTex[TEX_LEN(u64, gPauseToPlayMelodyENGTex_WIDTH, gPauseToPlayMelodyENGTex_HEIGHT, 8)];
+#define gPauseToSelectItemENGTex_WIDTH 128
+#define gPauseToSelectItemENGTex_HEIGHT 16
+extern u64 gPauseToSelectItemENGTex[TEX_LEN(u64, gPauseToSelectItemENGTex_WIDTH, gPauseToSelectItemENGTex_HEIGHT, 8)];
+#define gPauseToMapENGTex_WIDTH 128
+#define gPauseToMapENGTex_HEIGHT 16
+extern u64 gPauseToMapENGTex[TEX_LEN(u64, gPauseToMapENGTex_WIDTH, gPauseToMapENGTex_HEIGHT, 8)];
+#define gPauseToQuestStatusENGTex_WIDTH 128
+#define gPauseToQuestStatusENGTex_HEIGHT 16
+extern u64 gPauseToQuestStatusENGTex[TEX_LEN(u64, gPauseToQuestStatusENGTex_WIDTH, gPauseToQuestStatusENGTex_HEIGHT, 8)];
+#define gPauseToEquipmentENGTex_WIDTH 128
+#define gPauseToEquipmentENGTex_HEIGHT 16
+extern u64 gPauseToEquipmentENGTex[TEX_LEN(u64, gPauseToEquipmentENGTex_WIDTH, gPauseToEquipmentENGTex_HEIGHT, 8)];
+#define gPauseSavePromptENGTex_WIDTH 152
+#define gPauseSavePromptENGTex_HEIGHT 16
+extern u64 gPauseSavePromptENGTex[TEX_LEN(u64, gPauseSavePromptENGTex_WIDTH, gPauseSavePromptENGTex_HEIGHT, 8)];
+#define gPauseSaveConfirmationENGTex_WIDTH 152
+#define gPauseSaveConfirmationENGTex_HEIGHT 16
+extern u64 gPauseSaveConfirmationENGTex[TEX_LEN(u64, gPauseSaveConfirmationENGTex_WIDTH, gPauseSaveConfirmationENGTex_HEIGHT, 8)];
+#define gPauseYesENGTex_WIDTH 48
+#define gPauseYesENGTex_HEIGHT 16
+extern u64 gPauseYesENGTex[TEX_LEN(u64, gPauseYesENGTex_WIDTH, gPauseYesENGTex_HEIGHT, 8)];
+#define gPauseNoENGTex_WIDTH 48
+#define gPauseNoENGTex_HEIGHT 16
+extern u64 gPauseNoENGTex[TEX_LEN(u64, gPauseNoENGTex_WIDTH, gPauseNoENGTex_HEIGHT, 8)];
+#define gPauseCurrentPositionENGTex_WIDTH 64
+#define gPauseCurrentPositionENGTex_HEIGHT 8
+extern u64 gPauseCurrentPositionENGTex[TEX_LEN(u64, gPauseCurrentPositionENGTex_WIDTH, gPauseCurrentPositionENGTex_HEIGHT, 4)];
+
+extern u64 gPauseEquipment10ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSelectItem00ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSelectItem10ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSelectItem20ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseMap10ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseQuestStatus00ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseQuestStatus10ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseQuestStatus20ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+extern u64 gPauseSave10ENGTex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
+
+#endif
diff --git a/assets/textures/item_name_static/item_name_static.c b/assets/textures/item_name_static/item_name_static.c
new file mode 100644
index 0000000000..30443f4aa2
--- /dev/null
+++ b/assets/textures/item_name_static/item_name_static.c
@@ -0,0 +1,1985 @@
+#include "item_name_static.h"
+
+#if OOT_NTSC
+
+// Japanese
+
+u64 gDekuStickItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDekuStickItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gDekuNutItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDekuNutItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBombItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gFairyBowItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFairyBowItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gFireArrowItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFireArrowItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gDinsFireItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDinsFireItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gFairySlingshotItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFairySlingshotItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gFairyOcarinaItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFairyOcarinaItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gOcarinaOfTimeItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gOcarinaOfTimeItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBombchuItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombchuItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gHookshotItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHookshotItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gLongshotItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gLongshotItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gIceArrowItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gIceArrowItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gFaroresWindItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFaroresWindItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBoomerangItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBoomerangItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gLensItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gLensItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gMagicBeansItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMagicBeansItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gMegatonHammerItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMegatonHammerItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gLightArrowItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gLightArrowItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gNayrusLoveItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gNayrusLoveItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gEmptyBottleItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gEmptyBottleItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gRedPotionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gRedPotionItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gGreenPotionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGreenPotionItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBluePotionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBluePotionItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBottledFairyItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBottledFairyItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gFishItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFishItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gFullMilkItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFullMilkItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gRutosLetterItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gRutosLetterItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBlueFireItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBlueFireItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBugItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBugItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBigPoeItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBigPoeItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gHalfMilkItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHalfMilkItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gPoeItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPoeItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gWeirdEggItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gWeirdEggItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gCuccoItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gCuccoItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gZeldasLetterItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZeldasLetterItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gKeatonMaskItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKeatonMaskItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gSkullMaskItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSkullMaskItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gSpookyMaskItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSpookyMaskItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBunnyHoodItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBunnyHoodItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gGoronMaskItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoronMaskItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gZoraMaskItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZoraMaskItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gGerudoMaskItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGerudoMaskItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gMaskofTruthItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMaskofTruthItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gSOLDOUTItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSOLDOUTItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gPocketEggItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPocketEggItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gPocketCuccoItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPocketCuccoItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gCojiroItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gCojiroItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gOddMushroomItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gOddMushroomItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gOddPotionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gOddPotionItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gPoachersSawItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPoachersSawItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBrokenGoronsSwordItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBrokenGoronsSwordItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gPrescriptionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPrescriptionItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gEyeBallFrogItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gEyeBallFrogItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gEyeDropsItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gEyeDropsItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gClaimCheckItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gClaimCheckItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gUnusedWindMedallionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedWindMedallionItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gUnusedFireMedallionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedFireMedallionItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gUnusedIceMedallionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedIceMedallionItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gKokiriSwordItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKokiriSwordItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gMasterSwordItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMasterSwordItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gGiantsKnifeItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGiantsKnifeItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gDekuShieldItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDekuShieldItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gHylianShieldItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHylianShieldItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gMirrorShieldItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMirrorShieldItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gKokiriTunicItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKokiriTunicItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gGoronTunicItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoronTunicItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gZoraTunicItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZoraTunicItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gKokiriBootsItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKokiriBootsItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gIronBootsItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gIronBootsItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gHoverBootsItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHoverBootsItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBulletBag30ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBulletBag30ItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBulletBag40ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBulletBag40ItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBulletBag50ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBulletBag50ItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gQuiver30ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gQuiver30ItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gQuiver40ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gQuiver40ItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gQuiver50ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gQuiver50ItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBombBag20ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombBag20ItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBombBag30ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombBag30ItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBombBag40ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombBag40ItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gGoronsBraceletItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoronsBraceletItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gSilverGauntletsItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSilverGauntletsItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gGoldenGauntletsItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoldenGauntletsItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gSilverScaleItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSilverScaleItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gGoldenScaleItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoldenScaleItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBrokenGiantsKnifeItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBrokenGiantsKnifeItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName1JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName1JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName2JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName2JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName3JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName3JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName4JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName4JPNTex.ia4.inc.c"
+};
+
+u64 gMinuetOfForestItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMinuetOfForestItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gBoleroOfFireItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBoleroOfFireItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gSerenadeOfWaterItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSerenadeOfWaterItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gRequiemOfSpiritItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gRequiemOfSpiritItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gNocturneOfShadowItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gNocturneOfShadowItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gPreludeOfLightItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPreludeOfLightItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gZeldasLullabyItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZeldasLullabyItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gEponasSongItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gEponasSongItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gSariasSongItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSariasSongItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gSunsSongItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSunsSongItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gSongOfTimeItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSongOfTimeItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gSongOfStormsItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSongOfStormsItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gForestMedallionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gForestMedallionItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gFireMedallionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFireMedallionItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gWaterMedallionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gWaterMedallionItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gSpiritMedallionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSpiritMedallionItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gShadowMedallionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gShadowMedallionItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gLightMedallionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gLightMedallionItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gKokiriEmeraldItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKokiriEmeraldItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gGoronsRubyItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoronsRubyItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gZorasSapphireItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZorasSapphireItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gStoneofAgonyItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gStoneofAgonyItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gGerudosCardItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGerudosCardItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gGoldSkulltulaItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoldSkulltulaItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gPieceOfHeartItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPieceOfHeartItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gUnusedPieceOfHeartItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedPieceOfHeartItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBigKeyItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBigKeyItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gCompassItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gCompassItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gDungeonMapItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDungeonMapItemNameJPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName5JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName5JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName6JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName6JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName7JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName7JPNTex.ia4.inc.c"
+};
+
+u64 gBiggoronsSwordItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBiggoronsSwordItemNameJPNTex.ia4.inc.c"
+};
+
+#endif
+
+// English
+
+u64 gDekuStickItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDekuStickItemNameENGTex.ia4.inc.c"
+};
+
+u64 gDekuNutItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDekuNutItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBombItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombItemNameENGTex.ia4.inc.c"
+};
+
+u64 gFairyBowItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFairyBowItemNameENGTex.ia4.inc.c"
+};
+
+u64 gFireArrowItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFireArrowItemNameENGTex.ia4.inc.c"
+};
+
+u64 gDinsFireItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDinsFireItemNameENGTex.ia4.inc.c"
+};
+
+u64 gFairySlingshotItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFairySlingshotItemNameENGTex.ia4.inc.c"
+};
+
+u64 gFairyOcarinaItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFairyOcarinaItemNameENGTex.ia4.inc.c"
+};
+
+u64 gOcarinaOfTimeItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gOcarinaOfTimeItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBombchuItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombchuItemNameENGTex.ia4.inc.c"
+};
+
+u64 gHookshotItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHookshotItemNameENGTex.ia4.inc.c"
+};
+
+u64 gLongshotItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gLongshotItemNameENGTex.ia4.inc.c"
+};
+
+u64 gIceArrowItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gIceArrowItemNameENGTex.ia4.inc.c"
+};
+
+u64 gFaroresWindItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFaroresWindItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBoomerangItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBoomerangItemNameENGTex.ia4.inc.c"
+};
+
+u64 gLensItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gLensItemNameENGTex.ia4.inc.c"
+};
+
+u64 gMagicBeansItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMagicBeansItemNameENGTex.ia4.inc.c"
+};
+
+u64 gMegatonHammerItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMegatonHammerItemNameENGTex.ia4.inc.c"
+};
+
+u64 gLightArrowItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gLightArrowItemNameENGTex.ia4.inc.c"
+};
+
+u64 gNayrusLoveItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gNayrusLoveItemNameENGTex.ia4.inc.c"
+};
+
+u64 gEmptyBottleItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gEmptyBottleItemNameENGTex.ia4.inc.c"
+};
+
+u64 gRedPotionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gRedPotionItemNameENGTex.ia4.inc.c"
+};
+
+u64 gGreenPotionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGreenPotionItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBluePotionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBluePotionItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBottledFairyItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBottledFairyItemNameENGTex.ia4.inc.c"
+};
+
+u64 gFishItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFishItemNameENGTex.ia4.inc.c"
+};
+
+u64 gFullMilkItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFullMilkItemNameENGTex.ia4.inc.c"
+};
+
+u64 gRutosLetterItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gRutosLetterItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBlueFireItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBlueFireItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBugItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBugItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBigPoeItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBigPoeItemNameENGTex.ia4.inc.c"
+};
+
+u64 gHalfMilkItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHalfMilkItemNameENGTex.ia4.inc.c"
+};
+
+u64 gPoeItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPoeItemNameENGTex.ia4.inc.c"
+};
+
+u64 gWeirdEggItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gWeirdEggItemNameENGTex.ia4.inc.c"
+};
+
+u64 gCuccoItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gCuccoItemNameENGTex.ia4.inc.c"
+};
+
+u64 gZeldasLetterItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZeldasLetterItemNameENGTex.ia4.inc.c"
+};
+
+u64 gKeatonMaskItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKeatonMaskItemNameENGTex.ia4.inc.c"
+};
+
+u64 gSkullMaskItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSkullMaskItemNameENGTex.ia4.inc.c"
+};
+
+u64 gSpookyMaskItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSpookyMaskItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBunnyHoodItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBunnyHoodItemNameENGTex.ia4.inc.c"
+};
+
+u64 gGoronMaskItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoronMaskItemNameENGTex.ia4.inc.c"
+};
+
+u64 gZoraMaskItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZoraMaskItemNameENGTex.ia4.inc.c"
+};
+
+u64 gGerudoMaskItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGerudoMaskItemNameENGTex.ia4.inc.c"
+};
+
+u64 gMaskofTruthItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMaskofTruthItemNameENGTex.ia4.inc.c"
+};
+
+u64 gSOLDOUTItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSOLDOUTItemNameENGTex.ia4.inc.c"
+};
+
+u64 gPocketEggItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPocketEggItemNameENGTex.ia4.inc.c"
+};
+
+u64 gPocketCuccoItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPocketCuccoItemNameENGTex.ia4.inc.c"
+};
+
+u64 gCojiroItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gCojiroItemNameENGTex.ia4.inc.c"
+};
+
+u64 gOddMushroomItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gOddMushroomItemNameENGTex.ia4.inc.c"
+};
+
+u64 gOddPotionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gOddPotionItemNameENGTex.ia4.inc.c"
+};
+
+u64 gPoachersSawItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPoachersSawItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBrokenGoronsSwordItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBrokenGoronsSwordItemNameENGTex.ia4.inc.c"
+};
+
+u64 gPrescriptionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPrescriptionItemNameENGTex.ia4.inc.c"
+};
+
+u64 gEyeBallFrogItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gEyeBallFrogItemNameENGTex.ia4.inc.c"
+};
+
+u64 gEyeDropsItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gEyeDropsItemNameENGTex.ia4.inc.c"
+};
+
+u64 gClaimCheckItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gClaimCheckItemNameENGTex.ia4.inc.c"
+};
+
+u64 gUnusedWindMedallionItemName1JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedWindMedallionItemName1JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedFireMedallionItemName1JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedFireMedallionItemName1JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedIceMedallionItemName1JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedIceMedallionItemName1JPNTex.ia4.inc.c"
+};
+
+u64 gKokiriSwordItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKokiriSwordItemNameENGTex.ia4.inc.c"
+};
+
+u64 gMasterSwordItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMasterSwordItemNameENGTex.ia4.inc.c"
+};
+
+u64 gGiantsKnifeItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGiantsKnifeItemNameENGTex.ia4.inc.c"
+};
+
+u64 gDekuShieldItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDekuShieldItemNameENGTex.ia4.inc.c"
+};
+
+u64 gHylianShieldItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHylianShieldItemNameENGTex.ia4.inc.c"
+};
+
+u64 gMirrorShieldItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMirrorShieldItemNameENGTex.ia4.inc.c"
+};
+
+u64 gKokiriTunicItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKokiriTunicItemNameENGTex.ia4.inc.c"
+};
+
+u64 gGoronTunicItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoronTunicItemNameENGTex.ia4.inc.c"
+};
+
+u64 gZoraTunicItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZoraTunicItemNameENGTex.ia4.inc.c"
+};
+
+u64 gKokiriBootsItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKokiriBootsItemNameENGTex.ia4.inc.c"
+};
+
+u64 gIronBootsItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gIronBootsItemNameENGTex.ia4.inc.c"
+};
+
+u64 gHoverBootsItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHoverBootsItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBulletBag30ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBulletBag30ItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBulletBag40ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBulletBag40ItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBulletBag50ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBulletBag50ItemNameENGTex.ia4.inc.c"
+};
+
+u64 gQuiver30ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gQuiver30ItemNameENGTex.ia4.inc.c"
+};
+
+u64 gQuiver40ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gQuiver40ItemNameENGTex.ia4.inc.c"
+};
+
+u64 gQuiver50ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gQuiver50ItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBombBag20ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombBag20ItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBombBag30ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombBag30ItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBombBag40ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombBag40ItemNameENGTex.ia4.inc.c"
+};
+
+u64 gGoronsBraceletItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoronsBraceletItemNameENGTex.ia4.inc.c"
+};
+
+u64 gSilverGauntletsItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSilverGauntletsItemNameENGTex.ia4.inc.c"
+};
+
+u64 gGoldenGauntletsItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoldenGauntletsItemNameENGTex.ia4.inc.c"
+};
+
+u64 gSilverScaleItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSilverScaleItemNameENGTex.ia4.inc.c"
+};
+
+u64 gGoldenScaleItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoldenScaleItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBrokenGiantsKnifeItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBrokenGiantsKnifeItemNameENGTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName11JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName11JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName21JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName21JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName31JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName31JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName41JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName41JPNTex.ia4.inc.c"
+};
+
+u64 gMinuetOfForestItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMinuetOfForestItemNameENGTex.ia4.inc.c"
+};
+
+u64 gBoleroOfFireItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBoleroOfFireItemNameENGTex.ia4.inc.c"
+};
+
+u64 gSerenadeOfWaterItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSerenadeOfWaterItemNameENGTex.ia4.inc.c"
+};
+
+u64 gRequiemOfSpiritItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gRequiemOfSpiritItemNameENGTex.ia4.inc.c"
+};
+
+u64 gNocturneOfShadowItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gNocturneOfShadowItemNameENGTex.ia4.inc.c"
+};
+
+u64 gPreludeOfLightItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPreludeOfLightItemNameENGTex.ia4.inc.c"
+};
+
+u64 gZeldasLullabyItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZeldasLullabyItemNameENGTex.ia4.inc.c"
+};
+
+u64 gEponasSongItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gEponasSongItemNameENGTex.ia4.inc.c"
+};
+
+u64 gSariasSongItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSariasSongItemNameENGTex.ia4.inc.c"
+};
+
+u64 gSunsSongItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSunsSongItemNameENGTex.ia4.inc.c"
+};
+
+u64 gSongOfTimeItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSongOfTimeItemNameENGTex.ia4.inc.c"
+};
+
+u64 gSongOfStormsItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSongOfStormsItemNameENGTex.ia4.inc.c"
+};
+
+u64 gForestMedallionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gForestMedallionItemNameENGTex.ia4.inc.c"
+};
+
+u64 gFireMedallionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFireMedallionItemNameENGTex.ia4.inc.c"
+};
+
+u64 gWaterMedallionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gWaterMedallionItemNameENGTex.ia4.inc.c"
+};
+
+u64 gSpiritMedallionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSpiritMedallionItemNameENGTex.ia4.inc.c"
+};
+
+u64 gShadowMedallionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gShadowMedallionItemNameENGTex.ia4.inc.c"
+};
+
+u64 gLightMedallionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gLightMedallionItemNameENGTex.ia4.inc.c"
+};
+
+u64 gKokiriEmeraldItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKokiriEmeraldItemNameENGTex.ia4.inc.c"
+};
+
+u64 gGoronsRubyItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoronsRubyItemNameENGTex.ia4.inc.c"
+};
+
+u64 gZorasSapphireItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZorasSapphireItemNameENGTex.ia4.inc.c"
+};
+
+u64 gStoneofAgonyItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gStoneofAgonyItemNameENGTex.ia4.inc.c"
+};
+
+u64 gGerudosCardItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGerudosCardItemNameENGTex.ia4.inc.c"
+};
+
+u64 gGoldSkulltulaItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoldSkulltulaItemNameENGTex.ia4.inc.c"
+};
+
+u64 gPieceOfHeartItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPieceOfHeartItemNameENGTex.ia4.inc.c"
+};
+
+u64 gUnusedPieceOfHeartItemName1JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedPieceOfHeartItemName1JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBigKeyItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBigKeyItemNameENGTex.ia4.inc.c"
+};
+
+u64 gCompassItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gCompassItemNameENGTex.ia4.inc.c"
+};
+
+u64 gDungeonMapItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDungeonMapItemNameENGTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName51JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName51JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName61JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName61JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName71JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName71JPNTex.ia4.inc.c"
+};
+
+u64 gBiggoronsSwordItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBiggoronsSwordItemNameENGTex.ia4.inc.c"
+};
+
+#if OOT_PAL
+
+// German
+
+u64 gDekuStickItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDekuStickItemNameGERTex.ia4.inc.c"
+};
+
+u64 gDekuNutItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDekuNutItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBombItemNameItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombItemNameItemNameGERTex.ia4.inc.c"
+};
+
+u64 gFairyBowItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFairyBowItemNameGERTex.ia4.inc.c"
+};
+
+u64 gFireArrowItemNameUnk2GERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFireArrowItemNameUnk2GERTex.ia4.inc.c"
+};
+
+u64 gDinsFireItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDinsFireItemNameGERTex.ia4.inc.c"
+};
+
+u64 gFairySlingshotItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFairySlingshotItemNameGERTex.ia4.inc.c"
+};
+
+u64 gFairyOcarinaItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFairyOcarinaItemNameGERTex.ia4.inc.c"
+};
+
+u64 gOcarinaOfTimeItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gOcarinaOfTimeItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBombchuItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombchuItemNameGERTex.ia4.inc.c"
+};
+
+u64 gHookshotItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHookshotItemNameGERTex.ia4.inc.c"
+};
+
+u64 gLongshotItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gLongshotItemNameGERTex.ia4.inc.c"
+};
+
+u64 gIceArrowItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gIceArrowItemNameGERTex.ia4.inc.c"
+};
+
+u64 gFaroresWindItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFaroresWindItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBoomerangItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBoomerangItemNameGERTex.ia4.inc.c"
+};
+
+u64 gLensItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gLensItemNameGERTex.ia4.inc.c"
+};
+
+u64 gMagicBeansItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMagicBeansItemNameGERTex.ia4.inc.c"
+};
+
+u64 gMegatonHammerItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMegatonHammerItemNameGERTex.ia4.inc.c"
+};
+
+u64 gLightArrowItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gLightArrowItemNameGERTex.ia4.inc.c"
+};
+
+u64 gNayrusLoveItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gNayrusLoveItemNameGERTex.ia4.inc.c"
+};
+
+u64 gEmptyBottleItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gEmptyBottleItemNameGERTex.ia4.inc.c"
+};
+
+u64 gRedPotionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gRedPotionItemNameGERTex.ia4.inc.c"
+};
+
+u64 gGreenPotionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGreenPotionItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBluePotionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBluePotionItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBottledFairyItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBottledFairyItemNameGERTex.ia4.inc.c"
+};
+
+u64 gFishItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFishItemNameGERTex.ia4.inc.c"
+};
+
+u64 gFullMilkItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFullMilkItemNameGERTex.ia4.inc.c"
+};
+
+u64 gRutosLetterItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gRutosLetterItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBlueFireItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBlueFireItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBugItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBugItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBigPoeItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBigPoeItemNameGERTex.ia4.inc.c"
+};
+
+u64 gHalfMilkItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHalfMilkItemNameGERTex.ia4.inc.c"
+};
+
+u64 gPoeItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPoeItemNameGERTex.ia4.inc.c"
+};
+
+u64 gWeirdEggItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gWeirdEggItemNameGERTex.ia4.inc.c"
+};
+
+u64 gCuccoItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gCuccoItemNameGERTex.ia4.inc.c"
+};
+
+u64 gZeldasLetterItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZeldasLetterItemNameGERTex.ia4.inc.c"
+};
+
+u64 gKeatonMaskItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKeatonMaskItemNameGERTex.ia4.inc.c"
+};
+
+u64 gSkullMaskItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSkullMaskItemNameGERTex.ia4.inc.c"
+};
+
+u64 gSpookyMaskItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSpookyMaskItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBunnyHoodItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBunnyHoodItemNameGERTex.ia4.inc.c"
+};
+
+u64 gGoronMaskItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoronMaskItemNameGERTex.ia4.inc.c"
+};
+
+u64 gZoraMaskItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZoraMaskItemNameGERTex.ia4.inc.c"
+};
+
+u64 gGerudoMaskItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGerudoMaskItemNameGERTex.ia4.inc.c"
+};
+
+u64 gMaskofTruthItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMaskofTruthItemNameGERTex.ia4.inc.c"
+};
+
+u64 gSOLDOUTItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSOLDOUTItemNameGERTex.ia4.inc.c"
+};
+
+u64 gPocketEggItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPocketEggItemNameGERTex.ia4.inc.c"
+};
+
+u64 gPocketCuccoItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPocketCuccoItemNameGERTex.ia4.inc.c"
+};
+
+u64 gCojiroItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gCojiroItemNameGERTex.ia4.inc.c"
+};
+
+u64 gOddMushroomItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gOddMushroomItemNameGERTex.ia4.inc.c"
+};
+
+u64 gOddPotionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gOddPotionItemNameGERTex.ia4.inc.c"
+};
+
+u64 gPoachersSawItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPoachersSawItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBrokenGoronsSwordItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBrokenGoronsSwordItemNameGERTex.ia4.inc.c"
+};
+
+u64 gPrescriptionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPrescriptionItemNameGERTex.ia4.inc.c"
+};
+
+u64 gEyeBallFrogItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gEyeBallFrogItemNameGERTex.ia4.inc.c"
+};
+
+u64 gEyeDropsItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gEyeDropsItemNameGERTex.ia4.inc.c"
+};
+
+u64 gClaimCheckItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gClaimCheckItemNameGERTex.ia4.inc.c"
+};
+
+u64 gUnusedWindMedallionItemName2JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedWindMedallionItemName2JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedFireMedallionItemName2JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedFireMedallionItemName2JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedIceMedallionItemName2JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedIceMedallionItemName2JPNTex.ia4.inc.c"
+};
+
+u64 gKokiriSwordItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKokiriSwordItemNameGERTex.ia4.inc.c"
+};
+
+u64 gMasterSwordItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMasterSwordItemNameGERTex.ia4.inc.c"
+};
+
+u64 gGiantsKnifeItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGiantsKnifeItemNameGERTex.ia4.inc.c"
+};
+
+u64 gDekuShieldItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDekuShieldItemNameGERTex.ia4.inc.c"
+};
+
+u64 gHylianShieldItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHylianShieldItemNameGERTex.ia4.inc.c"
+};
+
+u64 gMirrorShieldItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMirrorShieldItemNameGERTex.ia4.inc.c"
+};
+
+u64 gKokiriTunicItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKokiriTunicItemNameGERTex.ia4.inc.c"
+};
+
+u64 gGoronTunicItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoronTunicItemNameGERTex.ia4.inc.c"
+};
+
+u64 gZoraTunicItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZoraTunicItemNameGERTex.ia4.inc.c"
+};
+
+u64 gKokiriBootsItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKokiriBootsItemNameGERTex.ia4.inc.c"
+};
+
+u64 gIronBootsItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gIronBootsItemNameGERTex.ia4.inc.c"
+};
+
+u64 gHoverBootsItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHoverBootsItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBulletBag30ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBulletBag30ItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBulletBag40ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBulletBag40ItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBulletBag50ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBulletBag50ItemNameGERTex.ia4.inc.c"
+};
+
+u64 gQuiver30ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gQuiver30ItemNameGERTex.ia4.inc.c"
+};
+
+u64 gQuiver40ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gQuiver40ItemNameGERTex.ia4.inc.c"
+};
+
+u64 gQuiver50ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gQuiver50ItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBombBag20ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombBag20ItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBombBag30ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombBag30ItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBombBag40ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombBag40ItemNameGERTex.ia4.inc.c"
+};
+
+u64 gGoronsBraceletItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoronsBraceletItemNameGERTex.ia4.inc.c"
+};
+
+u64 gSilverGauntletsItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSilverGauntletsItemNameGERTex.ia4.inc.c"
+};
+
+u64 gGoldenGauntletsItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoldenGauntletsItemNameGERTex.ia4.inc.c"
+};
+
+u64 gSilverScaleItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSilverScaleItemNameGERTex.ia4.inc.c"
+};
+
+u64 gGoldenScaleItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoldenScaleItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBrokenGiantsKnifeItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBrokenGiantsKnifeItemNameGERTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName12JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName12JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName22JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName22JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName32JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName32JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName42JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName42JPNTex.ia4.inc.c"
+};
+
+u64 gMinuetOfForestItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMinuetOfForestItemNameGERTex.ia4.inc.c"
+};
+
+u64 gBoleroOfFireItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBoleroOfFireItemNameGERTex.ia4.inc.c"
+};
+
+u64 gSerenadeOfWaterItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSerenadeOfWaterItemNameGERTex.ia4.inc.c"
+};
+
+u64 gRequiemOfSpiritItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gRequiemOfSpiritItemNameGERTex.ia4.inc.c"
+};
+
+u64 gNocturneOfShadowItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gNocturneOfShadowItemNameGERTex.ia4.inc.c"
+};
+
+u64 gPreludeOfLightItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPreludeOfLightItemNameGERTex.ia4.inc.c"
+};
+
+u64 gZeldasLullabyItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZeldasLullabyItemNameGERTex.ia4.inc.c"
+};
+
+u64 gEponasSongItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gEponasSongItemNameGERTex.ia4.inc.c"
+};
+
+u64 gSariasSongItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSariasSongItemNameGERTex.ia4.inc.c"
+};
+
+u64 gSunsSongItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSunsSongItemNameGERTex.ia4.inc.c"
+};
+
+u64 gSongOfTimeItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSongOfTimeItemNameGERTex.ia4.inc.c"
+};
+
+u64 gSongOfStormsItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSongOfStormsItemNameGERTex.ia4.inc.c"
+};
+
+u64 gForestMedallionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gForestMedallionItemNameGERTex.ia4.inc.c"
+};
+
+u64 gFireMedallionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFireMedallionItemNameGERTex.ia4.inc.c"
+};
+
+u64 gWaterMedallionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gWaterMedallionItemNameGERTex.ia4.inc.c"
+};
+
+u64 gSpiritMedallionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSpiritMedallionItemNameGERTex.ia4.inc.c"
+};
+
+u64 gShadowMedallionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gShadowMedallionItemNameGERTex.ia4.inc.c"
+};
+
+u64 gLightMedallionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gLightMedallionItemNameGERTex.ia4.inc.c"
+};
+
+u64 gKokiriEmeraldItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKokiriEmeraldItemNameGERTex.ia4.inc.c"
+};
+
+u64 gGoronsRubyItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoronsRubyItemNameGERTex.ia4.inc.c"
+};
+
+u64 gZorasSapphireItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZorasSapphireItemNameGERTex.ia4.inc.c"
+};
+
+u64 gStoneofAgonyItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gStoneofAgonyItemNameGERTex.ia4.inc.c"
+};
+
+u64 gGerudosCardItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGerudosCardItemNameGERTex.ia4.inc.c"
+};
+
+u64 gGoldSkulltulaItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoldSkulltulaItemNameGERTex.ia4.inc.c"
+};
+
+u64 gHeartContainerItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHeartContainerItemNameGERTex.ia4.inc.c"
+};
+
+u64 gUnusedPieceOfHeartItemName2JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedPieceOfHeartItemName2JPNTex.ia4.inc.c"
+};
+
+u64 gBigKeyItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBigKeyItemNameGERTex.ia4.inc.c"
+};
+
+u64 gCompassItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gCompassItemNameGERTex.ia4.inc.c"
+};
+
+u64 gDungeonMapItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDungeonMapItemNameGERTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName52JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName52JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName62JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName62JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName72JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName72JPNTex.ia4.inc.c"
+};
+
+u64 gBiggoronsSwordItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBiggoronsSwordItemNameGERTex.ia4.inc.c"
+};
+
+// French
+
+u64 gDekuStickItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDekuStickItemNameFRATex.ia4.inc.c"
+};
+
+u64 gDekuNutItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDekuNutItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBombItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombItemNameFRATex.ia4.inc.c"
+};
+
+u64 gFairyBowItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFairyBowItemNameFRATex.ia4.inc.c"
+};
+
+u64 gFireArrowItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFireArrowItemNameFRATex.ia4.inc.c"
+};
+
+u64 gDinsFireItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDinsFireItemNameFRATex.ia4.inc.c"
+};
+
+u64 gFairySlingshotItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFairySlingshotItemNameFRATex.ia4.inc.c"
+};
+
+u64 gFairyOcarinaItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFairyOcarinaItemNameFRATex.ia4.inc.c"
+};
+
+u64 gOcarinaOfTimeItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gOcarinaOfTimeItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBombchuItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombchuItemNameFRATex.ia4.inc.c"
+};
+
+u64 gHookshotItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHookshotItemNameFRATex.ia4.inc.c"
+};
+
+u64 gLongshotItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gLongshotItemNameFRATex.ia4.inc.c"
+};
+
+u64 gIceArrowItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gIceArrowItemNameFRATex.ia4.inc.c"
+};
+
+u64 gFaroresWindItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFaroresWindItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBoomerangItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBoomerangItemNameFRATex.ia4.inc.c"
+};
+
+u64 gLensItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gLensItemNameFRATex.ia4.inc.c"
+};
+
+u64 gMagicBeansItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMagicBeansItemNameFRATex.ia4.inc.c"
+};
+
+u64 gMegatonHammerItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMegatonHammerItemNameFRATex.ia4.inc.c"
+};
+
+u64 gLightArrowItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gLightArrowItemNameFRATex.ia4.inc.c"
+};
+
+u64 gNayrusLoveItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gNayrusLoveItemNameFRATex.ia4.inc.c"
+};
+
+u64 gEmptyBottleItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gEmptyBottleItemNameFRATex.ia4.inc.c"
+};
+
+u64 gRedPotionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gRedPotionItemNameFRATex.ia4.inc.c"
+};
+
+u64 gGreenPotionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGreenPotionItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBluePotionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBluePotionItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBottledFairyItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBottledFairyItemNameFRATex.ia4.inc.c"
+};
+
+u64 gFishItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFishItemNameFRATex.ia4.inc.c"
+};
+
+u64 gFullMilkItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFullMilkItemNameFRATex.ia4.inc.c"
+};
+
+u64 gRutosLetterItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gRutosLetterItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBlueFireItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBlueFireItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBugItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBugItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBigPoeItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBigPoeItemNameFRATex.ia4.inc.c"
+};
+
+u64 gHalfMilkItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHalfMilkItemNameFRATex.ia4.inc.c"
+};
+
+u64 gPoeItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPoeItemNameFRATex.ia4.inc.c"
+};
+
+u64 gWeirdEggItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gWeirdEggItemNameFRATex.ia4.inc.c"
+};
+
+u64 gCuccoItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gCuccoItemNameFRATex.ia4.inc.c"
+};
+
+u64 gZeldasLetterItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZeldasLetterItemNameFRATex.ia4.inc.c"
+};
+
+u64 gKeatonMaskItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKeatonMaskItemNameFRATex.ia4.inc.c"
+};
+
+u64 gSkullMaskItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSkullMaskItemNameFRATex.ia4.inc.c"
+};
+
+u64 gSpookyMaskItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSpookyMaskItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBunnyHoodItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBunnyHoodItemNameFRATex.ia4.inc.c"
+};
+
+u64 gGoronMaskItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoronMaskItemNameFRATex.ia4.inc.c"
+};
+
+u64 gZoraMaskItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZoraMaskItemNameFRATex.ia4.inc.c"
+};
+
+u64 gGerudoMaskItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGerudoMaskItemNameFRATex.ia4.inc.c"
+};
+
+u64 gMaskofTruthItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMaskofTruthItemNameFRATex.ia4.inc.c"
+};
+
+u64 gSOLDOUTItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSOLDOUTItemNameFRATex.ia4.inc.c"
+};
+
+u64 gPocketEggItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPocketEggItemNameFRATex.ia4.inc.c"
+};
+
+u64 gPocketCuccoItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPocketCuccoItemNameFRATex.ia4.inc.c"
+};
+
+u64 gCojiroItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gCojiroItemNameFRATex.ia4.inc.c"
+};
+
+u64 gOddMushroomItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gOddMushroomItemNameFRATex.ia4.inc.c"
+};
+
+u64 gOddPotionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gOddPotionItemNameFRATex.ia4.inc.c"
+};
+
+u64 gPoachersSawItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPoachersSawItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBrokenGoronsSwordItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBrokenGoronsSwordItemNameFRATex.ia4.inc.c"
+};
+
+u64 gPrescriptionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPrescriptionItemNameFRATex.ia4.inc.c"
+};
+
+u64 gEyeBallFrogItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gEyeBallFrogItemNameFRATex.ia4.inc.c"
+};
+
+u64 gEyeDropsItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gEyeDropsItemNameFRATex.ia4.inc.c"
+};
+
+u64 gClaimCheckItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gClaimCheckItemNameFRATex.ia4.inc.c"
+};
+
+u64 gUnusedWindMedallionItemName3JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedWindMedallionItemName3JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedFireMedallionItemName3JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedFireMedallionItemName3JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedIceMedallionItemName3JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedIceMedallionItemName3JPNTex.ia4.inc.c"
+};
+
+u64 gKokiriSwordItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKokiriSwordItemNameFRATex.ia4.inc.c"
+};
+
+u64 gMasterSwordItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMasterSwordItemNameFRATex.ia4.inc.c"
+};
+
+u64 gGiantsKnifeItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGiantsKnifeItemNameFRATex.ia4.inc.c"
+};
+
+u64 gDekuShieldItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDekuShieldItemNameFRATex.ia4.inc.c"
+};
+
+u64 gHylianShieldItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHylianShieldItemNameFRATex.ia4.inc.c"
+};
+
+u64 gMirrorShieldItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMirrorShieldItemNameFRATex.ia4.inc.c"
+};
+
+u64 gKokiriTunicItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKokiriTunicItemNameFRATex.ia4.inc.c"
+};
+
+u64 gGoronTunicItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoronTunicItemNameFRATex.ia4.inc.c"
+};
+
+u64 gZoraTunicItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZoraTunicItemNameFRATex.ia4.inc.c"
+};
+
+u64 gKokiriBootsItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKokiriBootsItemNameFRATex.ia4.inc.c"
+};
+
+u64 gIronBootsItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gIronBootsItemNameFRATex.ia4.inc.c"
+};
+
+u64 gHoverBootsItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHoverBootsItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBulletBag30ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBulletBag30ItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBulletBag40ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBulletBag40ItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBulletBag50ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBulletBag50ItemNameFRATex.ia4.inc.c"
+};
+
+u64 gQuiver30ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gQuiver30ItemNameFRATex.ia4.inc.c"
+};
+
+u64 gQuiver40ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gQuiver40ItemNameFRATex.ia4.inc.c"
+};
+
+u64 gQuiver50ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gQuiver50ItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBombBag20ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombBag20ItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBombBag30ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombBag30ItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBombBag40ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBombBag40ItemNameFRATex.ia4.inc.c"
+};
+
+u64 gGoronsBraceletItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoronsBraceletItemNameFRATex.ia4.inc.c"
+};
+
+u64 gSilverGauntletsItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSilverGauntletsItemNameFRATex.ia4.inc.c"
+};
+
+u64 gGoldenGauntletsItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoldenGauntletsItemNameFRATex.ia4.inc.c"
+};
+
+u64 gSilverScaleItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSilverScaleItemNameFRATex.ia4.inc.c"
+};
+
+u64 gGoldenScaleItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoldenScaleItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBrokenGiantsKnifeItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBrokenGiantsKnifeItemNameFRATex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName13JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName13JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName23JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName23JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName33JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName33JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName43JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName43JPNTex.ia4.inc.c"
+};
+
+u64 gMinuetOfForestItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gMinuetOfForestItemNameFRATex.ia4.inc.c"
+};
+
+u64 gBoleroOfFireItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBoleroOfFireItemNameFRATex.ia4.inc.c"
+};
+
+u64 gSerenadeOfWaterItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSerenadeOfWaterItemNameFRATex.ia4.inc.c"
+};
+
+u64 gRequiemOfSpiritItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gRequiemOfSpiritItemNameFRATex.ia4.inc.c"
+};
+
+u64 gNocturneOfShadowItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gNocturneOfShadowItemNameFRATex.ia4.inc.c"
+};
+
+u64 gPreludeOfLightItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gPreludeOfLightItemNameFRATex.ia4.inc.c"
+};
+
+u64 gZeldasLullabyItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZeldasLullabyItemNameFRATex.ia4.inc.c"
+};
+
+u64 gEponasSongItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gEponasSongItemNameFRATex.ia4.inc.c"
+};
+
+u64 gSariasSongItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSariasSongItemNameFRATex.ia4.inc.c"
+};
+
+u64 gSunsSongItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSunsSongItemNameFRATex.ia4.inc.c"
+};
+
+u64 gSongOfTimeItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSongOfTimeItemNameFRATex.ia4.inc.c"
+};
+
+u64 gSongOfStormsItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSongOfStormsItemNameFRATex.ia4.inc.c"
+};
+
+u64 gForestMedallionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gForestMedallionItemNameFRATex.ia4.inc.c"
+};
+
+u64 gFireMedallionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gFireMedallionItemNameFRATex.ia4.inc.c"
+};
+
+u64 gWaterMedallionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gWaterMedallionItemNameFRATex.ia4.inc.c"
+};
+
+u64 gSpiritMedallionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gSpiritMedallionItemNameFRATex.ia4.inc.c"
+};
+
+u64 gShadowMedallionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gShadowMedallionItemNameFRATex.ia4.inc.c"
+};
+
+u64 gLightMedallionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gLightMedallionItemNameFRATex.ia4.inc.c"
+};
+
+u64 gKokiriEmeraldItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gKokiriEmeraldItemNameFRATex.ia4.inc.c"
+};
+
+u64 gGoronsRubyItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoronsRubyItemNameFRATex.ia4.inc.c"
+};
+
+u64 gZorasSapphireItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gZorasSapphireItemNameFRATex.ia4.inc.c"
+};
+
+u64 gStoneofAgonyItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gStoneofAgonyItemNameFRATex.ia4.inc.c"
+};
+
+u64 gGerudosCardItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGerudosCardItemNameFRATex.ia4.inc.c"
+};
+
+u64 gGoldSkulltulaItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gGoldSkulltulaItemNameFRATex.ia4.inc.c"
+};
+
+u64 gHeartContainerItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gHeartContainerItemNameFRATex.ia4.inc.c"
+};
+
+u64 gUnusedPieceOfHeartItemName3JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedPieceOfHeartItemName3JPNTex.ia4.inc.c"
+};
+
+u64 gBossKeyItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBossKeyItemNameFRATex.ia4.inc.c"
+};
+
+u64 gCompassItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gCompassItemNameFRATex.ia4.inc.c"
+};
+
+u64 gDungeonMapItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gDungeonMapItemNameFRATex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName53JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName53JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName63JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName63JPNTex.ia4.inc.c"
+};
+
+u64 gUnusedBossKeyItemName73JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gUnusedBossKeyItemName73JPNTex.ia4.inc.c"
+};
+
+u64 gBiggoronsSwordItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)] = {
+#include "assets/textures/item_name_static/gBiggoronsSwordItemNameFRATex.ia4.inc.c"
+};
+
+#endif
diff --git a/assets/textures/item_name_static/item_name_static.h b/assets/textures/item_name_static/item_name_static.h
new file mode 100644
index 0000000000..7a4c6cf7b7
--- /dev/null
+++ b/assets/textures/item_name_static/item_name_static.h
@@ -0,0 +1,513 @@
+#ifndef ITEM_NAME_STATIC_H
+#define ITEM_NAME_STATIC_H
+
+#include "ultra64.h"
+#include "tex_len.h"
+#include "versions.h"
+#include "z64item.h"
+
+#if OOT_NTSC
+
+extern u64 gDekuStickItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gDekuNutItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFairyBowItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFireArrowItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gDinsFireItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFairySlingshotItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFairyOcarinaItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gOcarinaOfTimeItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombchuItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHookshotItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gLongshotItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gIceArrowItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFaroresWindItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBoomerangItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gLensItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMagicBeansItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMegatonHammerItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gLightArrowItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gNayrusLoveItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gEmptyBottleItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gRedPotionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGreenPotionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBluePotionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBottledFairyItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFishItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFullMilkItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gRutosLetterItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBlueFireItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBugItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBigPoeItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHalfMilkItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPoeItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gWeirdEggItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gCuccoItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZeldasLetterItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKeatonMaskItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSkullMaskItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSpookyMaskItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBunnyHoodItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoronMaskItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZoraMaskItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGerudoMaskItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMaskofTruthItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSOLDOUTItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPocketEggItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPocketCuccoItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gCojiroItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gOddMushroomItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gOddPotionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPoachersSawItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBrokenGoronsSwordItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPrescriptionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gEyeBallFrogItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gEyeDropsItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gClaimCheckItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedWindMedallionItemName1JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedFireMedallionItemName1JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedIceMedallionItemName1JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKokiriSwordItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMasterSwordItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGiantsKnifeItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gDekuShieldItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHylianShieldItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMirrorShieldItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKokiriTunicItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoronTunicItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZoraTunicItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKokiriBootsItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gIronBootsItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHoverBootsItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBulletBag30ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBulletBag40ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBulletBag50ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gQuiver30ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gQuiver40ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gQuiver50ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombBag20ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombBag30ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombBag40ItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoronsBraceletItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSilverGauntletsItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoldenGauntletsItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSilverScaleItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoldenScaleItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBrokenGiantsKnifeItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName1JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName2JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName3JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName4JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMinuetOfForestItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBoleroOfFireItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSerenadeOfWaterItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gRequiemOfSpiritItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gNocturneOfShadowItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPreludeOfLightItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZeldasLullabyItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gEponasSongItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSariasSongItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSunsSongItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSongOfTimeItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSongOfStormsItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gForestMedallionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFireMedallionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gWaterMedallionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSpiritMedallionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gShadowMedallionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gLightMedallionItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKokiriEmeraldItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoronsRubyItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZorasSapphireItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gStoneofAgonyItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGerudosCardItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoldSkulltulaItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPieceOfHeartItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedPieceOfHeartItemName1JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBigKeyItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gCompassItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gDungeonMapItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName5JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName6JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName7JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBiggoronsSwordItemNameJPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+
+#endif
+
+extern u64 gDekuStickItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gDekuNutItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFairyBowItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFireArrowItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gDinsFireItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFairySlingshotItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFairyOcarinaItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gOcarinaOfTimeItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombchuItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHookshotItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gLongshotItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gIceArrowItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFaroresWindItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBoomerangItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gLensItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMagicBeansItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMegatonHammerItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gLightArrowItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gNayrusLoveItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gEmptyBottleItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gRedPotionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGreenPotionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBluePotionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBottledFairyItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFishItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFullMilkItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gRutosLetterItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBlueFireItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBugItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBigPoeItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHalfMilkItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPoeItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gWeirdEggItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gCuccoItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZeldasLetterItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKeatonMaskItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSkullMaskItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSpookyMaskItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBunnyHoodItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoronMaskItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZoraMaskItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGerudoMaskItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMaskofTruthItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSOLDOUTItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPocketEggItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPocketCuccoItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gCojiroItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gOddMushroomItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gOddPotionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPoachersSawItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBrokenGoronsSwordItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPrescriptionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gEyeBallFrogItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gEyeDropsItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gClaimCheckItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedWindMedallionItemName1JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedFireMedallionItemName1JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedIceMedallionItemName1JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKokiriSwordItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMasterSwordItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGiantsKnifeItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gDekuShieldItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHylianShieldItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMirrorShieldItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKokiriTunicItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoronTunicItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZoraTunicItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKokiriBootsItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gIronBootsItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHoverBootsItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBulletBag30ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBulletBag40ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBulletBag50ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gQuiver30ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gQuiver40ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gQuiver50ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombBag20ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombBag30ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombBag40ItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoronsBraceletItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSilverGauntletsItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoldenGauntletsItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSilverScaleItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoldenScaleItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBrokenGiantsKnifeItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName1JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName2JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName3JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName4JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMinuetOfForestItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBoleroOfFireItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSerenadeOfWaterItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gRequiemOfSpiritItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gNocturneOfShadowItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPreludeOfLightItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZeldasLullabyItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gEponasSongItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSariasSongItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSunsSongItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSongOfTimeItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSongOfStormsItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gForestMedallionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFireMedallionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gWaterMedallionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSpiritMedallionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gShadowMedallionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gLightMedallionItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKokiriEmeraldItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoronsRubyItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZorasSapphireItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gStoneofAgonyItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGerudosCardItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoldSkulltulaItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPieceOfHeartItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedPieceOfHeartItemName1JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBigKeyItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gCompassItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gDungeonMapItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName5JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName6JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName7JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBiggoronsSwordItemNameENGTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+
+#if OOT_PAL
+
+extern u64 gDekuStickItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gDekuNutItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombItemNameItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFairyBowItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFireArrowItemNameUnk2GERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gDinsFireItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFairySlingshotItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFairyOcarinaItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gOcarinaOfTimeItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombchuItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHookshotItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gLongshotItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gIceArrowItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFaroresWindItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBoomerangItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gLensItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMagicBeansItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMegatonHammerItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gLightArrowItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gNayrusLoveItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gEmptyBottleItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gRedPotionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGreenPotionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBluePotionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBottledFairyItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFishItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFullMilkItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gRutosLetterItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBlueFireItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBugItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBigPoeItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHalfMilkItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPoeItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gWeirdEggItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gCuccoItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZeldasLetterItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKeatonMaskItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSkullMaskItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSpookyMaskItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBunnyHoodItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoronMaskItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZoraMaskItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGerudoMaskItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMaskofTruthItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSOLDOUTItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPocketEggItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPocketCuccoItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gCojiroItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gOddMushroomItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gOddPotionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPoachersSawItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBrokenGoronsSwordItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPrescriptionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gEyeBallFrogItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gEyeDropsItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gClaimCheckItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedWindMedallionItemName2JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedFireMedallionItemName2JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedIceMedallionItemName2JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKokiriSwordItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMasterSwordItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGiantsKnifeItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gDekuShieldItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHylianShieldItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMirrorShieldItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKokiriTunicItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoronTunicItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZoraTunicItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKokiriBootsItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gIronBootsItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHoverBootsItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBulletBag30ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBulletBag40ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBulletBag50ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gQuiver30ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gQuiver40ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gQuiver50ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombBag20ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombBag30ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombBag40ItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoronsBraceletItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSilverGauntletsItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoldenGauntletsItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSilverScaleItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoldenScaleItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBrokenGiantsKnifeItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName8JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName9JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName10JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName11JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMinuetOfForestItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBoleroOfFireItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSerenadeOfWaterItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gRequiemOfSpiritItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gNocturneOfShadowItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPreludeOfLightItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZeldasLullabyItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gEponasSongItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSariasSongItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSunsSongItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSongOfTimeItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSongOfStormsItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gForestMedallionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFireMedallionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gWaterMedallionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSpiritMedallionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gShadowMedallionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gLightMedallionItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKokiriEmeraldItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoronsRubyItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZorasSapphireItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gStoneofAgonyItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGerudosCardItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoldSkulltulaItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHeartContainerItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedPieceOfHeartItemName2JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBigKeyItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gCompassItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gDungeonMapItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName12JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName13JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName14JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBiggoronsSwordItemNameGERTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+
+extern u64 gDekuStickItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gDekuNutItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFairyBowItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFireArrowItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gDinsFireItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFairySlingshotItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFairyOcarinaItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gOcarinaOfTimeItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombchuItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHookshotItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gLongshotItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gIceArrowItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFaroresWindItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBoomerangItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gLensItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMagicBeansItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMegatonHammerItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gLightArrowItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gNayrusLoveItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gEmptyBottleItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gRedPotionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGreenPotionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBluePotionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBottledFairyItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFishItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFullMilkItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gRutosLetterItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBlueFireItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBugItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBigPoeItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHalfMilkItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPoeItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gWeirdEggItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gCuccoItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZeldasLetterItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKeatonMaskItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSkullMaskItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSpookyMaskItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBunnyHoodItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoronMaskItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZoraMaskItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGerudoMaskItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMaskofTruthItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSOLDOUTItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPocketEggItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPocketCuccoItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gCojiroItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gOddMushroomItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gOddPotionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPoachersSawItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBrokenGoronsSwordItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPrescriptionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gEyeBallFrogItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gEyeDropsItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gClaimCheckItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedWindMedallionItemName3JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedFireMedallionItemName3JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedIceMedallionItemName3JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKokiriSwordItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMasterSwordItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGiantsKnifeItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gDekuShieldItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHylianShieldItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMirrorShieldItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKokiriTunicItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoronTunicItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZoraTunicItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKokiriBootsItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gIronBootsItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHoverBootsItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBulletBag30ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBulletBag40ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBulletBag50ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gQuiver30ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gQuiver40ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gQuiver50ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombBag20ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombBag30ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBombBag40ItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoronsBraceletItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSilverGauntletsItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoldenGauntletsItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSilverScaleItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoldenScaleItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBrokenGiantsKnifeItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName15JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName16JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName17JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName18JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gMinuetOfForestItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBoleroOfFireItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSerenadeOfWaterItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gRequiemOfSpiritItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gNocturneOfShadowItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gPreludeOfLightItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZeldasLullabyItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gEponasSongItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSariasSongItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSunsSongItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSongOfTimeItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSongOfStormsItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gForestMedallionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gFireMedallionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gWaterMedallionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gSpiritMedallionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gShadowMedallionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gLightMedallionItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gKokiriEmeraldItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoronsRubyItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gZorasSapphireItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gStoneofAgonyItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGerudosCardItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gGoldSkulltulaItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gHeartContainerItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedPieceOfHeartItemName3JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBossKeyItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gCompassItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gDungeonMapItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName19JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName20JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gUnusedBossKeyItemName21JPNTex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+extern u64 gBiggoronsSwordItemNameFRATex[TEX_LEN(u64, ITEM_NAME_TEX_WIDTH, ITEM_NAME_TEX_HEIGHT, 4)];
+
+#endif
+
+#endif
diff --git a/assets/xml/objects/gameplay_dangeon_keep.xml b/assets/xml/objects/gameplay_dangeon_keep.xml
index 2670b752d5..4dcfa922b1 100644
--- a/assets/xml/objects/gameplay_dangeon_keep.xml
+++ b/assets/xml/objects/gameplay_dangeon_keep.xml
@@ -1,36 +1,108 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -46,7 +118,13 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_Bb.xml b/assets/xml/objects/object_Bb.xml
index 5d04bde451..b65f7f6b60 100644
--- a/assets/xml/objects/object_Bb.xml
+++ b/assets/xml/objects/object_Bb.xml
@@ -3,6 +3,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_b_heart.xml b/assets/xml/objects/object_b_heart.xml
index 00f7cd6773..dc4e7fa4c3 100644
--- a/assets/xml/objects/object_b_heart.xml
+++ b/assets/xml/objects/object_b_heart.xml
@@ -1,5 +1,11 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_bigokuta.xml b/assets/xml/objects/object_bigokuta.xml
index 1c7d39e319..9c77261caf 100644
--- a/assets/xml/objects/object_bigokuta.xml
+++ b/assets/xml/objects/object_bigokuta.xml
@@ -5,6 +5,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_bombiwa.xml b/assets/xml/objects/object_bombiwa.xml
index 26ab6b4f33..0f3f5a7e40 100644
--- a/assets/xml/objects/object_bombiwa.xml
+++ b/assets/xml/objects/object_bombiwa.xml
@@ -2,6 +2,9 @@
+
+
+
diff --git a/assets/xml/objects/object_brob.xml b/assets/xml/objects/object_brob.xml
index bef5bbc55f..ad8e61d3b7 100644
--- a/assets/xml/objects/object_brob.xml
+++ b/assets/xml/objects/object_brob.xml
@@ -1,6 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_bwall.xml b/assets/xml/objects/object_bwall.xml
index d4f43ddc14..e0bdea1b40 100644
--- a/assets/xml/objects/object_bwall.xml
+++ b/assets/xml/objects/object_bwall.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_bxa.xml b/assets/xml/objects/object_bxa.xml
index fb78c117e0..f1ad934e25 100644
--- a/assets/xml/objects/object_bxa.xml
+++ b/assets/xml/objects/object_bxa.xml
@@ -1,9 +1,18 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_d_elevator.xml b/assets/xml/objects/object_d_elevator.xml
index 6be59c154b..d2761b4f5c 100644
--- a/assets/xml/objects/object_d_elevator.xml
+++ b/assets/xml/objects/object_d_elevator.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_d_lift.xml b/assets/xml/objects/object_d_lift.xml
index 2912385190..8c226f30fb 100644
--- a/assets/xml/objects/object_d_lift.xml
+++ b/assets/xml/objects/object_d_lift.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_daiku.xml b/assets/xml/objects/object_daiku.xml
index 1524c7a26c..c2c538e1be 100644
--- a/assets/xml/objects/object_daiku.xml
+++ b/assets/xml/objects/object_daiku.xml
@@ -16,6 +16,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_dekujr.xml b/assets/xml/objects/object_dekujr.xml
index e906bf61c4..7f4e70681b 100644
--- a/assets/xml/objects/object_dekujr.xml
+++ b/assets/xml/objects/object_dekujr.xml
@@ -7,6 +7,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_demo_6k.xml b/assets/xml/objects/object_demo_6k.xml
index e2de93db2e..9cb598a2e1 100644
--- a/assets/xml/objects/object_demo_6k.xml
+++ b/assets/xml/objects/object_demo_6k.xml
@@ -2,8 +2,14 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_dh.xml b/assets/xml/objects/object_dh.xml
index 7a52d7dbe7..0e8d7fc7e1 100644
--- a/assets/xml/objects/object_dh.xml
+++ b/assets/xml/objects/object_dh.xml
@@ -1,5 +1,14 @@
+
+
+
+
+
+
+
+
+
@@ -22,6 +31,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -52,6 +103,9 @@
+
+
+
diff --git a/assets/xml/objects/object_dodojr.xml b/assets/xml/objects/object_dodojr.xml
index 4dfd7d6e45..1938fc574d 100644
--- a/assets/xml/objects/object_dodojr.xml
+++ b/assets/xml/objects/object_dodojr.xml
@@ -5,6 +5,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_dog.xml b/assets/xml/objects/object_dog.xml
index ef00442b60..7b32982441 100644
--- a/assets/xml/objects/object_dog.xml
+++ b/assets/xml/objects/object_dog.xml
@@ -14,6 +14,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_door_killer.xml b/assets/xml/objects/object_door_killer.xml
index fbee0e5f70..7f8d8f186c 100644
--- a/assets/xml/objects/object_door_killer.xml
+++ b/assets/xml/objects/object_door_killer.xml
@@ -1,5 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -8,9 +32,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_ds2.xml b/assets/xml/objects/object_ds2.xml
index 683bcc68d4..9c61ea4d24 100644
--- a/assets/xml/objects/object_ds2.xml
+++ b/assets/xml/objects/object_ds2.xml
@@ -1,6 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_efc_crystal_light.xml b/assets/xml/objects/object_efc_crystal_light.xml
index 9215b6a394..6ff4a830ed 100644
--- a/assets/xml/objects/object_efc_crystal_light.xml
+++ b/assets/xml/objects/object_efc_crystal_light.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_efc_erupc.xml b/assets/xml/objects/object_efc_erupc.xml
index 13cc2ab033..14d28438b2 100644
--- a/assets/xml/objects/object_efc_erupc.xml
+++ b/assets/xml/objects/object_efc_erupc.xml
@@ -3,9 +3,18 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_efc_fire_ball.xml b/assets/xml/objects/object_efc_fire_ball.xml
index 2fc65b16ff..645a95f4c2 100644
--- a/assets/xml/objects/object_efc_fire_ball.xml
+++ b/assets/xml/objects/object_efc_fire_ball.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_efc_lgt_shower.xml b/assets/xml/objects/object_efc_lgt_shower.xml
index 67ef5ce7e0..c4e54e7748 100644
--- a/assets/xml/objects/object_efc_lgt_shower.xml
+++ b/assets/xml/objects/object_efc_lgt_shower.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_efc_star_field.xml b/assets/xml/objects/object_efc_star_field.xml
index 00b47c460f..66782689c1 100644
--- a/assets/xml/objects/object_efc_star_field.xml
+++ b/assets/xml/objects/object_efc_star_field.xml
@@ -1,7 +1,13 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_fa.xml b/assets/xml/objects/object_fa.xml
index 2f1bf9a5e8..5b802e67aa 100644
--- a/assets/xml/objects/object_fa.xml
+++ b/assets/xml/objects/object_fa.xml
@@ -10,6 +10,9 @@
+
+
+
diff --git a/assets/xml/objects/object_fire.xml b/assets/xml/objects/object_fire.xml
index 49bf620cb8..aef28a61a5 100644
--- a/assets/xml/objects/object_fire.xml
+++ b/assets/xml/objects/object_fire.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_fr.xml b/assets/xml/objects/object_fr.xml
index 25ee2ad42e..19675d84fd 100644
--- a/assets/xml/objects/object_fr.xml
+++ b/assets/xml/objects/object_fr.xml
@@ -15,6 +15,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_ganon_objects.xml b/assets/xml/objects/object_ganon_objects.xml
index 5e32610ffc..dc2cfdb40f 100644
--- a/assets/xml/objects/object_ganon_objects.xml
+++ b/assets/xml/objects/object_ganon_objects.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_geff.xml b/assets/xml/objects/object_geff.xml
index f0667743b0..6a42a89a5c 100644
--- a/assets/xml/objects/object_geff.xml
+++ b/assets/xml/objects/object_geff.xml
@@ -2,6 +2,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_arrow.xml b/assets/xml/objects/object_gi_arrow.xml
index 4ce9110cc1..e041351008 100644
--- a/assets/xml/objects/object_gi_arrow.xml
+++ b/assets/xml/objects/object_gi_arrow.xml
@@ -1,8 +1,17 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_arrowcase.xml b/assets/xml/objects/object_gi_arrowcase.xml
index 990576428d..7939423ba4 100644
--- a/assets/xml/objects/object_gi_arrowcase.xml
+++ b/assets/xml/objects/object_gi_arrowcase.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_bean.xml b/assets/xml/objects/object_gi_bean.xml
index 2c6ce0cf12..6a2f1e7a7d 100644
--- a/assets/xml/objects/object_gi_bean.xml
+++ b/assets/xml/objects/object_gi_bean.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_bomb_1.xml b/assets/xml/objects/object_gi_bomb_1.xml
index 5d7dab6d86..396d09f5d9 100644
--- a/assets/xml/objects/object_gi_bomb_1.xml
+++ b/assets/xml/objects/object_gi_bomb_1.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_bomb_2.xml b/assets/xml/objects/object_gi_bomb_2.xml
index 01f3956803..78df129962 100644
--- a/assets/xml/objects/object_gi_bomb_2.xml
+++ b/assets/xml/objects/object_gi_bomb_2.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_bombpouch.xml b/assets/xml/objects/object_gi_bombpouch.xml
index 42620ec94d..7109816459 100644
--- a/assets/xml/objects/object_gi_bombpouch.xml
+++ b/assets/xml/objects/object_gi_bombpouch.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_boomerang.xml b/assets/xml/objects/object_gi_boomerang.xml
index fef261c489..bf20bb3429 100644
--- a/assets/xml/objects/object_gi_boomerang.xml
+++ b/assets/xml/objects/object_gi_boomerang.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_boots_2.xml b/assets/xml/objects/object_gi_boots_2.xml
index e172bd006c..026e9a482a 100644
--- a/assets/xml/objects/object_gi_boots_2.xml
+++ b/assets/xml/objects/object_gi_boots_2.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_bosskey.xml b/assets/xml/objects/object_gi_bosskey.xml
index 8e93c10d1a..cd5ae92094 100644
--- a/assets/xml/objects/object_gi_bosskey.xml
+++ b/assets/xml/objects/object_gi_bosskey.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_bottle.xml b/assets/xml/objects/object_gi_bottle.xml
index 0a27562954..22bece4f0b 100644
--- a/assets/xml/objects/object_gi_bottle.xml
+++ b/assets/xml/objects/object_gi_bottle.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_bottle_letter.xml b/assets/xml/objects/object_gi_bottle_letter.xml
index 04b08dd673..209d053f83 100644
--- a/assets/xml/objects/object_gi_bottle_letter.xml
+++ b/assets/xml/objects/object_gi_bottle_letter.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_bow.xml b/assets/xml/objects/object_gi_bow.xml
index 6e9101b413..ebf7a95559 100644
--- a/assets/xml/objects/object_gi_bow.xml
+++ b/assets/xml/objects/object_gi_bow.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_bracelet.xml b/assets/xml/objects/object_gi_bracelet.xml
index da35c003f8..c0d9c7f855 100644
--- a/assets/xml/objects/object_gi_bracelet.xml
+++ b/assets/xml/objects/object_gi_bracelet.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_brokensword.xml b/assets/xml/objects/object_gi_brokensword.xml
index 44cae3e100..e99b487a81 100644
--- a/assets/xml/objects/object_gi_brokensword.xml
+++ b/assets/xml/objects/object_gi_brokensword.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_butterfly.xml b/assets/xml/objects/object_gi_butterfly.xml
index 9882d27954..23487544e4 100644
--- a/assets/xml/objects/object_gi_butterfly.xml
+++ b/assets/xml/objects/object_gi_butterfly.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_clothes.xml b/assets/xml/objects/object_gi_clothes.xml
index 2a10dce11b..32550cfc8d 100644
--- a/assets/xml/objects/object_gi_clothes.xml
+++ b/assets/xml/objects/object_gi_clothes.xml
@@ -1,5 +1,11 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_coin.xml b/assets/xml/objects/object_gi_coin.xml
index f65993465b..e69e1dcd94 100644
--- a/assets/xml/objects/object_gi_coin.xml
+++ b/assets/xml/objects/object_gi_coin.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_compass.xml b/assets/xml/objects/object_gi_compass.xml
index 10c6fbb63a..748597c65f 100644
--- a/assets/xml/objects/object_gi_compass.xml
+++ b/assets/xml/objects/object_gi_compass.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_dekupouch.xml b/assets/xml/objects/object_gi_dekupouch.xml
index 25cde931f2..f51d885c01 100644
--- a/assets/xml/objects/object_gi_dekupouch.xml
+++ b/assets/xml/objects/object_gi_dekupouch.xml
@@ -1,6 +1,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_egg.xml b/assets/xml/objects/object_gi_egg.xml
index ceae8be407..967b128a45 100644
--- a/assets/xml/objects/object_gi_egg.xml
+++ b/assets/xml/objects/object_gi_egg.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_eye_lotion.xml b/assets/xml/objects/object_gi_eye_lotion.xml
index 86e053cd94..46cadb117e 100644
--- a/assets/xml/objects/object_gi_eye_lotion.xml
+++ b/assets/xml/objects/object_gi_eye_lotion.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_fire.xml b/assets/xml/objects/object_gi_fire.xml
index 3b81815d5f..ddeafaaf48 100644
--- a/assets/xml/objects/object_gi_fire.xml
+++ b/assets/xml/objects/object_gi_fire.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_fish.xml b/assets/xml/objects/object_gi_fish.xml
index 75361b32da..e5def6ebbe 100644
--- a/assets/xml/objects/object_gi_fish.xml
+++ b/assets/xml/objects/object_gi_fish.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_frog.xml b/assets/xml/objects/object_gi_frog.xml
index 8c5d616eb4..503f08c416 100644
--- a/assets/xml/objects/object_gi_frog.xml
+++ b/assets/xml/objects/object_gi_frog.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_gerudo.xml b/assets/xml/objects/object_gi_gerudo.xml
index 26dc606ce0..ac80cdd2f7 100644
--- a/assets/xml/objects/object_gi_gerudo.xml
+++ b/assets/xml/objects/object_gi_gerudo.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_gerudomask.xml b/assets/xml/objects/object_gi_gerudomask.xml
index b53bf24af6..3b42e2ee29 100644
--- a/assets/xml/objects/object_gi_gerudomask.xml
+++ b/assets/xml/objects/object_gi_gerudomask.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_ghost.xml b/assets/xml/objects/object_gi_ghost.xml
index e6c631c98e..30a0edf1eb 100644
--- a/assets/xml/objects/object_gi_ghost.xml
+++ b/assets/xml/objects/object_gi_ghost.xml
@@ -1,6 +1,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_glasses.xml b/assets/xml/objects/object_gi_glasses.xml
index 4a9cacf086..f6cb981845 100644
--- a/assets/xml/objects/object_gi_glasses.xml
+++ b/assets/xml/objects/object_gi_glasses.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_gloves.xml b/assets/xml/objects/object_gi_gloves.xml
index fb273e95f4..09976d11ef 100644
--- a/assets/xml/objects/object_gi_gloves.xml
+++ b/assets/xml/objects/object_gi_gloves.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_goddess.xml b/assets/xml/objects/object_gi_goddess.xml
index 6339012d47..cd693a5f45 100644
--- a/assets/xml/objects/object_gi_goddess.xml
+++ b/assets/xml/objects/object_gi_goddess.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_golonmask.xml b/assets/xml/objects/object_gi_golonmask.xml
index 98f53f1c25..ac8d86669c 100644
--- a/assets/xml/objects/object_gi_golonmask.xml
+++ b/assets/xml/objects/object_gi_golonmask.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_grass.xml b/assets/xml/objects/object_gi_grass.xml
index 2cc465c959..9ee7482729 100644
--- a/assets/xml/objects/object_gi_grass.xml
+++ b/assets/xml/objects/object_gi_grass.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_hammer.xml b/assets/xml/objects/object_gi_hammer.xml
index 49da345a93..70f0a17c20 100644
--- a/assets/xml/objects/object_gi_hammer.xml
+++ b/assets/xml/objects/object_gi_hammer.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_heart.xml b/assets/xml/objects/object_gi_heart.xml
index b3576efaad..0a8dfee2b1 100644
--- a/assets/xml/objects/object_gi_heart.xml
+++ b/assets/xml/objects/object_gi_heart.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_hearts.xml b/assets/xml/objects/object_gi_hearts.xml
index 122c898571..aaa87d00f1 100644
--- a/assets/xml/objects/object_gi_hearts.xml
+++ b/assets/xml/objects/object_gi_hearts.xml
@@ -1,6 +1,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_hookshot.xml b/assets/xml/objects/object_gi_hookshot.xml
index 513194fa7d..1d43f927e5 100644
--- a/assets/xml/objects/object_gi_hookshot.xml
+++ b/assets/xml/objects/object_gi_hookshot.xml
@@ -1,7 +1,13 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_hoverboots.xml b/assets/xml/objects/object_gi_hoverboots.xml
index 9d710662e5..5b3bf0c80f 100644
--- a/assets/xml/objects/object_gi_hoverboots.xml
+++ b/assets/xml/objects/object_gi_hoverboots.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_insect.xml b/assets/xml/objects/object_gi_insect.xml
index 9467605ce2..8eb59b9c1b 100644
--- a/assets/xml/objects/object_gi_insect.xml
+++ b/assets/xml/objects/object_gi_insect.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_jewel.xml b/assets/xml/objects/object_gi_jewel.xml
index 5dc87f53e2..012fc83514 100644
--- a/assets/xml/objects/object_gi_jewel.xml
+++ b/assets/xml/objects/object_gi_jewel.xml
@@ -2,14 +2,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_key.xml b/assets/xml/objects/object_gi_key.xml
index e38547a32c..874cd6e698 100644
--- a/assets/xml/objects/object_gi_key.xml
+++ b/assets/xml/objects/object_gi_key.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_ki_tan_mask.xml b/assets/xml/objects/object_gi_ki_tan_mask.xml
index e447c8fadf..ad6763bb9c 100644
--- a/assets/xml/objects/object_gi_ki_tan_mask.xml
+++ b/assets/xml/objects/object_gi_ki_tan_mask.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_letter.xml b/assets/xml/objects/object_gi_letter.xml
index 167a7ff5d8..d6acdf820d 100644
--- a/assets/xml/objects/object_gi_letter.xml
+++ b/assets/xml/objects/object_gi_letter.xml
@@ -1,5 +1,11 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_liquid.xml b/assets/xml/objects/object_gi_liquid.xml
index b3af2b2627..27ef25b0b0 100644
--- a/assets/xml/objects/object_gi_liquid.xml
+++ b/assets/xml/objects/object_gi_liquid.xml
@@ -1,6 +1,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_longsword.xml b/assets/xml/objects/object_gi_longsword.xml
index bdfffe3b16..dc7773c692 100644
--- a/assets/xml/objects/object_gi_longsword.xml
+++ b/assets/xml/objects/object_gi_longsword.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_m_arrow.xml b/assets/xml/objects/object_gi_m_arrow.xml
index 069a1bf1d4..a9a6cb7f3f 100644
--- a/assets/xml/objects/object_gi_m_arrow.xml
+++ b/assets/xml/objects/object_gi_m_arrow.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_magicpot.xml b/assets/xml/objects/object_gi_magicpot.xml
index 070de07fa0..3dc92c16a1 100644
--- a/assets/xml/objects/object_gi_magicpot.xml
+++ b/assets/xml/objects/object_gi_magicpot.xml
@@ -1,7 +1,13 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_map.xml b/assets/xml/objects/object_gi_map.xml
index 619b0bc845..b88e6de859 100644
--- a/assets/xml/objects/object_gi_map.xml
+++ b/assets/xml/objects/object_gi_map.xml
@@ -1,7 +1,13 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_medal.xml b/assets/xml/objects/object_gi_medal.xml
index 5676a9e316..7fafeb5d53 100644
--- a/assets/xml/objects/object_gi_medal.xml
+++ b/assets/xml/objects/object_gi_medal.xml
@@ -1,24 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_melody.xml b/assets/xml/objects/object_gi_melody.xml
index e028bc9463..31dc495bd8 100644
--- a/assets/xml/objects/object_gi_melody.xml
+++ b/assets/xml/objects/object_gi_melody.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_milk.xml b/assets/xml/objects/object_gi_milk.xml
index 3e5cb0cb5a..a1904f7f1d 100644
--- a/assets/xml/objects/object_gi_milk.xml
+++ b/assets/xml/objects/object_gi_milk.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_mushroom.xml b/assets/xml/objects/object_gi_mushroom.xml
index 8ee686263c..0933f2158a 100644
--- a/assets/xml/objects/object_gi_mushroom.xml
+++ b/assets/xml/objects/object_gi_mushroom.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_niwatori.xml b/assets/xml/objects/object_gi_niwatori.xml
index 8af44b8708..9bea0dbbaf 100644
--- a/assets/xml/objects/object_gi_niwatori.xml
+++ b/assets/xml/objects/object_gi_niwatori.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_nuts.xml b/assets/xml/objects/object_gi_nuts.xml
index d1a8454dbc..590c78d7dd 100644
--- a/assets/xml/objects/object_gi_nuts.xml
+++ b/assets/xml/objects/object_gi_nuts.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_ocarina.xml b/assets/xml/objects/object_gi_ocarina.xml
index b8714d6e3c..4e85cc04e1 100644
--- a/assets/xml/objects/object_gi_ocarina.xml
+++ b/assets/xml/objects/object_gi_ocarina.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_ocarina_0.xml b/assets/xml/objects/object_gi_ocarina_0.xml
index caca8f2002..7ec13c466e 100644
--- a/assets/xml/objects/object_gi_ocarina_0.xml
+++ b/assets/xml/objects/object_gi_ocarina_0.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_pachinko.xml b/assets/xml/objects/object_gi_pachinko.xml
index 9967813b3d..bc8872d685 100644
--- a/assets/xml/objects/object_gi_pachinko.xml
+++ b/assets/xml/objects/object_gi_pachinko.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_powder.xml b/assets/xml/objects/object_gi_powder.xml
index 4e33b58208..b49593cb1d 100644
--- a/assets/xml/objects/object_gi_powder.xml
+++ b/assets/xml/objects/object_gi_powder.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_prescription.xml b/assets/xml/objects/object_gi_prescription.xml
index 9fa16660c7..619252fafb 100644
--- a/assets/xml/objects/object_gi_prescription.xml
+++ b/assets/xml/objects/object_gi_prescription.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_purse.xml b/assets/xml/objects/object_gi_purse.xml
index 3034942ff4..c896b47de0 100644
--- a/assets/xml/objects/object_gi_purse.xml
+++ b/assets/xml/objects/object_gi_purse.xml
@@ -1,5 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_rabit_mask.xml b/assets/xml/objects/object_gi_rabit_mask.xml
index a3c07e469c..64e82b888c 100644
--- a/assets/xml/objects/object_gi_rabit_mask.xml
+++ b/assets/xml/objects/object_gi_rabit_mask.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_redead_mask.xml b/assets/xml/objects/object_gi_redead_mask.xml
index fe601cab64..2168b23e91 100644
--- a/assets/xml/objects/object_gi_redead_mask.xml
+++ b/assets/xml/objects/object_gi_redead_mask.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_rupy.xml b/assets/xml/objects/object_gi_rupy.xml
index 07b18b82dd..0305ae68b8 100644
--- a/assets/xml/objects/object_gi_rupy.xml
+++ b/assets/xml/objects/object_gi_rupy.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_saw.xml b/assets/xml/objects/object_gi_saw.xml
index 999b818e8b..3fb4cb8d3d 100644
--- a/assets/xml/objects/object_gi_saw.xml
+++ b/assets/xml/objects/object_gi_saw.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_scale.xml b/assets/xml/objects/object_gi_scale.xml
index c6794b6aea..dd9200dc96 100644
--- a/assets/xml/objects/object_gi_scale.xml
+++ b/assets/xml/objects/object_gi_scale.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_seed.xml b/assets/xml/objects/object_gi_seed.xml
index 5d3ef9c03f..88c224f24b 100644
--- a/assets/xml/objects/object_gi_seed.xml
+++ b/assets/xml/objects/object_gi_seed.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_shield_1.xml b/assets/xml/objects/object_gi_shield_1.xml
index 867292a4c3..5fa12c7cc2 100644
--- a/assets/xml/objects/object_gi_shield_1.xml
+++ b/assets/xml/objects/object_gi_shield_1.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_shield_2.xml b/assets/xml/objects/object_gi_shield_2.xml
index 364070d101..6c1f983b19 100644
--- a/assets/xml/objects/object_gi_shield_2.xml
+++ b/assets/xml/objects/object_gi_shield_2.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_shield_3.xml b/assets/xml/objects/object_gi_shield_3.xml
index 974a2539a9..2ff34c2f23 100644
--- a/assets/xml/objects/object_gi_shield_3.xml
+++ b/assets/xml/objects/object_gi_shield_3.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_skj_mask.xml b/assets/xml/objects/object_gi_skj_mask.xml
index 6479015715..7405e66222 100644
--- a/assets/xml/objects/object_gi_skj_mask.xml
+++ b/assets/xml/objects/object_gi_skj_mask.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_soldout.xml b/assets/xml/objects/object_gi_soldout.xml
index ae3f4685f9..517750ee9a 100644
--- a/assets/xml/objects/object_gi_soldout.xml
+++ b/assets/xml/objects/object_gi_soldout.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_soul.xml b/assets/xml/objects/object_gi_soul.xml
index ee9dbd9570..1487b57042 100644
--- a/assets/xml/objects/object_gi_soul.xml
+++ b/assets/xml/objects/object_gi_soul.xml
@@ -1,6 +1,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_stick.xml b/assets/xml/objects/object_gi_stick.xml
index d974b7ac5d..3da363f7cf 100644
--- a/assets/xml/objects/object_gi_stick.xml
+++ b/assets/xml/objects/object_gi_stick.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_sutaru.xml b/assets/xml/objects/object_gi_sutaru.xml
index 343d301868..5217cf300d 100644
--- a/assets/xml/objects/object_gi_sutaru.xml
+++ b/assets/xml/objects/object_gi_sutaru.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_sword_1.xml b/assets/xml/objects/object_gi_sword_1.xml
index 3bc15dcaf3..fcf8550224 100644
--- a/assets/xml/objects/object_gi_sword_1.xml
+++ b/assets/xml/objects/object_gi_sword_1.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_gi_ticketstone.xml b/assets/xml/objects/object_gi_ticketstone.xml
index 6cdd5ea2f0..cebc99a759 100644
--- a/assets/xml/objects/object_gi_ticketstone.xml
+++ b/assets/xml/objects/object_gi_ticketstone.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_truth_mask.xml b/assets/xml/objects/object_gi_truth_mask.xml
index 64bd0939c6..fbeab76d3e 100644
--- a/assets/xml/objects/object_gi_truth_mask.xml
+++ b/assets/xml/objects/object_gi_truth_mask.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_zoramask.xml b/assets/xml/objects/object_gi_zoramask.xml
index 096fdeedfc..06bca27371 100644
--- a/assets/xml/objects/object_gi_zoramask.xml
+++ b/assets/xml/objects/object_gi_zoramask.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_gnd_magic.xml b/assets/xml/objects/object_gnd_magic.xml
index a88d419d7a..f8bc83dcd9 100644
--- a/assets/xml/objects/object_gnd_magic.xml
+++ b/assets/xml/objects/object_gnd_magic.xml
@@ -2,6 +2,9 @@
+
+
+
diff --git a/assets/xml/objects/object_god_lgt.xml b/assets/xml/objects/object_god_lgt.xml
index b630605364..d8f1e92278 100644
--- a/assets/xml/objects/object_god_lgt.xml
+++ b/assets/xml/objects/object_god_lgt.xml
@@ -1,10 +1,16 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gs.xml b/assets/xml/objects/object_gs.xml
index 145be16653..de69d2571e 100644
--- a/assets/xml/objects/object_gs.xml
+++ b/assets/xml/objects/object_gs.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_haka_objects.xml b/assets/xml/objects/object_haka_objects.xml
index 3ca6d27c08..e0961ec596 100644
--- a/assets/xml/objects/object_haka_objects.xml
+++ b/assets/xml/objects/object_haka_objects.xml
@@ -1,55 +1,148 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_hs.xml b/assets/xml/objects/object_hs.xml
index cf5d06e1a2..3a3dfb46f7 100644
--- a/assets/xml/objects/object_hs.xml
+++ b/assets/xml/objects/object_hs.xml
@@ -3,6 +3,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_ingate.xml b/assets/xml/objects/object_ingate.xml
index e6be42bebf..e68c2d091a 100644
--- a/assets/xml/objects/object_ingate.xml
+++ b/assets/xml/objects/object_ingate.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_jya_door.xml b/assets/xml/objects/object_jya_door.xml
index 60a7b37886..25d15dd5d0 100644
--- a/assets/xml/objects/object_jya_door.xml
+++ b/assets/xml/objects/object_jya_door.xml
@@ -1,6 +1,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_ka.xml b/assets/xml/objects/object_ka.xml
index eb952732b4..9c7ae1317b 100644
--- a/assets/xml/objects/object_ka.xml
+++ b/assets/xml/objects/object_ka.xml
@@ -1,6 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_kanban.xml b/assets/xml/objects/object_kanban.xml
index b989d3572a..f859164472 100644
--- a/assets/xml/objects/object_kanban.xml
+++ b/assets/xml/objects/object_kanban.xml
@@ -1,6 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -13,6 +46,9 @@
+
+
+
diff --git a/assets/xml/objects/object_kingdodongo_pal.xml b/assets/xml/objects/object_kingdodongo_pal.xml
index a0790a6db5..e323584205 100644
--- a/assets/xml/objects/object_kingdodongo_pal.xml
+++ b/assets/xml/objects/object_kingdodongo_pal.xml
@@ -10,6 +10,9 @@
+
+
+
@@ -17,25 +20,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -102,6 +165,9 @@
+
+
+
@@ -111,8 +177,17 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_kusa.xml b/assets/xml/objects/object_kusa.xml
index 5eaaa99c58..b6bb8fcd0a 100644
--- a/assets/xml/objects/object_kusa.xml
+++ b/assets/xml/objects/object_kusa.xml
@@ -1,7 +1,13 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_kz.xml b/assets/xml/objects/object_kz.xml
index 1077c824ca..8c744985b8 100644
--- a/assets/xml/objects/object_kz.xml
+++ b/assets/xml/objects/object_kz.xml
@@ -18,6 +18,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_light_ring.xml b/assets/xml/objects/object_light_ring.xml
index babe7d2aa7..877aa3408d 100644
--- a/assets/xml/objects/object_light_ring.xml
+++ b/assets/xml/objects/object_light_ring.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_lightbox.xml b/assets/xml/objects/object_lightbox.xml
index c67059b89d..47fd57dfbf 100644
--- a/assets/xml/objects/object_lightbox.xml
+++ b/assets/xml/objects/object_lightbox.xml
@@ -1,12 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_lightswitch.xml b/assets/xml/objects/object_lightswitch.xml
index cfd5dcfb40..9caeb59b19 100644
--- a/assets/xml/objects/object_lightswitch.xml
+++ b/assets/xml/objects/object_lightswitch.xml
@@ -1,6 +1,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_link_boy.xml b/assets/xml/objects/object_link_boy.xml
index 83dd1dfbcc..b51e779cc8 100644
--- a/assets/xml/objects/object_link_boy.xml
+++ b/assets/xml/objects/object_link_boy.xml
@@ -527,8 +527,8 @@
-
-
+
+
diff --git a/assets/xml/objects/object_medal.xml b/assets/xml/objects/object_medal.xml
index 94976bd3f9..2ab2e87faa 100644
--- a/assets/xml/objects/object_medal.xml
+++ b/assets/xml/objects/object_medal.xml
@@ -1,11 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_mjin.xml b/assets/xml/objects/object_mjin.xml
index daf9b05412..2784956770 100644
--- a/assets/xml/objects/object_mjin.xml
+++ b/assets/xml/objects/object_mjin.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_mjin_oka.xml b/assets/xml/objects/object_mjin_oka.xml
index 0f823b9237..8da3481c73 100644
--- a/assets/xml/objects/object_mjin_oka.xml
+++ b/assets/xml/objects/object_mjin_oka.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_mk.xml b/assets/xml/objects/object_mk.xml
index 0b4aaae8aa..8ae1bd3959 100644
--- a/assets/xml/objects/object_mk.xml
+++ b/assets/xml/objects/object_mk.xml
@@ -4,6 +4,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_mori_hineri1.xml b/assets/xml/objects/object_mori_hineri1.xml
index 572eb6e1f3..d99fa0759a 100644
--- a/assets/xml/objects/object_mori_hineri1.xml
+++ b/assets/xml/objects/object_mori_hineri1.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_mori_hineri1a.xml b/assets/xml/objects/object_mori_hineri1a.xml
index 23e6f5e665..941c53fc4a 100644
--- a/assets/xml/objects/object_mori_hineri1a.xml
+++ b/assets/xml/objects/object_mori_hineri1a.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_mori_hineri2.xml b/assets/xml/objects/object_mori_hineri2.xml
index d539cd86f0..8f44a82af9 100644
--- a/assets/xml/objects/object_mori_hineri2.xml
+++ b/assets/xml/objects/object_mori_hineri2.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_mori_hineri2a.xml b/assets/xml/objects/object_mori_hineri2a.xml
index 0334488567..52dd3a0916 100644
--- a/assets/xml/objects/object_mori_hineri2a.xml
+++ b/assets/xml/objects/object_mori_hineri2a.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_mu.xml b/assets/xml/objects/object_mu.xml
index 7251ff7212..ac4aeb084d 100644
--- a/assets/xml/objects/object_mu.xml
+++ b/assets/xml/objects/object_mu.xml
@@ -12,6 +12,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -54,6 +93,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_ny.xml b/assets/xml/objects/object_ny.xml
index c81d66ab56..0b94903b19 100644
--- a/assets/xml/objects/object_ny.xml
+++ b/assets/xml/objects/object_ny.xml
@@ -4,6 +4,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oA1.xml b/assets/xml/objects/object_oA1.xml
index 1d665f1010..192a19b5a7 100644
--- a/assets/xml/objects/object_oA1.xml
+++ b/assets/xml/objects/object_oA1.xml
@@ -39,6 +39,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oA10.xml b/assets/xml/objects/object_oA10.xml
index 65d0808349..ae234bf692 100644
--- a/assets/xml/objects/object_oA10.xml
+++ b/assets/xml/objects/object_oA10.xml
@@ -39,6 +39,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oA11.xml b/assets/xml/objects/object_oA11.xml
index 92ae474b60..c1e0efe191 100644
--- a/assets/xml/objects/object_oA11.xml
+++ b/assets/xml/objects/object_oA11.xml
@@ -51,6 +51,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oA2.xml b/assets/xml/objects/object_oA2.xml
index ffdcd79896..81c97bed89 100644
--- a/assets/xml/objects/object_oA2.xml
+++ b/assets/xml/objects/object_oA2.xml
@@ -39,20 +39,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oA3.xml b/assets/xml/objects/object_oA3.xml
index 176ad09315..7abe8dd474 100644
--- a/assets/xml/objects/object_oA3.xml
+++ b/assets/xml/objects/object_oA3.xml
@@ -1,6 +1,9 @@
+
+
+
diff --git a/assets/xml/objects/object_oA4.xml b/assets/xml/objects/object_oA4.xml
index dcdbbfff9b..e883f3bcf3 100644
--- a/assets/xml/objects/object_oA4.xml
+++ b/assets/xml/objects/object_oA4.xml
@@ -39,6 +39,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oA5.xml b/assets/xml/objects/object_oA5.xml
index 55072176dd..14a6b19e22 100644
--- a/assets/xml/objects/object_oA5.xml
+++ b/assets/xml/objects/object_oA5.xml
@@ -39,20 +39,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oA6.xml b/assets/xml/objects/object_oA6.xml
index c17a510881..72db514fcb 100644
--- a/assets/xml/objects/object_oA6.xml
+++ b/assets/xml/objects/object_oA6.xml
@@ -39,6 +39,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oA7.xml b/assets/xml/objects/object_oA7.xml
index 52c68f6394..083f5f3ce5 100644
--- a/assets/xml/objects/object_oA7.xml
+++ b/assets/xml/objects/object_oA7.xml
@@ -39,20 +39,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oA8.xml b/assets/xml/objects/object_oA8.xml
index 8ed2d3df50..884797e6d9 100644
--- a/assets/xml/objects/object_oA8.xml
+++ b/assets/xml/objects/object_oA8.xml
@@ -39,6 +39,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oA9.xml b/assets/xml/objects/object_oA9.xml
index d5c16abfcd..464e8c91ba 100644
--- a/assets/xml/objects/object_oA9.xml
+++ b/assets/xml/objects/object_oA9.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_oB1.xml b/assets/xml/objects/object_oB1.xml
index 2f50c967b2..9115a2b953 100644
--- a/assets/xml/objects/object_oB1.xml
+++ b/assets/xml/objects/object_oB1.xml
@@ -39,20 +39,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oB2.xml b/assets/xml/objects/object_oB2.xml
index 230783ceae..eb56eae40f 100644
--- a/assets/xml/objects/object_oB2.xml
+++ b/assets/xml/objects/object_oB2.xml
@@ -54,6 +54,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oB3.xml b/assets/xml/objects/object_oB3.xml
index 1c42ddaccc..396c341702 100644
--- a/assets/xml/objects/object_oB3.xml
+++ b/assets/xml/objects/object_oB3.xml
@@ -39,6 +39,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oB4.xml b/assets/xml/objects/object_oB4.xml
index 2924c9e753..6cdff038ed 100644
--- a/assets/xml/objects/object_oB4.xml
+++ b/assets/xml/objects/object_oB4.xml
@@ -39,6 +39,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oE1.xml b/assets/xml/objects/object_oE1.xml
index 5b3234893e..e3e8374dd9 100644
--- a/assets/xml/objects/object_oE1.xml
+++ b/assets/xml/objects/object_oE1.xml
@@ -39,6 +39,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oE10.xml b/assets/xml/objects/object_oE10.xml
index 04ce914372..7e2717e541 100644
--- a/assets/xml/objects/object_oE10.xml
+++ b/assets/xml/objects/object_oE10.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_oE11.xml b/assets/xml/objects/object_oE11.xml
index 26ff739cd0..64b9ad265a 100644
--- a/assets/xml/objects/object_oE11.xml
+++ b/assets/xml/objects/object_oE11.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_oE12.xml b/assets/xml/objects/object_oE12.xml
index 4b89954e0d..e500448084 100644
--- a/assets/xml/objects/object_oE12.xml
+++ b/assets/xml/objects/object_oE12.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_oE1s.xml b/assets/xml/objects/object_oE1s.xml
index faf6ab7342..d9a419e5fa 100644
--- a/assets/xml/objects/object_oE1s.xml
+++ b/assets/xml/objects/object_oE1s.xml
@@ -31,6 +31,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oE2.xml b/assets/xml/objects/object_oE2.xml
index ea3ba91fc6..714060fd6c 100644
--- a/assets/xml/objects/object_oE2.xml
+++ b/assets/xml/objects/object_oE2.xml
@@ -39,6 +39,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oE3.xml b/assets/xml/objects/object_oE3.xml
index 4a6cb3d926..b61b850fba 100644
--- a/assets/xml/objects/object_oE3.xml
+++ b/assets/xml/objects/object_oE3.xml
@@ -39,6 +39,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oE4.xml b/assets/xml/objects/object_oE4.xml
index ae48d2adef..e353bfb9ce 100644
--- a/assets/xml/objects/object_oE4.xml
+++ b/assets/xml/objects/object_oE4.xml
@@ -39,6 +39,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oE4s.xml b/assets/xml/objects/object_oE4s.xml
index 584019568a..1f1b33dcfa 100644
--- a/assets/xml/objects/object_oE4s.xml
+++ b/assets/xml/objects/object_oE4s.xml
@@ -27,6 +27,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oE5.xml b/assets/xml/objects/object_oE5.xml
index c05917dc9a..89e9947adc 100644
--- a/assets/xml/objects/object_oE5.xml
+++ b/assets/xml/objects/object_oE5.xml
@@ -39,6 +39,30 @@
-->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oE6.xml b/assets/xml/objects/object_oE6.xml
index d253130af1..019797be82 100644
--- a/assets/xml/objects/object_oE6.xml
+++ b/assets/xml/objects/object_oE6.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_oE7.xml b/assets/xml/objects/object_oE7.xml
index 2b6b5cf316..bdf32d3b6c 100644
--- a/assets/xml/objects/object_oE7.xml
+++ b/assets/xml/objects/object_oE7.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_oE8.xml b/assets/xml/objects/object_oE8.xml
index 8b1333fa9c..d14c141bfd 100644
--- a/assets/xml/objects/object_oE8.xml
+++ b/assets/xml/objects/object_oE8.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_oE9.xml b/assets/xml/objects/object_oE9.xml
index e43cee426b..f8c4fa1e78 100644
--- a/assets/xml/objects/object_oE9.xml
+++ b/assets/xml/objects/object_oE9.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_oF1s.xml b/assets/xml/objects/object_oF1s.xml
index fe41dde630..26491d565c 100644
--- a/assets/xml/objects/object_oF1s.xml
+++ b/assets/xml/objects/object_oF1s.xml
@@ -38,6 +38,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_ossan.xml b/assets/xml/objects/object_ossan.xml
index 7e51c33bce..c0d80ad0b0 100644
--- a/assets/xml/objects/object_ossan.xml
+++ b/assets/xml/objects/object_ossan.xml
@@ -4,12 +4,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_ouke_haka.xml b/assets/xml/objects/object_ouke_haka.xml
index 11da9b26ef..49dc2a4af1 100644
--- a/assets/xml/objects/object_ouke_haka.xml
+++ b/assets/xml/objects/object_ouke_haka.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_reeba.xml b/assets/xml/objects/object_reeba.xml
index 32c697bd9d..474e4edc59 100644
--- a/assets/xml/objects/object_reeba.xml
+++ b/assets/xml/objects/object_reeba.xml
@@ -4,21 +4,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_rl.xml b/assets/xml/objects/object_rl.xml
index 8453935b1f..e9a26ef2fb 100644
--- a/assets/xml/objects/object_rl.xml
+++ b/assets/xml/objects/object_rl.xml
@@ -3,6 +3,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -20,6 +44,9 @@
+
+
+
diff --git a/assets/xml/objects/object_rr.xml b/assets/xml/objects/object_rr.xml
index 98726b14bb..4d95b2da3e 100644
--- a/assets/xml/objects/object_rr.xml
+++ b/assets/xml/objects/object_rr.xml
@@ -1,5 +1,8 @@
+
+
+
diff --git a/assets/xml/objects/object_rs.xml b/assets/xml/objects/object_rs.xml
index a5f7536590..64832b127a 100644
--- a/assets/xml/objects/object_rs.xml
+++ b/assets/xml/objects/object_rs.xml
@@ -2,6 +2,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_sb.xml b/assets/xml/objects/object_sb.xml
index 57a0f7f8f7..7ba041f183 100644
--- a/assets/xml/objects/object_sb.xml
+++ b/assets/xml/objects/object_sb.xml
@@ -15,6 +15,12 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_shop_dungen.xml b/assets/xml/objects/object_shop_dungen.xml
index 027207402c..baf9b9b44b 100644
--- a/assets/xml/objects/object_shop_dungen.xml
+++ b/assets/xml/objects/object_shop_dungen.xml
@@ -1,9 +1,15 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_siofuki.xml b/assets/xml/objects/object_siofuki.xml
index f8a9e50d83..0a758500c9 100644
--- a/assets/xml/objects/object_siofuki.xml
+++ b/assets/xml/objects/object_siofuki.xml
@@ -2,6 +2,9 @@
+
+
+
diff --git a/assets/xml/objects/object_spot03_object.xml b/assets/xml/objects/object_spot03_object.xml
index f182e7d99a..c844a45103 100644
--- a/assets/xml/objects/object_spot03_object.xml
+++ b/assets/xml/objects/object_spot03_object.xml
@@ -11,6 +11,9 @@
+
+
+
diff --git a/assets/xml/objects/object_spot05_objects.xml b/assets/xml/objects/object_spot05_objects.xml
index 6e70791493..dcca34043a 100644
--- a/assets/xml/objects/object_spot05_objects.xml
+++ b/assets/xml/objects/object_spot05_objects.xml
@@ -1,9 +1,15 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_spot07_object.xml b/assets/xml/objects/object_spot07_object.xml
index 5bc2bfb6bf..6f0263173e 100644
--- a/assets/xml/objects/object_spot07_object.xml
+++ b/assets/xml/objects/object_spot07_object.xml
@@ -1,14 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_spot11_obj.xml b/assets/xml/objects/object_spot11_obj.xml
index 257298f7cc..ba1c4784fd 100644
--- a/assets/xml/objects/object_spot11_obj.xml
+++ b/assets/xml/objects/object_spot11_obj.xml
@@ -1,8 +1,14 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_spot17_obj.xml b/assets/xml/objects/object_spot17_obj.xml
index 73a4ca5203..364ee9b9e8 100644
--- a/assets/xml/objects/object_spot17_obj.xml
+++ b/assets/xml/objects/object_spot17_obj.xml
@@ -2,9 +2,18 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_ssh.xml b/assets/xml/objects/object_ssh.xml
index 6283f8e9f2..3f50161d96 100644
--- a/assets/xml/objects/object_ssh.xml
+++ b/assets/xml/objects/object_ssh.xml
@@ -12,6 +12,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_stream.xml b/assets/xml/objects/object_stream.xml
index 6c65f77c34..e8710781c8 100644
--- a/assets/xml/objects/object_stream.xml
+++ b/assets/xml/objects/object_stream.xml
@@ -2,6 +2,9 @@
+
+
+
diff --git a/assets/xml/objects/object_syokudai.xml b/assets/xml/objects/object_syokudai.xml
index 6434d923a5..a34d4adc67 100644
--- a/assets/xml/objects/object_syokudai.xml
+++ b/assets/xml/objects/object_syokudai.xml
@@ -1,8 +1,17 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_tite.xml b/assets/xml/objects/object_tite.xml
index 1be65c4950..4474dab205 100644
--- a/assets/xml/objects/object_tite.xml
+++ b/assets/xml/objects/object_tite.xml
@@ -17,6 +17,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_toki_objects.xml b/assets/xml/objects/object_toki_objects.xml
index 917d239347..7534d44d1e 100644
--- a/assets/xml/objects/object_toki_objects.xml
+++ b/assets/xml/objects/object_toki_objects.xml
@@ -2,11 +2,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -16,12 +28,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_toryo.xml b/assets/xml/objects/object_toryo.xml
index 73f3dcb1e2..9bd5b09711 100644
--- a/assets/xml/objects/object_toryo.xml
+++ b/assets/xml/objects/object_toryo.xml
@@ -16,6 +16,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_tr.xml b/assets/xml/objects/object_tr.xml
index 827b85bfe6..f365b97266 100644
--- a/assets/xml/objects/object_tr.xml
+++ b/assets/xml/objects/object_tr.xml
@@ -51,6 +51,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -125,6 +152,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_triforce_spot.xml b/assets/xml/objects/object_triforce_spot.xml
index a9d52dd963..40f936d3c3 100644
--- a/assets/xml/objects/object_triforce_spot.xml
+++ b/assets/xml/objects/object_triforce_spot.xml
@@ -1,9 +1,11 @@
-
+
+
+
+
-
diff --git a/assets/xml/objects/object_ts.xml b/assets/xml/objects/object_ts.xml
index 567277bc39..ce99c27e0b 100644
--- a/assets/xml/objects/object_ts.xml
+++ b/assets/xml/objects/object_ts.xml
@@ -11,6 +11,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_tsubo.xml b/assets/xml/objects/object_tsubo.xml
index ee2c5e1846..bdfd9070af 100644
--- a/assets/xml/objects/object_tsubo.xml
+++ b/assets/xml/objects/object_tsubo.xml
@@ -3,7 +3,13 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_umajump.xml b/assets/xml/objects/object_umajump.xml
index 2ee4ade46a..1d205b7a42 100644
--- a/assets/xml/objects/object_umajump.xml
+++ b/assets/xml/objects/object_umajump.xml
@@ -2,6 +2,9 @@
+
+
+
diff --git a/assets/xml/objects/object_wf.xml b/assets/xml/objects/object_wf.xml
index d5d70639d7..c97207cf0b 100644
--- a/assets/xml/objects/object_wf.xml
+++ b/assets/xml/objects/object_wf.xml
@@ -7,6 +7,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -25,6 +67,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -64,6 +121,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -90,6 +189,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_wood02.xml b/assets/xml/objects/object_wood02.xml
index dcf6d21291..a79fe654dc 100644
--- a/assets/xml/objects/object_wood02.xml
+++ b/assets/xml/objects/object_wood02.xml
@@ -1,11 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -18,16 +33,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_yabusame_point.xml b/assets/xml/objects/object_yabusame_point.xml
index bed9e8a609..5a06a44e68 100644
--- a/assets/xml/objects/object_yabusame_point.xml
+++ b/assets/xml/objects/object_yabusame_point.xml
@@ -3,6 +3,9 @@
+
+
+
diff --git a/assets/xml/objects/object_zf.xml b/assets/xml/objects/object_zf.xml
index 74e9d45915..a537b9ff8d 100644
--- a/assets/xml/objects/object_zf.xml
+++ b/assets/xml/objects/object_zf.xml
@@ -11,6 +11,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -99,27 +159,93 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_zg.xml b/assets/xml/objects/object_zg.xml
index 79005516c4..d0f301390b 100644
--- a/assets/xml/objects/object_zg.xml
+++ b/assets/xml/objects/object_zg.xml
@@ -2,6 +2,9 @@
+
+
+
diff --git a/assets/xml/textures/item_name_static.xml b/assets/xml/textures/item_name_static.xml
index 0740038d9b..0e2d769474 100644
--- a/assets/xml/textures/item_name_static.xml
+++ b/assets/xml/textures/item_name_static.xml
@@ -56,9 +56,9 @@
-
-
-
+
+
+
@@ -115,7 +115,7 @@
-
+
@@ -123,11 +123,12 @@
+
-
+
-
+
@@ -179,9 +180,9 @@
-
-
-
+
+
+
@@ -209,10 +210,10 @@
-
-
-
-
+
+
+
+
@@ -237,14 +238,14 @@
-
-
-
+
+
+
-
-
-
+
+
+
diff --git a/assets/xml/textures/item_name_static_pal.xml b/assets/xml/textures/item_name_static_pal.xml
index adf66fcb9b..321c890a94 100644
--- a/assets/xml/textures/item_name_static_pal.xml
+++ b/assets/xml/textures/item_name_static_pal.xml
@@ -86,10 +86,10 @@
-
-
-
-
+
+
+
+
@@ -119,10 +119,11 @@
-
-
-
+
+
+
+
@@ -209,10 +210,10 @@
-
-
-
-
+
+
+
+
@@ -242,10 +243,11 @@
-
-
-
+
+
+
+
@@ -332,10 +334,10 @@
-
-
-
-
+
+
+
+
@@ -365,9 +367,9 @@
-
-
-
+
+
+
diff --git a/include/z64draw.h b/include/z64draw.h
index 51250ed8c8..95c5aa2340 100644
--- a/include/z64draw.h
+++ b/include/z64draw.h
@@ -5,6 +5,6 @@
struct PlayState;
-void GetItem_Draw(struct PlayState* play, s16 drawId);
+void GetItem_Draw(struct PlayState* play, s16 giDrawId);
#endif
diff --git a/include/z64pause.h b/include/z64pause.h
index da0e56038a..24f53a93d8 100644
--- a/include/z64pause.h
+++ b/include/z64pause.h
@@ -79,11 +79,18 @@ typedef enum PauseState {
/* 19 */ PAUSE_STATE_RESUME_GAMEPLAY // Handles returning to normal gameplay once the pause menu is visually closed
} PauseState;
+typedef enum PauseDebugState {
+ /* 0 */ PAUSE_DEBUG_STATE_CLOSED,
+ /* 1 */ PAUSE_DEBUG_STATE_INVENTORY_EDITOR_OPENING,
+ /* 2 */ PAUSE_DEBUG_STATE_INVENTORY_EDITOR_OPEN,
+ /* 3 */ PAUSE_DEBUG_STATE_FLAG_SET_OPEN
+} PauseDebugState;
+
#define IS_PAUSE_STATE_GAMEOVER(pauseCtx) \
(((pauseCtx)->state >= PAUSE_STATE_GAME_OVER_START) && ((pauseCtx)->state <= PAUSE_STATE_GAME_OVER_FINISH))
#define IS_PAUSED(pauseCtx) \
- (((pauseCtx)->state != PAUSE_STATE_OFF) || ((pauseCtx)->debugState != 0))
+ (((pauseCtx)->state != PAUSE_STATE_OFF) || ((pauseCtx)->debugState != PAUSE_DEBUG_STATE_CLOSED))
// Sub-states of PAUSE_STATE_MAIN
typedef enum PauseMainState {
diff --git a/include/z64player.h b/include/z64player.h
index 368a6cf032..fdc8fa1354 100644
--- a/include/z64player.h
+++ b/include/z64player.h
@@ -269,18 +269,17 @@ typedef enum PlayerDoorType {
/* 3 */ PLAYER_DOORTYPE_FAKE
} PlayerDoorType;
-typedef enum PlayerFacePart {
- /* 0 */ PLAYER_FACEPART_EYES,
- /* 1 */ PLAYER_FACEPART_MOUTH,
- /* 2 */ PLAYER_FACEPART_MAX
-} PlayerFacePart;
+typedef struct PlayerFaceIndices {
+ /* 0x0 */ u8 eyeIndex;
+ /* 0x1 */ u8 mouthIndex;
+} PlayerFaceIndices; // size = 0x2
typedef enum PlayerEyes {
/* 0 */ PLAYER_EYES_OPEN,
/* 1 */ PLAYER_EYES_HALF,
/* 2 */ PLAYER_EYES_CLOSED,
- /* 3 */ PLAYER_EYES_LEFT,
- /* 4 */ PLAYER_EYES_RIGHT,
+ /* 3 */ PLAYER_EYES_RIGHT,
+ /* 4 */ PLAYER_EYES_LEFT,
/* 5 */ PLAYER_EYES_WIDE,
/* 6 */ PLAYER_EYES_DOWN,
/* 7 */ PLAYER_EYES_WINCING,
@@ -302,12 +301,12 @@ typedef enum PlayerFace {
/* 3 */ PLAYER_FACE_NEUTRAL_2, // same as `PLAYER_FACE_NEUTRAL`
/* 4 */ PLAYER_FACE_NEUTRAL_BLINKING_HALF_2, // same as `PLAYER_FACE_NEUTRAL_BLINKING_HALF`
/* 5 */ PLAYER_FACE_NEUTRAL_BLINKING_CLOSED_2, // same as `PLAYER_FACE_NEUTRAL_BLINKING_CLOSED`
- /* 6 */ PLAYER_FACE_LOOK_RIGHT, // eyes looking right and mouth closed
+ /* 6 */ PLAYER_FACE_LOOK_LEFT, // eyes looking left and mouth closed
/* 7 */ PLAYER_FACE_SURPRISED, // wide eyes and grimacing mouth
/* 8 */ PLAYER_FACE_HURT, // eyes wincing in pain and mouth open
/* 9 */ PLAYER_FACE_GASP, // eyes and mouth open
- /* 10 */ PLAYER_FACE_LOOK_LEFT, // eyes looking left and mouth closed
- /* 11 */ PLAYER_FACE_LOOK_RIGHT_2, // duplicate of `PLAYER_FACE_LOOK_RIGHT`
+ /* 10 */ PLAYER_FACE_LOOK_RIGHT, // eyes looking right and mouth closed
+ /* 11 */ PLAYER_FACE_LOOK_LEFT_2, // duplicate of `PLAYER_FACE_LOOK_LEFT`
/* 12 */ PLAYER_FACE_EYES_CLOSED_MOUTH_OPEN, // eyes closed and mouth open
/* 13 */ PLAYER_FACE_OPENING, // eyes and mouth both halfway open
/* 14 */ PLAYER_FACE_EYES_AND_MOUTH_OPEN, // eyes and mouth open
diff --git a/src/boot/z_std_dma.c b/src/boot/z_std_dma.c
index f38edf74a4..7678168549 100644
--- a/src/boot/z_std_dma.c
+++ b/src/boot/z_std_dma.c
@@ -45,8 +45,8 @@
#include "z64dma.h"
#include "z64thread.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.2:86" \
- "pal-1.0:84 pal-1.1:84"
+#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.2:82" \
+ "pal-1.0:80 pal-1.1:80"
StackEntry sDmaMgrStackInfo;
OSMesgQueue sDmaMgrMsgQueue;
diff --git a/src/code/flg_set.c b/src/code/flg_set.c
index 88f32a3e4e..efc044074a 100644
--- a/src/code/flg_set.c
+++ b/src/code/flg_set.c
@@ -184,7 +184,7 @@ void FlagSet_Update(PlayState* play) {
}
if (CHECK_BTN_ALL(input->press.button, BTN_L)) {
- play->pauseCtx.debugState = 0;
+ play->pauseCtx.debugState = PAUSE_DEBUG_STATE_CLOSED;
}
CLOSE_DISPS(gfxCtx, "../flg_set.c", 241);
diff --git a/src/code/main.c b/src/code/main.c
index 9bd722f9ce..902e624aa6 100644
--- a/src/code/main.c
+++ b/src/code/main.c
@@ -44,7 +44,7 @@ extern struct IrqMgr gIrqMgr;
#include "z64thread.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" \
- "ique-cn:0 ntsc-1.0:54 ntsc-1.1:54 ntsc-1.2:54 pal-1.0:52 pal-1.1:52"
+ "ique-cn:0 ntsc-1.0:51 ntsc-1.1:51 ntsc-1.2:51 pal-1.0:49 pal-1.1:49"
extern u8 _buffersSegmentEnd[];
diff --git a/src/code/z_bgcheck.c b/src/code/z_bgcheck.c
index 945051552a..65ff40ee46 100644
--- a/src/code/z_bgcheck.c
+++ b/src/code/z_bgcheck.c
@@ -14,7 +14,7 @@
#include "z64player.h"
#include "z64skin_matrix.h"
-#pragma increment_block_number "ntsc-1.0:152 ntsc-1.1:152 ntsc-1.2:152"
+#pragma increment_block_number "ntsc-1.0:144 ntsc-1.1:144 ntsc-1.2:144"
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 cf18c3634a..cf5ed30730 100644
--- a/src/code/z_camera.c
+++ b/src/code/z_camera.c
@@ -3661,7 +3661,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:86 ntsc-1.1:86 ntsc-1.2:86 pal-1.0:86 pal-1.1:86"
+ "ique-cn:128 ntsc-1.0:83 ntsc-1.1:83 ntsc-1.2:83 pal-1.0:83 pal-1.1:83"
s32 Camera_KeepOn4(Camera* camera) {
static Vec3f D_8015BD50;
diff --git a/src/code/z_draw.c b/src/code/z_draw.c
index 9e0dd236eb..4cb14f017a 100644
--- a/src/code/z_draw.c
+++ b/src/code/z_draw.c
@@ -84,32 +84,32 @@
#include "assets/objects/object_st/object_st.h"
// "Get Item" Model Draw Functions
-void GetItem_DrawMaskOrBombchu(PlayState* play, s16 drawId);
-void GetItem_DrawSoldOut(PlayState* play, s16 drawId);
-void GetItem_DrawBlueFire(PlayState* play, s16 drawId);
-void GetItem_DrawPoes(PlayState* play, s16 drawId);
-void GetItem_DrawFairy(PlayState* play, s16 drawId);
-void GetItem_DrawMirrorShield(PlayState* play, s16 drawId);
-void GetItem_DrawSkullToken(PlayState* play, s16 drawId);
-void GetItem_DrawEggOrMedallion(PlayState* play, s16 drawId);
-void GetItem_DrawCompass(PlayState* play, s16 drawId);
-void GetItem_DrawPotion(PlayState* play, s16 drawId);
-void GetItem_DrawGoronSword(PlayState* play, s16 drawId);
-void GetItem_DrawDekuNuts(PlayState* play, s16 drawId);
-void GetItem_DrawRecoveryHeart(PlayState* play, s16 drawId);
-void GetItem_DrawFish(PlayState* play, s16 drawId);
-void GetItem_DrawOpa0(PlayState* play, s16 drawId);
-void GetItem_DrawOpa0Xlu1(PlayState* play, s16 drawId);
-void GetItem_DrawXlu01(PlayState* play, s16 drawId);
-void GetItem_DrawOpa10Xlu2(PlayState* play, s16 drawId);
-void GetItem_DrawMagicArrow(PlayState* play, s16 drawId);
-void GetItem_DrawMagicSpell(PlayState* play, s16 drawId);
-void GetItem_DrawOpa1023(PlayState* play, s16 drawId);
-void GetItem_DrawOpa10Xlu32(PlayState* play, s16 drawId);
-void GetItem_DrawSmallRupee(PlayState* play, s16 drawId);
-void GetItem_DrawScale(PlayState* play, s16 drawId);
-void GetItem_DrawBulletBag(PlayState* play, s16 drawId);
-void GetItem_DrawWallet(PlayState* play, s16 drawId);
+void GetItem_DrawMaskOrBombchu(PlayState* play, s16 giDrawId);
+void GetItem_DrawSoldOut(PlayState* play, s16 giDrawId);
+void GetItem_DrawBlueFire(PlayState* play, s16 giDrawId);
+void GetItem_DrawPoes(PlayState* play, s16 giDrawId);
+void GetItem_DrawFairy(PlayState* play, s16 giDrawId);
+void GetItem_DrawMirrorShield(PlayState* play, s16 giDrawId);
+void GetItem_DrawSkullToken(PlayState* play, s16 giDrawId);
+void GetItem_DrawEggOrMedallion(PlayState* play, s16 giDrawId);
+void GetItem_DrawCompass(PlayState* play, s16 giDrawId);
+void GetItem_DrawPotion(PlayState* play, s16 giDrawId);
+void GetItem_DrawGoronSword(PlayState* play, s16 giDrawId);
+void GetItem_DrawDekuNuts(PlayState* play, s16 giDrawId);
+void GetItem_DrawRecoveryHeart(PlayState* play, s16 giDrawId);
+void GetItem_DrawFish(PlayState* play, s16 giDrawId);
+void GetItem_DrawOpa0(PlayState* play, s16 giDrawId);
+void GetItem_DrawOpa0Xlu1(PlayState* play, s16 giDrawId);
+void GetItem_DrawXlu01(PlayState* play, s16 giDrawId);
+void GetItem_DrawOpa10Xlu2(PlayState* play, s16 giDrawId);
+void GetItem_DrawMagicArrow(PlayState* play, s16 giDrawId);
+void GetItem_DrawMagicSpell(PlayState* play, s16 giDrawId);
+void GetItem_DrawOpa1023(PlayState* play, s16 giDrawId);
+void GetItem_DrawOpa10Xlu32(PlayState* play, s16 giDrawId);
+void GetItem_DrawSmallRupee(PlayState* play, s16 giDrawId);
+void GetItem_DrawScale(PlayState* play, s16 giDrawId);
+void GetItem_DrawBulletBag(PlayState* play, s16 giDrawId);
+void GetItem_DrawWallet(PlayState* play, s16 giDrawId);
typedef struct DrawItemTableEntry {
/* 0x00 */ void (*drawFunc)(PlayState*, s16);
@@ -117,260 +117,260 @@ typedef struct DrawItemTableEntry {
} DrawItemTableEntry; // size = 0x24
DrawItemTableEntry sDrawItemTable[] = {
- // bottle, OBJECT_GI_BOTTLE
+ // GID_BOTTLE_EMPTY
{ GetItem_DrawOpa0Xlu1, { gGiBottleStopperDL, gGiBottleDL } },
- // small key, OBJECT_GI_KEY
+ // GID_SMALL_KEY
{ GetItem_DrawOpa0, { gGiSmallKeyDL } },
- // minuet of forest, OBJECT_GI_MELODY
+ // GID_SONG_MINUET
{ GetItem_DrawXlu01, { gGiMinuetColorDL, gGiSongNoteDL } },
- // bolero of fire, OBJECT_GI_MELODY
+ // GID_SONG_BOLERO
{ GetItem_DrawXlu01, { gGiBoleroColorDL, gGiSongNoteDL } },
- // serenade of water, OBJECT_GI_MELODY
+ // GID_SONG_SERENADE
{ GetItem_DrawXlu01, { gGiSerenadeColorDL, gGiSongNoteDL } },
- // requiem of spirit, OBJECT_GI_MELODY
+ // GID_SONG_REQUIEM
{ GetItem_DrawXlu01, { gGiRequiemColorDL, gGiSongNoteDL } },
- // nocturne of shadow, OBJECT_GI_MELODY
+ // GID_SONG_NOCTURNE
{ GetItem_DrawXlu01, { gGiNocturneColorDL, gGiSongNoteDL } },
- // prelude of light, OBJECT_GI_MELODY
+ // GID_SONG_PRELUDE
{ GetItem_DrawXlu01, { gGiPreludeColorDL, gGiSongNoteDL } },
- // recovery heart, OBJECT_GI_HEART
+ // GID_RECOVERY_HEART
{ GetItem_DrawRecoveryHeart, { gGiRecoveryHeartDL } },
- // boss key, OBJECT_GI_BOSSKEY
+ // GID_BOSS_KEY
{ GetItem_DrawOpa0Xlu1, { gGiBossKeyDL, gGiBossKeyGemDL } },
- // compass, OBJECT_GI_COMPASS
+ // GID_COMPASS
{ GetItem_DrawCompass, { gGiCompassDL, gGiCompassGlassDL } },
- // forest medallion, OBJECT_GI_MEDAL
+ // GID_MEDALLION_FOREST
{ GetItem_DrawEggOrMedallion, { gGiForestMedallionFaceDL, gGiMedallionDL } },
- // fire medallion, OBJECT_GI_MEDAL
+ // GID_MEDALLION_FIRE
{ GetItem_DrawEggOrMedallion, { gGiFireMedallionFaceDL, gGiMedallionDL } },
- // water medallion, OBJECT_GI_MEDAL
+ // GID_MEDALLION_WATER
{ GetItem_DrawEggOrMedallion, { gGiWaterMedallionFaceDL, gGiMedallionDL } },
- // spirit medallion, OBJECT_GI_MEDAL
+ // GID_MEDALLION_SPIRIT
{ GetItem_DrawEggOrMedallion, { gGiSpiritMedallionFaceDL, gGiMedallionDL } },
- // shadow medallion, OBJECT_GI_MEDAL
+ // GID_MEDALLION_SHADOW
{ GetItem_DrawEggOrMedallion, { gGiShadowMedallionFaceDL, gGiMedallionDL } },
- // light medallion, OBJECT_GI_MEDAL
+ // GID_MEDALLION_LIGHT
{ GetItem_DrawEggOrMedallion, { gGiLightMedallionFaceDL, gGiMedallionDL } },
- // deku nuts, OBJECT_GI_NUTS
+ // GID_DEKU_NUTS
{ GetItem_DrawDekuNuts, { gGiNutDL } },
- // heart container, OBJECT_GI_HEARTS
+ // GID_HEART_CONTAINER
{ GetItem_DrawXlu01, { gGiHeartBorderDL, gGiHeartContainerDL } },
- // heart piece, OBJECT_GI_HEARTS
+ // GID_HEART_PIECE
{ GetItem_DrawXlu01, { gGiHeartBorderDL, gGiHeartPieceDL } },
- // quiver 30, OBJECT_GI_ARROWCASE
+ // GID_QUIVER_30
{ GetItem_DrawOpa1023, { gGiQuiverInnerDL, gGiQuiver30InnerColorDL, gGiQuiver30OuterColorDL, gGiQuiverOuterDL } },
- // quiver 40, OBJECT_GI_ARROWCASE
+ // GID_QUIVER_40
{ GetItem_DrawOpa1023, { gGiQuiverInnerDL, gGiQuiver40InnerColorDL, gGiQuiver40OuterColorDL, gGiQuiverOuterDL } },
- // quiver 50, OBJECT_GI_ARROWCASE
+ // GID_QUIVER_50
{ GetItem_DrawOpa1023, { gGiQuiverInnerDL, gGiQuiver50InnerColorDL, gGiQuiver50OuterColorDL, gGiQuiverOuterDL } },
- // bomb bag 20, OBJECT_GI_BOMBPOUCH
+ // GID_BOMB_BAG_20
{ GetItem_DrawOpa1023, { gGiBombBagDL, gGiBombBag20BagColorDL, gGiBombBag20RingColorDL, gGiBombBagRingDL } },
- // bomb bag 30, OBJECT_GI_BOMBPOUCH
+ // GID_BOMB_BAG_30
{ GetItem_DrawOpa1023, { gGiBombBagDL, gGiBombBag30BagColorDL, gGiBombBag30RingColorDL, gGiBombBagRingDL } },
- // bomb bag 40, OBJECT_GI_BOMBPOUCH
+ // GID_BOMB_BAG_40
{ GetItem_DrawOpa1023, { gGiBombBagDL, gGiBombBag40BagColorDL, gGiBombBag40RingColorDL, gGiBombBagRingDL } },
- // stick, OBJECT_GI_STICK
+ // GID_DEKU_STICK
{ GetItem_DrawOpa0, { gGiStickDL } },
- // dungeon map, OBJECT_GI_MAP
+ // GID_DUNGEON_MAP
{ GetItem_DrawOpa0, { gGiDungeonMapDL } },
- // deku shield, OBJECT_GI_SHIELD_1
+ // GID_SHIELD_DEKU
{ GetItem_DrawOpa0, { gGiDekuShieldDL } },
- // small magic jar, OBJECT_GI_MAGICPOT
+ // GID_MAGIC_JAR_SMALL
{ GetItem_DrawOpa0, { gGiMagicJarSmallDL } },
- // large magic jar, OBJECT_GI_MAGICPOT
+ // GID_MAGIC_JAR_LARGE
{ GetItem_DrawOpa0, { gGiMagicJarLargeDL } },
- // bombs, OBJECT_GI_BOMB_1
+ // GID_BOMB
{ GetItem_DrawOpa0, { gGiBombDL } },
- // stone of agony, OBJECT_GI_MAP
+ // GID_STONE_OF_AGONY
{ GetItem_DrawOpa0, { gGiStoneOfAgonyDL } },
- // adult's wallet, OBJECT_GI_PURSE
+ // GID_WALLET_ADULT
{ GetItem_DrawWallet,
{ gGiWalletDL, gGiAdultWalletColorDL, gGiAdultWalletRupeeOuterColorDL, gGiWalletRupeeOuterDL,
gGiAdultWalletStringColorDL, gGiWalletStringDL, gGiAdultWalletRupeeInnerColorDL, gGiWalletRupeeInnerDL } },
- // giant's wallet, OBJECT_GI_PURSE
+ // GID_WALLET_GIANT
{ GetItem_DrawWallet,
{ gGiWalletDL, gGiGiantsWalletColorDL, gGiGiantsWalletRupeeOuterColorDL, gGiWalletRupeeOuterDL,
gGiGiantsWalletStringColorDL, gGiWalletStringDL, gGiGiantsWalletRupeeInnerColorDL, gGiWalletRupeeInnerDL } },
- // gerudo card, OBJECT_GI_GERUDO
+ // GID_GERUDOS_CARD
{ GetItem_DrawOpa0, { gGiGerudoCardDL } },
- // arrows (small), OBJECT_GI_ARROW
+ // GID_ARROWS_5
{ GetItem_DrawOpa0, { gGiArrowSmallDL } },
- // arrows (medium), OBJECT_GI_ARROW
+ // GID_ARROWS_10
{ GetItem_DrawOpa0, { gGiArrowMediumDL } },
- // arrows (large), OBJECT_GI_ARROW
+ // GID_ARROWS_30
{ GetItem_DrawOpa0, { gGiArrowLargeDL } },
- // bombchus, OBJECT_GI_BOMB_2
+ // GID_BOMBCHU
{ GetItem_DrawMaskOrBombchu, { gGiBombchuDL } },
- // egg, OBJECT_GI_EGG
+ // GID_EGG
{ GetItem_DrawEggOrMedallion, { gGiEggMaterialDL, gGiEggDL } },
- // silver scale, OBJECT_GI_SCALE
+ // GID_SCALE_SILVER
{ GetItem_DrawScale, { gGiScaleWaterDL, gGiSilverScaleWaterColorDL, gGiSilverScaleColorDL, gGiScaleDL } },
- // gold scale, OBJECT_GI_SCALE
+ // GID_SCALE_GOLDEN
{ GetItem_DrawScale, { gGiScaleWaterDL, gGiGoldenScaleWaterColorDL, gGiGoldenScaleColorDL, gGiScaleDL } },
- // hylian shield, OBJECT_GI_SHIELD_2
+ // GID_SHIELD_HYLIAN
{ GetItem_DrawOpa0, { gGiHylianShieldDL } },
- // hookshot, OBJECT_GI_HOOKSHOT
+ // GID_HOOKSHOT
{ GetItem_DrawOpa0, { gGiHookshotDL } },
- // longshot, OBJECT_GI_HOOKSHOT
+ // GID_LONGSHOT
{ GetItem_DrawOpa0, { gGiLongshotDL } },
- // ocarina of time, OBJECT_GI_OCARINA
+ // GID_OCARINA_OF_TIME
{ GetItem_DrawOpa0Xlu1, { gGiOcarinaTimeDL, gGiOcarinaTimeHolesDL } },
- // milk, OBJECT_GI_MILK
+ // GID_BOTTLE_MILK_FULL
{ GetItem_DrawOpa0Xlu1, { gGiMilkBottleContentsDL, gGiMilkBottleDL } },
- // keaton mask, OBJECT_GI_KI_TAN_MASK
+ // GID_MASK_KEATON
{ GetItem_DrawOpa0Xlu1, { gGiKeatonMaskDL, gGiKeatonMaskEyesDL } },
- // spooky mask, OBJECT_GI_REDEAD_MASK
+ // GID_MASK_SPOOKY
{ GetItem_DrawOpa0, { gGiSpookyMaskDL } },
- // slingshot, OBJECT_GI_PACHINKO
+ // GID_SLINGSHOT
{ GetItem_DrawOpa0, { gGiSlingshotDL } },
- // boomerang, OBJECT_GI_BOOMERANG
+ // GID_BOOMERANG
{ GetItem_DrawOpa0, { gGiBoomerangDL } },
- // bow, OBJECT_GI_BOW
+ // GID_BOW
{ GetItem_DrawOpa0, { gGiBowDL } },
- // lens, OBJECT_GI_GLASSES
+ // GID_LENS_OF_TRUTH
{ GetItem_DrawOpa0Xlu1, { gGiLensDL, gGiLensGlassDL } },
- // green potion, OBJECT_GI_LIQUID
+ // GID_BOTTLE_POTION_GREEN
{ GetItem_DrawPotion,
{ gGiPotionPotDL, gGiGreenPotColorDL, gGiGreenLiquidColorDL, gGiPotionLiquidDL, gGiGreenPatternColorDL,
gGiPotionPatternDL } },
- // red potion, OBJECT_GI_LIQUID
+ // GID_BOTTLE_POTION_RED
{ GetItem_DrawPotion,
{ gGiPotionPotDL, gGiRedPotColorDL, gGiRedLiquidColorDL, gGiPotionLiquidDL, gGiRedPatternColorDL,
gGiPotionPatternDL } },
- // blue potion, OBJECT_GI_LIQUID
+ // GID_BOTTLE_POTION_BLUE
{ GetItem_DrawPotion,
{ gGiPotionPotDL, gGiBluePotColorDL, gGiBlueLiquidColorDL, gGiPotionLiquidDL, gGiBluePatternColorDL,
gGiPotionPatternDL } },
- // mirror shield, OBJECT_GI_SHIELD_3
+ // GID_SHIELD_MIRROR
{ GetItem_DrawMirrorShield, { gGiMirrorShieldDL, gGiMirrorShieldSymbolDL } },
- // zelda's letter, OBJECT_GI_LETTER
+ // GID_ZELDAS_LETTER
{ GetItem_DrawOpa0Xlu1, { gGiLetterDL, gGiLetterWritingDL } },
- // goron tunic, OBJECT_GI_CLOTHES
+ // GID_TUNIC_GORON
{ GetItem_DrawOpa1023, { gGiTunicCollarDL, gGiGoronCollarColorDL, gGiGoronTunicColorDL, gGiTunicDL } },
- // zora tunic, OBJECT_GI_CLOTHES
+ // GID_TUNIC_ZORA
{ GetItem_DrawOpa1023, { gGiTunicCollarDL, gGiZoraCollarColorDL, gGiZoraTunicColorDL, gGiTunicDL } },
- // beans, OBJECT_GI_BEAN
+ // GID_MAGIC_BEAN
{ GetItem_DrawOpa0, { gGiBeanDL } },
- // fish, OBJECT_GI_FISH
+ // GID_FISH
{ GetItem_DrawFish, { gGiFishDL } },
- // saw, OBJECT_GI_SAW
+ // GID_POACHERS_SAW
{ GetItem_DrawOpa0, { gGiSawDL } },
- // hammer, OBJECT_GI_HAMMER
+ // GID_HAMMER
{ GetItem_DrawOpa0, { gGiHammerDL } },
- // grass, OBJECT_GI_GRASS
+ // GID_GRASS
{ GetItem_DrawOpa0, { gGiGrassDL } },
- // biggorons sword, OBJECT_GI_LONGSWORD
+ // GID_SWORD_BIGGORON
{ GetItem_DrawGoronSword, { gGiBiggoronSwordDL } },
- // chicken, OBJECT_GI_NIWATORI
+ // GID_CUCCO
{ GetItem_DrawOpa10Xlu2, { gGiChickenDL, gGiChickenColorDL, gGiChickenEyesDL } },
- // ruto's letter, OBJECT_GI_BOTTLE_LETTER
+ // GID_BOTTLE_RUTOS_LETTER
{ GetItem_DrawOpa0Xlu1, { gGiLetterBottleContentsDL, gGiLetterBottleDL } },
- // fairy ocarina, OBJECT_GI_OCARINA_0
+ // GID_OCARINA_FAIRY
{ GetItem_DrawOpa0Xlu1, { gGiOcarinaFairyDL, gGiOcarinaFairyHolesDL } },
- // iron boots, OBJECT_GI_BOOTS_2
+ // GID_BOOTS_IRON
{ GetItem_DrawOpa0Xlu1, { gGiIronBootsDL, gGiIronBootsRivetsDL } },
- // seeds, OBJECT_GI_SEED
+ // GID_DEKU_SEEDS
{ GetItem_DrawOpa0, { gGiSeedDL } },
- // silver gauntlets, OBJECT_GI_GLOVES
+ // GID_SILVER_GAUNTLETS
{ GetItem_DrawOpa10Xlu32,
{ gGiGauntletsDL, gGiSilverGauntletsColorDL, gGiGauntletsPlateDL, gGiSilverGauntletsPlateColorDL } },
- // golden gauntlets, OBJECT_GI_GLOVES
+ // GID_GOLD_GAUNTLETS
{ GetItem_DrawOpa10Xlu32,
{ gGiGauntletsDL, gGiGoldenGauntletsColorDL, gGiGauntletsPlateDL, gGiGoldenGauntletsPlateColorDL } },
- // yellow n coin, OBJECT_GI_COIN
+ // GID_NCOIN_YELLOW
{ GetItem_DrawOpa10Xlu2, { gGiCoinDL, gGiYellowCoinColorDL, gGiNDL } },
- // red n coin, OBJECT_GI_COIN
+ // GID_NCOIN_RED
{ GetItem_DrawOpa10Xlu2, { gGiCoinDL, gGiRedCoinColorDL, gGiNDL } },
- // green n coin, OBJECT_GI_COIN
+ // GID_NCOIN_GREEN
{ GetItem_DrawOpa10Xlu2, { gGiCoinDL, gGiGreenCoinColorDL, gGiNDL } },
- // blue n coin, OBJECT_GI_COIN
+ // GID_NCOIN_BLUE
{ GetItem_DrawOpa10Xlu2, { gGiCoinDL, gGiBlueCoinColorDL, gGiNDL } },
- // skull mask, OBJECT_GI_SKJ_MASK
+ // GID_MASK_SKULL
{ GetItem_DrawOpa0, { gGiSkullMaskDL } },
- // bunny hood OBJECT_GI_RABIT_MASK
+ // GID_MASK_BUNNY_HOOD
{ GetItem_DrawOpa0Xlu1, { gGiBunnyHoodDL, gGiBunnyHoodEyesDL } },
- // mask of truth, OBJECT_GI_TRUTH_MASK
+ // GID_MASK_TRUTH
{ GetItem_DrawOpa0Xlu1, { gGiMaskOfTruthDL, gGiMaskOfTruthAccentsDL } },
- // eyedrops, OBJECT_GI_EYE_LOTION
+ // GID_EYE_DROPS
{ GetItem_DrawOpa0Xlu1, { gGiEyeDropsCapDL, gGiEyeDropsBottleDL } },
- // odd potion, OBJECT_GI_POWDER
+ // GID_ODD_POTION
{ GetItem_DrawOpa0, { gGiOddPotionDL } },
- // odd mushroom, OBJECT_GI_MUSHROOM
+ // GID_ODD_MUSHROOM
{ GetItem_DrawOpa0, { gGiOddMushroomDL } },
- // claim check, OBJECT_GI_TICKETSTONE
+ // GID_CLAIM_CHECK
{ GetItem_DrawOpa0Xlu1, { gGiClaimCheckDL, gGiClaimCheckWritingDL } },
- // broken goron's sword, OBJECT_GI_BROKENSWORD
+ // GID_BROKEN_GORONS_SWORD
{ GetItem_DrawGoronSword, { gGiBrokenGoronSwordDL } },
- // prescription, OBJECT_GI_PRESCRIPTION
+ // GID_PRESCRIPTION
{ GetItem_DrawOpa0Xlu1, { gGiPrescriptionDL, gGiPrescriptionWritingDL } },
- // goron bracelet, OBJECT_GI_BRACELET
+ // GID_GORONS_BRACELET
{ GetItem_DrawOpa0, { gGiGoronBraceletDL } },
- // sold out, OBJECT_GI_SOLDOUT
+ // GID_SOLDOUT
{ GetItem_DrawSoldOut, { gGiSoldOutDL } },
- // frog, OBJECT_GI_FROG
+ // GID_EYEBALL_FROG
{ GetItem_DrawOpa0Xlu1, { gGiFrogDL, gGiFrogEyesDL } },
- // goron mask, OBJECT_GI_GOLONMASK
+ // GID_MASK_GORON
{ GetItem_DrawMaskOrBombchu, { gGiGoronMaskDL } },
- // zora mask, OBJECT_GI_ZORAMASK
+ // GID_MASK_ZORA
{ GetItem_DrawMaskOrBombchu, { gGiZoraMaskDL } },
- // gerudo mask, OBJECT_GI_GERUDOMASK
+ // GID_MASK_GERUDO
{ GetItem_DrawMaskOrBombchu, { gGiGerudoMaskDL } },
- // cojiro, OBJECT_GI_NIWATORI
+ // GID_COJIRO
{ GetItem_DrawOpa10Xlu2, { gGiChickenDL, gGiCojiroColorDL, gGiChickenEyesDL } },
- // hover boots, OBJECT_GI_HOVERBOOTS
+ // GID_BOOTS_HOVER
{ GetItem_DrawOpa0, { gGiHoverBootsDL } },
- // fire arrows, OBJECT_GI_M_ARROW
+ // GID_ARROW_FIRE
{ GetItem_DrawMagicArrow, { gGiMagicArrowDL, gGiFireArrowColorDL, gGiArrowMagicDL } },
- // ice arrows, OBJECT_GI_M_ARROW
+ // GID_ARROW_ICE
{ GetItem_DrawMagicArrow, { gGiMagicArrowDL, gGiIceArrowColorDL, gGiArrowMagicDL } },
- // light arrows, OBJECT_GI_M_ARROW
+ // GID_ARROW_LIGHT
{ GetItem_DrawMagicArrow, { gGiMagicArrowDL, gGiLightArrowColorDL, gGiArrowMagicDL } },
- // skulltula token, OBJECT_GI_SUTARU
+ // GID_SKULL_TOKEN
{ GetItem_DrawSkullToken, { gGiSkulltulaTokenDL, gGiSkulltulaTokenFlameDL } },
- // din's fire, OBJECT_GI_GODDESS
+ // GID_DINS_FIRE
{ GetItem_DrawMagicSpell, { gGiMagicSpellDiamondDL, gGiDinsFireColorDL, gGiMagicSpellOrbDL } },
- // farore's wind, OBJECT_GI_GODDESS
+ // GID_FARORES_WIND
{ GetItem_DrawMagicSpell, { gGiMagicSpellDiamondDL, gGiFaroresWindColorDL, gGiMagicSpellOrbDL } },
- // nayru's Love, OBJECT_GI_GODDESS
+ // GID_NAYRUS_LOVE
{ GetItem_DrawMagicSpell, { gGiMagicSpellDiamondDL, gGiNayrusLoveColorDL, gGiMagicSpellOrbDL } },
- // blue fire, OBJECT_GI_FIRE
+ // GID_BLUE_FIRE
{ GetItem_DrawBlueFire, { gGiBlueFireChamberstickDL, gGiBlueFireFlameDL } },
- // bugs, OBJECT_GI_INSECT
+ // GID_BUG
{ GetItem_DrawOpa0Xlu1, { gGiBugsContainerDL, gGiBugsGlassDL } },
- // butterfly, OBJECT_GI_BUTTERFLY
+ // GID_BUTTERFLY
{ GetItem_DrawOpa0Xlu1, { gGiButterflyContainerDL, gGiButterflyGlassDL } },
- // poe, OBJECT_GI_GHOST
+ // GID_POE
{ GetItem_DrawPoes,
{ gGiGhostContainerLidDL, gGiGhostContainerGlassDL, gGiGhostContainerContentsDL, gGiPoeColorDL } },
- // fairy, OBJECT_GI_SOUL
+ // GID_FAIRY
{ GetItem_DrawFairy, { gGiFairyContainerBaseCapDL, gGiFairyContainerGlassDL, gGiFairyContainerContentsDL } },
- // bullet bag 40, OBJECT_GI_DEKUPOUCH
+ // GID_BULLET_BAG
{ GetItem_DrawBulletBag,
{ gGiBulletBagDL, gGiBulletBagColorDL, gGiBulletBagStringDL, gGiBulletBagStringColorDL, gGiBulletBagWritingDL } },
- // green rupee, OBJECT_GI_RUPY
+ // GID_RUPEE_GREEN
{ GetItem_DrawSmallRupee,
{ gGiRupeeInnerDL, gGiGreenRupeeInnerColorDL, gGiRupeeOuterDL, gGiGreenRupeeOuterColorDL } },
- // blue rupee, OBJECT_GI_RUPY
+ // GID_RUPEE_BLUE
{ GetItem_DrawSmallRupee,
{ gGiRupeeInnerDL, gGiBlueRupeeInnerColorDL, gGiRupeeOuterDL, gGiBlueRupeeOuterColorDL } },
- // red rupee, OBJECT_GI_RUPY
+ // GID_RUPEE_RED
{ GetItem_DrawSmallRupee, { gGiRupeeInnerDL, gGiRedRupeeInnerColorDL, gGiRupeeOuterDL, gGiRedRupeeOuterColorDL } },
- // big poe, OBJECT_GI_GHOST
+ // GID_BIG_POE
{ GetItem_DrawPoes,
{ gGiGhostContainerLidDL, gGiGhostContainerGlassDL, gGiGhostContainerContentsDL, gGiBigPoeColorDL } },
- // purple rupee, OBJECT_GI_RUPY
+ // GID_RUPEE_PURPLE
{ GetItem_DrawOpa10Xlu32,
{ gGiRupeeInnerDL, gGiPurpleRupeeInnerColorDL, gGiRupeeOuterDL, gGiPurpleRupeeOuterColorDL } },
- // gold rupee, OBJECT_GI_RUPY
+ // GID_RUPEE_GOLD
{ GetItem_DrawOpa10Xlu32,
{ gGiRupeeInnerDL, gGiGoldRupeeInnerColorDL, gGiRupeeOuterDL, gGiGoldRupeeOuterColorDL } },
- // bullet bag 50, OBJECT_GI_DEKUPOUCH
+ // GID_BULLET_BAG_50
{ GetItem_DrawBulletBag,
{ gGiBulletBagDL, gGiBulletBag50ColorDL, gGiBulletBagStringDL, gGiBulletBag50StringColorDL,
gGiBulletBagWritingDL } },
- // kokiri sword, OBJECT_GI_SWORD_1
+ // GID_SWORD_KOKIRI
{ GetItem_DrawOpa0, { gGiKokiriSwordDL } },
- // gold skulltula token, OBJECT_ST
+ // GID_SKULL_TOKEN_2
{ GetItem_DrawSkullToken, { gSkulltulaTokenDL, gSkulltulaTokenFlameDL } },
};
@@ -378,44 +378,44 @@ DrawItemTableEntry sDrawItemTable[] = {
* Draw "Get Item" Model
* Calls the corresponding draw function for the given draw ID
*/
-void GetItem_Draw(PlayState* play, s16 drawId) {
- sDrawItemTable[drawId].drawFunc(play, drawId);
+void GetItem_Draw(PlayState* play, s16 giDrawId) {
+ sDrawItemTable[giDrawId].drawFunc(play, giDrawId);
}
// All remaining functions in this file are draw functions referenced in the table and called by the function above
-void GetItem_DrawMaskOrBombchu(PlayState* play, s16 drawId) {
+void GetItem_DrawMaskOrBombchu(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 556);
Gfx_SetupDL_26Opa(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 560);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 565);
}
-void GetItem_DrawSoldOut(PlayState* play, s16 drawId) {
+void GetItem_DrawSoldOut(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 572);
POLY_XLU_DISP = Gfx_SetupDL(POLY_XLU_DISP, SETUPDL_5);
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 576);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[0]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 581);
}
-void GetItem_DrawBlueFire(PlayState* play, s16 drawId) {
+void GetItem_DrawBlueFire(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 588);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 592);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
gSPSegment(POLY_XLU_DISP++, 0x08,
@@ -426,24 +426,24 @@ void GetItem_DrawBlueFire(PlayState* play, s16 drawId) {
Matrix_Translate(-8.0f, -2.0f, 0.0f, MTXMODE_APPLY);
Matrix_ReplaceRotation(&play->billboardMtxF);
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 615);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]);
Matrix_Pop();
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 621);
}
-void GetItem_DrawPoes(PlayState* play, s16 drawId) {
+void GetItem_DrawPoes(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 628);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 632);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 641);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]);
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0 * (play->state.frames * 0),
0 * (play->state.frames * 0), 16, 32, 1, 1 * (play->state.frames * 1),
@@ -451,25 +451,25 @@ void GetItem_DrawPoes(PlayState* play, s16 drawId) {
Matrix_Push();
Matrix_ReplaceRotation(&play->billboardMtxF);
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 656);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[3]);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[2]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[3]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[2]);
Matrix_Pop();
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 663);
}
-void GetItem_DrawFairy(PlayState* play, s16 drawId) {
+void GetItem_DrawFairy(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 670);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 674);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 683);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]);
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0 * (play->state.frames * 0),
0 * (play->state.frames * 0), 32, 32, 1, 1 * (play->state.frames * 1),
@@ -477,13 +477,13 @@ void GetItem_DrawFairy(PlayState* play, s16 drawId) {
Matrix_Push();
Matrix_ReplaceRotation(&play->billboardMtxF);
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 698);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[2]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[2]);
Matrix_Pop();
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 704);
}
-void GetItem_DrawMirrorShield(PlayState* play, s16 drawId) {
+void GetItem_DrawMirrorShield(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 712);
@@ -494,23 +494,23 @@ void GetItem_DrawMirrorShield(PlayState* play, s16 drawId) {
1 * (play->state.frames * 2) % 256, 64, 64, 1, 0 * (play->state.frames * 0) % 128,
1 * (play->state.frames * 1) % 128, 32, 32));
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 723);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 730);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 735);
}
-void GetItem_DrawSkullToken(PlayState* play, s16 drawId) {
+void GetItem_DrawSkullToken(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 742);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 746);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
gSPSegment(POLY_XLU_DISP++, 0x08,
@@ -518,13 +518,13 @@ void GetItem_DrawSkullToken(PlayState* play, s16 drawId) {
1 * -(play->state.frames * 5), 32, 32, 1, 0 * (play->state.frames * 0),
0 * (play->state.frames * 0), 32, 64));
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 760);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 765);
}
-void GetItem_DrawEggOrMedallion(PlayState* play, s16 drawId) {
- DrawItemTableEntry* entry = &sDrawItemTable[drawId];
+void GetItem_DrawEggOrMedallion(PlayState* play, s16 giDrawId) {
+ DrawItemTableEntry* entry = &sDrawItemTable[giDrawId];
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 772);
@@ -536,23 +536,23 @@ void GetItem_DrawEggOrMedallion(PlayState* play, s16 drawId) {
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 783);
}
-void GetItem_DrawCompass(PlayState* play, s16 drawId) {
+void GetItem_DrawCompass(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 811);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 815);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
POLY_XLU_DISP = Gfx_SetupDL(POLY_XLU_DISP, SETUPDL_5);
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 822);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 827);
}
-void GetItem_DrawPotion(PlayState* play, s16 drawId) {
+void GetItem_DrawPotion(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 834);
@@ -563,20 +563,20 @@ void GetItem_DrawPotion(PlayState* play, s16 drawId) {
1 * (play->state.frames * 1), 32, 32, 1, -1 * (play->state.frames * 1),
1 * (play->state.frames * 1), 32, 32));
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 845);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[1]);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[2]);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[3]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[1]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[2]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[3]);
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 855);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[4]);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[5]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[4]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[5]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 861);
}
-void GetItem_DrawGoronSword(PlayState* play, s16 drawId) {
+void GetItem_DrawGoronSword(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 868);
@@ -587,12 +587,12 @@ void GetItem_DrawGoronSword(PlayState* play, s16 drawId) {
0 * (play->state.frames * 1), 32, 32, 1, 0 * (play->state.frames * 1),
0 * (play->state.frames * 1), 32, 32));
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 878);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 883);
}
-void GetItem_DrawDekuNuts(PlayState* play, s16 drawId) {
+void GetItem_DrawDekuNuts(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 890);
@@ -603,12 +603,12 @@ void GetItem_DrawDekuNuts(PlayState* play, s16 drawId) {
1 * (play->state.frames * 6), 32, 32, 1, 1 * (play->state.frames * 6),
1 * (play->state.frames * 6), 32, 32));
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 901);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 906);
}
-void GetItem_DrawRecoveryHeart(PlayState* play, s16 drawId) {
+void GetItem_DrawRecoveryHeart(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 913);
@@ -619,12 +619,12 @@ void GetItem_DrawRecoveryHeart(PlayState* play, s16 drawId) {
1 * -(play->state.frames * 3), 32, 32, 1, 0 * (play->state.frames * 1),
1 * -(play->state.frames * 2), 32, 32));
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 924);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[0]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 929);
}
-void GetItem_DrawFish(PlayState* play, s16 drawId) {
+void GetItem_DrawFish(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 936);
@@ -635,41 +635,41 @@ void GetItem_DrawFish(PlayState* play, s16 drawId) {
1 * (play->state.frames * 1), 32, 32, 1, 0 * (play->state.frames * 0),
1 * (play->state.frames * 1), 32, 32));
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 947);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[0]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 952);
}
-void GetItem_DrawOpa0(PlayState* play, s16 drawId) {
+void GetItem_DrawOpa0(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 959);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 963);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 968);
}
-void GetItem_DrawOpa0Xlu1(PlayState* play, s16 drawId) {
+void GetItem_DrawOpa0Xlu1(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 975);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 979);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 986);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 991);
}
-void GetItem_DrawXlu01(PlayState* play, s16 drawId) {
- DrawItemTableEntry* entry = &sDrawItemTable[drawId];
+void GetItem_DrawXlu01(PlayState* play, s16 giDrawId) {
+ DrawItemTableEntry* entry = &sDrawItemTable[giDrawId];
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 998);
@@ -681,41 +681,41 @@ void GetItem_DrawXlu01(PlayState* play, s16 drawId) {
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1008);
}
-void GetItem_DrawOpa10Xlu2(PlayState* play, s16 drawId) {
+void GetItem_DrawOpa10Xlu2(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1015);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 1019);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[1]);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[1]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 1027);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[2]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[2]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1032);
}
-void GetItem_DrawMagicArrow(PlayState* play, s16 drawId) {
+void GetItem_DrawMagicArrow(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1039);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 1043);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 1050);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[2]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[2]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1056);
}
-void GetItem_DrawMagicSpell(PlayState* play, s16 drawId) {
+void GetItem_DrawMagicSpell(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1063);
@@ -726,47 +726,47 @@ void GetItem_DrawMagicSpell(PlayState* play, s16 drawId) {
1 * -(play->state.frames * 6), 32, 32, 1, 1 * (play->state.frames * 1),
-1 * (play->state.frames * 2), 32, 32));
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 1074);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[0]);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[2]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[0]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[2]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1081);
}
-void GetItem_DrawOpa1023(PlayState* play, s16 drawId) {
+void GetItem_DrawOpa1023(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1088);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 1092);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[1]);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[2]);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[3]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[1]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[2]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[3]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1100);
}
-void GetItem_DrawOpa10Xlu32(PlayState* play, s16 drawId) {
+void GetItem_DrawOpa10Xlu32(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1108);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 1112);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[1]);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[1]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 1120);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[3]);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[2]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[3]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[2]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1126);
}
-void GetItem_DrawSmallRupee(PlayState* play, s16 drawId) {
+void GetItem_DrawSmallRupee(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1133);
@@ -775,18 +775,18 @@ void GetItem_DrawSmallRupee(PlayState* play, s16 drawId) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 1140);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[1]);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[1]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 1148);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[3]);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[2]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[3]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[2]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1154);
}
-void GetItem_DrawScale(PlayState* play, s16 drawId) {
+void GetItem_DrawScale(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1162);
@@ -797,16 +797,16 @@ void GetItem_DrawScale(PlayState* play, s16 drawId) {
-1 * (play->state.frames * 2), 64, 64, 1, 1 * (play->state.frames * 4),
1 * -(play->state.frames * 4), 32, 32));
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 1173);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[2]);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[3]);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]);
- gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[0]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[2]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[3]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]);
+ gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[0]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1181);
}
-void GetItem_DrawBulletBag(PlayState* play, s16 drawId) {
- DrawItemTableEntry* entry = &sDrawItemTable[drawId];
+void GetItem_DrawBulletBag(PlayState* play, s16 giDrawId) {
+ DrawItemTableEntry* entry = &sDrawItemTable[giDrawId];
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1188);
@@ -824,21 +824,21 @@ void GetItem_DrawBulletBag(PlayState* play, s16 drawId) {
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1207);
}
-void GetItem_DrawWallet(PlayState* play, s16 drawId) {
+void GetItem_DrawWallet(PlayState* play, s16 giDrawId) {
s32 pad;
OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1214);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 1218);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[1]);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[2]);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[3]);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[4]);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[5]);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[6]);
- gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[7]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[1]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[2]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[3]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[4]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[5]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[6]);
+ gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[7]);
CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1230);
}
diff --git a/src/code/z_kaleido_scope_call.c b/src/code/z_kaleido_scope_call.c
index 2707db8265..1e225eb670 100644
--- a/src/code/z_kaleido_scope_call.c
+++ b/src/code/z_kaleido_scope_call.c
@@ -1,4 +1,4 @@
-#pragma increment_block_number "gc-eu:80 gc-eu-mq:80 gc-jp:80 gc-jp-ce:80 gc-jp-mq:80 gc-us:80 gc-us-mq:80 ique-cn:80" \
+#pragma increment_block_number "gc-eu:80 gc-eu-mq:80 gc-jp:80 gc-jp-ce:80 gc-jp-mq:80 gc-us:80 gc-us-mq:80 ique-cn:64" \
"ntsc-1.0:96 ntsc-1.1:96 ntsc-1.2:96 pal-1.0:96 pal-1.1:96"
#include "libu64/debug.h"
diff --git a/src/code/z_kaleido_setup.c b/src/code/z_kaleido_setup.c
index c91d8d882e..85838821ee 100644
--- a/src/code/z_kaleido_setup.c
+++ b/src/code/z_kaleido_setup.c
@@ -79,7 +79,7 @@ void KaleidoSetup_Update(PlayState* play) {
if (CHECK_BTN_ALL(input->cur.button, BTN_L) && CHECK_BTN_ALL(input->press.button, BTN_CUP)) {
if (DEBUG_FEATURES && BREG(0)) {
- pauseCtx->debugState = 3;
+ pauseCtx->debugState = PAUSE_DEBUG_STATE_FLAG_SET_OPEN;
}
} else if (CHECK_BTN_ALL(input->press.button, BTN_START)) {
// The start button was pressed, pause
@@ -134,7 +134,7 @@ void KaleidoSetup_Init(PlayState* play) {
PauseContext* pauseCtx = &play->pauseCtx;
pauseCtx->state = PAUSE_STATE_OFF;
- pauseCtx->debugState = 0;
+ pauseCtx->debugState = PAUSE_DEBUG_STATE_CLOSED;
pauseCtx->eye.x = pauseCtx->eye.y = 0.0f;
pauseCtx->eye.z = 64.0f;
diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c
index f0bc01088e..5486dfd31c 100644
--- a/src/code/z_parameter.c
+++ b/src/code/z_parameter.c
@@ -29,6 +29,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"
+
typedef struct RestrictionFlags {
/* 0x00 */ u8 sceneId;
/* 0x01 */ u8 flags1;
@@ -3221,7 +3223,7 @@ void Interface_Draw(PlayState* play) {
gSPSegment(OVERLAY_DISP++, 0x08, interfaceCtx->iconItemSegment);
gSPSegment(OVERLAY_DISP++, 0x0B, interfaceCtx->mapSegment);
- if (pauseCtx->debugState == 0) {
+ if (pauseCtx->debugState == PAUSE_DEBUG_STATE_CLOSED) {
Interface_InitVertices(play);
func_8008A994(interfaceCtx);
Health_DrawMeter(play);
@@ -4026,7 +4028,7 @@ void Interface_Draw(PlayState* play) {
}
#if DEBUG_FEATURES
- if (pauseCtx->debugState == 3) {
+ if (pauseCtx->debugState == PAUSE_DEBUG_STATE_FLAG_SET_OPEN) {
FlagSet_Update(play);
}
#endif
diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c
index 1ac27fdb6c..3ce2143c5b 100644
--- a/src/code/z_player_lib.c
+++ b/src/code/z_player_lib.c
@@ -17,8 +17,8 @@
#include "assets/objects/object_link_boy/object_link_boy.h"
#include "assets/objects/object_link_child/object_link_child.h"
-#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
- "pal-1.0:0 pal-1.1:0"
+#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 pal-1.0:0" \
+ "pal-1.1:0"
typedef struct BowSlingshotStringData {
/* 0x00 */ Gfx* dList;
@@ -970,7 +970,7 @@ s32 Player_GetEnvironmentalHazard(PlayState* play) {
return envHazard + 1;
}
-u8 sPlayerFaces[PLAYER_FACE_MAX][PLAYER_FACEPART_MAX] = {
+PlayerFaceIndices sPlayerFaces[PLAYER_FACE_MAX] = {
// The first 6 faces defined must be default blinking faces. See relevant code in `Player_UpdateCommon`.
{ PLAYER_EYES_OPEN, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_NEUTRAL
{ PLAYER_EYES_HALF, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_NEUTRAL_BLINKING_HALF
@@ -984,12 +984,12 @@ u8 sPlayerFaces[PLAYER_FACE_MAX][PLAYER_FACEPART_MAX] = {
{ PLAYER_EYES_CLOSED, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_NEUTRAL_BLINKING_CLOSED_2
// The rest of these faces go unused. Face data encoded within animations handles all other faces.
- { PLAYER_EYES_RIGHT, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_LOOK_RIGHT
+ { PLAYER_EYES_LEFT, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_LOOK_LEFT
{ PLAYER_EYES_WIDE, PLAYER_MOUTH_HALF }, // PLAYER_FACE_SURPRISED
{ PLAYER_EYES_WINCING, PLAYER_MOUTH_OPEN }, // PLAYER_FACE_HURT
{ PLAYER_EYES_OPEN, PLAYER_MOUTH_OPEN }, // PLAYER_FACE_GASP
- { PLAYER_EYES_LEFT, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_LOOK_LEFT
- { PLAYER_EYES_RIGHT, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_LOOK_RIGHT_2
+ { PLAYER_EYES_RIGHT, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_LOOK_RIGHT
+ { PLAYER_EYES_LEFT, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_LOOK_LEFT_2
{ PLAYER_EYES_CLOSED, PLAYER_MOUTH_OPEN }, // PLAYER_FACE_EYES_CLOSED_MOUTH_OPEN
{ PLAYER_EYES_HALF, PLAYER_MOUTH_HALF }, // PLAYER_FACE_OPENING
{ PLAYER_EYES_OPEN, PLAYER_MOUTH_OPEN }, // PLAYER_FACE_EYES_AND_MOUTH_OPEN
@@ -1007,8 +1007,8 @@ void* sEyeTextures[PLAYER_EYES_MAX] = {
gLinkAdultEyesOpenTex, // PLAYER_EYES_OPEN
gLinkAdultEyesHalfTex, // PLAYER_EYES_HALF
gLinkAdultEyesClosedfTex, // PLAYER_EYES_CLOSED
- gLinkAdultEyesLeftTex, // PLAYER_EYES_LEFT
gLinkAdultEyesRightTex, // PLAYER_EYES_RIGHT
+ gLinkAdultEyesLeftTex, // PLAYER_EYES_LEFT
gLinkAdultEyesWideTex, // PLAYER_EYES_WIDE
gLinkAdultEyesDownTex, // PLAYER_EYES_DOWN
gLinkAdultEyesWincingTex, // PLAYER_EYES_WINCING
@@ -1027,8 +1027,8 @@ void* sEyeTextures[][PLAYER_EYES_MAX] = {
gLinkAdultEyesOpenTex, // PLAYER_EYES_OPEN
gLinkAdultEyesHalfTex, // PLAYER_EYES_HALF
gLinkAdultEyesClosedfTex, // PLAYER_EYES_CLOSED
- gLinkAdultEyesLeftTex, // PLAYER_EYES_LEFT
gLinkAdultEyesRightTex, // PLAYER_EYES_RIGHT
+ gLinkAdultEyesLeftTex, // PLAYER_EYES_LEFT
gLinkAdultEyesWideTex, // PLAYER_EYES_WIDE
gLinkAdultEyesDownTex, // PLAYER_EYES_DOWN
gLinkAdultEyesWincingTex, // PLAYER_EYES_WINCING
@@ -1037,8 +1037,14 @@ void* sEyeTextures[][PLAYER_EYES_MAX] = {
gLinkChildEyesOpenTex, // PLAYER_EYES_OPEN
gLinkChildEyesHalfTex, // PLAYER_EYES_HALF
gLinkChildEyesClosedfTex, // PLAYER_EYES_CLOSED
- gLinkChildEyesLeftTex, // PLAYER_EYES_LEFT
- gLinkChildEyesRightTex, // PLAYER_EYES_RIGHT
+ /*
+ Note `PLAYER_EYES_RIGHT` corresponds to the "left" eyes texture, and vice-versa with the "right" eyes textures.
+ This is because on the textures Link appears to look left/right as if facing outwards the screen,
+ but the image is mirrored by the child Link model's UVs, reversing the direction actually looked in,
+ which results in-game in the correct eyes direction.
+ */
+ gLinkChildEyesLeftTex, // PLAYER_EYES_RIGHT
+ gLinkChildEyesRightTex, // PLAYER_EYES_LEFT
gLinkChildEyesWideTex, // PLAYER_EYES_WIDE
gLinkChildEyesDownTex, // PLAYER_EYES_DOWN
gLinkChildEyesWincingTex, // PLAYER_EYES_WINCING
@@ -1093,7 +1099,7 @@ void Player_DrawImpl(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dL
// If the eyes index provided by the animation is negative, use the value provided by the `face` argument instead
if (eyesIndex < 0) {
- eyesIndex = sPlayerFaces[face][PLAYER_FACEPART_EYES];
+ eyesIndex = sPlayerFaces[face].eyeIndex;
}
#ifndef AVOID_UB
@@ -1104,7 +1110,7 @@ void Player_DrawImpl(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dL
// If the mouth index provided by the animation is negative, use the value provided by the `face` argument instead
if (mouthIndex < 0) {
- mouthIndex = sPlayerFaces[face][PLAYER_FACEPART_MOUTH];
+ mouthIndex = sPlayerFaces[face].mouthIndex;
}
#ifndef AVOID_UB
diff --git a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c
index aebb758cd7..61eaa9967e 100644
--- a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c
+++ b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c
@@ -10,6 +10,7 @@
#include "rand.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64draw.h"
#include "z64play.h"
@@ -386,12 +387,13 @@ s32 EnGirlA_TryChangeShopItem(EnGirlA* this) {
void EnGirlA_InitItem(EnGirlA* this, PlayState* play) {
s16 params = this->actor.params;
- PRINTF("%s(%2d)初期設定\n", sShopItemDescriptions[params], params);
+ PRINTF(T("%s(%2d)初期設定\n", "%s(%2d) Initial setup\n"), sShopItemDescriptions[params], params);
if ((params >= SI_MAX) && (params < 0)) {
Actor_Kill(&this->actor);
PRINTF_COLOR_ERROR();
- PRINTF("引数がおかしいよ(arg_data=%d)!!\n", this->actor.params);
+ PRINTF(T("引数がおかしいよ(arg_data=%d)!!\n", "The arguments are strange (arg_data=%d)!!\n"),
+ this->actor.params);
PRINTF_RST();
ASSERT(0, "0", "../z_en_girlA.c", 1421);
return;
@@ -402,7 +404,7 @@ void EnGirlA_InitItem(EnGirlA* this, PlayState* play) {
if (this->requiredObjectSlot < 0) {
Actor_Kill(&this->actor);
PRINTF_COLOR_ERROR();
- PRINTF("バンクが無いよ!!(%s)\n", sShopItemDescriptions[params]);
+ PRINTF(T("バンクが無いよ!!(%s)\n", "There is no bank!! (%s)\n"), sShopItemDescriptions[params]);
PRINTF_RST();
ASSERT(0, "0", "../z_en_girlA.c", 1434);
return;
@@ -417,7 +419,8 @@ void EnGirlA_Init(Actor* thisx, PlayState* play) {
EnGirlA_TryChangeShopItem(this);
EnGirlA_InitItem(this, play);
- PRINTF("%s(%2d)初期設定\n", sShopItemDescriptions[this->actor.params], this->actor.params);
+ PRINTF(T("%s(%2d)初期設定\n", "%s(%2d) Initial setup\n"), sShopItemDescriptions[this->actor.params],
+ this->actor.params);
}
void EnGirlA_Destroy(Actor* thisx, PlayState* play) {
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 474912abb6..91a896632d 100644
--- a/src/overlays/actors/ovl_En_Guest/z_en_guest.c
+++ b/src/overlays/actors/ovl_En_Guest/z_en_guest.c
@@ -14,6 +14,7 @@
#include "segmented_address.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64play.h"
#include "z64player.h"
@@ -71,8 +72,7 @@ void EnGuest_Init(Actor* thisx, PlayState* play) {
this->osAnimeObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_OS_ANIME);
if (this->osAnimeObjectSlot < 0) {
PRINTF_COLOR_ERROR();
- // "No such bank!!"
- PRINTF("%s[%d] : バンクが無いよ!!\n", "../z_en_guest.c", 129);
+ PRINTF(T("%s[%d] : バンクが無いよ!!\n", "%s[%d] : There is no bank!!\n"), "../z_en_guest.c", 129);
PRINTF_RST();
ASSERT(0, "0", "../z_en_guest.c", 132);
}
diff --git a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c
index ea2d99dda3..0746ba226d 100644
--- a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c
+++ b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c
@@ -15,6 +15,7 @@
#include "seqcmd.h"
#include "sequence.h"
#include "sys_math3d.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64play.h"
#include "z64player.h"
@@ -319,8 +320,7 @@ void EnHorseGameCheck_FinishMalonRace(EnHorseGameCheckMalonRace* this, PlayState
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
play->transitionTrigger = TRANS_TRIGGER_START;
} else {
- // "not supported"
- PRINTF("En_HGC_Spot20_Ta_end():対応せず\n");
+ PRINTF(T("En_HGC_Spot20_Ta_end():対応せず\n", "En_HGC_Spot20_Ta_end(): not supported\n"));
gSaveContext.save.cutsceneIndex = CS_INDEX_NIGHT;
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
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 935fdedd97..76281c549f 100644
--- a/src/overlays/actors/ovl_En_Hs/z_en_hs.c
+++ b/src/overlays/actors/ovl_En_Hs/z_en_hs.c
@@ -12,6 +12,7 @@
#include "sfx.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64play.h"
#include "z64player.h"
@@ -85,17 +86,14 @@ void EnHs_Init(Actor* thisx, PlayState* play) {
}
if (this->actor.params == 1) {
- // "chicken shop (adult era)"
- PRINTF(VT_FGCOL(CYAN) " ヒヨコの店(大人の時) \n" VT_RST);
+ PRINTF(VT_FGCOL(CYAN) T(" ヒヨコの店(大人の時) \n", " chicken shop (adult era) \n") VT_RST);
func_80A6E3A0(this, func_80A6E9AC);
if (GET_ITEMGETINF(ITEMGETINF_30)) {
- // "chicken shop closed"
- PRINTF(VT_FGCOL(CYAN) " ヒヨコ屋閉店 \n" VT_RST);
+ PRINTF(VT_FGCOL(CYAN) T(" ヒヨコ屋閉店 \n", " chicken shop closed \n") VT_RST);
Actor_Kill(&this->actor);
}
} else {
- // "chicken shop (child era)"
- PRINTF(VT_FGCOL(CYAN) " ヒヨコの店(子人の時) \n" VT_RST);
+ PRINTF(VT_FGCOL(CYAN) T(" ヒヨコの店(子人の時) \n", " chicken shop (child era) \n") VT_RST);
func_80A6E3A0(this, func_80A6E9AC);
}
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 8db6b38d0f..b165f34647 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
@@ -13,6 +13,7 @@
#include "printf.h"
#include "sfx.h"
#include "sys_matrix.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64item.h"
#include "z64light.h"
@@ -186,7 +187,7 @@ void EnIceHono_Init(Actor* thisx, PlayState* play) {
this->lightNode = LightContext_InsertLight(play, &play->lightCtx, &this->lightInfo);
this->unk_154 = Rand_ZeroOne() * (0x1FFFF / 2.0f);
this->unk_156 = Rand_ZeroOne() * (0x1FFFF / 2.0f);
- PRINTF("(ice 炎)(arg_data 0x%04x)\n", this->actor.params); // "(ice flame)"
+ PRINTF(T("(ice 炎)(arg_data 0x%04x)\n", "(ice flame)(arg_data 0x%04x)\n"), this->actor.params);
}
}
@@ -373,7 +374,7 @@ void EnIceHono_Update(Actor* thisx, PlayState* play) {
#if DEBUG_FEATURES
if ((intensity > 0.7f) || (intensity < 0.2f)) {
- PRINTF("ありえない値(ratio = %f)\n", intensity); // "impossible value(ratio = %f)"
+ PRINTF(T("ありえない値(ratio = %f)\n", "Impossible value (ratio = %f)\n"), intensity);
}
#endif
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 16a4b5abf1..8695ba0a58 100644
--- a/src/overlays/actors/ovl_En_Insect/z_en_insect.c
+++ b/src/overlays/actors/ovl_En_Insect/z_en_insect.c
@@ -15,6 +15,7 @@
#include "sfx.h"
#include "sys_math3d.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64effect.h"
#include "z64play.h"
@@ -593,8 +594,8 @@ void EnInsect_Dropped(EnInsect* this, PlayState* play) {
} else {
if (this->insectFlags & INSECT_FLAG_FOUND_SOIL) {
PRINTF_COLOR_WARNING();
- // "warning: target Actor is NULL"
- PRINTF("warning:目標 Actor が NULL (%s %d)\n", "../z_en_mushi.c", 1046);
+ PRINTF(T("warning:目標 Actor が NULL (%s %d)\n", "warning: target Actor is NULL (%s %d)\n"),
+ "../z_en_mushi.c", 1046);
PRINTF_RST();
}
distanceSq = 40.0f;
@@ -721,8 +722,8 @@ void EnInsect_Dropped(EnInsect* this, PlayState* play) {
(this->insectFlags & INSECT_FLAG_0) && this->lifeTimer <= 0 && this->actionTimer <= 0 &&
this->actor.floorHeight < BGCHECK_Y_MIN + 10.0f) {
PRINTF_COLOR_WARNING();
- // "BG missing? To do Actor_delete"
- PRINTF("BG 抜け? Actor_delete します(%s %d)\n", "../z_en_mushi.c", 1197);
+ PRINTF(T("BG 抜け? Actor_delete します(%s %d)\n", "BG missing? To do Actor_delete (%s %d)\n"),
+ "../z_en_mushi.c", 1197);
PRINTF_RST();
Actor_Kill(&this->actor);
}
diff --git a/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c b/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c
index bcf59dfbe7..de24197b7d 100644
--- a/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c
+++ b/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c
@@ -20,6 +20,7 @@
#include "sys_matrix.h"
#include "quake.h"
#include "terminal.h"
+#include "translation.h"
#include "z_en_item00.h"
#include "z_lib.h"
#include "z64effect.h"
@@ -143,8 +144,7 @@ s32 EnIshi_SnapToFloor(EnIshi* this, PlayState* play, f32 arg2) {
return true;
} else {
PRINTF_COLOR_WARNING();
- // "Failure attaching to ground"
- PRINTF("地面に付着失敗(%s %d)\n", "../z_en_ishi.c", 388);
+ PRINTF(T("地面に付着失敗(%s %d)\n", "Failed to attach to ground (%s %d)\n"), "../z_en_ishi.c", 388);
PRINTF_RST();
return false;
}
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 d2d807cd28..b94806e585 100644
--- a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c
+++ b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c
@@ -15,6 +15,7 @@
#include "regs.h"
#include "sfx.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64ocarina.h"
#include "z64play.h"
@@ -251,8 +252,7 @@ void func_80A8F8D0(EnKakasi* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if (play->msgCtx.ocarinaMode == OCARINA_MODE_04 && play->msgCtx.msgMode == MSGMODE_NONE) {
- // "end?"
- PRINTF(VT_FGCOL(BLUE) "☆☆☆☆☆ 終り? ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(BLUE) T("☆☆☆☆☆ 終り? ☆☆☆☆☆ \n", "☆☆☆☆☆ end? ☆☆☆☆☆ \n") VT_RST);
if (this->unk_19A != 0) {
Message_CloseTextbox(play);
@@ -355,8 +355,8 @@ void EnKakasi_Draw(Actor* thisx, PlayState* play) {
if (BREG(3) != 0) {
PRINTF("\n\n");
- // "flag!"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ フラグ! ☆☆☆☆☆ %d\n" VT_RST, gSaveContext.save.info.scarecrowLongSongSet);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ フラグ! ☆☆☆☆☆ %d\n", "☆☆☆☆☆ flag! ☆☆☆☆☆ %d\n") VT_RST,
+ gSaveContext.save.info.scarecrowLongSongSet);
}
Gfx_SetupDL_25Opa(play->state.gfxCtx);
SkelAnime_DrawFlexOpa(play, this->skelanime.skeleton, this->skelanime.jointTable, this->skelanime.dListCount, NULL,
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 7651842925..c8057cff92 100644
--- a/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c
+++ b/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c
@@ -12,6 +12,7 @@
#include "regs.h"
#include "sfx.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64debug_display.h"
#include "z64ocarina.h"
@@ -75,8 +76,7 @@ void EnKakasi2_Init(Actor* thisx, PlayState* play) {
f32 spawnRangeXZ;
PRINTF("\n\n");
- // "Visit Umeda"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 梅田参号見参! ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 梅田参号見参! ☆☆☆☆☆ \n", "☆☆☆☆☆ Umeda Sangyo visit! ☆☆☆☆☆ \n") VT_RST);
this->switchFlag = PARAMS_GET_U(this->actor.params, 0, 6);
spawnRangeY = PARAMS_GET_U(this->actor.params, 6, 8);
@@ -88,16 +88,16 @@ void EnKakasi2_Init(Actor* thisx, PlayState* play) {
this->maxSpawnDistance.x = (spawnRangeY * 40.0f) + 40.0f;
this->maxSpawnDistance.y = (spawnRangeXZ * 40.0f) + 40.0f;
- // "Former? (Argument 0)"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 元?(引数0) ☆☆☆☆ %f\n" VT_RST, spawnRangeY);
- // "Former? (Z angle)"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 元?(Zアングル) ☆☆ %f\n" VT_RST, spawnRangeXZ);
- // "Correction coordinates X"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 補正座標X ☆☆☆☆☆ %f\n" VT_RST, this->maxSpawnDistance.x);
- // "Correction coordinates Y"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 補正座標Y ☆☆☆☆☆ %f\n" VT_RST, this->maxSpawnDistance.y);
- // "Correction coordinates Z"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 補正座標Z ☆☆☆☆☆ %f\n" VT_RST, this->maxSpawnDistance.z);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ 元?(引数0) ☆☆☆☆ %f\n", "☆☆☆☆☆ Former? (Argument 0) ☆☆☆☆ %f\n") VT_RST,
+ spawnRangeY);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ 元?(Zアングル) ☆☆ %f\n", "☆☆☆☆☆ Former? (Z angle) ☆☆ %f\n") VT_RST,
+ spawnRangeXZ);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ 補正座標X ☆☆☆☆☆ %f\n", "☆☆☆☆☆ Correction coordinates X ☆☆☆☆☆ %f\n") VT_RST,
+ this->maxSpawnDistance.x);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ 補正座標Y ☆☆☆☆☆ %f\n", "☆☆☆☆☆ Correction coordinates Y ☆☆☆☆☆ %f\n") VT_RST,
+ this->maxSpawnDistance.y);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ 補正座標Z ☆☆☆☆☆ %f\n", "☆☆☆☆☆ Correction coordinates Z ☆☆☆☆☆ %f\n") VT_RST,
+ this->maxSpawnDistance.z);
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ SAVE ☆☆☆☆☆ %d\n" VT_RST, this->switchFlag);
PRINTF("\n\n");
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 8f4d21e36d..254d4d8f4b 100644
--- a/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c
+++ b/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c
@@ -15,6 +15,7 @@
#include "regs.h"
#include "sfx.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64ocarina.h"
#include "z64play.h"
@@ -357,8 +358,8 @@ void func_80A918E4(EnKakasi3* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if (BREG(3) != 0) {
- // "No way!"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ まさか! ☆☆☆☆☆ %d\n" VT_RST, play->msgCtx.ocarinaMode);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ まさか! ☆☆☆☆☆ %d\n", "☆☆☆☆☆ No way! ☆☆☆☆☆ %d\n") VT_RST,
+ play->msgCtx.ocarinaMode);
}
if ((play->msgCtx.ocarinaMode == OCARINA_MODE_04 ||
(play->msgCtx.ocarinaMode >= OCARINA_MODE_05 && play->msgCtx.ocarinaMode < OCARINA_MODE_0B)) &&
@@ -377,8 +378,9 @@ void func_80A918E4(EnKakasi3* this, PlayState* play) {
play->msgCtx.ocarinaMode = OCARINA_MODE_04;
if (BREG(3) != 0) {
PRINTF("\n\n");
- // "With this, other guys are OK! That's it!"
- PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ これで、他の奴もOK!だ! ☆☆☆☆☆ %d\n" VT_RST, play->msgCtx.ocarinaMode);
+ PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆☆ これで、他の奴もOK!だ! ☆☆☆☆☆ %d\n",
+ "☆☆☆☆☆ With this, other guys are OK! That's it! ☆☆☆☆☆ %d\n") VT_RST,
+ play->msgCtx.ocarinaMode);
}
this->unk_195 = true;
Message_StartTextbox(play, 0x40A7, NULL);
@@ -425,8 +427,8 @@ void EnKakasi3_Update(Actor* thisx, PlayState* play) {
if (BREG(2) != 0) {
PRINTF("\n\n");
- // "flag!"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ フラグ! ☆☆☆☆☆ %d\n" VT_RST, gSaveContext.save.info.scarecrowSpawnSongSet);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ フラグ! ☆☆☆☆☆ %d\n", "☆☆☆☆☆ flag! ☆☆☆☆☆ %d\n") VT_RST,
+ gSaveContext.save.info.scarecrowSpawnSongSet);
}
this->unk_198++;
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 2ba0af36ef..348c3a0acc 100644
--- a/src/overlays/actors/ovl_En_Ko/z_en_ko.c
+++ b/src/overlays/actors/ovl_En_Ko/z_en_ko.c
@@ -13,6 +13,7 @@
#include "sfx.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "versions.h"
#include "z_lib.h"
#include "z64face_reaction.h"
@@ -1195,8 +1196,7 @@ void func_80A99048(EnKo* this, PlayState* play) {
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
CollisionCheck_SetInfo2(&this->actor.colChkInfo, NULL, &sColChkInfoInit);
if (ENKO_TYPE == ENKO_TYPE_CHILD_7) {
- // "Angle Z"
- PRINTF(VT_BGCOL(BLUE) " アングルZ->(%d)\n" VT_RST, this->actor.shape.rot.z);
+ PRINTF(VT_BGCOL(BLUE) T(" アングルZ->(%d)\n", " Angle Z->(%d)\n") VT_RST, this->actor.shape.rot.z);
if (LINK_IS_ADULT && !CHECK_QUEST_ITEM(QUEST_MEDALLION_FOREST)) {
if (this->actor.shape.rot.z != 1) {
Actor_Kill(&this->actor);
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 aa955365dd..771d9377d8 100644
--- a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c
+++ b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c
@@ -15,6 +15,7 @@
#include "rand.h"
#include "sfx.h"
#include "terminal.h"
+#include "translation.h"
#include "z_en_item00.h"
#include "z_lib.h"
#include "z64effect.h"
@@ -128,8 +129,7 @@ s32 EnKusa_SnapToFloor(EnKusa* this, PlayState* play, f32 yOffset) {
return true;
} else {
PRINTF_COLOR_WARNING();
- // "Failure attaching to ground"
- PRINTF("地面に付着失敗(%s %d)\n", "../z_en_kusa.c", 323);
+ PRINTF(T("地面に付着失敗(%s %d)\n", "Failed to attach to ground (%s %d)\n"), "../z_en_kusa.c", 323);
PRINTF_RST();
return false;
}
@@ -268,8 +268,8 @@ void EnKusa_Init(Actor* thisx, PlayState* play) {
this->requiredObjectSlot = Object_GetSlot(&play->objectCtx, sObjectIds[PARAMS_GET_U(thisx->params, 0, 2)]);
if (this->requiredObjectSlot < 0) {
- // "Bank danger!"
- PRINTF("Error : バンク危険! (arg_data 0x%04x)(%s %d)\n", thisx->params, "../z_en_kusa.c", 561);
+ PRINTF(T("Error : バンク危険! (arg_data 0x%04x)(%s %d)\n", "Error : Bank danger! (arg_data 0x%04x)(%s %d)\n"),
+ thisx->params, "../z_en_kusa.c", 561);
Actor_Kill(&this->actor);
return;
}
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 d2f444a193..2144294ab3 100644
--- a/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c
+++ b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c
@@ -14,6 +14,7 @@
#include "segmented_address.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64play.h"
#include "z64save.h"
@@ -162,7 +163,7 @@ void EnMm2_Init(Actor* thisx, PlayState* play2) {
}
if (this->actor.params == 1) {
if (!GET_INFTABLE(INFTABLE_17F) || !GET_EVENTINF(EVENTINF_MARATHON_ACTIVE)) {
- PRINTF(VT_FGCOL(CYAN) " マラソン 開始されていない \n" VT_RST "\n");
+ PRINTF(VT_FGCOL(CYAN) T(" マラソン 開始されていない \n", " Marathon not started \n") VT_RST "\n");
Actor_Kill(&this->actor);
}
}
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 2a00eb9ef6..1c937e8721 100644
--- a/src/overlays/actors/ovl_En_Nb/z_en_nb.c
+++ b/src/overlays/actors/ovl_En_Nb/z_en_nb.c
@@ -140,11 +140,12 @@ void EnNb_UpdatePath(EnNb* this, PlayState* play) {
this->finalPos.z = pointPos[1].z;
this->pathYaw =
RAD_TO_BINANG(Math_FAtan2F(this->finalPos.x - this->initialPos.x, this->finalPos.z - this->initialPos.z));
- // "En_Nb_Get_path_info Rail Data Get! = %d!!!!!!!!!!!!!!"
- PRINTF("En_Nb_Get_path_info レールデータをゲットだぜ = %d!!!!!!!!!!!!!!\n", path);
+ PRINTF(T("En_Nb_Get_path_info レールデータをゲットだぜ = %d!!!!!!!!!!!!!!\n",
+ "En_Nb_Get_path_info Got the rail data = %d!!!!!!!!!!!!!!\n"),
+ path);
} else {
- // "En_Nb_Get_path_info Rail Data Doesn't Exist!!!!!!!!!!!!!!!!!!!!"
- PRINTF("En_Nb_Get_path_info レールデータが無い!!!!!!!!!!!!!!!!!!!!\n");
+ PRINTF(T("En_Nb_Get_path_info レールデータが無い!!!!!!!!!!!!!!!!!!!!\n",
+ "En_Nb_Get_path_info No rail data!!!!!!!!!!!!!!!!!!!!\n"));
}
}
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 6be5e39db0..71cc497e10 100644
--- a/src/overlays/actors/ovl_En_Niw/z_en_niw.c
+++ b/src/overlays/actors/ovl_En_Niw/z_en_niw.c
@@ -21,6 +21,7 @@
#include "sfx.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "versions.h"
#include "z_lib.h"
#include "z64effect.h"
@@ -153,7 +154,8 @@ void EnNiw_Init(Actor* thisx, PlayState* play) {
if (this->actor.params == 0xB) {
if (sLowerRiverSpawned) {
Actor_Kill(&this->actor);
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ もういてる原 Ver.1 ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW)
+ T("☆☆☆☆☆ もういてる原 Ver.1 ☆☆☆☆☆ \n", "☆☆☆☆☆ Original is already here Ver.1 ☆☆☆☆☆ \n") VT_RST);
return;
}
sLowerRiverSpawned = true;
@@ -164,7 +166,8 @@ void EnNiw_Init(Actor* thisx, PlayState* play) {
if (this->actor.params == 0xC) {
if (sUpperRiverSpawned) {
Actor_Kill(&this->actor);
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ もういてる原 Ver.2 ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW)
+ T("☆☆☆☆☆ もういてる原 Ver.2 ☆☆☆☆☆ \n", "☆☆☆☆☆ Original is already here Ver.2 ☆☆☆☆☆ \n") VT_RST);
return;
}
sUpperRiverSpawned = true;
@@ -181,7 +184,7 @@ void EnNiw_Init(Actor* thisx, PlayState* play) {
if (fabsf(this->actor.world.pos.x - sKakarikoPosList[i].x) < 40.0f &&
fabsf(this->actor.world.pos.z - sKakarikoPosList[i].z) < 40.0f) {
this->unk_2AA = i;
- PRINTF(VT_FGCOL(YELLOW) " 通常鶏index %d\n" VT_RST, this->unk_2AA);
+ PRINTF(VT_FGCOL(YELLOW) T(" 通常鶏index %d\n", " Normal chicken index %d\n") VT_RST, this->unk_2AA);
if (gSaveContext.save.info.infTable[INFTABLE_INDEX_199_19A_19B_19C_19D_19E_19F] &
sKakarikoFlagList[i]) {
this->actor.world.pos.x = 300.0f;
@@ -259,7 +262,8 @@ void EnNiw_Init(Actor* thisx, PlayState* play) {
break;
}
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ どんな奴? ☆☆☆☆☆ %d\n" VT_RST, this->actor.params);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ どんな奴? ☆☆☆☆☆ %d\n", "☆☆☆☆☆ What kind of guy? ☆☆☆☆☆ %d\n") VT_RST,
+ this->actor.params);
PRINTF("\n\n");
this->actionFunc = EnNiw_ResetAction;
}
@@ -386,7 +390,7 @@ void EnNiw_SpawnAttackCucco(EnNiw* this, PlayState* play) {
this->timer5 = 10;
} else {
PRINTF("\n\n");
- PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ 発生できず ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T(" ☆☆☆☆☆ 発生できず ☆☆☆☆☆ \n", " ☆☆☆☆☆ Cannot occur ☆☆☆☆☆ \n") VT_RST);
}
}
}
@@ -983,17 +987,21 @@ void EnNiw_Update(Actor* thisx, PlayState* play) {
f32 camResult;
s32 pad3[10];
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 上下? ☆☆☆☆☆ %f\n" VT_RST, thisx->floorHeight);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 上下? ☆☆☆☆☆ %f\n", "☆☆☆☆☆ Up and down? ☆☆☆☆☆ %f\n") VT_RST,
+ thisx->floorHeight);
cam.x = play->view.at.x - play->view.eye.x;
cam.y = play->view.at.y - play->view.eye.y;
cam.z = play->view.at.z - play->view.eye.z;
camResult = cam.y / sqrtf(SQ(cam.x) + SQ(cam.y) + SQ(cam.z));
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 範囲外X! ☆☆☆☆☆ %f\n" VT_RST, thisx->world.pos.x);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 範囲外Y! ☆☆☆☆☆ %f\n" VT_RST, thisx->world.pos.y);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 範囲外Z! ☆☆☆☆☆ %f\n" VT_RST, thisx->world.pos.z);
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ セットX! ☆☆☆☆☆ %f\n" VT_RST, thisx->home.pos.x);
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ セットY! ☆☆☆☆☆ %f\n" VT_RST, thisx->home.pos.y);
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ セットZ! ☆☆☆☆☆ %f\n" VT_RST, thisx->home.pos.z);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 範囲外X! ☆☆☆☆☆ %f\n", "☆☆☆☆☆ X out of range! ☆☆☆☆☆ %f\n") VT_RST,
+ thisx->world.pos.x);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 範囲外Y! ☆☆☆☆☆ %f\n", "☆☆☆☆☆ Y out of range! ☆☆☆☆☆ %f\n") VT_RST,
+ thisx->world.pos.y);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 範囲外Z! ☆☆☆☆☆ %f\n", "☆☆☆☆☆ Z out of range! ☆☆☆☆☆ %f\n") VT_RST,
+ thisx->world.pos.z);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ セットX! ☆☆☆☆☆ %f\n", "☆☆☆☆☆ Set X! ☆☆☆☆☆ %f\n") VT_RST, thisx->home.pos.x);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ セットY! ☆☆☆☆☆ %f\n", "☆☆☆☆☆ Set Y! ☆☆☆☆☆ %f\n") VT_RST, thisx->home.pos.y);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ セットZ! ☆☆☆☆☆ %f\n", "☆☆☆☆☆ Set Z! ☆☆☆☆☆ %f\n") VT_RST, thisx->home.pos.z);
thisx->world.pos.x = thisx->home.pos.x;
thisx->world.pos.z = thisx->home.pos.z;
thisx->world.pos.y = ((thisx->home.pos.y + play->view.eye.y) + (camResult * 160.0f));
@@ -1002,9 +1010,12 @@ void EnNiw_Update(Actor* thisx, PlayState* play) {
thisx->world.pos.y = thisx->home.pos.y + 300.0f;
}
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 修整後X! ☆☆☆☆☆ %f\n" VT_RST, thisx->world.pos.x);
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 修整後Y! ☆☆☆☆☆ %f\n" VT_RST, thisx->world.pos.y);
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 修整後Z! ☆☆☆☆☆ %f\n" VT_RST, thisx->world.pos.z);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ 修整後X! ☆☆☆☆☆ %f\n", "☆☆☆☆☆ X after correction! ☆☆☆☆☆ %f\n") VT_RST,
+ thisx->world.pos.x);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ 修整後Y! ☆☆☆☆☆ %f\n", "☆☆☆☆☆ Y after correction! ☆☆☆☆☆ %f\n") VT_RST,
+ thisx->world.pos.y);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ 修整後Z! ☆☆☆☆☆ %f\n", "☆☆☆☆☆ Z after correction! ☆☆☆☆☆ %f\n") VT_RST,
+ thisx->world.pos.z);
PRINTF("\n\n");
thisx->speed = 0.0f;
thisx->gravity = -2.0f;
@@ -1045,7 +1056,7 @@ void EnNiw_Update(Actor* thisx, PlayState* play) {
EffectSsGSplash_Spawn(play, &pos, NULL, NULL, 0, 400);
this->timer5 = 0;
PRINTF("\n\n");
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ ぶくぶく ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ ぶくぶく ☆☆☆☆☆ \n", "☆☆☆☆☆ Bubbling ☆☆☆☆☆ \n") VT_RST);
PRINTF("\n\n");
this->actionFunc = func_80AB6F04;
return;
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 5423fad2d2..be7fc69f09 100644
--- a/src/overlays/actors/ovl_En_Ny/z_en_ny.c
+++ b/src/overlays/actors/ovl_En_Ny/z_en_ny.c
@@ -9,6 +9,7 @@
#include "rand.h"
#include "sfx.h"
#include "sys_matrix.h"
+#include "translation.h"
#include "z_en_item00.h"
#include "z_lib.h"
#include "z64effect.h"
@@ -141,8 +142,7 @@ void EnNy_Init(Actor* thisx, PlayState* play) {
this->unk_1E8 = 0.0f;
this->unk_1E0 = 0.25f;
if (this->actor.params == 0) {
- // "New initials"
- PRINTF("ニュウ イニシャル[ %d ] !!\n", this->actor.params);
+ PRINTF(T("ニュウ イニシャル[ %d ] !!\n", "New init [ %d ] !!\n"), this->actor.params);
this->actor.colChkInfo.mass = 0;
this->unk_1D4 = 0;
this->unk_1D8 = 0xFF;
@@ -150,8 +150,7 @@ void EnNy_Init(Actor* thisx, PlayState* play) {
func_80ABCDBC(this);
} else {
// This mode is unused in the final game
- // "Dummy new initials"
- PRINTF("ダミーニュウ イニシャル[ %d ] !!\n", this->actor.params);
+ PRINTF(T("ダミーニュウ イニシャル[ %d ] !!\n", "Dummy new init [ %d ] !!\n"), this->actor.params);
PRINTF("En_Ny_actor_move2[ %x ] !!\n", EnNy_UpdateUnused);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
this->actor.update = EnNy_UpdateUnused;
diff --git a/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.c b/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.c
index eb9941b46b..5b361c6f1f 100644
--- a/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.c
+++ b/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.c
@@ -10,6 +10,7 @@
#include "regs.h"
#include "sequence.h"
#include "terminal.h"
+#include "translation.h"
#include "versions.h"
#include "z64audio.h"
#include "z64cutscene_flags.h"
@@ -64,8 +65,8 @@ void EnOkarinaEffect_Init(Actor* thisx, PlayState* play) {
EnOkarinaEffect* this = (EnOkarinaEffect*)thisx;
PRINTF("\n\n");
- // "Ocarina Storm Effect"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ オカリナあらし効果ビカビカビカ〜 ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ オカリナあらし効果ビカビカビカ〜 ☆☆☆☆☆ \n",
+ "☆☆☆☆☆ Ocarina storm effect sparkle sparkle sparkle ☆☆☆☆☆ \n") VT_RST);
PRINTF("\n\n");
if (play->envCtx.precipitation[PRECIP_RAIN_CUR] != 0) {
Actor_Kill(&this->actor);
@@ -97,7 +98,7 @@ void EnOkarinaEffect_ManageStorm(EnOkarinaEffect* this, PlayState* play) {
}
PRINTF("\nthis->timer=[%d]", this->timer);
if (this->timer == 308) {
- PRINTF("\n\n\n豆よ のびろ 指定\n\n\n"); // "Let's grow some beans"
+ PRINTF(T("\n\n\n豆よ のびろ 指定\n\n\n", "\n\n\nBeans, grow!\n\n\n"));
CutsceneFlags_Set(play, 5);
}
}
diff --git a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c
index 2ec4c8f08f..430540c659 100644
--- a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c
+++ b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c
@@ -12,6 +12,7 @@
#include "segmented_address.h"
#include "sfx.h"
#include "terminal.h"
+#include "translation.h"
#include "versions.h"
#include "z_lib.h"
#include "z64audio.h"
@@ -59,8 +60,8 @@ void EnOkarinaTag_Init(Actor* thisx, PlayState* play) {
EnOkarinaTag* this = (EnOkarinaTag*)thisx;
PRINTF("\n\n");
- // "Ocarina tag outbreak"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ オカリナタグ発生 ☆☆☆☆☆ %x\n" VT_RST, this->actor.params);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ オカリナタグ発生 ☆☆☆☆☆ %x\n", "☆☆☆☆☆ Ocarina tag occurrence ☆☆☆☆☆ %x\n") VT_RST,
+ this->actor.params);
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->type = PARAMS_GET_U(this->actor.params, 10, 6);
this->ocarinaSong = PARAMS_GET_U(this->actor.params, 6, 4);
@@ -77,18 +78,17 @@ void EnOkarinaTag_Init(Actor* thisx, PlayState* play) {
this->interactRange = this->actor.world.rot.z * 40.0f;
}
- // "Save information"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ セーブ情報\t ☆☆☆☆☆ %d\n" VT_RST, this->switchFlag);
- // "Type index"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 種類インデックス ☆☆☆☆☆ %d\n" VT_RST, this->type);
- // "Correct answer information"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 正解情報\t ☆☆☆☆☆ %d\n" VT_RST, this->ocarinaSong);
- // "Range information"
- PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ 範囲情報\t ☆☆☆☆☆ %d\n" VT_RST, this->actor.world.rot.z);
- // "Processing range information"
- PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ 処理範囲情報\t ☆☆☆☆☆ %f\n" VT_RST, this->interactRange);
- // "Hit?"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 当り?\t\t ☆☆☆☆☆ %d\n" VT_RST, this->unk_158);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ セーブ情報\t ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Save information\t ☆☆☆☆☆ %d\n") VT_RST,
+ this->switchFlag);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ 種類インデックス ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Type index ☆☆☆☆☆ %d\n") VT_RST, this->type);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 正解情報\t ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Correct answer information\t ☆☆☆☆☆ %d\n") VT_RST,
+ this->ocarinaSong);
+ PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆☆ 範囲情報\t ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Range information\t ☆☆☆☆☆ %d\n") VT_RST,
+ this->actor.world.rot.z);
+ PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆☆ 処理範囲情報\t ☆☆☆☆☆ %f\n", "☆☆☆☆☆ Processing range information\t ☆☆☆☆☆ %f\n")
+ VT_RST,
+ this->interactRange);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 当り?\t\t ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Hit?\t\t ☆☆☆☆☆ %d\n") VT_RST, this->unk_158);
PRINTF("\n\n");
if ((this->switchFlag >= 0) && (Flags_GetSwitch(play, this->switchFlag))) {
@@ -131,8 +131,8 @@ void func_80ABEF2C(EnOkarinaTag* this, PlayState* play) {
} else {
if ((this->ocarinaSong != 6) || (gSaveContext.save.info.scarecrowSpawnSongSet)) {
if (player->stateFlags2 & PLAYER_STATE2_24) {
- // "North! ! ! ! !"
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 北!!!!! ☆☆☆☆☆ %f\n" VT_RST, this->actor.xzDistToPlayer);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 北!!!!! ☆☆☆☆☆ %f\n", "☆☆☆☆☆ North!!!!! ☆☆☆☆☆ %f\n") VT_RST,
+ this->actor.xzDistToPlayer);
}
if ((this->actor.xzDistToPlayer < (90.0f + this->interactRange)) &&
(fabsf(player->actor.world.pos.y - this->actor.world.pos.y) < 80.0f)) {
@@ -228,8 +228,9 @@ void func_80ABF28C(EnOkarinaTag* this, PlayState* play) {
Message_StartOcarina(play, OCARINA_ACTION_CHECK_LULLABY);
break;
default:
- // "Ocarina Invisible-kun demo start check error source"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ オカリナ透明君デモ開始チェックエラー原 ☆☆☆☆☆ %d\n" VT_RST,
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ オカリナ透明君デモ開始チェックエラー原 ☆☆☆☆☆ %d\n",
+ "☆☆☆☆☆ Ocarina Invisible-kun demo start check error source ☆☆☆☆☆ %d\n")
+ VT_RST,
this->type);
Actor_Kill(&this->actor);
break;
@@ -320,8 +321,8 @@ void func_80ABF708(EnOkarinaTag* this, PlayState* play) {
}
void func_80ABF7CC(EnOkarinaTag* this, PlayState* play) {
- // "Open sesame sesame!"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 開けゴマゴマゴマ! ☆☆☆☆☆ %d\n" VT_RST, Message_GetState(&play->msgCtx));
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 開けゴマゴマゴマ! ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Open gomagomagoma! ☆☆☆☆☆ %d\n") VT_RST,
+ Message_GetState(&play->msgCtx));
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) {
Message_CloseTextbox(play);
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 9d70c9019a..25f881cf99 100644
--- a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c
+++ b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c
@@ -13,6 +13,7 @@
#include "segmented_address.h"
#include "sfx.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64play.h"
#include "z64player.h"
@@ -172,17 +173,10 @@ static s16 D_80AC8904[] = { 0x001E, 0x001F, 0x0020, 0x0021, 0x0022, 0x0023, 0x00
#if DEBUG_FEATURES
static char* sShopkeeperPrintName[] = {
- "コキリの店 ", // "Kokiri Shop"
- "薬屋 ", // "Potion Shop"
- "夜の店 ", // "Night Shop"
- "路地裏の店 ", // "Back Alley Shop"
- "盾の店 ", // "Shield Shop"
- "大人の店 ", // "Adult Shop"
- "タロンの店 ", // "Talon Shop"
- "ゾーラの店 ", // "Zora Shop"
- "ゴロン夜の店", // "Goron Night Shop"
- "インゴーの店", // "Ingo Store"
- "お面屋 ", // "Mask Shop"
+ T("コキリの店 ", "Kokiri Shop"), T("薬屋 ", "Potion Shop"), T("夜の店 ", "Night Shop"),
+ T("路地裏の店 ", "Back Alley Shop"), T("盾の店 ", "Shield Shop"), T("大人の店 ", "Adult Shop"),
+ T("タロンの店 ", "Talon Shop"), T("ゾーラの店 ", "Zora Shop"), T("ゴロン夜の店", "Goron Night Shop"),
+ T("インゴーの店", "Ingo Store"), T("お面屋 ", "Mask Shop"),
};
#endif
@@ -611,7 +605,8 @@ void EnOssan_Init(Actor* thisx, PlayState* play) {
if (this->actor.params > OSSAN_TYPE_MASK && this->actor.params < OSSAN_TYPE_KOKIRI) {
Actor_Kill(&this->actor);
PRINTF_COLOR_ERROR();
- PRINTF("引数がおかしいよ(arg_data=%d)!!\n", this->actor.params);
+ PRINTF(T("引数がおかしいよ(arg_data=%d)!!\n", "The arguments are strange (arg_data=%d)!!\n"),
+ this->actor.params);
PRINTF_RST();
ASSERT(0, "0", "../z_en_oB1.c", 1246);
return;
@@ -640,7 +635,7 @@ void EnOssan_Init(Actor* thisx, PlayState* play) {
if (this->objectSlot1 < 0) {
Actor_Kill(&this->actor);
PRINTF_COLOR_ERROR();
- PRINTF("バンクが無いよ!!(%s)\n", sShopkeeperPrintName[this->actor.params]);
+ PRINTF(T("バンクが無いよ!!(%s)\n", "There is no bank!! (%s)\n"), sShopkeeperPrintName[this->actor.params]);
PRINTF_RST();
ASSERT(0, "0", "../z_en_oB1.c", 1284);
return;
@@ -649,7 +644,8 @@ void EnOssan_Init(Actor* thisx, PlayState* play) {
if (EnOssan_TryGetObjBankIndices(this, play, objectIds) == 0) {
Actor_Kill(&this->actor);
PRINTF_COLOR_ERROR();
- PRINTF("予備バンクが無いよ!!(%s)\n", sShopkeeperPrintName[this->actor.params]);
+ PRINTF(T("予備バンクが無いよ!!(%s)\n", "There is no spare bank!! (%s)\n"),
+ sShopkeeperPrintName[this->actor.params]);
PRINTF_RST();
ASSERT(0, "0", "../z_en_oB1.c", 1295);
return;
@@ -677,8 +673,8 @@ void EnOssan_UpdateCursorPos(PlayState* play, EnOssan* this) {
void EnOssan_EndInteraction(PlayState* play, EnOssan* this) {
Player* player = GET_PLAYER(play);
- // "End of conversation!"
- PRINTF(VT_FGCOL(YELLOW) "%s[%d]:★★★ 会話終了!! ★★★" VT_RST "\n", "../z_en_oB1.c", 1337);
+ PRINTF(VT_FGCOL(YELLOW) T("%s[%d]:★★★ 会話終了!! ★★★", "%s[%d]:★★★ End of conversation!! ★★★") VT_RST "\n",
+ "../z_en_oB1.c", 1337);
YREG(31) = 0;
Actor_TalkOfferAccepted(&this->actor, play);
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
@@ -765,8 +761,7 @@ void EnOssan_State_Idle(EnOssan* this, PlayState* play, Player* player) {
this->headTargetRot = this->actor.yawTowardsPlayer - this->actor.shape.rot.y;
if (Actor_TalkOfferAccepted(&this->actor, play)) {
- // "Start conversation!!"
- PRINTF(VT_FGCOL(YELLOW) "★★★ 会話開始!! ★★★" VT_RST "\n");
+ PRINTF(VT_FGCOL(YELLOW) T("★★★ 会話開始!! ★★★", "★★★ Start conversation!! ★★★") VT_RST "\n");
player->stateFlags2 |= PLAYER_STATE2_29;
Play_SetShopBrowsingViewpoint(play);
EnOssan_SetStateStartShopping(play, this, false);
@@ -955,8 +950,7 @@ void EnOssan_State_StartConversation(EnOssan* this, PlayState* play, Player* pla
}
if (!EnOssan_TestEndInteraction(this, play, &play->state.input[0])) {
- // "Shop around by moving the stick left and right"
- PRINTF("「スティック左右で品物みてくれ!」\n");
+ PRINTF(T("「スティック左右で品物みてくれ!」\n", "「Shop around by moving the stick left and right!」\n"));
EnOssan_StartShopping(play, this);
}
}
@@ -2145,14 +2139,14 @@ void EnOssan_InitActionFunc(EnOssan* this, PlayState* play) {
if (this->shelves == NULL) {
PRINTF_COLOR_ERROR();
- // "Warning!! There are no shelves!!"
- PRINTF("★★★ 警告!! 棚がないよ!! ★★★\n");
+ PRINTF(T("★★★ 警告!! 棚がないよ!! ★★★\n", "★★★ Warning!! There are no shelves!! ★★★\n"));
PRINTF_RST();
return;
}
- // "Shopkeeper (params) init"
- PRINTF(VT_FGCOL(YELLOW) "◇◇◇ 店のおやじ( %d ) 初期設定 ◇◇◇" VT_RST "\n", this->actor.params);
+ PRINTF(VT_FGCOL(YELLOW) T("◇◇◇ 店のおやじ( %d ) 初期設定 ◇◇◇", "◇◇◇ Shopkeeper ( %d ) initial setting ◇◇◇")
+ VT_RST "\n",
+ this->actor.params);
this->actor.world.pos.x += sShopkeeperPositionOffsets[this->actor.params].x;
this->actor.world.pos.y += sShopkeeperPositionOffsets[this->actor.params].y;
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 856958e81e..b4cafe6817 100644
--- a/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c
+++ b/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c
@@ -17,6 +17,7 @@
#include "regs.h"
#include "sfx.h"
#include "terminal.h"
+#include "translation.h"
#include "z_en_item00.h"
#include "z_lib.h"
#include "z64debug_display.h"
@@ -147,8 +148,8 @@ void EnReeba_Init(Actor* thisx, PlayState* play) {
this->scale *= 1.5f;
this->collider.dim.radius = 35;
this->collider.dim.height = 45;
- // "Reeba Boss Appears %f"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ リーバぼす登場 ☆☆☆☆☆ %f\n" VT_RST, this->scale);
+ 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.damage = 16;
@@ -520,9 +521,10 @@ void EnReeba_Die(EnReeba* this, PlayState* play) {
if (spawner->killCount < 10) {
spawner->killCount++;
}
- // "How many are dead?"
PRINTF("\n\n");
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 何匹DEAD? ☆☆☆☆☆%d\n" VT_RST, spawner->killCount);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 何匹DEAD? ☆☆☆☆☆%d\n", "☆☆☆☆☆ How many are DEAD? ☆☆☆☆☆%d\n")
+ VT_RST,
+ spawner->killCount);
PRINTF("\n\n");
}
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 b4e136a75a..ad19ebe447 100644
--- a/src/overlays/actors/ovl_En_Rr/z_en_rr.c
+++ b/src/overlays/actors/ovl_En_Rr/z_en_rr.c
@@ -16,6 +16,7 @@
#include "sfx.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "versions.h"
#include "z_en_item00.h"
#include "z_lib.h"
@@ -468,9 +469,9 @@ void EnRr_CollisionCheck(EnRr* this, PlayState* play) {
dropType++; // magic jar
FALLTHROUGH;
case RR_DMG_NORMAL:
- // "ouch"
- PRINTF(VT_FGCOL(RED) "いてっ( %d : LIFE %d : DAMAGE %d : %x )!!" VT_RST "\n", this->frameCount,
- this->actor.colChkInfo.health, this->actor.colChkInfo.damage,
+ PRINTF(VT_FGCOL(RED) T("いてっ( %d : LIFE %d : DAMAGE %d : %x )!!",
+ "ouch ( %d : LIFE %d : DAMAGE %d : %x )!!") VT_RST "\n",
+ this->frameCount, this->actor.colChkInfo.health, this->actor.colChkInfo.damage,
this->actor.colChkInfo.damageEffect);
this->stopScroll = false;
Actor_ApplyDamage(&this->actor);
@@ -532,8 +533,7 @@ void EnRr_CollisionCheck(EnRr* this, PlayState* play) {
((this->collider1.base.ocFlags1 & OC1_HIT) || (this->collider2.base.ocFlags1 & OC1_HIT))) {
this->collider1.base.ocFlags1 &= ~OC1_HIT;
this->collider2.base.ocFlags1 &= ~OC1_HIT;
- // "catch"
- PRINTF(VT_FGCOL(GREEN) "キャッチ(%d)!!" VT_RST "\n", this->frameCount);
+ PRINTF(VT_FGCOL(GREEN) T("キャッチ(%d)!!", "catch (%d)!!") VT_RST "\n", this->frameCount);
if (play->grabPlayer(play, player)) {
player->actor.parent = &this->actor;
this->stopScroll = false;
@@ -714,8 +714,7 @@ void EnRr_Death(EnRr* this, PlayState* play) {
Item_DropCollectible(play, &dropPos, ITEM00_TUNIC_ZORA);
break;
}
- // "dropped"
- PRINTF(VT_FGCOL(GREEN) "「%s」が出た!!" VT_RST "\n", sDropNames[this->dropType]);
+ PRINTF(VT_FGCOL(GREEN) T("「%s」が出た!!", "「%s」dropped!!") VT_RST "\n", sDropNames[this->dropType]);
switch (this->dropType) {
case RR_DROP_MAGIC:
Item_DropCollectible(play, &dropPos, ITEM00_MAGIC_SMALL);
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 85ef778479..0e4573f90d 100644
--- a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c
+++ b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c
@@ -322,8 +322,8 @@ BgBdanObjects* EnRu1_FindSwitch(PlayState* play) {
}
actorIt = actorIt->next;
}
- // "There is no stand"
- PRINTF(VT_FGCOL(RED) "お立ち台が無い!!!!!!!!!!!!!!!!!!!!!!!!!\n" VT_RST);
+ PRINTF(VT_FGCOL(RED) T("お立ち台が無い!!!!!!!!!!!!!!!!!!!!!!!!!\n", "There is no stand!!!!!!!!!!!!!!!!!!!!!!!!!\n")
+ VT_RST);
return NULL;
}
@@ -2246,11 +2246,9 @@ void func_80AEFF94(EnRu1* this, PlayState* play) {
this->roomNum1 = actorRoom;
this->roomNum3 = actorRoom;
this->roomNum2 = actorRoom;
- // "Ruto switch set"
- PRINTF("スイッチルトセット!!!!!!!!!!!!!!!!!!!!!!\n");
+ PRINTF(T("スイッチルトセット!!!!!!!!!!!!!!!!!!!!!!\n", "Ruto switch set!!!!!!!!!!!!!!!!!!!!!!\n"));
} else {
- // "Ruto switch not set"
- PRINTF("スイッチルトセットしない!!!!!!!!!!!!!!!!!!!!!!\n");
+ PRINTF(T("スイッチルトセットしない!!!!!!!!!!!!!!!!!!!!!!\n", "Ruto switch not set!!!!!!!!!!!!!!!!!!!!!!\n"));
Actor_Kill(&this->actor);
}
}
@@ -2313,8 +2311,7 @@ void EnRu1_Init(Actor* thisx, PlayState* play) {
#endif
default:
Actor_Kill(&this->actor);
- // "Relevant arge_data = %d unacceptable"
- PRINTF("該当 arge_data = %d 無し\n", func_80AEADF0(this));
+ PRINTF(T("該当 arge_data = %d 無し\n", "Relevant arge_data = %d unacceptable\n"), func_80AEADF0(this));
break;
}
}
@@ -2340,8 +2337,8 @@ s32 EnRu1_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p
EnRu1* this = (EnRu1*)thisx;
if ((this->unk_290 < 0) || (this->unk_290 > 0) || (*sPreLimbDrawFuncs[this->unk_290] == NULL)) {
- // "Neck rotation mode is improper!"
- PRINTF(VT_FGCOL(RED) "首回しモードがおかしい!!!!!!!!!!!!!!!!!!!!!!!!!\n" VT_RST);
+ PRINTF(VT_FGCOL(RED) T("首回しモードがおかしい!!!!!!!!!!!!!!!!!!!!!!!!!\n",
+ "Neck rotation mode is improper!!!!!!!!!!!!!!!!!!!!!!!!!\n") VT_RST);
} else {
sPreLimbDrawFuncs[this->unk_290](this, play, limbIndex, rot);
}
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 152f5ea753..52e3134b6a 100644
--- a/src/overlays/actors/ovl_En_Sb/z_en_sb.c
+++ b/src/overlays/actors/ovl_En_Sb/z_en_sb.c
@@ -12,6 +12,7 @@
#include "rand.h"
#include "sfx.h"
#include "terminal.h"
+#include "translation.h"
#include "z_en_item00.h"
#include "z_lib.h"
#include "z64effect.h"
@@ -277,8 +278,7 @@ void EnSb_TurnAround(EnSb* this, PlayState* play) {
EnSb_SpawnBubbles(play, this);
this->bouncesLeft = 3;
EnSb_SetupLunge(this);
- // "Attack!!"
- PRINTF("アタァ〜ック!!\n");
+ PRINTF(T("アタァ〜ック!!\n", "Attack!!\n"));
}
}
@@ -322,7 +322,7 @@ void EnSb_Bounce(EnSb* this, PlayState* play) {
this->actor.speed = 0.0f;
this->timer = 1;
EnSb_SetupWaitClosed(this);
- PRINTF(VT_FGCOL(RED) "攻撃終了!!" VT_RST "\n"); // "Attack Complete!"
+ PRINTF(VT_FGCOL(RED) T("攻撃終了!!", "Attack complete!!") VT_RST "\n");
}
}
}
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 9eb1679a56..58ee87f235 100644
--- a/src/overlays/actors/ovl_En_Sth/z_en_sth.c
+++ b/src/overlays/actors/ovl_En_Sth/z_en_sth.c
@@ -12,6 +12,7 @@
#include "segmented_address.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64play.h"
#include "z64save.h"
@@ -107,18 +108,17 @@ void EnSth_Init(Actor* thisx, PlayState* play) {
s32 params = this->actor.params;
s32 objectSlot;
- PRINTF(VT_FGCOL(BLUE) "金スタル屋 no = %d\n" VT_RST, params); // "Gold Skulltula Shop"
+ PRINTF(VT_FGCOL(BLUE) T("金スタル屋 no = %d\n", "Gold Skulltula Shop no = %d\n") VT_RST, params);
if (this->actor.params == 0) {
if (gSaveContext.save.info.inventory.gsTokens < 100) {
Actor_Kill(&this->actor);
- // "Gold Skulltula Shop I still can't be a human"
- PRINTF("金スタル屋 まだ 人間に戻れない \n");
+ PRINTF(T("金スタル屋 まだ 人間に戻れない \n", "Gold Skulltula Shop I still can't be a human \n"));
return;
}
} else if (gSaveContext.save.info.inventory.gsTokens < (this->actor.params * 10)) {
Actor_Kill(&this->actor);
- // "Gold Skulltula Shop I still can't be a human"
- PRINTF(VT_FGCOL(BLUE) "金スタル屋 まだ 人間に戻れない \n" VT_RST);
+ PRINTF(VT_FGCOL(BLUE) T("金スタル屋 まだ 人間に戻れない \n", "Gold Skulltula Shop I still can't be a human \n")
+ VT_RST);
return;
}
diff --git a/src/overlays/actors/ovl_En_Syateki_Itm/z_en_syateki_itm.c b/src/overlays/actors/ovl_En_Syateki_Itm/z_en_syateki_itm.c
index e409e9c246..0dc3434660 100644
--- a/src/overlays/actors/ovl_En_Syateki_Itm/z_en_syateki_itm.c
+++ b/src/overlays/actors/ovl_En_Syateki_Itm/z_en_syateki_itm.c
@@ -8,6 +8,7 @@
#include "regs.h"
#include "sfx.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64debug_display.h"
#include "z64play.h"
@@ -85,8 +86,7 @@ void EnSyatekiItm_Init(Actor* thisx, PlayState* play2) {
this->man = (EnSyatekiMan*)Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_EN_SYATEKI_MAN, 140.0f,
0.0f, 255.0f, 0, -0x4000, 0, 0);
if (this->man == NULL) {
- // "Spawn error"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ エラー原 ☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ エラー原 ☆☆☆☆ \n", "☆☆☆☆☆ Spawn error ☆☆☆☆ \n") VT_RST);
Actor_Kill(&this->actor);
return;
}
@@ -94,8 +94,7 @@ void EnSyatekiItm_Init(Actor* thisx, PlayState* play2) {
this->markers[i] = (EnExRuppy*)Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_EN_EX_RUPPY,
sRupeePos[i].x, sRupeePos[i].y, sRupeePos[i].z, 0, 0, 0, 4);
if (this->markers[i] == NULL) {
- // "Second spawn error"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ エラー原セカンド ☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ エラー原セカンド ☆☆☆☆ \n", "☆☆☆☆☆ Second spawn error ☆☆☆☆ \n") VT_RST);
Actor_Kill(&this->actor);
return;
}
@@ -246,8 +245,7 @@ void EnSyatekiItm_SpawnTargets(EnSyatekiItm* this, PlayState* play) {
&play->actorCtx, &this->actor, play, ACTOR_EN_G_SWITCH, this->targetHome[i].x, this->targetHome[i].y,
this->targetHome[i].z, 0, 0, 0, (ENGSWITCH_TARGET_RUPEE << 0xC) | 0x3F);
if (this->targets[i] == NULL) {
- // "Rupee spawn error"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ ルピーでエラー原 ☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ ルピーでエラー原 ☆☆☆☆ \n", "☆☆☆☆☆ Rupee spawn error ☆☆☆☆ \n") VT_RST);
Actor_Kill(&this->actor);
return;
}
@@ -324,17 +322,16 @@ void EnSyatekiItm_EndGame(EnSyatekiItm* this, PlayState* play) {
this->actionFunc = EnSyatekiItm_Idle;
}
if (this->signal == ENSYATEKI_START) {
- // "1 frame attack and defense!"
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
this->signal = ENSYATEKI_NONE;
this->actionFunc = EnSyatekiItm_Idle;
}
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 970ebb32d3..5eca8ac947 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
@@ -15,6 +15,7 @@
#include "sfx.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64effect.h"
#include "z64play.h"
@@ -96,13 +97,11 @@ void EnSyatekiNiw_Init(Actor* thisx, PlayState* play) {
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
if (this->minigameType == SYATEKI_MINIGAME_ARCHERY) {
PRINTF("\n\n");
- // "Archery range chicken"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 射的場鶏 ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 射的場鶏 ☆☆☆☆☆ \n", "☆☆☆☆☆ Archery range chicken ☆☆☆☆☆ \n") VT_RST);
Actor_SetScale(&this->actor, 0.01f);
} else {
PRINTF("\n\n");
- // "Bomb chicken"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ ボムにわ! ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ ボムにわ! ☆☆☆☆☆ \n", "☆☆☆☆☆ Bomb chicken! ☆☆☆☆☆ \n") VT_RST);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
Actor_SetScale(&this->actor, 0.01f);
}
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 68335d64b2..fd4f5b91c1 100644
--- a/src/overlays/actors/ovl_En_Ta/z_en_ta.c
+++ b/src/overlays/actors/ovl_En_Ta/z_en_ta.c
@@ -20,6 +20,7 @@
#include "sfx.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64audio.h"
#include "z64face_reaction.h"
@@ -176,8 +177,7 @@ void EnTa_Init(Actor* thisx, PlayState* play2) {
switch (this->actor.params) {
case ENTA_IN_KAKARIKO:
- // "Exile Talon"
- PRINTF(VT_FGCOL(CYAN) " 追放タロン \n" VT_RST);
+ PRINTF(VT_FGCOL(CYAN) T(" 追放タロン \n", " Exile Talon \n") VT_RST);
if (GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_KAKARIKO)) {
Actor_Kill(&this->actor);
} else if (!LINK_IS_ADULT) {
@@ -197,15 +197,14 @@ void EnTa_Init(Actor* thisx, PlayState* play2) {
break;
case ENTA_RETURNED_FROM_KAKARIKO:
- // "Return Talon"
- PRINTF(VT_FGCOL(CYAN) " 出戻りタロン \n" VT_RST);
+ PRINTF(VT_FGCOL(CYAN) T(" 出戻りタロン \n", " Return Talon \n") VT_RST);
if (!GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_KAKARIKO)) {
Actor_Kill(&this->actor);
} else if (!LINK_IS_ADULT) {
Actor_Kill(&this->actor);
} else if (play->sceneId == SCENE_STABLE && !IS_DAY) {
Actor_Kill(&this->actor);
- PRINTF(VT_FGCOL(CYAN) " 夜はいない \n" VT_RST);
+ PRINTF(VT_FGCOL(CYAN) T(" 夜はいない \n", " He's not here at night \n") VT_RST);
} else {
EnTa_SetupAction(this, EnTa_IdleAtRanch, EnTa_AnimRepeatCurrent);
this->eyeIndex = TALON_EYE_INDEX_OPEN;
@@ -215,8 +214,7 @@ void EnTa_Init(Actor* thisx, PlayState* play2) {
break;
default: // Child era Talon
- // "Other Talon"
- PRINTF(VT_FGCOL(CYAN) " その他のタロン \n" VT_RST);
+ PRINTF(VT_FGCOL(CYAN) T(" その他のタロン \n", " Other Talon \n") VT_RST);
if (play->sceneId == SCENE_HYRULE_CASTLE) {
if (GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
Actor_Kill(&this->actor);
diff --git a/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c b/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c
index 8d51dae459..b61e51abdb 100644
--- a/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c
+++ b/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c
@@ -12,6 +12,7 @@
#include "rand.h"
#include "segmented_address.h"
#include "terminal.h"
+#include "translation.h"
#include "versions.h"
#include "z64play.h"
#include "z64save.h"
@@ -56,14 +57,14 @@ void EnTakaraMan_Init(Actor* thisx, PlayState* play) {
if (sTakaraIsInitialized) {
Actor_Kill(&this->actor);
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ もういてる原 ☆☆☆☆☆ \n" VT_RST); // "Already initialized"
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ もういてる原 ☆☆☆☆☆ \n", "☆☆☆☆☆ Already initialized ☆☆☆☆☆ \n") VT_RST);
return;
}
sTakaraIsInitialized = true;
PRINTF("\n\n");
- // "Bun! %x" (needs a better translation)
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ ばぅん! ☆☆☆☆☆ %x\n" VT_RST, play->actorCtx.flags.chest);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ ばぅん! ☆☆☆☆☆ %x\n", "☆☆☆☆☆ Bang! ☆☆☆☆☆ %x\n") VT_RST,
+ play->actorCtx.flags.chest);
play->actorCtx.flags.chest = 0;
gSaveContext.save.info.inventory.dungeonKeys[gSaveContext.mapIndex] = -1;
SkelAnime_InitFlex(play, &this->skelAnime, &object_ts_Skel_004FE0, &object_ts_Anim_000498, this->jointTable,
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 3435b040fc..71ea089bbd 100644
--- a/src/overlays/actors/ovl_En_Tite/z_en_tite.c
+++ b/src/overlays/actors/ovl_En_Tite/z_en_tite.c
@@ -17,6 +17,7 @@
#include "sfx.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "z_en_item00.h"
#include "z_lib.h"
#include "z64effect.h"
@@ -226,8 +227,9 @@ void EnTite_Destroy(Actor* thisx, PlayState* play) {
spawner->curNumSpawn--;
}
PRINTF("\n\n");
- // "Number of simultaneous occurrences"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 同時発生数 ☆☆☆☆☆%d\n" VT_RST, spawner->curNumSpawn);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 同時発生数 ☆☆☆☆☆%d\n", "☆☆☆☆☆ Number of simultaneous occurrences ☆☆☆☆☆%d\n")
+ VT_RST,
+ spawner->curNumSpawn);
PRINTF("\n\n");
}
Collider_DestroyJntSph(play, &this->collider);
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 31ae178197..7ff6013e48 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
@@ -12,6 +12,7 @@
#include "regs.h"
#include "sfx.h"
#include "terminal.h"
+#include "translation.h"
#include "z_en_item00.h"
#include "z_lib.h"
#include "z64effect.h"
@@ -69,7 +70,7 @@ void EnTuboTrap_Init(Actor* thisx, PlayState* play) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 2.0f);
PRINTF("\n\n");
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 壷トラップ ☆☆☆☆☆ %x\n" VT_RST, this->actor.params); // "Urn Trap"
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 壷トラップ ☆☆☆☆☆ %x\n", "☆☆☆☆☆ Urn Trap ☆☆☆☆☆ %x\n") VT_RST, this->actor.params);
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
Actor_SetScale(&this->actor, 0.1f);
@@ -234,8 +235,9 @@ void EnTuboTrap_WaitForProximity(EnTuboTrap* this, PlayState* play) {
f32 targetHeight;
if (BREG(2) != 0) {
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ わて ☆☆☆☆☆ %f\n" VT_RST, this->actor.world.pos.y); // "You"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ おいどん ☆☆☆☆☆ %f\n" VT_RST, player->actor.world.pos.y); // "Me"
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ わて ☆☆☆☆☆ %f\n", "☆☆☆☆☆ You ☆☆☆☆☆ %f\n") VT_RST, this->actor.world.pos.y);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ おいどん ☆☆☆☆☆ %f\n", "☆☆☆☆☆ Me ☆☆☆☆☆ %f\n") VT_RST,
+ player->actor.world.pos.y);
PRINTF("\n\n");
}
diff --git a/src/overlays/actors/ovl_En_Wall_Tubo/z_en_wall_tubo.c b/src/overlays/actors/ovl_En_Wall_Tubo/z_en_wall_tubo.c
index 149eba4700..d54a570d2a 100644
--- a/src/overlays/actors/ovl_En_Wall_Tubo/z_en_wall_tubo.c
+++ b/src/overlays/actors/ovl_En_Wall_Tubo/z_en_wall_tubo.c
@@ -15,6 +15,7 @@
#include "printf.h"
#include "quake.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64debug_display.h"
#include "z64effect.h"
@@ -46,8 +47,7 @@ void EnWallTubo_Init(Actor* thisx, PlayState* play) {
EnWallTubo* this = (EnWallTubo*)thisx;
PRINTF("\n\n");
- // "Wall Target"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 壁のツボ ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ 壁のツボ ☆☆☆☆☆ \n", "☆☆☆☆☆ Points on the wall ☆☆☆☆☆ \n") VT_RST);
this->unk_164 = this->actor.world.pos;
this->actionFunc = EnWallTubo_FindGirl;
}
diff --git a/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c b/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c
index 04082aa10f..520e7edc61 100644
--- a/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c
+++ b/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c
@@ -9,6 +9,7 @@
#include "printf.h"
#include "regs.h"
#include "terminal.h"
+#include "translation.h"
#include "versions.h"
#include "z_lib.h"
#include "z64debug_display.h"
@@ -67,14 +68,14 @@ void EnWeatherTag_Init(Actor* thisx, PlayState* play) {
switch (PARAMS_GET_U(this->actor.params, 0, 4)) {
case EN_WEATHER_TAG_TYPE_CLOUDY_MARKET:
PRINTF("\n\n");
- // "☆☆☆☆☆ (;o;) About ☆☆☆☆☆☆"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ (;o;) くらいよー ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ (;o;) くらいよー ☆☆☆☆☆ \n", "☆☆☆☆☆ (;o;) About that much ☆☆☆☆☆ \n")
+ VT_RST);
EnWeatherTag_SetupAction(this, EnWeatherTag_DisabledCloudyHyruleMarket);
break;
case EN_WEATHER_TAG_TYPE_CLOUDY_LON_LON_RANCH:
PRINTF("\n\n");
- // "☆☆☆☆☆ Cloudy (._.) Ah Melancholy ☆☆☆☆☆"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ くもり (._.) あーあ 憂鬱 ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ くもり (._.) あーあ 憂鬱 ☆☆☆☆☆ \n",
+ "☆☆☆☆☆ Cloudy (._.) Ah Melancholy ☆☆☆☆☆ \n") VT_RST);
if (Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED)) {
Actor_Kill(&this->actor);
}
@@ -82,8 +83,8 @@ void EnWeatherTag_Init(Actor* thisx, PlayState* play) {
break;
case EN_WEATHER_TAG_TYPE_SNOW_ZORAS_DOMAIN:
PRINTF("\n\n");
- // "☆☆☆☆☆ Yukigafuru You won't come (._.) ☆☆☆☆☆"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ ゆきがふるー あなたはこないー (._.) ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ ゆきがふるー あなたはこないー (._.) ☆☆☆☆☆ \n",
+ "☆☆☆☆☆ The snow is falling... You're not coming... (._.) ☆☆☆☆☆ \n") VT_RST);
if (GET_EVENTCHKINF(EVENTCHKINF_4A)) {
Actor_Kill(&this->actor);
@@ -92,8 +93,8 @@ void EnWeatherTag_Init(Actor* thisx, PlayState* play) {
break;
case EN_WEATHER_TAG_TYPE_RAIN_LAKE_HYLIA:
PRINTF("\n\n");
- // "☆☆☆☆☆ Wow wa wa na wa saa ki ha (^o^) ☆☆☆☆☆"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ わわわわー なーがーさーきーはー (^o^) ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ わわわわー なーがーさーきーはー (^o^) ☆☆☆☆☆ \n",
+ "☆☆☆☆☆ Waaaa- Na-ga-sa-ki wa- (^o^) ☆☆☆☆☆ \n") VT_RST);
if (GET_EVENTCHKINF(EVENTCHKINF_4A)) {
Actor_Kill(&this->actor);
@@ -102,8 +103,8 @@ void EnWeatherTag_Init(Actor* thisx, PlayState* play) {
break;
case EN_WEATHER_TAG_TYPE_CLOUDY_DEATH_MOUNTAIN:
PRINTF("\n\n");
- // "☆☆☆☆☆ Cloudy (._.) Ah Melancholy ☆☆☆☆☆"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ くもり (._.) あーあ 憂鬱 ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW)
+ T("☆☆☆☆☆ くもり (._.) あーあ 憂鬱 ☆☆☆☆☆ \n", "☆☆☆☆☆ Cloudy (._.) Ah Melancholy ☆☆☆☆☆") VT_RST);
if (GET_EVENTCHKINF(EVENTCHKINF_49)) {
Actor_Kill(&this->actor);
}
@@ -111,8 +112,8 @@ void EnWeatherTag_Init(Actor* thisx, PlayState* play) {
break;
case EN_WEATHER_TAG_TYPE_THUNDERSTORM_KAKARIKO:
PRINTF("\n\n");
- // "☆☆☆☆☆ Cloudy Rain Thunder (;O;) Uo Melancholy ☆☆☆☆☆"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ くもり雨雷 (;O;) うおお 憂鬱 ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ くもり雨雷 (;O;) うおお 憂鬱 ☆☆☆☆☆ \n",
+ "☆☆☆☆☆ Cloudy with rain and thunder (;O;) Wow, I'm depressed ☆☆☆☆☆ \n") VT_RST);
if (!GET_EVENTCHKINF(EVENTCHKINF_48) || !GET_EVENTCHKINF(EVENTCHKINF_49) ||
!GET_EVENTCHKINF(EVENTCHKINF_4A) || CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW)) {
@@ -122,14 +123,14 @@ void EnWeatherTag_Init(Actor* thisx, PlayState* play) {
break;
case EN_WEATHER_TAG_TYPE_SANDSTORM_INTENSITY:
PRINTF("\n\n");
- // "☆☆☆☆☆ The desert becomes thicker ☆☆☆☆☆"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 砂漠が濃くなります ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ 砂漠が濃くなります ☆☆☆☆☆ \n", "☆☆☆☆☆ The desert becomes thicker ☆☆☆☆☆ \n")
+ VT_RST);
EnWeatherTag_SetupAction(this, EnWeatherTag_SetSandstormIntensity);
break;
case EN_WEATHER_TAG_TYPE_THUNDERSTORM_GRAVEYARD:
PRINTF("\n\n");
- // "☆☆☆☆☆ Wow wa wa na wa saa ki ha (^o^) ☆☆☆☆☆"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ わわわわー なーがーさーきーはー (^o^) ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ わわわわー なーがーさーきーはー (^o^) ☆☆☆☆☆ \n",
+ "☆☆☆☆☆ Waaaa- Na-ga-sa-ki wa- (^o^) ☆☆☆☆☆ \n") VT_RST);
EnWeatherTag_SetupAction(this, EnWeatherTag_DisabledRainThunder);
break;
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 4014597de7..f7ae2db60b 100644
--- a/src/overlays/actors/ovl_En_Wf/z_en_wf.c
+++ b/src/overlays/actors/ovl_En_Wf/z_en_wf.c
@@ -19,6 +19,7 @@
#include "sfx.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "z_en_item00.h"
#include "z_lib.h"
#include "z64audio.h"
@@ -292,8 +293,9 @@ void EnWf_Destroy(Actor* thisx, PlayState* play) {
}
PRINTF("\n\n");
- // "☆☆☆☆☆ Number of concurrent events ☆☆☆☆☆"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 同時発生数 ☆☆☆☆☆%d\n" VT_RST, parent->curNumSpawn);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 同時発生数 ☆☆☆☆☆%d\n", "☆☆☆☆☆ Number of simultaneous occurrences ☆☆☆☆☆%d\n")
+ VT_RST,
+ parent->curNumSpawn);
PRINTF("\n\n");
}
}
diff --git a/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.c b/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.c
index fb455390a7..4b43e59cb2 100644
--- a/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.c
+++ b/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.c
@@ -9,6 +9,7 @@
#include "printf.h"
#include "regs.h"
#include "terminal.h"
+#include "translation.h"
#include "z64debug_display.h"
#include "z64play.h"
#include "z64save.h"
@@ -42,8 +43,8 @@ void EnWonderTalk_Init(Actor* thisx, PlayState* play) {
EnWonderTalk* this = (EnWonderTalk*)thisx;
PRINTF("\n\n");
- // "Special conversation"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 特殊会話くん ☆☆☆☆☆ %x\n" VT_RST, this->actor.params);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 特殊会話くん ☆☆☆☆☆ %x\n", "☆☆☆☆☆ Special conversation ☆☆☆☆☆ %x\n") VT_RST,
+ this->actor.params);
this->unk_150 = PARAMS_GET_U(this->actor.params, 11, 5);
this->unk_152 = PARAMS_GET_U(this->actor.params, 6, 5);
@@ -67,19 +68,17 @@ void func_80B391CC(EnWonderTalk* this, PlayState* play) {
if (this->switchFlag < 0 || !Flags_GetSwitch(play, this->switchFlag)) {
switch (this->unk_150) {
case 1:
- // "Slate GO!"
- PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ 石板GO! ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T(" ☆☆☆☆☆ 石板GO! ☆☆☆☆☆ \n", " ☆☆☆☆☆ Slate GO! ☆☆☆☆☆ \n") VT_RST);
this->height = 0.0f;
this->unk_15C = 80.0f;
- // "Attention coordinates"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n" VT_RST, 0.0f);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n",
+ "☆☆☆☆☆ Attention coordinates\t \t☆☆☆☆☆ %f\n") VT_RST,
+ 0.0f);
if (!LINK_IS_ADULT) {
this->actor.textId = 0x7040;
- // "Children"
- PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ こども ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T(" ☆☆☆☆☆ こども ☆☆☆☆☆ \n", " ☆☆☆☆☆ Child ☆☆☆☆☆ \n") VT_RST);
} else {
- // "Adult"
- PRINTF(VT_FGCOL(CYAN) " ☆☆☆☆☆ おとな ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(CYAN) T(" ☆☆☆☆☆ おとな ☆☆☆☆☆ \n", " ☆☆☆☆☆ Adult ☆☆☆☆☆ \n") VT_RST);
this->actor.textId = 0x7088;
}
@@ -87,29 +86,31 @@ void func_80B391CC(EnWonderTalk* this, PlayState* play) {
PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ this->actor.talk_message ☆☆☆☆☆ %x\n" VT_RST, this->actor.textId);
break;
case 2:
- // "Diary start!"
- PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ 日記帳スタート! ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T(" ☆☆☆☆☆ 日記帳スタート! ☆☆☆☆☆ \n", " ☆☆☆☆☆ Diary start! ☆☆☆☆☆ \n") VT_RST);
this->actor.textId = 0x5002;
this->unk_156 = TEXT_STATE_CHOICE;
this->unk_15C = 40.0f;
this->height = 30.0f;
- // "Attention coordinates"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n" VT_RST, 30.0f);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n",
+ "☆☆☆☆☆ Attention coordinates\t \t☆☆☆☆☆ %f\n") VT_RST,
+ 30.0f);
break;
case 3:
this->actor.textId = 0x501E;
this->unk_156 = TEXT_STATE_EVENT;
this->height = 0.0f;
this->unk_15C = 110.0f;
- // "Attention coordinates"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n" VT_RST, 0.0f);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n",
+ "☆☆☆☆☆ Attention coordinates\t \t☆☆☆☆☆ %f\n") VT_RST,
+ 0.0f);
break;
case 4:
this->actor.textId = 0x5020;
this->unk_156 = TEXT_STATE_DONE;
this->height = 0.0f;
- // "Attention coordinates"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n" VT_RST, 0.0f);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n",
+ "☆☆☆☆☆ Attention coordinates\t \t☆☆☆☆☆ %f\n") VT_RST,
+ 0.0f);
this->unk_15C = 120.0f;
if (GET_EVENTCHKINF(EVENTCHKINF_1D)) {
Actor_Kill(&this->actor);
@@ -120,8 +121,9 @@ void func_80B391CC(EnWonderTalk* this, PlayState* play) {
this->unk_156 = TEXT_STATE_EVENT;
this->height = 0.0f;
this->unk_15C = 110.0f;
- // "Attention coordinates"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n" VT_RST, 0.0f);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n",
+ "☆☆☆☆☆ Attention coordinates\t \t☆☆☆☆☆ %f\n") VT_RST,
+ 0.0f);
break;
default:
this->actor.textId = 0x7072;
@@ -161,14 +163,18 @@ void func_80B3943C(EnWonderTalk* this, PlayState* play) {
if (yawDiff < 0x4000) {
if (this->unk_15A >= 2) {
PRINTF("\n\n");
- // "Save information"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ セーブ情報\t\t☆☆☆☆☆ %d\n" VT_RST, this->switchFlag);
- // "Type index"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 種類インデックス\t☆☆☆☆☆ %d\n" VT_RST, this->unk_150);
- // "Actual message type"
- PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ 実質メッセージ種類 %x\n" VT_RST, this->actor.textId);
- // "Specified range"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 指定範囲 %d\n" VT_RST, this->actor.world.rot.z);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ セーブ情報\t\t☆☆☆☆☆ %d\n", "☆☆☆☆☆ Save information\t\t☆☆☆☆☆ %d\n")
+ VT_RST,
+ this->switchFlag);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 種類インデックス\t☆☆☆☆☆ %d\n", "☆☆☆☆☆ Type index\t☆☆☆☆☆ %d\n")
+ VT_RST,
+ this->unk_150);
+ PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆☆ 実質メッセージ種類 %x\n", "☆☆☆☆☆ Actual message type %x\n")
+ VT_RST,
+ this->actor.textId);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 指定範囲 %d\n",
+ "☆☆☆☆☆ Specified range %d\n") VT_RST,
+ this->actor.world.rot.z);
PRINTF("\n\n");
}
this->unk_15A = 0;
@@ -193,18 +199,17 @@ void func_80B395F0(EnWonderTalk* this, PlayState* play) {
switch (play->msgCtx.choiceIndex) {
case 0:
if (!LINK_IS_ADULT) {
- // "I'm still a child!"
- PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ まだコドモなの! ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T(" ☆☆☆☆☆ まだコドモなの! ☆☆☆☆☆ \n",
+ " ☆☆☆☆☆ I'm still a child! ☆☆☆☆☆ \n") VT_RST);
this->actor.textId = 0x5001;
} else {
- // "I'm an adult. .. .."
- PRINTF(VT_FGCOL(YELLOW) " ☆☆☆☆☆ アダルトなの。。。 ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T(" ☆☆☆☆☆ アダルトなの。。。 ☆☆☆☆☆ \n",
+ " ☆☆☆☆☆ I'm an adult... ☆☆☆☆☆ \n") VT_RST);
this->actor.textId = 0x5003;
}
break;
case 1:
- // "Out!"
- PRINTF(VT_FGCOL(MAGENTA) " ☆☆☆☆☆ はずれ! ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(MAGENTA) T(" ☆☆☆☆☆ はずれ! ☆☆☆☆☆ \n", " ☆☆☆☆☆ No luck! ☆☆☆☆☆ \n") VT_RST);
this->actor.textId = 0x5004;
break;
}
diff --git a/src/overlays/actors/ovl_En_Wonder_Talk2/z_en_wonder_talk2.c b/src/overlays/actors/ovl_En_Wonder_Talk2/z_en_wonder_talk2.c
index bb58339fc1..78e8d152d7 100644
--- a/src/overlays/actors/ovl_En_Wonder_Talk2/z_en_wonder_talk2.c
+++ b/src/overlays/actors/ovl_En_Wonder_Talk2/z_en_wonder_talk2.c
@@ -9,6 +9,7 @@
#include "printf.h"
#include "regs.h"
#include "terminal.h"
+#include "translation.h"
#include "z64debug_display.h"
#include "z64item.h"
#include "z64play.h"
@@ -48,8 +49,8 @@ void EnWonderTalk2_Init(Actor* thisx, PlayState* play) {
EnWonderTalk2* this = (EnWonderTalk2*)thisx;
PRINTF("\n\n");
- // "Transparent message"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 透明メッセージ君 ☆☆☆☆☆ %x\n" VT_RST, this->actor.params);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 透明メッセージ君 ☆☆☆☆☆ %x\n", "☆☆☆☆☆ Transparent message ☆☆☆☆☆ %x\n") VT_RST,
+ this->actor.params);
this->baseMsgId = PARAMS_GET_U(this->actor.params, 6, 8);
if (this->actor.world.rot.z > 0) {
s32 rangeIndex = 0;
@@ -68,12 +69,12 @@ void EnWonderTalk2_Init(Actor* thisx, PlayState* play) {
this->actor.attentionRangeType = D_80B3A8E0[rangeIndex];
PRINTF("\n\n");
- // "originally?"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 元は? ☆☆☆☆☆ %d\n" VT_RST, this->actor.world.rot.z);
- // "The range is?"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ レンジは? ☆☆☆☆☆ %d\n" VT_RST, this->actor.attentionRangeType);
- // "Is the range?"
- PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ は、範囲わ? ☆☆☆☆☆ %f\n" VT_RST, this->triggerRange);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ 元は? ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Originally? ☆☆☆☆☆ %d\n") VT_RST,
+ this->actor.world.rot.z);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ レンジは? ☆☆☆☆☆ %d\n", "☆☆☆☆☆ The range is? ☆☆☆☆☆ %d\n") VT_RST,
+ this->actor.attentionRangeType);
+ PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆☆ は、範囲わ? ☆☆☆☆☆ %f\n", "☆☆☆☆☆ The range is? ☆☆☆☆☆ %f\n") VT_RST,
+ this->triggerRange);
PRINTF("\n\n");
PRINTF("\n\n");
PRINTF("\n\n");
@@ -127,8 +128,9 @@ void func_80B3A15C(EnWonderTalk2* this, PlayState* play) {
} else if (Actor_TalkOfferAccepted(&this->actor, play)) {
if ((this->switchFlag >= 0) && (this->talkMode != 2)) {
Flags_SetSwitch(play, this->switchFlag);
- // "I saved it! All of it!"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ セーブしたよ!おもいっきり! %x\n" VT_RST, this->switchFlag);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ セーブしたよ!おもいっきり! %x\n", "☆☆☆☆☆ I saved it! All of it! %x\n")
+ VT_RST,
+ this->switchFlag);
}
this->actionFunc = func_80B3A10C;
@@ -140,30 +142,33 @@ void func_80B3A15C(EnWonderTalk2* this, PlayState* play) {
if (DEBUG_FEATURES && this->unk_158 >= 2) {
PRINTF("\n\n");
- // "Transparent Message Kimi Set"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 透明メッセージ君せっと %x\n" VT_RST, this->actor.params);
- // "Save Information"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ セーブ情報 \t %x\n" VT_RST, this->switchFlag);
- // "Specified message type"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 指定メッセージ種類 %x\n" VT_RST, this->baseMsgId);
- // "Actual message type"
- PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ 実質メッセージ種類 %x\n" VT_RST, this->actor.textId);
- // "Specified range"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 指定範囲 %d\n" VT_RST, this->actor.world.rot.z);
- // "Processing range"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 処理範囲 %f\n" VT_RST, this->triggerRange);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 透明メッセージ君せっと %x\n", "☆☆☆☆☆ Transparent Message Kimi Set %x\n")
+ VT_RST,
+ this->actor.params);
+ PRINTF(VT_FGCOL(YELLOW)
+ T("☆☆☆☆☆ セーブ情報 \t %x\n", "☆☆☆☆☆ Save Information \t %x\n") VT_RST,
+ this->switchFlag);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 指定メッセージ種類 %x\n", "☆☆☆☆☆ Specified message type %x\n")
+ VT_RST,
+ this->baseMsgId);
+ PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆☆ 実質メッセージ種類 %x\n", "☆☆☆☆☆ Actual message type %x\n")
+ VT_RST,
+ this->actor.textId);
+ PRINTF(VT_FGCOL(GREEN)
+ T("☆☆☆☆☆ 指定範囲 %d\n", "☆☆☆☆☆ Specified range %d\n") VT_RST,
+ this->actor.world.rot.z);
+ PRINTF(VT_FGCOL(YELLOW)
+ T("☆☆☆☆☆ 処理範囲 %f\n", "☆☆☆☆☆ Processing range %f\n") VT_RST,
+ this->triggerRange);
switch (this->talkMode) {
case 0:
- // "Normal"
- PRINTF(VT_FGCOL(MAGENTA) " ☆☆ 通常 ☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(MAGENTA) T(" ☆☆ 通常 ☆☆ \n", " ☆☆ Normal ☆☆ \n") VT_RST);
break;
case 2:
- // "Check only"
- PRINTF(VT_FGCOL(MAGENTA) " ☆☆ チェックのみ ☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(MAGENTA) T(" ☆☆ チェックのみ ☆☆ \n", " ☆☆ Check only ☆☆ \n") VT_RST);
break;
case 3:
- // "Lock only"
- PRINTF(VT_FGCOL(MAGENTA) " ☆☆ ロックのみ ☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(MAGENTA) T(" ☆☆ ロックのみ ☆☆ \n", " ☆☆ Lock only ☆☆ \n") VT_RST);
break;
}
}
@@ -176,8 +181,7 @@ void func_80B3A15C(EnWonderTalk2* this, PlayState* play) {
void func_80B3A3D4(EnWonderTalk2* this, PlayState* play) {
if (BREG(2) != 0) {
- // "Oh"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ わー %d\n" VT_RST, Message_GetState(&play->msgCtx));
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ わー %d\n", "☆☆☆☆☆ Oh %d\n") VT_RST, Message_GetState(&play->msgCtx));
}
switch (Message_GetState(&play->msgCtx)) {
@@ -193,8 +197,9 @@ void func_80B3A3D4(EnWonderTalk2* this, PlayState* play) {
case TEXT_STATE_NONE:
if ((this->switchFlag >= 0) && (this->talkMode != 4)) {
Flags_SetSwitch(play, this->switchFlag);
- // "(Forced) I saved it! All of it!"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ (強制)セーブしたよ!おもいっきり! %x\n" VT_RST, this->switchFlag);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ (強制)セーブしたよ!おもいっきり! %x\n",
+ "☆☆☆☆☆ (Forced) I saved it! All of it! %x\n") VT_RST,
+ this->switchFlag);
}
if (this->talkMode == 4) {
@@ -220,8 +225,7 @@ void func_80B3A4F8(EnWonderTalk2* this, PlayState* play) {
}
} else if ((this->talkMode != 4) || !this->unk_15A) {
if (BREG(2) != 0) {
- // "distance"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ きょり %f\n" VT_RST, this->actor.xzDistToPlayer);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ きょり %f\n", "☆☆☆☆☆ distance %f\n") VT_RST, this->actor.xzDistToPlayer);
}
if (((this->actor.xzDistToPlayer < (40.0f + this->triggerRange)) &&
(fabsf(player->actor.world.pos.y - this->actor.world.pos.y) < 100.0f)) &&
@@ -229,30 +233,34 @@ void func_80B3A4F8(EnWonderTalk2* this, PlayState* play) {
if (DEBUG_FEATURES && this->unk_158 >= 2) {
PRINTF("\n\n");
- // "Transparent Message Kimi Seto"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 透明メッセージ君せっと %x\n" VT_RST, this->actor.params);
- // "Save Information"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ セーブ情報 \t %x\n" VT_RST, this->switchFlag);
- // "Specified message type"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 指定メッセージ種類 %x\n" VT_RST, this->baseMsgId);
- // "Real message type"
- PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ 実質メッセージ種類 %x\n" VT_RST, this->actor.textId);
- // "Specified range"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 指定範囲 %d\n" VT_RST, this->actor.world.rot.z);
- // "Processing range"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 処理範囲 %f\n" VT_RST, this->triggerRange);
- // "What is your range?"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ レンジは? \t\t %d\n" VT_RST, this->actor.attentionRangeType);
+ PRINTF(VT_FGCOL(GREEN)
+ T("☆☆☆☆☆ 透明メッセージ君せっと %x\n", "☆☆☆☆☆ Transparent Message Kimi Seto %x\n") VT_RST,
+ this->actor.params);
+ PRINTF(VT_FGCOL(YELLOW)
+ T("☆☆☆☆☆ セーブ情報 \t %x\n", "☆☆☆☆☆ Save Information \t %x\n") VT_RST,
+ this->switchFlag);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 指定メッセージ種類 %x\n", "☆☆☆☆☆ Specified message type %x\n")
+ VT_RST,
+ this->baseMsgId);
+ PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆☆ 実質メッセージ種類 %x\n", "☆☆☆☆☆ Real message type %x\n") VT_RST,
+ this->actor.textId);
+ PRINTF(VT_FGCOL(GREEN)
+ T("☆☆☆☆☆ 指定範囲 %d\n", "☆☆☆☆☆ Specified range %d\n") VT_RST,
+ this->actor.world.rot.z);
+ PRINTF(VT_FGCOL(YELLOW)
+ T("☆☆☆☆☆ 処理範囲 %f\n", "☆☆☆☆☆ Processing range %f\n") VT_RST,
+ this->triggerRange);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ レンジは? \t\t %d\n", "☆☆☆☆☆ The range is? \t\t %d\n") VT_RST,
+ this->actor.attentionRangeType);
PRINTF("\n\n");
PRINTF("\n\n");
switch (this->talkMode) {
case 1:
- // "Compulsion"
- PRINTF(VT_FGCOL(MAGENTA) " ☆☆ 強制 ☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(MAGENTA) T(" ☆☆ 強制 ☆☆ \n", " ☆☆ Compulsion ☆☆ \n") VT_RST);
break;
case 4:
- // "Gerudo Training Grounds Forced Check Only"
- PRINTF(VT_FGCOL(RED) " ☆☆ ゲルドの修練場強制チェックのみ ☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(RED) T(" ☆☆ ゲルドの修練場強制チェックのみ ☆☆ \n",
+ " ☆☆ Gerudo Training Grounds Forced Check Only ☆☆ \n") VT_RST);
break;
}
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 c8b6685587..c657a761f0 100644
--- a/src/overlays/actors/ovl_En_Xc/z_en_xc.c
+++ b/src/overlays/actors/ovl_En_Xc/z_en_xc.c
@@ -376,10 +376,10 @@ void EnXc_SetupSerenadeAction(EnXc* this, PlayState* play) {
s32 pad;
this->action = SHEIK_ACTION_SERENADE;
- PRINTF("水のセレナーデ シーク誕生!!!!!!!!!!!!!!!!!!\n");
+ PRINTF(T("水のセレナーデ シーク誕生!!!!!!!!!!!!!!!!!!\n", "Water serenade Sheik's birth!!!!!!!!!!!!!!!!!!\n"));
} else {
Actor_Kill(&this->actor);
- PRINTF("水のセレナーデ シーク消滅!!!!!!!!!!!!!!!!!!\n");
+ PRINTF(T("水のセレナーデ シーク消滅!!!!!!!!!!!!!!!!!!\n", "Water serenade Sheik vanishes!!!!!!!!!!!!!!!!!!\n"));
}
}
@@ -396,10 +396,10 @@ s32 EnXc_SerenadeCS(EnXc* this, PlayState* play) {
gSaveContext.cutsceneTrigger = 1;
SET_EVENTCHKINF(EVENTCHKINF_52); // Learned Serenade of Water Flag
Item_Give(play, ITEM_SONG_SERENADE);
- PRINTF("ブーツを取った!!!!!!!!!!!!!!!!!!\n");
+ PRINTF(T("ブーツを取った!!!!!!!!!!!!!!!!!!\n", "I took the boots!!!!!!!!!!!!!!!!!!\n"));
return true;
} else {
- PRINTF("はやくブーツを取るべし!!!!!!!!!!!!!!!!!!\n");
+ PRINTF(T("はやくブーツを取るべし!!!!!!!!!!!!!!!!!!\n", "Quickly get your boots!!!!!!!!!!!!!!!!!!\n"));
return false;
}
}
@@ -2402,7 +2402,8 @@ void EnXc_Init(Actor* thisx, PlayState* play) {
break;
#endif
default:
- PRINTF(VT_FGCOL(RED) " En_Oa2 の arg_data がおかしい!!!!!!!!!!!!!!!!!!!!!!!!!\n" VT_RST);
+ PRINTF(VT_FGCOL(RED) T(" En_Oa2 の arg_data がおかしい!!!!!!!!!!!!!!!!!!!!!!!!!\n",
+ " En_Oa2 arg_data is wrong!!!!!!!!!!!!!!!!!!!!!!!!!\n") VT_RST);
EnXc_DoNothing(this, play);
}
}
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 ca44cb5731..7977dfbe55 100644
--- a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c
+++ b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c
@@ -1606,9 +1606,12 @@ void func_80B56F10(EnZl3* this, PlayState* play) {
pathHead += waypoint;
this->unk_30C = pathHead;
this->unk_310 = pathHead->count;
- PRINTF("En_Zl3_Get_path_info レールデータをゲットだぜ = %d!!!!!!!!!!!!!!\n", waypoint);
+ PRINTF(T("En_Zl3_Get_path_info レールデータをゲットだぜ = %d!!!!!!!!!!!!!!\n",
+ "En_Zl3_Get_path_info Got the rail data = %d!!!!!!!!!!!!!!\n"),
+ waypoint);
} else {
- PRINTF("En_Zl3_Get_path_info レールデータが無い!!!!!!!!!!!!!!!!!!!!\n");
+ PRINTF(T("En_Zl3_Get_path_info レールデータが無い!!!!!!!!!!!!!!!!!!!!\n",
+ "En_Zl3_Get_path_info No rail data!!!!!!!!!!!!!!!!!!!!\n"));
}
}
diff --git a/src/overlays/actors/ovl_Fishing/z_fishing.c b/src/overlays/actors/ovl_Fishing/z_fishing.c
index 58929bd248..7f3c3eb85b 100644
--- a/src/overlays/actors/ovl_Fishing/z_fishing.c
+++ b/src/overlays/actors/ovl_Fishing/z_fishing.c
@@ -37,8 +37,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:0" \
- "ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0"
+#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"
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_choose.c b/src/overlays/gamestates/ovl_file_choose/z_file_choose.c
index c2bb090dcb..a02ec0c601 100644
--- a/src/overlays/gamestates/ovl_file_choose/z_file_choose.c
+++ b/src/overlays/gamestates/ovl_file_choose/z_file_choose.c
@@ -22,6 +22,7 @@
#include "sfx.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "versions.h"
#include "z_lib.h"
#include "z64audio.h"
@@ -365,7 +366,7 @@ void FileSelect_InitModeUpdate(GameState* thisx) {
this->nextTitleLabel = FS_TITLE_OPEN_FILE;
PRINTF("Sram Start─Load 》》》》》 ");
Sram_VerifyAndLoadAllSaves(this, sramCtx);
- PRINTF("終了!!!\n");
+ PRINTF(T("終了!!!\n", "End!!!\n"));
}
#else
if (this->configMode == CM_FADE_IN_START) {
diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_nameset.c b/src/overlays/gamestates/ovl_file_choose/z_file_nameset.c
index bc7ae7edc1..c3042a2ce9 100644
--- a/src/overlays/gamestates/ovl_file_choose/z_file_nameset.c
+++ b/src/overlays/gamestates/ovl_file_choose/z_file_nameset.c
@@ -12,6 +12,7 @@
#include "sfx.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "versions.h"
#include "z64audio.h"
#include "z64save.h"
@@ -1370,7 +1371,7 @@ void FileSelect_UpdateOptionsMenu(GameState* thisx) {
PRINTF("Na_SetSoundOutputMode = %d\n", gSaveContext.soundSetting);
PRINTF_RST();
Audio_SetSoundOutputMode(gSaveContext.soundSetting);
- PRINTF("終了\n");
+ PRINTF(T("終了\n", "end\n"));
return;
}
diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_debug.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_debug.c
index a8433e9f2e..b849ca74b4 100644
--- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_debug.c
+++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_debug.c
@@ -6,35 +6,165 @@
#include "gfx_setupdl.h"
#include "gfxalloc.h"
#include "printf.h"
+#include "translation.h"
#include "z64play.h"
#include "z64save.h"
#include "assets/textures/parameter_static/parameter_static.h"
+typedef enum DebugSection {
+ /* 0x00 */ SECTION_RUPEES,
+ /* 0x01 */ SECTION_HEALTH_CAPACITY,
+ /* 0x02 */ SECTION_CURRENT_HEALTH,
+ /* 0x03 */ SECTION_FIRST_INVENTORY_SLOT,
+ /* 0x1A */ SECTION_LAST_INVENTORY_SLOT = 0x1A,
+ /* 0x1B */ SECTION_FIRST_KEY_COUNT,
+ /* 0x2B */ SECTION_LAST_KEY_COUNT = 0x2B,
+ /* 0x2C */ SECTION_FIRST_UPGRADE,
+ /* 0x33 */ SECTION_LAST_UPGRADE = 0x33,
+ /* 0x34 */ SECTION_FIRST_EQUIPMENT,
+ /* 0x37 */ SECTION_LAST_EQUIPMENT = 0x37,
+ /* 0x38 */ SECTION_FIRST_DUNGEON_ITEMS,
+ /* 0x43 */ SECTION_LAST_DUNGEON_ITEMS = 0x43,
+ /* 0x44 */ SECTION_FIRST_MEDALLION,
+ /* 0x49 */ SECTION_LAST_MEDALLION = 0x49,
+ /* 0x4A */ SECTION_FIRST_SONG,
+ /* 0x55 */ SECTION_LAST_SONG = 0x55,
+ /* 0x56 */ SECTION_FIRST_SPIRITUAL_STONE,
+ /* 0x58 */ SECTION_LAST_SPIRITUAL_STONE = 0x58,
+ /* 0x59 */ SECTION_STONE_OF_AGONY,
+ /* 0x5A */ SECTION_GERUDO_CARD,
+ /* 0x5B */ SECTION_SKULL_TOKENS,
+ /* 0x5C */ SECTION_HEART_PIECES,
+ /* 0x5D */ SECTION_MAX
+} DebugSection;
+
// Positions of each input section in the editor
-static u16 sSectionPositions[][2] = {
- { 64, 15 }, { 144, 15 }, { 170, 15 }, { 78, 35 }, { 104, 35 }, { 130, 35 }, { 156, 35 }, { 182, 35 },
- { 208, 35 }, { 78, 50 }, { 104, 50 }, { 130, 50 }, { 156, 50 }, { 182, 50 }, { 208, 50 }, { 78, 65 },
- { 104, 65 }, { 130, 65 }, { 156, 65 }, { 182, 65 }, { 208, 65 }, { 78, 80 }, { 104, 80 }, { 130, 80 },
- { 156, 80 }, { 182, 80 }, { 208, 80 }, { 78, 98 }, { 88, 98 }, { 98, 98 }, { 108, 98 }, { 118, 98 },
- { 128, 98 }, { 138, 98 }, { 148, 98 }, { 158, 98 }, { 168, 98 }, { 178, 98 }, { 188, 98 }, { 198, 98 },
- { 208, 98 }, { 218, 98 }, { 228, 98 }, { 238, 98 }, { 78, 115 }, { 90, 115 }, { 102, 115 }, { 114, 115 },
- { 126, 115 }, { 138, 115 }, { 150, 115 }, { 162, 115 }, { 202, 115 }, { 214, 115 }, { 226, 115 }, { 238, 115 },
- { 78, 132 }, { 90, 132 }, { 102, 132 }, { 114, 132 }, { 126, 132 }, { 138, 132 }, { 150, 132 }, { 162, 132 },
- { 174, 132 }, { 186, 132 }, { 198, 132 }, { 210, 132 }, { 78, 149 }, { 90, 149 }, { 102, 149 }, { 114, 149 },
- { 126, 149 }, { 138, 149 }, { 78, 166 }, { 90, 166 }, { 102, 166 }, { 114, 166 }, { 126, 166 }, { 138, 166 },
- { 150, 166 }, { 162, 166 }, { 174, 166 }, { 186, 166 }, { 198, 166 }, { 210, 166 }, { 210, 149 }, { 222, 149 },
- { 234, 149 }, { 78, 185 }, { 90, 185 }, { 145, 185 }, { 210, 185 },
+static u16 sSectionPositions[SECTION_MAX][2] = {
+ { 64, 15 }, // SECTION_RUPEES
+ { 144, 15 }, // SECTION_HEALTH_CAPACITY
+ { 170, 15 }, // SECTION_CURRENT_HEALTH
+
+ { 78, 35 }, // SECTION_FIRST_INVENTORY_SLOT
+ { 104, 35 },
+ { 130, 35 },
+ { 156, 35 },
+ { 182, 35 },
+ { 208, 35 },
+ //
+ { 78, 50 },
+ { 104, 50 },
+ { 130, 50 },
+ { 156, 50 },
+ { 182, 50 },
+ { 208, 50 },
+ //
+ { 78, 65 },
+ { 104, 65 },
+ { 130, 65 },
+ { 156, 65 },
+ { 182, 65 },
+ { 208, 65 },
+ //
+ { 78, 80 },
+ { 104, 80 },
+ { 130, 80 },
+ { 156, 80 },
+ { 182, 80 },
+ { 208, 80 }, // SECTION_LAST_INVENTORY_SLOT
+
+ { 78, 98 }, // SECTION_FIRST_KEY_COUNT
+ { 88, 98 },
+ { 98, 98 },
+ { 108, 98 },
+ { 118, 98 },
+ { 128, 98 },
+ { 138, 98 },
+ { 148, 98 },
+ { 158, 98 },
+ { 168, 98 },
+ { 178, 98 },
+ { 188, 98 },
+ { 198, 98 },
+ { 208, 98 },
+ { 218, 98 },
+ { 228, 98 },
+ { 238, 98 }, // SECTION_LAST_KEY_COUNT
+
+ { 78, 115 }, // SECTION_FIRST_UPGRADE
+ { 90, 115 },
+ { 102, 115 },
+ { 114, 115 },
+ { 126, 115 },
+ { 138, 115 },
+ { 150, 115 },
+ { 162, 115 }, // SECTION_LAST_UPGRADE
+
+ { 202, 115 }, // SECTION_FIRST_EQUIPMENT
+ { 214, 115 },
+ { 226, 115 },
+ { 238, 115 }, // SECTION_LAST_EQUIPMENT
+
+ { 78, 132 }, // SECTION_FIRST_DUNGEON_ITEMS
+ { 90, 132 },
+ { 102, 132 },
+ { 114, 132 },
+ { 126, 132 },
+ { 138, 132 },
+ { 150, 132 },
+ { 162, 132 },
+ { 174, 132 },
+ { 186, 132 },
+ { 198, 132 },
+ { 210, 132 }, // SECTION_LAST_DUNGEON_ITEMS
+
+ { 78, 149 }, // SECTION_FIRST_MEDALLION
+ { 90, 149 },
+ { 102, 149 },
+ { 114, 149 },
+ { 126, 149 },
+ { 138, 149 }, // SECTION_LAST_MEDALLION
+
+ { 78, 166 }, // SECTION_FIRST_SONG
+ { 90, 166 },
+ { 102, 166 },
+ { 114, 166 },
+ { 126, 166 },
+ { 138, 166 },
+ { 150, 166 },
+ { 162, 166 },
+ { 174, 166 },
+ { 186, 166 },
+ { 198, 166 },
+ { 210, 166 }, // SECTION_LAST_SONG
+
+ { 210, 149 }, // SECTION_FIRST_SPIRITUAL_STONE
+ { 222, 149 },
+ { 234, 149 }, // SECTION_LAST_SPIRITUAL_STONE
+
+ { 78, 185 }, // SECTION_STONE_OF_AGONY
+ { 90, 185 }, // SECTION_GERUDO_CARD
+ { 145, 185 }, // SECTION_SKULL_TOKENS
+ { 210, 185 }, // SECTION_HEART_PIECES
};
// First section of each row in the editor (starting from the top)
static u16 sRowFirstSections[] = {
- 0x00, 0x03, 0x1B, 0x2C, 0x34, 0x38, 0x44, 0x4A, 0x56, 0x59, 0x5C,
+ SECTION_RUPEES, SECTION_FIRST_INVENTORY_SLOT, SECTION_FIRST_KEY_COUNT,
+ SECTION_FIRST_UPGRADE, SECTION_FIRST_EQUIPMENT, SECTION_FIRST_DUNGEON_ITEMS,
+ SECTION_FIRST_MEDALLION, SECTION_FIRST_SONG, SECTION_FIRST_SPIRITUAL_STONE,
+ SECTION_STONE_OF_AGONY, SECTION_HEART_PIECES,
};
-// Maximum value of each upgrade type
static u8 sMaxUpgradeValues[] = {
- 3, 3, 3, 2, 2, 3, 3, 3,
+ /* UPG_QUIVER */ 3,
+ /* UPG_BOMB_BAG */ 3,
+ /* UPG_STRENGTH */ 3,
+ /* UPG_SCALE */ 2,
+ /* UPG_WALLET */ 2,
+ /* UPG_BULLET_BAG */ 3,
+ /* UPG_DEKU_STICKS */ 3,
+ /* UPG_DEKU_NUTS */ 3,
};
// Item ID corresponding to each slot, aside from bottles and trade items
@@ -44,7 +174,7 @@ static s16 sSlotItems[] = {
ITEM_BOOMERANG, ITEM_LENS_OF_TRUTH, ITEM_MAGIC_BEAN, ITEM_HAMMER, ITEM_ARROW_LIGHT, ITEM_NAYRUS_LOVE,
};
-void KaleidoScope_DrawDebugEditorText(Gfx** gfxP) {
+void KaleidoScope_DrawInventoryEditorText(Gfx** gfxP) {
GfxPrint printer;
s32 pad[2];
@@ -53,35 +183,35 @@ void KaleidoScope_DrawDebugEditorText(Gfx** gfxP) {
GfxPrint_SetPos(&printer, 4, 2);
GfxPrint_SetColor(&printer, 255, 60, 0, 255);
- GfxPrint_Printf(&printer, "%s", GFXP_KATAKANA "ルピー"); // "Rupee"
+ GfxPrint_Printf(&printer, "%s", T(GFXP_KATAKANA "ルピー", "Rupee"));
GfxPrint_SetPos(&printer, 15, 2);
- GfxPrint_Printf(&printer, "%s", GFXP_KATAKANA "ハート"); // "Heart"
+ GfxPrint_Printf(&printer, "%s", T(GFXP_KATAKANA "ハート", "Heart"));
GfxPrint_SetPos(&printer, 26, 3);
GfxPrint_Printf(&printer, "%s", "/4");
GfxPrint_SetPos(&printer, 4, 5);
- GfxPrint_Printf(&printer, "%s", GFXP_KATAKANA "アイテム"); // "Item"
+ GfxPrint_Printf(&printer, "%s", T(GFXP_KATAKANA "アイテム", "Item"));
GfxPrint_SetPos(&printer, 4, 13);
GfxPrint_Printf(&printer, "%s", "KEY");
GfxPrint_SetPos(&printer, 4, 15);
- GfxPrint_Printf(&printer, "%s", GFXP_HIRAGANA "ソウビ"); // "Equipment"
+ GfxPrint_Printf(&printer, "%s", T(GFXP_HIRAGANA "ソウビ", "Equipment"));
GfxPrint_SetPos(&printer, 23, 14);
- GfxPrint_Printf(&printer, "%s", GFXP_KATAKANA "ケン"); // "Sword"
+ GfxPrint_Printf(&printer, "%s", T(GFXP_KATAKANA "ケン", "Sword"));
GfxPrint_SetPos(&printer, 23, 15);
- GfxPrint_Printf(&printer, "%s", GFXP_KATAKANA "タテ"); // "Shield"
+ GfxPrint_Printf(&printer, "%s", T(GFXP_KATAKANA "タテ", "Shield"));
GfxPrint_SetPos(&printer, 4, 17);
GfxPrint_Printf(&printer, "%s", "MAP");
GfxPrint_SetPos(&printer, 4, 19);
- GfxPrint_Printf(&printer, "%s", GFXP_HIRAGANA "フウイン"); // "Seal"
+ GfxPrint_Printf(&printer, "%s", T(GFXP_HIRAGANA "フウイン", "Seal"));
GfxPrint_SetPos(&printer, 20, 19);
- GfxPrint_Printf(&printer, "%s", GFXP_HIRAGANA "セイレイセキ"); // "Spiritual Stone"
+ GfxPrint_Printf(&printer, "%s", T(GFXP_HIRAGANA "セイレイセキ", "Spiritual Stone"));
GfxPrint_SetPos(&printer, 4, 21);
- GfxPrint_Printf(&printer, "%s", GFXP_KATAKANA "オカリナ"); // "Ocarina"
+ GfxPrint_Printf(&printer, "%s", T(GFXP_KATAKANA "オカリナ", "Ocarina"));
GfxPrint_SetPos(&printer, 4, 24);
- GfxPrint_Printf(&printer, "%s", GFXP_KATAKANA "コレクト"); // "Collect"
+ GfxPrint_Printf(&printer, "%s", T(GFXP_KATAKANA "コレクト", "Collect"));
GfxPrint_SetPos(&printer, 14, 24);
- GfxPrint_Printf(&printer, "%s", GFXP_KATAKANA "キンスタ"); // "Skulltula"
+ GfxPrint_Printf(&printer, "%s", T(GFXP_KATAKANA "キンスタ", "Skulltula"));
GfxPrint_SetPos(&printer, 23, 24);
- GfxPrint_Printf(&printer, "%s", GFXP_KATAKANA "カケラ"); // "Gold Token"
+ GfxPrint_Printf(&printer, "%s", T(GFXP_KATAKANA "カケラ", "Gold Token"));
GfxPrint_SetPos(&printer, 28, 24);
GfxPrint_Printf(&printer, "%s", "/4");
@@ -101,8 +231,8 @@ void KaleidoScope_DrawDigit(PlayState* play, s32 digit, s32 rectLeft, s32 rectTo
CLOSE_DISPS(play->state.gfxCtx, "../z_kaleido_debug.c", 220);
}
-void KaleidoScope_DrawDebugEditor(PlayState* play) {
- static s16 curSection = 0;
+void KaleidoScope_DrawInventoryEditor(PlayState* play) {
+ static s16 curSection = SECTION_RUPEES;
static s16 curRow = 0;
static s32 prevDBtnInput = 0;
static s32 heldDBtnTimer = 0;
@@ -110,7 +240,8 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
Input* input = &play->state.input[0];
Gfx* gfx;
Gfx* gfxRef;
- s16 spD8[4];
+ // Used for both storing the digits of the drawn numbers and digit positions
+ s16 digitBuf[4];
s16 slot;
s16 i;
s16 j;
@@ -137,7 +268,7 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
gfx = Gfx_Open(gfxRef);
gSPDisplayList(OVERLAY_DISP++, gfx);
- KaleidoScope_DrawDebugEditorText(&gfx);
+ KaleidoScope_DrawInventoryEditorText(&gfx);
gSPEndDisplayList(gfx++);
Gfx_Close(gfxRef, gfx);
@@ -154,162 +285,162 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255);
// Rupees
- spD8[0] = spD8[1] = spD8[2] = 0;
- spD8[3] = gSaveContext.save.info.playerData.rupees;
- while (spD8[3] >= 1000) {
- spD8[0]++;
- spD8[3] -= 1000;
+ digitBuf[0] = digitBuf[1] = digitBuf[2] = 0;
+ digitBuf[3] = gSaveContext.save.info.playerData.rupees;
+ while (digitBuf[3] >= 1000) {
+ digitBuf[0]++;
+ digitBuf[3] -= 1000;
}
- while (spD8[3] >= 100) {
- spD8[1]++;
- spD8[3] -= 100;
+ while (digitBuf[3] >= 100) {
+ digitBuf[1]++;
+ digitBuf[3] -= 100;
}
- while (spD8[3] >= 10) {
- spD8[2]++;
- spD8[3] -= 10;
+ while (digitBuf[3] >= 10) {
+ digitBuf[2]++;
+ digitBuf[3] -= 10;
}
for (i = 0, x = 68; i < 4; i++, x += 10) {
- KaleidoScope_DrawDigit(play, spD8[i], x, 15);
+ KaleidoScope_DrawDigit(play, digitBuf[i], x, 15);
}
// Health capacity
- spD8[2] = 0;
- spD8[3] = gSaveContext.save.info.playerData.healthCapacity / 0x10;
- while (spD8[3] >= 10) {
- spD8[2]++;
- spD8[3] -= 10;
+ digitBuf[2] = 0;
+ digitBuf[3] = gSaveContext.save.info.playerData.healthCapacity / 0x10;
+ while (digitBuf[3] >= 10) {
+ digitBuf[2]++;
+ digitBuf[3] -= 10;
}
- KaleidoScope_DrawDigit(play, spD8[2], 146, 15);
- KaleidoScope_DrawDigit(play, spD8[3], 156, 15);
+ KaleidoScope_DrawDigit(play, digitBuf[2], 146, 15);
+ KaleidoScope_DrawDigit(play, digitBuf[3], 156, 15);
// Health
- spD8[2] = 0;
- spD8[3] = gSaveContext.save.info.playerData.health / 0x10;
- while (spD8[3] >= 10) {
- spD8[2]++;
- spD8[3] -= 10;
+ digitBuf[2] = 0;
+ digitBuf[3] = gSaveContext.save.info.playerData.health / 0x10;
+ while (digitBuf[3] >= 10) {
+ digitBuf[2]++;
+ digitBuf[3] -= 10;
}
- KaleidoScope_DrawDigit(play, spD8[2], 172, 15);
- KaleidoScope_DrawDigit(play, spD8[3], 182, 15);
+ KaleidoScope_DrawDigit(play, digitBuf[2], 172, 15);
+ KaleidoScope_DrawDigit(play, digitBuf[3], 182, 15);
// Inventory
for (slot = 0, i = 0, y = 35; i < 4; i++, y += 15) {
for (j = 0, x = 78; j < 6; j++, slot++, x += 26) {
- spD8[2] = 0;
+ digitBuf[2] = 0;
if ((slot <= SLOT_BOW) || (slot == SLOT_SLINGSHOT) || (slot == SLOT_BOMBCHU) || (slot == SLOT_MAGIC_BEAN)) {
- spD8[3] = AMMO(gAmmoItems[slot]);
+ digitBuf[3] = AMMO(gAmmoItems[slot]);
} else if (slot == SLOT_OCARINA) {
- spD8[3] = gSaveContext.save.info.inventory.items[slot];
+ digitBuf[3] = gSaveContext.save.info.inventory.items[slot];
} else {
- spD8[3] = gSaveContext.save.info.inventory.items[slot];
+ digitBuf[3] = gSaveContext.save.info.inventory.items[slot];
}
- if (spD8[3] != ITEM_NONE) {
- while (spD8[3] >= 10) {
- spD8[2]++;
- spD8[3] -= 10;
+ if (digitBuf[3] != ITEM_NONE) {
+ while (digitBuf[3] >= 10) {
+ digitBuf[2]++;
+ digitBuf[3] -= 10;
}
} else {
- spD8[2] = spD8[3] = 0;
+ digitBuf[2] = digitBuf[3] = 0;
}
- KaleidoScope_DrawDigit(play, spD8[2], x, y);
- KaleidoScope_DrawDigit(play, spD8[3], x + 10, y);
+ KaleidoScope_DrawDigit(play, digitBuf[2], x, y);
+ KaleidoScope_DrawDigit(play, digitBuf[3], x + 10, y);
}
}
// Keys
- for (spD8[1] = 78, i = 0; i < 17; i++) {
- spD8[2] = 0;
+ for (digitBuf[1] = 78, i = 0; i < 17; i++) {
+ digitBuf[2] = 0;
- if ((spD8[3] = gSaveContext.save.info.inventory.dungeonKeys[i]) >= 0) {
- while (spD8[3] >= 10) {
- spD8[2]++;
- spD8[3] -= 10;
+ if ((digitBuf[3] = gSaveContext.save.info.inventory.dungeonKeys[i]) >= 0) {
+ while (digitBuf[3] >= 10) {
+ digitBuf[2]++;
+ digitBuf[3] -= 10;
}
} else {
- spD8[2] = spD8[3] = 0;
+ digitBuf[2] = digitBuf[3] = 0;
}
- KaleidoScope_DrawDigit(play, spD8[3], spD8[1], 98);
- spD8[1] += 10;
+ KaleidoScope_DrawDigit(play, digitBuf[3], digitBuf[1], 98);
+ digitBuf[1] += 10;
}
// Upgrades
- for (spD8[1] = 78, i = 0; i < 8; i++, spD8[1] += 12) {
- KaleidoScope_DrawDigit(play, CUR_UPG_VALUE(i), spD8[1], 115);
+ for (digitBuf[1] = 78, i = 0; i < 8; i++, digitBuf[1] += 12) {
+ KaleidoScope_DrawDigit(play, CUR_UPG_VALUE(i), digitBuf[1], 115);
}
// Equipment
- for (spD8[1] = 202, i = 0; i < 4; i++, spD8[1] += 12) {
- KaleidoScope_DrawDigit(play, ALL_EQUIP_VALUE(i), spD8[1], 115);
+ for (digitBuf[1] = 202, i = 0; i < 4; i++, digitBuf[1] += 12) {
+ KaleidoScope_DrawDigit(play, ALL_EQUIP_VALUE(i), digitBuf[1], 115);
}
// Dungeon Items
- for (spD8[1] = 78, i = 0; i < 12; i++, spD8[1] += 12) {
- spD8[2] = gSaveContext.save.info.inventory.dungeonItems[i] & gEquipMasks[0];
- KaleidoScope_DrawDigit(play, spD8[2], spD8[1], 132);
+ for (digitBuf[1] = 78, i = 0; i < 12; i++, digitBuf[1] += 12) {
+ digitBuf[2] = gSaveContext.save.info.inventory.dungeonItems[i] & gEquipMasks[0];
+ KaleidoScope_DrawDigit(play, digitBuf[2], digitBuf[1], 132);
}
// Medallions
- for (spD8[1] = 78, i = 0; i < 6; i++, spD8[1] += 12) {
- spD8[2] = 0;
+ for (digitBuf[1] = 78, i = 0; i < 6; i++, digitBuf[1] += 12) {
+ digitBuf[2] = 0;
if (CHECK_QUEST_ITEM(QUEST_MEDALLION_FOREST + i)) {
- spD8[2] = 1;
+ digitBuf[2] = 1;
}
- KaleidoScope_DrawDigit(play, spD8[2], spD8[1], 149);
+ KaleidoScope_DrawDigit(play, digitBuf[2], digitBuf[1], 149);
}
// Spiritual Stones
- for (spD8[1] = 210, i = 0; i < 3; i++, spD8[1] += 12) {
- spD8[2] = 0;
+ for (digitBuf[1] = 210, i = 0; i < 3; i++, digitBuf[1] += 12) {
+ digitBuf[2] = 0;
if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD + i)) {
- spD8[2] = 1;
+ digitBuf[2] = 1;
}
- KaleidoScope_DrawDigit(play, spD8[2], spD8[1], 149);
+ KaleidoScope_DrawDigit(play, digitBuf[2], digitBuf[1], 149);
}
// Songs
- for (spD8[1] = 78, i = 0; i < 12; i++, spD8[1] += 12) {
- spD8[2] = 0;
+ for (digitBuf[1] = 78, i = 0; i < 12; i++, digitBuf[1] += 12) {
+ digitBuf[2] = 0;
if (CHECK_QUEST_ITEM(QUEST_SONG_MINUET + i)) {
- spD8[2] = 1;
+ digitBuf[2] = 1;
}
- KaleidoScope_DrawDigit(play, spD8[2], spD8[1], 166);
+ KaleidoScope_DrawDigit(play, digitBuf[2], digitBuf[1], 166);
}
// Other Quest Items
- for (spD8[1] = 78, i = 0; i < 2; i++, spD8[1] += 12) {
- spD8[2] = 0;
+ for (digitBuf[1] = 78, i = 0; i < 2; i++, digitBuf[1] += 12) {
+ digitBuf[2] = 0;
if (CHECK_QUEST_ITEM(QUEST_STONE_OF_AGONY + i)) {
- spD8[2] = 1;
+ digitBuf[2] = 1;
}
- KaleidoScope_DrawDigit(play, spD8[2], spD8[1], 185);
+ KaleidoScope_DrawDigit(play, digitBuf[2], digitBuf[1], 185);
}
// GS Tokens
- spD8[3] = gSaveContext.save.info.inventory.gsTokens;
- spD8[1] = 0;
- spD8[2] = 0;
- while (spD8[3] >= 100) {
- spD8[1]++;
- spD8[3] -= 100;
+ digitBuf[3] = gSaveContext.save.info.inventory.gsTokens;
+ digitBuf[1] = 0;
+ digitBuf[2] = 0;
+ while (digitBuf[3] >= 100) {
+ digitBuf[1]++;
+ digitBuf[3] -= 100;
}
- while (spD8[3] >= 10) {
- spD8[2]++;
- spD8[3] -= 10;
+ while (digitBuf[3] >= 10) {
+ digitBuf[2]++;
+ digitBuf[3] -= 10;
}
- KaleidoScope_DrawDigit(play, spD8[1], 145, 185);
- KaleidoScope_DrawDigit(play, spD8[2], 155, 185);
- KaleidoScope_DrawDigit(play, spD8[3], 165, 185);
+ KaleidoScope_DrawDigit(play, digitBuf[1], 145, 185);
+ KaleidoScope_DrawDigit(play, digitBuf[2], 155, 185);
+ KaleidoScope_DrawDigit(play, digitBuf[3], 165, 185);
// Heart Pieces (X / 4)
KaleidoScope_DrawDigit(
@@ -341,18 +472,18 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
}
curSection = sRowFirstSections[curRow];
} else if (CHECK_BTN_ANY(dBtnInput, BTN_DLEFT)) {
- if (--curSection < 0) {
- curSection = 0x5C;
+ if (--curSection < SECTION_RUPEES) {
+ curSection = SECTION_HEART_PIECES;
}
} else if (CHECK_BTN_ANY(dBtnInput, BTN_DRIGHT)) {
- if (++curSection > 0x5C) {
- curSection = 0;
+ if (++curSection > SECTION_HEART_PIECES) {
+ curSection = SECTION_RUPEES;
}
}
// Handles the logic to change values based on the selected section
switch (curSection) {
- case 0:
+ case SECTION_RUPEES:
if (CHECK_BTN_ALL(input->press.button, BTN_CUP)) {
gSaveContext.save.info.playerData.rupees -= 100;
if (gSaveContext.save.info.playerData.rupees < 0) {
@@ -376,7 +507,7 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
}
break;
- case 1:
+ case SECTION_HEALTH_CAPACITY:
if (CHECK_BTN_ALL(input->press.button, BTN_CUP) || CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
gSaveContext.save.info.playerData.healthCapacity -= 0x10;
if (gSaveContext.save.info.playerData.healthCapacity < 0x30) {
@@ -391,7 +522,7 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
}
break;
- case 2:
+ case SECTION_CURRENT_HEALTH:
if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
Health_ChangeBy(play, -4);
} else if (CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
@@ -403,7 +534,7 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
}
break;
- case 0x5C:
+ case SECTION_HEART_PIECES:
if (CHECK_BTN_ALL(input->press.button, BTN_CUP) || CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
if ((((gSaveContext.save.info.inventory.questItems & 0xF0000000) & 0xF0000000) >>
QUEST_HEART_PIECE_COUNT) != 0) {
@@ -418,8 +549,8 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
break;
default:
- if (curSection < 0x1B) {
- i = curSection - 3;
+ if (curSection <= SECTION_LAST_INVENTORY_SLOT) {
+ i = curSection - SECTION_FIRST_INVENTORY_SLOT;
if ((i <= SLOT_BOW) || (i == SLOT_SLINGSHOT) || (i == SLOT_BOMBCHU) || (i == SLOT_MAGIC_BEAN)) {
if (CHECK_BTN_ALL(input->press.button, BTN_CUP)) {
Inventory_DeleteItem(gAmmoItems[i], SLOT(gAmmoItems[i]));
@@ -552,16 +683,16 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
}
}
}
- } else if (curSection < 0x2C) {
+ } else if (curSection <= SECTION_LAST_KEY_COUNT) {
if (CHECK_BTN_ALL(input->press.button, BTN_CUP) || CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
- i = curSection - 0x1B;
+ i = curSection - SECTION_FIRST_KEY_COUNT;
gSaveContext.save.info.inventory.dungeonKeys[i]--;
if (gSaveContext.save.info.inventory.dungeonKeys[i] < 0) {
gSaveContext.save.info.inventory.dungeonKeys[i] = -1;
}
} else if (CHECK_BTN_ALL(input->press.button, BTN_CDOWN) ||
CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
- i = curSection - 0x1B;
+ i = curSection - SECTION_FIRST_KEY_COUNT;
if (gSaveContext.save.info.inventory.dungeonKeys[i] < 0) {
gSaveContext.save.info.inventory.dungeonKeys[i] = 1;
} else {
@@ -572,9 +703,9 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
}
}
} else {
- if (curSection < 0x38) {
- i = curSection - 0x2C;
- if ((curSection >= 0x2C) && (curSection < 0x34)) {
+ if (curSection <= SECTION_LAST_EQUIPMENT) {
+ i = curSection - SECTION_FIRST_UPGRADE;
+ if ((curSection >= SECTION_FIRST_UPGRADE) && (curSection <= SECTION_LAST_UPGRADE)) {
if (CHECK_BTN_ALL(input->press.button, BTN_CUP) ||
CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
if (CUR_UPG_VALUE(i) != 0) {
@@ -587,7 +718,7 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
}
}
} else {
- i = curSection - 0x34; // 0 <= i < 4
+ i = curSection - SECTION_FIRST_EQUIPMENT; // 0 <= i < 4
if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
gSaveContext.save.info.inventory.equipment ^= OWNED_EQUIP_FLAG_ALT(i, 0);
}
@@ -601,8 +732,8 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
gSaveContext.save.info.inventory.equipment ^= OWNED_EQUIP_FLAG_ALT(i, 3);
}
}
- } else if (curSection < 0x44) {
- i = curSection - 0x38;
+ } else if (curSection <= SECTION_LAST_DUNGEON_ITEMS) {
+ i = curSection - SECTION_FIRST_DUNGEON_ITEMS;
if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
gSaveContext.save.info.inventory.dungeonItems[i] ^= 4;
}
@@ -612,7 +743,7 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
if (CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
gSaveContext.save.info.inventory.dungeonItems[i] ^= 1;
}
- } else if (curSection == 0x5B) {
+ } else if (curSection == SECTION_SKULL_TOKENS) {
if (CHECK_BTN_ALL(input->press.button, BTN_CUP) || CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
gSaveContext.save.info.inventory.gsTokens++;
#if PLATFORM_N64
@@ -627,8 +758,8 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
gSaveContext.save.info.inventory.gsTokens = 0;
}
}
- } else if (curSection < 0x5C) {
- i = curSection - 0x44;
+ } else if (curSection < SECTION_HEART_PIECES) {
+ i = curSection - SECTION_FIRST_MEDALLION;
if (CHECK_BTN_ALL(input->press.button, BTN_CUP) || CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
gSaveContext.save.info.inventory.questItems ^= gBitFlags[i];
}
@@ -643,23 +774,28 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
gDPSetCombineMode(POLY_OPA_DISP++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 0, 0, 200, 120);
- if (curSection == 0) {
+ if (curSection == SECTION_RUPEES) {
+ // 4 digit long box
gDPFillRectangle(POLY_OPA_DISP++, sSectionPositions[curSection][0], sSectionPositions[curSection][1],
sSectionPositions[curSection][0] + 45, sSectionPositions[curSection][1] + 16);
- } else if ((curSection >= 0x1B) || (curSection == 0x5B)) {
+ } else if ((curSection >= SECTION_FIRST_KEY_COUNT) || (curSection == SECTION_SKULL_TOKENS)) {
+ // 1 digit long box
gDPFillRectangle(POLY_OPA_DISP++, sSectionPositions[curSection][0] - 2, sSectionPositions[curSection][1],
sSectionPositions[curSection][0] + 14, sSectionPositions[curSection][1] + 16);
} else {
+ // 2 digit long box
gDPFillRectangle(POLY_OPA_DISP++, sSectionPositions[curSection][0] - 4, sSectionPositions[curSection][1],
sSectionPositions[curSection][0] + 24, sSectionPositions[curSection][1] + 16);
}
// Handles exiting the inventory editor with the L button
- // The editor is opened with `debugState` set to 1, and becomes closable after a frame once `debugState` is set to 2
- if (pauseCtx->debugState == 1) {
- pauseCtx->debugState = 2;
- } else if ((pauseCtx->debugState == 2) && CHECK_BTN_ALL(input->press.button, BTN_L)) {
- pauseCtx->debugState = 0;
+ // The editor is opened with `debugState` set to PAUSE_DEBUG_STATE_INVENTORY_EDITOR_OPENING,
+ // and becomes closable after a frame once `debugState` is set to PAUSE_DEBUG_STATE_INVENTORY_EDITOR_OPEN
+ if (pauseCtx->debugState == PAUSE_DEBUG_STATE_INVENTORY_EDITOR_OPENING) {
+ pauseCtx->debugState = PAUSE_DEBUG_STATE_INVENTORY_EDITOR_OPEN;
+ } else if ((pauseCtx->debugState == PAUSE_DEBUG_STATE_INVENTORY_EDITOR_OPEN) &&
+ CHECK_BTN_ALL(input->press.button, BTN_L)) {
+ pauseCtx->debugState = PAUSE_DEBUG_STATE_CLOSED;
}
CLOSE_DISPS(play->state.gfxCtx, "../z_kaleido_debug.c", 861);
diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c
index 6b7da76bbd..9843e4efa3 100644
--- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c
+++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c
@@ -6,6 +6,7 @@
#include "printf.h"
#include "regs.h"
#include "sfx.h"
+#include "translation.h"
#include "z64play.h"
#include "z64player.h"
#include "z64save.h"
@@ -481,7 +482,9 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
} else {
cursorItem = ITEM_QUIVER_30 + sUpgradeItemOffsets[pauseCtx->cursorY[PAUSE_EQUIP]] +
CUR_UPG_VALUE(pauseCtx->cursorY[PAUSE_EQUIP]) - 1;
- PRINTF("大人 H_arrowcase_1 + non_equip_item_table = %d\n", cursorItem);
+ PRINTF(T("大人 H_arrowcase_1 + non_equip_item_table = %d\n",
+ "Adult H_arrowcase_1 + non_equip_item_table = %d\n"),
+ cursorItem);
}
}
} else {
diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c
index 97458d024f..96524d29ba 100644
--- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c
+++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c
@@ -7,6 +7,7 @@
#include "printf.h"
#include "regs.h"
#include "sfx.h"
+#include "translation.h"
#include "z64play.h"
#include "z64save.h"
@@ -384,7 +385,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
index = cursorSlot * 4; // required to match?
KaleidoScope_SetCursorPos(pauseCtx, index, pauseCtx->itemVtx);
- if ((pauseCtx->debugState == 0) && (pauseCtx->state == PAUSE_STATE_MAIN) &&
+ if ((pauseCtx->debugState == PAUSE_DEBUG_STATE_CLOSED) && (pauseCtx->state == PAUSE_STATE_MAIN) &&
(pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE)) {
if (CHECK_BTN_ANY(input->press.button, BTN_CLEFT | BTN_CDOWN | BTN_CRIGHT)) {
if (CHECK_AGE_REQ_SLOT(cursorSlot) && (cursorItem != ITEM_SOLD_OUT)) {
@@ -697,19 +698,19 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) {
gSaveContext.save.info.equips.cButtonSlots[0] = pauseCtx->equipTargetSlot;
Interface_LoadItemIcon1(play, 1);
- PRINTF("C左sl_item_no=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetItem,
- gSaveContext.save.info.equips.buttonItems[1], gSaveContext.save.info.equips.buttonItems[2],
- gSaveContext.save.info.equips.buttonItems[3]);
- PRINTF("C左sl_number=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetSlot,
- gSaveContext.save.info.equips.cButtonSlots[0], gSaveContext.save.info.equips.cButtonSlots[1],
- gSaveContext.save.info.equips.cButtonSlots[2]);
+ PRINTF(T("C左sl_item_no=%d (1)=%d (2)=%d (3)=%d\n", "C left sl_item_no=%d (1)=%d (2)=%d (3)=%d\n"),
+ pauseCtx->equipTargetItem, gSaveContext.save.info.equips.buttonItems[1],
+ gSaveContext.save.info.equips.buttonItems[2], gSaveContext.save.info.equips.buttonItems[3]);
+ PRINTF(T("C左sl_number=%d (1)=%d (2)=%d (3)=%d\n", "C left sl_number=%d (1)=%d (2)=%d (3)=%d\n"),
+ pauseCtx->equipTargetSlot, gSaveContext.save.info.equips.cButtonSlots[0],
+ gSaveContext.save.info.equips.cButtonSlots[1], gSaveContext.save.info.equips.cButtonSlots[2]);
} else if (pauseCtx->equipTargetCBtn == 1) {
- PRINTF("C下sl_item_no=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetItem,
- gSaveContext.save.info.equips.buttonItems[1], gSaveContext.save.info.equips.buttonItems[2],
- gSaveContext.save.info.equips.buttonItems[3]);
- PRINTF("C下sl_number=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetSlot,
- gSaveContext.save.info.equips.cButtonSlots[0], gSaveContext.save.info.equips.cButtonSlots[1],
- gSaveContext.save.info.equips.cButtonSlots[2]);
+ PRINTF(T("C下sl_item_no=%d (1)=%d (2)=%d (3)=%d\n", "C down sl_item_no=%d (1)=%d (2)=%d (3)=%d\n"),
+ pauseCtx->equipTargetItem, gSaveContext.save.info.equips.buttonItems[1],
+ gSaveContext.save.info.equips.buttonItems[2], gSaveContext.save.info.equips.buttonItems[3]);
+ PRINTF(T("C下sl_number=%d (1)=%d (2)=%d (3)=%d\n", "C down sl_number=%d (1)=%d (2)=%d (3)=%d\n"),
+ pauseCtx->equipTargetSlot, gSaveContext.save.info.equips.cButtonSlots[0],
+ gSaveContext.save.info.equips.cButtonSlots[1], gSaveContext.save.info.equips.cButtonSlots[2]);
if (pauseCtx->equipTargetSlot == gSaveContext.save.info.equips.cButtonSlots[0]) {
if (gSaveContext.save.info.equips.buttonItems[2] != ITEM_NONE) {
@@ -772,19 +773,19 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) {
gSaveContext.save.info.equips.cButtonSlots[1] = pauseCtx->equipTargetSlot;
Interface_LoadItemIcon1(play, 2);
- PRINTF("C下sl_item_no=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetItem,
- gSaveContext.save.info.equips.buttonItems[1], gSaveContext.save.info.equips.buttonItems[2],
- gSaveContext.save.info.equips.buttonItems[3]);
- PRINTF("C下sl_number=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetSlot,
- gSaveContext.save.info.equips.cButtonSlots[0], gSaveContext.save.info.equips.cButtonSlots[1],
- gSaveContext.save.info.equips.cButtonSlots[2]);
+ PRINTF(T("C下sl_item_no=%d (1)=%d (2)=%d (3)=%d\n", "C down sl_item_no=%d (1)=%d (2)=%d (3)=%d\n"),
+ pauseCtx->equipTargetItem, gSaveContext.save.info.equips.buttonItems[1],
+ gSaveContext.save.info.equips.buttonItems[2], gSaveContext.save.info.equips.buttonItems[3]);
+ PRINTF(T("C下sl_number=%d (1)=%d (2)=%d (3)=%d\n", "C down sl_number=%d (1)=%d (2)=%d (3)=%d\n"),
+ pauseCtx->equipTargetSlot, gSaveContext.save.info.equips.cButtonSlots[0],
+ gSaveContext.save.info.equips.cButtonSlots[1], gSaveContext.save.info.equips.cButtonSlots[2]);
} else {
- PRINTF("C右sl_item_no=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetItem,
- gSaveContext.save.info.equips.buttonItems[1], gSaveContext.save.info.equips.buttonItems[2],
- gSaveContext.save.info.equips.buttonItems[3]);
- PRINTF("C右sl_number=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetSlot,
- gSaveContext.save.info.equips.cButtonSlots[0], gSaveContext.save.info.equips.cButtonSlots[1],
- gSaveContext.save.info.equips.cButtonSlots[2]);
+ PRINTF(T("C右sl_item_no=%d (1)=%d (2)=%d (3)=%d\n", "C right sl_item_no=%d (1)=%d (2)=%d (3)=%d\n"),
+ pauseCtx->equipTargetItem, gSaveContext.save.info.equips.buttonItems[1],
+ gSaveContext.save.info.equips.buttonItems[2], gSaveContext.save.info.equips.buttonItems[3]);
+ PRINTF(T("C右sl_number=%d (1)=%d (2)=%d (3)=%d\n", "C right sl_number=%d (1)=%d (2)=%d (3)=%d\n"),
+ pauseCtx->equipTargetSlot, gSaveContext.save.info.equips.cButtonSlots[0],
+ gSaveContext.save.info.equips.cButtonSlots[1], gSaveContext.save.info.equips.cButtonSlots[2]);
if (pauseCtx->equipTargetSlot == gSaveContext.save.info.equips.cButtonSlots[0]) {
if (gSaveContext.save.info.equips.buttonItems[3] != ITEM_NONE) {
@@ -847,12 +848,12 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) {
gSaveContext.save.info.equips.cButtonSlots[2] = pauseCtx->equipTargetSlot;
Interface_LoadItemIcon1(play, 3);
- PRINTF("C右sl_item_no=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetItem,
- gSaveContext.save.info.equips.buttonItems[1], gSaveContext.save.info.equips.buttonItems[2],
- gSaveContext.save.info.equips.buttonItems[3]);
- PRINTF("C右sl_number=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetSlot,
- gSaveContext.save.info.equips.cButtonSlots[0], gSaveContext.save.info.equips.cButtonSlots[1],
- gSaveContext.save.info.equips.cButtonSlots[2]);
+ PRINTF(T("C右sl_item_no=%d (1)=%d (2)=%d (3)=%d\n", "C right sl_item_no=%d (1)=%d (2)=%d (3)=%d\n"),
+ pauseCtx->equipTargetItem, gSaveContext.save.info.equips.buttonItems[1],
+ gSaveContext.save.info.equips.buttonItems[2], gSaveContext.save.info.equips.buttonItems[3]);
+ PRINTF(T("C右sl_number=%d (1)=%d (2)=%d (3)=%d\n", "C right sl_number=%d (1)=%d (2)=%d (3)=%d\n"),
+ pauseCtx->equipTargetSlot, gSaveContext.save.info.equips.cButtonSlots[0],
+ gSaveContext.save.info.equips.cButtonSlots[1], gSaveContext.save.info.equips.cButtonSlots[2]);
}
pauseCtx->mainState = PAUSE_MAIN_STATE_IDLE;
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 79a5d05193..f2f1966c9e 100644
--- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c
+++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c
@@ -1103,9 +1103,9 @@ void KaleidoScope_SetupPageSwitch(PauseContext* pauseCtx, u8 pt) {
}
void KaleidoScope_HandlePageToggles(PauseContext* pauseCtx, Input* input) {
- if ((pauseCtx->debugState == 0) && CHECK_BTN_ALL(input->press.button, BTN_L)) {
+ if ((pauseCtx->debugState == PAUSE_DEBUG_STATE_CLOSED) && CHECK_BTN_ALL(input->press.button, BTN_L)) {
#if DEBUG_FEATURES
- pauseCtx->debugState = 1;
+ pauseCtx->debugState = PAUSE_DEBUG_STATE_INVENTORY_EDITOR_OPENING;
#endif
return;
}
@@ -3397,7 +3397,7 @@ void KaleidoScope_Draw(PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x0C, pauseCtx->iconItemAltSegment);
gSPSegment(POLY_OPA_DISP++, 0x0D, pauseCtx->iconItemLangSegment);
- if (pauseCtx->debugState == 0) {
+ if (pauseCtx->debugState == PAUSE_DEBUG_STATE_CLOSED) {
KaleidoScope_SetView(pauseCtx, pauseCtx->eye.x, pauseCtx->eye.y, pauseCtx->eye.z);
Gfx_SetupDL_42Opa(play->state.gfxCtx);
@@ -3419,8 +3419,9 @@ void KaleidoScope_Draw(PlayState* play) {
KaleidoScope_DrawGameOver(play);
}
- if ((pauseCtx->debugState == 1) || (pauseCtx->debugState == 2)) {
- KaleidoScope_DrawDebugEditor(play);
+ if ((pauseCtx->debugState == PAUSE_DEBUG_STATE_INVENTORY_EDITOR_OPENING) ||
+ (pauseCtx->debugState == PAUSE_DEBUG_STATE_INVENTORY_EDITOR_OPEN)) {
+ KaleidoScope_DrawInventoryEditor(play);
}
CLOSE_DISPS(play->state.gfxCtx, "../z_kaleido_scope_PAL.c", 3254);
@@ -4312,7 +4313,7 @@ void KaleidoScope_Update(PlayState* play) {
pauseCtx->alpha = 0;
}
} else {
- pauseCtx->debugState = 0;
+ pauseCtx->debugState = PAUSE_DEBUG_STATE_CLOSED;
pauseCtx->state = PAUSE_STATE_RESUME_GAMEPLAY;
pauseCtx->itemPagePitch = pauseCtx->equipPagePitch = pauseCtx->mapPagePitch =
pauseCtx->questPagePitch = 160.0f;
@@ -4655,7 +4656,7 @@ void KaleidoScope_Update(PlayState* play) {
pauseCtx->alpha = 0;
}
} else {
- pauseCtx->debugState = 0;
+ pauseCtx->debugState = PAUSE_DEBUG_STATE_CLOSED;
pauseCtx->state = PAUSE_STATE_RESUME_GAMEPLAY;
pauseCtx->questPagePitch = 160.0f;
pauseCtx->mapPagePitch = 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 fcc84c5395..8c5d583887 100644
--- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h
+++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h
@@ -220,7 +220,7 @@ typedef enum ItemQuad {
void KaleidoScope_DrawQuestStatus(struct PlayState* play, GraphicsContext* gfxCtx);
s32 KaleidoScope_UpdateQuestStatusPoint(PauseContext* pauseCtx, s32 point);
-void KaleidoScope_DrawDebugEditor(struct PlayState* play);
+void KaleidoScope_DrawInventoryEditor(struct PlayState* play);
void KaleidoScope_DrawPlayerWork(struct PlayState* play);
void KaleidoScope_DrawEquipment(struct PlayState* play);
void KaleidoScope_SetCursorPos(PauseContext* pauseCtx, u16 index, Vtx* vtx);
diff --git a/sym_info.py b/sym_info.py
index 55404ad7ee..afee014518 100755
--- a/sym_info.py
+++ b/sym_info.py
@@ -233,9 +233,9 @@ def find_symbols_by_name(
def print_map_file(map_file: mapfile_parser.mapfile.MapFile, *, colors: bool):
for segment in map_file:
print(
- f"{colorama.Fore.GREEN if colors else ""}"
+ f"{colorama.Fore.GREEN if colors else ''}"
f"{segment.name}"
- f"{colorama.Fore.RESET if colors else ""}"
+ f"{colorama.Fore.RESET if colors else ''}"
)
for file in segment:
# Ignore debug sections
@@ -246,9 +246,9 @@ def print_map_file(map_file: mapfile_parser.mapfile.MapFile, *, colors: bool):
):
continue
print(
- f"{colorama.Fore.CYAN if colors else ""}"
+ f"{colorama.Fore.CYAN if colors else ''}"
f" {file.asStr()}"
- f"{colorama.Fore.RESET if colors else ""}"
+ f"{colorama.Fore.RESET if colors else ''}"
)
for sym in file:
vram_str = f"{sym.vram:08X}"
diff --git a/tools/assets/extract/write_source.txt b/tools/assets/extract/write_source.txt
index 66725e67d4..e687efff02 100644
--- a/tools/assets/extract/write_source.txt
+++ b/tools/assets/extract/write_source.txt
@@ -974,16 +974,10 @@ assets/textures/backgrounds/vr_TTVR_static.c
assets/textures/backgrounds/vr_ZRVR_pal_static.c
assets/textures/backgrounds/vr_ZRVR_static.c
assets/textures/do_action_static/do_action_static.c
-assets/textures/icon_item_24_static/icon_item_24_static.c
assets/textures/icon_item_dungeon_static/icon_item_dungeon_static.c
assets/textures/icon_item_field_static/icon_item_field_static.c
-assets/textures/icon_item_fra_static/icon_item_fra_static.c
assets/textures/icon_item_gameover_static/icon_item_gameover_static.c
-assets/textures/icon_item_ger_static/icon_item_ger_static.c
-assets/textures/icon_item_jpn_static/icon_item_jpn_static.c
-assets/textures/icon_item_nes_static/icon_item_nes_static.c
assets/textures/icon_item_static/icon_item_static.c
-assets/textures/item_name_static/item_name_static.c
assets/textures/kanji/kanji.c
assets/textures/map_48x85_static/map_48x85_static.c
assets/textures/map_grand_static/map_grand_static.c
diff --git a/tools/csdis.py b/tools/csdis.py
index f83efd3aa1..d4baec1398 100755
--- a/tools/csdis.py
+++ b/tools/csdis.py
@@ -306,6 +306,138 @@ sequence_ids = {
0xFFFF: "NA_BGM_DISABLED",
}
+cutscene_cmd_ids = {
+ 0xFFFF: "CS_CMD_END_OF_SCRIPT",
+ 0x0001: "CS_CMD_CAM_EYE_SPLINE",
+ 0x0002: "CS_CMD_CAM_AT_SPLINE",
+ 0x0003: "CS_CMD_MISC",
+ 0x0004: "CS_CMD_LIGHT_SETTING",
+ 0x0005: "CS_CMD_CAM_EYE_SPLINE_REL_TO_PLAYER",
+ 0x0006: "CS_CMD_CAM_AT_SPLINE_REL_TO_PLAYER",
+ 0x0007: "CS_CMD_CAM_EYE",
+ 0x0008: "CS_CMD_CAM_AT",
+ 0x0009: "CS_CMD_RUMBLE_CONTROLLER",
+ 0x000A: "CS_CMD_PLAYER_CUE",
+ 0x000B: "CS_CMD_UNIMPLEMENTED_B",
+ 0x000D: "CS_CMD_UNIMPLEMENTED_D",
+ 0x000E: "CS_CMD_ACTOR_CUE_1_0",
+ 0x000F: "CS_CMD_ACTOR_CUE_0_0",
+ 0x0010: "CS_CMD_ACTOR_CUE_1_1",
+ 0x0011: "CS_CMD_ACTOR_CUE_0_1",
+ 0x0012: "CS_CMD_ACTOR_CUE_0_2",
+ 0x0013: "CS_CMD_TEXT",
+ 0x0015: "CS_CMD_UNIMPLEMENTED_15",
+ 0x0016: "CS_CMD_UNIMPLEMENTED_16",
+ 0x0017: "CS_CMD_ACTOR_CUE_0_3",
+ 0x0018: "CS_CMD_ACTOR_CUE_1_2",
+ 0x0019: "CS_CMD_ACTOR_CUE_2_0",
+ 0x001B: "CS_CMD_UNIMPLEMENTED_1B",
+ 0x001C: "CS_CMD_UNIMPLEMENTED_1C",
+ 0x001D: "CS_CMD_ACTOR_CUE_3_0",
+ 0x001E: "CS_CMD_ACTOR_CUE_4_0",
+ 0x001F: "CS_CMD_ACTOR_CUE_6_0",
+ 0x0020: "CS_CMD_UNIMPLEMENTED_20",
+ 0x0021: "CS_CMD_UNIMPLEMENTED_21",
+ 0x0022: "CS_CMD_ACTOR_CUE_0_4",
+ 0x0023: "CS_CMD_ACTOR_CUE_1_3",
+ 0x0024: "CS_CMD_ACTOR_CUE_2_1",
+ 0x0025: "CS_CMD_ACTOR_CUE_3_1",
+ 0x0026: "CS_CMD_ACTOR_CUE_4_1",
+ 0x0027: "CS_CMD_ACTOR_CUE_0_5",
+ 0x0028: "CS_CMD_ACTOR_CUE_1_4",
+ 0x0029: "CS_CMD_ACTOR_CUE_2_2",
+ 0x002A: "CS_CMD_ACTOR_CUE_3_2",
+ 0x002B: "CS_CMD_ACTOR_CUE_4_2",
+ 0x002C: "CS_CMD_ACTOR_CUE_5_0",
+ 0x002D: "CS_CMD_TRANSITION",
+ 0x002E: "CS_CMD_ACTOR_CUE_0_6",
+ 0x002F: "CS_CMD_ACTOR_CUE_4_3",
+ 0x0030: "CS_CMD_ACTOR_CUE_1_5",
+ 0x0031: "CS_CMD_ACTOR_CUE_7_0",
+ 0x0032: "CS_CMD_ACTOR_CUE_2_3",
+ 0x0033: "CS_CMD_ACTOR_CUE_3_3",
+ 0x0034: "CS_CMD_ACTOR_CUE_6_1",
+ 0x0035: "CS_CMD_ACTOR_CUE_3_4",
+ 0x0036: "CS_CMD_ACTOR_CUE_4_4",
+ 0x0037: "CS_CMD_ACTOR_CUE_5_1",
+ 0x0039: "CS_CMD_ACTOR_CUE_6_2",
+ 0x003A: "CS_CMD_ACTOR_CUE_6_3",
+ 0x003B: "CS_CMD_UNIMPLEMENTED_3B",
+ 0x003C: "CS_CMD_ACTOR_CUE_7_1",
+ 0x003D: "CS_CMD_UNIMPLEMENTED_3D",
+ 0x003E: "CS_CMD_ACTOR_CUE_8_0",
+ 0x003F: "CS_CMD_ACTOR_CUE_3_5",
+ 0x0040: "CS_CMD_ACTOR_CUE_1_6",
+ 0x0041: "CS_CMD_ACTOR_CUE_3_6",
+ 0x0042: "CS_CMD_ACTOR_CUE_3_7",
+ 0x0043: "CS_CMD_ACTOR_CUE_2_4",
+ 0x0044: "CS_CMD_ACTOR_CUE_1_7",
+ 0x0045: "CS_CMD_ACTOR_CUE_2_5",
+ 0x0046: "CS_CMD_ACTOR_CUE_1_8",
+ 0x0047: "CS_CMD_UNIMPLEMENTED_47",
+ 0x0048: "CS_CMD_ACTOR_CUE_2_6",
+ 0x0049: "CS_CMD_UNIMPLEMENTED_49",
+ 0x004A: "CS_CMD_ACTOR_CUE_2_7",
+ 0x004B: "CS_CMD_ACTOR_CUE_3_8",
+ 0x004C: "CS_CMD_ACTOR_CUE_0_7",
+ 0x004D: "CS_CMD_ACTOR_CUE_5_2",
+ 0x004E: "CS_CMD_ACTOR_CUE_1_9",
+ 0x004F: "CS_CMD_ACTOR_CUE_4_5",
+ 0x0050: "CS_CMD_ACTOR_CUE_1_10",
+ 0x0051: "CS_CMD_ACTOR_CUE_2_8",
+ 0x0052: "CS_CMD_ACTOR_CUE_3_9",
+ 0x0053: "CS_CMD_ACTOR_CUE_4_6",
+ 0x0054: "CS_CMD_ACTOR_CUE_5_3",
+ 0x0055: "CS_CMD_ACTOR_CUE_0_8",
+ 0x0056: "CS_CMD_START_SEQ",
+ 0x0057: "CS_CMD_STOP_SEQ",
+ 0x0058: "CS_CMD_ACTOR_CUE_6_4",
+ 0x0059: "CS_CMD_ACTOR_CUE_7_2",
+ 0x005A: "CS_CMD_ACTOR_CUE_5_4",
+ 0x005D: "CS_CMD_ACTOR_CUE_0_9",
+ 0x005E: "CS_CMD_ACTOR_CUE_1_11",
+ 0x0069: "CS_CMD_ACTOR_CUE_0_10",
+ 0x006A: "CS_CMD_ACTOR_CUE_2_9",
+ 0x006B: "CS_CMD_ACTOR_CUE_0_11",
+ 0x006C: "CS_CMD_ACTOR_CUE_3_10",
+ 0x006D: "CS_CMD_UNIMPLEMENTED_6D",
+ 0x006E: "CS_CMD_ACTOR_CUE_0_12",
+ 0x006F: "CS_CMD_ACTOR_CUE_7_3",
+ 0x0070: "CS_CMD_UNIMPLEMENTED_70",
+ 0x0071: "CS_CMD_UNIMPLEMENTED_71",
+ 0x0072: "CS_CMD_ACTOR_CUE_7_4",
+ 0x0073: "CS_CMD_ACTOR_CUE_6_5",
+ 0x0074: "CS_CMD_ACTOR_CUE_1_12",
+ 0x0075: "CS_CMD_ACTOR_CUE_2_10",
+ 0x0076: "CS_CMD_ACTOR_CUE_1_13",
+ 0x0077: "CS_CMD_ACTOR_CUE_0_13",
+ 0x0078: "CS_CMD_ACTOR_CUE_1_14",
+ 0x0079: "CS_CMD_ACTOR_CUE_2_11",
+ 0x007B: "CS_CMD_ACTOR_CUE_0_14",
+ 0x007C: "CS_CMD_FADE_OUT_SEQ",
+ 0x007D: "CS_CMD_ACTOR_CUE_1_15",
+ 0x007E: "CS_CMD_ACTOR_CUE_2_12",
+ 0x007F: "CS_CMD_ACTOR_CUE_3_11",
+ 0x0080: "CS_CMD_ACTOR_CUE_4_7",
+ 0x0081: "CS_CMD_ACTOR_CUE_5_5",
+ 0x0082: "CS_CMD_ACTOR_CUE_6_6",
+ 0x0083: "CS_CMD_ACTOR_CUE_1_16",
+ 0x0084: "CS_CMD_ACTOR_CUE_2_13",
+ 0x0085: "CS_CMD_ACTOR_CUE_3_12",
+ 0x0086: "CS_CMD_ACTOR_CUE_7_5",
+ 0x0087: "CS_CMD_ACTOR_CUE_4_8",
+ 0x0088: "CS_CMD_ACTOR_CUE_5_6",
+ 0x0089: "CS_CMD_ACTOR_CUE_6_7",
+ 0x008A: "CS_CMD_ACTOR_CUE_0_15",
+ 0x008B: "CS_CMD_ACTOR_CUE_0_16",
+ 0x008C: "CS_CMD_TIME",
+ 0x008D: "CS_CMD_ACTOR_CUE_1_17",
+ 0x008E: "CS_CMD_ACTOR_CUE_7_6",
+ 0x008F: "CS_CMD_ACTOR_CUE_9_0",
+ 0x0090: "CS_CMD_ACTOR_CUE_0_17",
+ 0x03E8: "CS_CMD_DESTINATION",
+}
+
cutscene_misc_types = {
0x00: "CS_MISC_UNIMPLEMENTED_0",
0x01: "CS_MISC_RAIN",
@@ -508,17 +640,17 @@ cutscene_command_macros = {
10:
("CS_PLAYER_CUE_LIST(%w1:1:s)", 2, None, 0,
"CS_PLAYER_CUE(%h2:1:e6, %h1:1:s, %h2:2:s, %h1:2:x, %h2:3:x, %h1:3:x, %w1:4:s, %w1:5:s, %w1:6:s, %w1:7:s, %w1:8:s, %w1:9:s, %w1:10:f, %w1:11:f, %w1:12:f)", 12),
- (15,17,18,23,34,39,46,76,85,93,105,107,110,119,123,138,139,144, # npc action 1
- 14,16,24,35,40,48,64,68,70,78,80,94,116,118,120,125,131,141, # npc action 2
- 25,36,41,50,67,69,72,74,81,106,117,121,126,132, # npc action 3
- 29,37,42,51,53,63,65,66,75,82,108,127,133, # npc action 4
- 30,38,43,47,54,79,83,128,135, # npc action 5
- 44,55,77,84,90,129,136, # npc action 6
- 31,52,57,58,88,115,130,137, # npc action 7
- 49,60,89,111,114,134,142, # npc action 8
- 62, # npc action 9
- 143): # npc action 10
- ("CS_ACTOR_CUE_LIST(%w1:0:s, %w1:1:s)", 2, None, 0,
+ (15,17,18,23,34,39,46,76,85,93,105,107,110,119,123,138,139,144, # actor cue 1
+ 14,16,24,35,40,48,64,68,70,78,80,94,116,118,120,125,131,141, # actor cue 2
+ 25,36,41,50,67,69,72,74,81,106,117,121,126,132, # actor cue 3
+ 29,37,42,51,53,63,65,66,75,82,108,127,133, # actor cue 4
+ 30,38,43,47,54,79,83,128,135, # actor cue 5
+ 44,55,77,84,90,129,136, # actor cue 6
+ 31,52,57,58,88,115,130,137, # actor cue 7
+ 49,60,89,111,114,134,142, # actor cue 8
+ 62, # actor cue 9
+ 143): # actor cue 10
+ ("CS_ACTOR_CUE_LIST(%w1:0:e8, %w1:1:s)", 2, None, 0,
"CS_ACTOR_CUE(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %h2:3:x, %h1:3:x, %w1:4:s, %w1:5:s, %w1:6:s, %w1:7:s, %w1:8:s, %w1:9:s, %w1:10:f, %w1:11:f, %w1:12:f)", 12),
1:
("CS_CAM_EYE_SPLINE(%h1:1:s, %h2:2:s)", 3, 0, None,
@@ -672,6 +804,8 @@ def format_arg(arg, words):
result = player_cue_ids[unsigned_value]
elif enum_no == 7:
result = fade_out_seq_player[unsigned_value]
+ elif enum_no == 8:
+ result = cutscene_cmd_ids[unsigned_value]
elif format_type == "u":
result = str(value)
elif format_type == "s":