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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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/include/pause.h b/include/pause.h
index 205b683fa2..f8a54fc5dd 100644
--- a/include/pause.h
+++ b/include/pause.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/src/boot/z_std_dma.c b/src/boot/z_std_dma.c
index 24e36606eb..6ab0c87f3c 100644
--- a/src/boot/z_std_dma.c
+++ b/src/boot/z_std_dma.c
@@ -45,8 +45,8 @@
#include "dma.h"
#include "thread.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 7303b012fc..f102d702c8 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 0a1a383f00..e137cff750 100644
--- a/src/code/main.c
+++ b/src/code/main.c
@@ -44,7 +44,7 @@ extern struct IrqMgr gIrqMgr;
#include "thread.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 f2041cc538..9e71fa6287 100644
--- a/src/code/z_bgcheck.c
+++ b/src/code/z_bgcheck.c
@@ -14,7 +14,7 @@
#include "player.h"
#include "skin_matrix.h"
-#pragma increment_block_number "ntsc-1.0: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 57202ddf0e..7d87fafe48 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_kaleido_scope_call.c b/src/code/z_kaleido_scope_call.c
index 0750098211..73d3b20dbf 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 309eb8f3cb..b3ef531649 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 8d83fe7527..7c97802888 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 92793b44ce..7358db96d5 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;
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 063474118b..8837f9255a 100644
--- a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c
+++ b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c
@@ -387,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;
@@ -418,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_Mm2/z_en_mm2.c b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c
index 9e3ca25ab7..187b576594 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 "play_state.h"
#include "save.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_Niw/z_en_niw.c b/src/overlays/actors/ovl_En_Niw/z_en_niw.c
index 41507d4d4f..461971485e 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 "effect.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_Okarina_Effect/z_en_okarina_effect.c b/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.c
index e44c30d2e7..d58918ea82 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 "audio.h"
#include "cutscene_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_Ossan/z_en_ossan.c b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c
index dafe387c9a..b191b7227c 100644
--- a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c
+++ b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c
@@ -173,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
@@ -612,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;
@@ -679,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;
@@ -767,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);
@@ -957,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);
}
}
@@ -2147,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 1558a69529..5f8e823ffa 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 "debug_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 1f23fc8471..0e95efb5fb 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 b2722388b6..5693077ffd 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 73e05ff3a8..c3bd7f19a0 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 "effect.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 22bb220ae2..5cd96b9c63 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 "play_state.h"
#include "save.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 9948aeef2f..a7050637e2 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 "debug_display.h"
#include "play_state.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 1aac6423d2..c01b1a22d2 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 "effect.h"
#include "play_state.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 35a409280a..bb66f19567 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 "audio.h"
#include "face_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 72e2723020..8d8af6713b 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 "play_state.h"
#include "save.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 2afe18565d..202a767e54 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 "effect.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 848d98cf36..b7afe53f41 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 "effect.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 204bd3530e..5d53c46c57 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 "debug_display.h"
#include "effect.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 be83edda4d..3fe70749c9 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 "debug_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 666f41f810..97b05b49a6 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 "audio.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 afe03b95d9..7313c8100d 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 "debug_display.h"
#include "play_state.h"
#include "save.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 f7558a8d99..137cbf619e 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 "debug_display.h"
#include "item.h"
#include "play_state.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 247c27cb05..2ff73c8f4a 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_Fishing/z_fishing.c b/src/overlays/actors/ovl_Fishing/z_fishing.c
index c0555102a8..9f94310a35 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 71c03bf843..fdb36d94bd 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 "audio.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 2ec25a2ed7..b9dcad3cc4 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 "audio.h"
#include "save.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 9384fedf28..2ba3fd1139 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 "play_state.h"
#include "save.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 61db150ccb..1f573ca3e3 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 "play_state.h"
#include "player.h"
#include "save.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 dafc9d6298..eb4d7e3c7a 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 "play_state.h"
#include "save.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 d9e2863217..2a76a40fa2 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 9f30030691..8f42eb244d 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/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":