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/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.c b/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.c
index eb9941b46b..5b361c6f1f 100644
--- a/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.c
+++ b/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.c
@@ -10,6 +10,7 @@
#include "regs.h"
#include "sequence.h"
#include "terminal.h"
+#include "translation.h"
#include "versions.h"
#include "z64audio.h"
#include "z64cutscene_flags.h"
@@ -64,8 +65,8 @@ void EnOkarinaEffect_Init(Actor* thisx, PlayState* play) {
EnOkarinaEffect* this = (EnOkarinaEffect*)thisx;
PRINTF("\n\n");
- // "Ocarina Storm Effect"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ オカリナあらし効果ビカビカビカ〜 ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ オカリナあらし効果ビカビカビカ〜 ☆☆☆☆☆ \n",
+ "☆☆☆☆☆ Ocarina storm effect sparkle sparkle sparkle ☆☆☆☆☆ \n") VT_RST);
PRINTF("\n\n");
if (play->envCtx.precipitation[PRECIP_RAIN_CUR] != 0) {
Actor_Kill(&this->actor);
@@ -97,7 +98,7 @@ void EnOkarinaEffect_ManageStorm(EnOkarinaEffect* this, PlayState* play) {
}
PRINTF("\nthis->timer=[%d]", this->timer);
if (this->timer == 308) {
- PRINTF("\n\n\n豆よ のびろ 指定\n\n\n"); // "Let's grow some beans"
+ PRINTF(T("\n\n\n豆よ のびろ 指定\n\n\n", "\n\n\nBeans, grow!\n\n\n"));
CutsceneFlags_Set(play, 5);
}
}
diff --git a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c
index 86848da362..25f881cf99 100644
--- a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c
+++ b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c
@@ -673,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;
@@ -761,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);
@@ -951,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);
}
}
@@ -2141,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 fe78b085c4..f672e9c4c9 100644
--- a/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c
+++ b/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c
@@ -17,6 +17,7 @@
#include "regs.h"
#include "sfx.h"
#include "terminal.h"
+#include "translation.h"
#include "z_en_item00.h"
#include "z_lib.h"
#include "z64debug_display.h"
@@ -147,8 +148,8 @@ void EnReeba_Init(Actor* thisx, PlayState* play) {
this->scale *= 1.5f;
this->collider.dim.radius = 35;
this->collider.dim.height = 45;
- // "Reeba Boss Appears %f"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ リーバぼす登場 ☆☆☆☆☆ %f\n" VT_RST, this->scale);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ リーバぼす登場 ☆☆☆☆☆ %f\n", "☆☆☆☆☆ Reeba boss appears ☆☆☆☆☆ %f\n") VT_RST,
+ this->scale);
this->actor.colChkInfo.health = 20;
this->collider.elem.atDmgInfo.effect = 4;
this->collider.elem.atDmgInfo.damage = 16;
@@ -520,9 +521,10 @@ void EnReeba_Die(EnReeba* this, PlayState* play) {
if (spawner->killCount < 10) {
spawner->killCount++;
}
- // "How many are dead?"
PRINTF("\n\n");
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 何匹DEAD? ☆☆☆☆☆%d\n" VT_RST, spawner->killCount);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 何匹DEAD? ☆☆☆☆☆%d\n", "☆☆☆☆☆ How many are DEAD? ☆☆☆☆☆%d\n")
+ VT_RST,
+ spawner->killCount);
PRINTF("\n\n");
}
diff --git a/src/overlays/actors/ovl_En_Rr/z_en_rr.c b/src/overlays/actors/ovl_En_Rr/z_en_rr.c
index 9623bb42c9..b5bba141ba 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_REACT_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.damageReaction);
this->stopScroll = false;
Actor_ApplyDamage(&this->actor);
@@ -532,8 +533,7 @@ void EnRr_CollisionCheck(EnRr* this, PlayState* play) {
((this->collider1.base.ocFlags1 & OC1_HIT) || (this->collider2.base.ocFlags1 & OC1_HIT))) {
this->collider1.base.ocFlags1 &= ~OC1_HIT;
this->collider2.base.ocFlags1 &= ~OC1_HIT;
- // "catch"
- PRINTF(VT_FGCOL(GREEN) "キャッチ(%d)!!" VT_RST "\n", this->frameCount);
+ PRINTF(VT_FGCOL(GREEN) T("キャッチ(%d)!!", "catch (%d)!!") VT_RST "\n", this->frameCount);
if (play->grabPlayer(play, player)) {
player->actor.parent = &this->actor;
this->stopScroll = false;
@@ -714,8 +714,7 @@ void EnRr_Death(EnRr* this, PlayState* play) {
Item_DropCollectible(play, &dropPos, ITEM00_TUNIC_ZORA);
break;
}
- // "dropped"
- PRINTF(VT_FGCOL(GREEN) "「%s」が出た!!" VT_RST "\n", sDropNames[this->dropType]);
+ PRINTF(VT_FGCOL(GREEN) T("「%s」が出た!!", "「%s」dropped!!") VT_RST "\n", sDropNames[this->dropType]);
switch (this->dropType) {
case RR_DROP_MAGIC:
Item_DropCollectible(play, &dropPos, ITEM00_MAGIC_SMALL);
diff --git a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c
index 85ef778479..0e4573f90d 100644
--- a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c
+++ b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c
@@ -322,8 +322,8 @@ BgBdanObjects* EnRu1_FindSwitch(PlayState* play) {
}
actorIt = actorIt->next;
}
- // "There is no stand"
- PRINTF(VT_FGCOL(RED) "お立ち台が無い!!!!!!!!!!!!!!!!!!!!!!!!!\n" VT_RST);
+ PRINTF(VT_FGCOL(RED) T("お立ち台が無い!!!!!!!!!!!!!!!!!!!!!!!!!\n", "There is no stand!!!!!!!!!!!!!!!!!!!!!!!!!\n")
+ VT_RST);
return NULL;
}
@@ -2246,11 +2246,9 @@ void func_80AEFF94(EnRu1* this, PlayState* play) {
this->roomNum1 = actorRoom;
this->roomNum3 = actorRoom;
this->roomNum2 = actorRoom;
- // "Ruto switch set"
- PRINTF("スイッチルトセット!!!!!!!!!!!!!!!!!!!!!!\n");
+ PRINTF(T("スイッチルトセット!!!!!!!!!!!!!!!!!!!!!!\n", "Ruto switch set!!!!!!!!!!!!!!!!!!!!!!\n"));
} else {
- // "Ruto switch not set"
- PRINTF("スイッチルトセットしない!!!!!!!!!!!!!!!!!!!!!!\n");
+ PRINTF(T("スイッチルトセットしない!!!!!!!!!!!!!!!!!!!!!!\n", "Ruto switch not set!!!!!!!!!!!!!!!!!!!!!!\n"));
Actor_Kill(&this->actor);
}
}
@@ -2313,8 +2311,7 @@ void EnRu1_Init(Actor* thisx, PlayState* play) {
#endif
default:
Actor_Kill(&this->actor);
- // "Relevant arge_data = %d unacceptable"
- PRINTF("該当 arge_data = %d 無し\n", func_80AEADF0(this));
+ PRINTF(T("該当 arge_data = %d 無し\n", "Relevant arge_data = %d unacceptable\n"), func_80AEADF0(this));
break;
}
}
@@ -2340,8 +2337,8 @@ s32 EnRu1_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p
EnRu1* this = (EnRu1*)thisx;
if ((this->unk_290 < 0) || (this->unk_290 > 0) || (*sPreLimbDrawFuncs[this->unk_290] == NULL)) {
- // "Neck rotation mode is improper!"
- PRINTF(VT_FGCOL(RED) "首回しモードがおかしい!!!!!!!!!!!!!!!!!!!!!!!!!\n" VT_RST);
+ PRINTF(VT_FGCOL(RED) T("首回しモードがおかしい!!!!!!!!!!!!!!!!!!!!!!!!!\n",
+ "Neck rotation mode is improper!!!!!!!!!!!!!!!!!!!!!!!!!\n") VT_RST);
} else {
sPreLimbDrawFuncs[this->unk_290](this, play, limbIndex, rot);
}
diff --git a/src/overlays/actors/ovl_En_Sb/z_en_sb.c b/src/overlays/actors/ovl_En_Sb/z_en_sb.c
index 69d599928f..2a909207e9 100644
--- a/src/overlays/actors/ovl_En_Sb/z_en_sb.c
+++ b/src/overlays/actors/ovl_En_Sb/z_en_sb.c
@@ -12,6 +12,7 @@
#include "rand.h"
#include "sfx.h"
#include "terminal.h"
+#include "translation.h"
#include "z_en_item00.h"
#include "z_lib.h"
#include "z64effect.h"
@@ -277,8 +278,7 @@ void EnSb_TurnAround(EnSb* this, PlayState* play) {
EnSb_SpawnBubbles(play, this);
this->bouncesLeft = 3;
EnSb_SetupLunge(this);
- // "Attack!!"
- PRINTF("アタァ〜ック!!\n");
+ PRINTF(T("アタァ〜ック!!\n", "Attack!!\n"));
}
}
@@ -322,7 +322,7 @@ void EnSb_Bounce(EnSb* this, PlayState* play) {
this->actor.speed = 0.0f;
this->timer = 1;
EnSb_SetupWaitClosed(this);
- PRINTF(VT_FGCOL(RED) "攻撃終了!!" VT_RST "\n"); // "Attack Complete!"
+ PRINTF(VT_FGCOL(RED) T("攻撃終了!!", "Attack complete!!") VT_RST "\n");
}
}
}
diff --git a/src/overlays/actors/ovl_En_Sth/z_en_sth.c b/src/overlays/actors/ovl_En_Sth/z_en_sth.c
index 9eb1679a56..58ee87f235 100644
--- a/src/overlays/actors/ovl_En_Sth/z_en_sth.c
+++ b/src/overlays/actors/ovl_En_Sth/z_en_sth.c
@@ -12,6 +12,7 @@
#include "segmented_address.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64play.h"
#include "z64save.h"
@@ -107,18 +108,17 @@ void EnSth_Init(Actor* thisx, PlayState* play) {
s32 params = this->actor.params;
s32 objectSlot;
- PRINTF(VT_FGCOL(BLUE) "金スタル屋 no = %d\n" VT_RST, params); // "Gold Skulltula Shop"
+ PRINTF(VT_FGCOL(BLUE) T("金スタル屋 no = %d\n", "Gold Skulltula Shop no = %d\n") VT_RST, params);
if (this->actor.params == 0) {
if (gSaveContext.save.info.inventory.gsTokens < 100) {
Actor_Kill(&this->actor);
- // "Gold Skulltula Shop I still can't be a human"
- PRINTF("金スタル屋 まだ 人間に戻れない \n");
+ PRINTF(T("金スタル屋 まだ 人間に戻れない \n", "Gold Skulltula Shop I still can't be a human \n"));
return;
}
} else if (gSaveContext.save.info.inventory.gsTokens < (this->actor.params * 10)) {
Actor_Kill(&this->actor);
- // "Gold Skulltula Shop I still can't be a human"
- PRINTF(VT_FGCOL(BLUE) "金スタル屋 まだ 人間に戻れない \n" VT_RST);
+ PRINTF(VT_FGCOL(BLUE) T("金スタル屋 まだ 人間に戻れない \n", "Gold Skulltula Shop I still can't be a human \n")
+ VT_RST);
return;
}
diff --git a/src/overlays/actors/ovl_En_Syateki_Itm/z_en_syateki_itm.c b/src/overlays/actors/ovl_En_Syateki_Itm/z_en_syateki_itm.c
index e409e9c246..0dc3434660 100644
--- a/src/overlays/actors/ovl_En_Syateki_Itm/z_en_syateki_itm.c
+++ b/src/overlays/actors/ovl_En_Syateki_Itm/z_en_syateki_itm.c
@@ -8,6 +8,7 @@
#include "regs.h"
#include "sfx.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64debug_display.h"
#include "z64play.h"
@@ -85,8 +86,7 @@ void EnSyatekiItm_Init(Actor* thisx, PlayState* play2) {
this->man = (EnSyatekiMan*)Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_EN_SYATEKI_MAN, 140.0f,
0.0f, 255.0f, 0, -0x4000, 0, 0);
if (this->man == NULL) {
- // "Spawn error"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ エラー原 ☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ エラー原 ☆☆☆☆ \n", "☆☆☆☆☆ Spawn error ☆☆☆☆ \n") VT_RST);
Actor_Kill(&this->actor);
return;
}
@@ -94,8 +94,7 @@ void EnSyatekiItm_Init(Actor* thisx, PlayState* play2) {
this->markers[i] = (EnExRuppy*)Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_EN_EX_RUPPY,
sRupeePos[i].x, sRupeePos[i].y, sRupeePos[i].z, 0, 0, 0, 4);
if (this->markers[i] == NULL) {
- // "Second spawn error"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ エラー原セカンド ☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ エラー原セカンド ☆☆☆☆ \n", "☆☆☆☆☆ Second spawn error ☆☆☆☆ \n") VT_RST);
Actor_Kill(&this->actor);
return;
}
@@ -246,8 +245,7 @@ void EnSyatekiItm_SpawnTargets(EnSyatekiItm* this, PlayState* play) {
&play->actorCtx, &this->actor, play, ACTOR_EN_G_SWITCH, this->targetHome[i].x, this->targetHome[i].y,
this->targetHome[i].z, 0, 0, 0, (ENGSWITCH_TARGET_RUPEE << 0xC) | 0x3F);
if (this->targets[i] == NULL) {
- // "Rupee spawn error"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ ルピーでエラー原 ☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ ルピーでエラー原 ☆☆☆☆ \n", "☆☆☆☆☆ Rupee spawn error ☆☆☆☆ \n") VT_RST);
Actor_Kill(&this->actor);
return;
}
@@ -324,17 +322,16 @@ void EnSyatekiItm_EndGame(EnSyatekiItm* this, PlayState* play) {
this->actionFunc = EnSyatekiItm_Idle;
}
if (this->signal == ENSYATEKI_START) {
- // "1 frame attack and defense!"
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
- PRINTF(VT_FGCOL(RED) "☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
+ PRINTF(VT_FGCOL(RED) T("☆☆☆☆☆ 1フレームの攻防! ☆☆☆☆ \n", "☆☆☆☆☆ 1 frame attack and defense! ☆☆☆☆ \n") VT_RST);
this->signal = ENSYATEKI_NONE;
this->actionFunc = EnSyatekiItm_Idle;
}
diff --git a/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c b/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c
index 970ebb32d3..5eca8ac947 100644
--- a/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c
+++ b/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c
@@ -15,6 +15,7 @@
#include "sfx.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64effect.h"
#include "z64play.h"
@@ -96,13 +97,11 @@ void EnSyatekiNiw_Init(Actor* thisx, PlayState* play) {
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
if (this->minigameType == SYATEKI_MINIGAME_ARCHERY) {
PRINTF("\n\n");
- // "Archery range chicken"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 射的場鶏 ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 射的場鶏 ☆☆☆☆☆ \n", "☆☆☆☆☆ Archery range chicken ☆☆☆☆☆ \n") VT_RST);
Actor_SetScale(&this->actor, 0.01f);
} else {
PRINTF("\n\n");
- // "Bomb chicken"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ ボムにわ! ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ ボムにわ! ☆☆☆☆☆ \n", "☆☆☆☆☆ Bomb chicken! ☆☆☆☆☆ \n") VT_RST);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
Actor_SetScale(&this->actor, 0.01f);
}
diff --git a/src/overlays/actors/ovl_En_Ta/z_en_ta.c b/src/overlays/actors/ovl_En_Ta/z_en_ta.c
index 68335d64b2..fd4f5b91c1 100644
--- a/src/overlays/actors/ovl_En_Ta/z_en_ta.c
+++ b/src/overlays/actors/ovl_En_Ta/z_en_ta.c
@@ -20,6 +20,7 @@
#include "sfx.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64audio.h"
#include "z64face_reaction.h"
@@ -176,8 +177,7 @@ void EnTa_Init(Actor* thisx, PlayState* play2) {
switch (this->actor.params) {
case ENTA_IN_KAKARIKO:
- // "Exile Talon"
- PRINTF(VT_FGCOL(CYAN) " 追放タロン \n" VT_RST);
+ PRINTF(VT_FGCOL(CYAN) T(" 追放タロン \n", " Exile Talon \n") VT_RST);
if (GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_KAKARIKO)) {
Actor_Kill(&this->actor);
} else if (!LINK_IS_ADULT) {
@@ -197,15 +197,14 @@ void EnTa_Init(Actor* thisx, PlayState* play2) {
break;
case ENTA_RETURNED_FROM_KAKARIKO:
- // "Return Talon"
- PRINTF(VT_FGCOL(CYAN) " 出戻りタロン \n" VT_RST);
+ PRINTF(VT_FGCOL(CYAN) T(" 出戻りタロン \n", " Return Talon \n") VT_RST);
if (!GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_KAKARIKO)) {
Actor_Kill(&this->actor);
} else if (!LINK_IS_ADULT) {
Actor_Kill(&this->actor);
} else if (play->sceneId == SCENE_STABLE && !IS_DAY) {
Actor_Kill(&this->actor);
- PRINTF(VT_FGCOL(CYAN) " 夜はいない \n" VT_RST);
+ PRINTF(VT_FGCOL(CYAN) T(" 夜はいない \n", " He's not here at night \n") VT_RST);
} else {
EnTa_SetupAction(this, EnTa_IdleAtRanch, EnTa_AnimRepeatCurrent);
this->eyeIndex = TALON_EYE_INDEX_OPEN;
@@ -215,8 +214,7 @@ void EnTa_Init(Actor* thisx, PlayState* play2) {
break;
default: // Child era Talon
- // "Other Talon"
- PRINTF(VT_FGCOL(CYAN) " その他のタロン \n" VT_RST);
+ PRINTF(VT_FGCOL(CYAN) T(" その他のタロン \n", " Other Talon \n") VT_RST);
if (play->sceneId == SCENE_HYRULE_CASTLE) {
if (GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
Actor_Kill(&this->actor);
diff --git a/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c b/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c
index 8d51dae459..b61e51abdb 100644
--- a/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c
+++ b/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c
@@ -12,6 +12,7 @@
#include "rand.h"
#include "segmented_address.h"
#include "terminal.h"
+#include "translation.h"
#include "versions.h"
#include "z64play.h"
#include "z64save.h"
@@ -56,14 +57,14 @@ void EnTakaraMan_Init(Actor* thisx, PlayState* play) {
if (sTakaraIsInitialized) {
Actor_Kill(&this->actor);
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ もういてる原 ☆☆☆☆☆ \n" VT_RST); // "Already initialized"
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ もういてる原 ☆☆☆☆☆ \n", "☆☆☆☆☆ Already initialized ☆☆☆☆☆ \n") VT_RST);
return;
}
sTakaraIsInitialized = true;
PRINTF("\n\n");
- // "Bun! %x" (needs a better translation)
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ ばぅん! ☆☆☆☆☆ %x\n" VT_RST, play->actorCtx.flags.chest);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ ばぅん! ☆☆☆☆☆ %x\n", "☆☆☆☆☆ Bang! ☆☆☆☆☆ %x\n") VT_RST,
+ play->actorCtx.flags.chest);
play->actorCtx.flags.chest = 0;
gSaveContext.save.info.inventory.dungeonKeys[gSaveContext.mapIndex] = -1;
SkelAnime_InitFlex(play, &this->skelAnime, &object_ts_Skel_004FE0, &object_ts_Anim_000498, this->jointTable,
diff --git a/src/overlays/actors/ovl_En_Tite/z_en_tite.c b/src/overlays/actors/ovl_En_Tite/z_en_tite.c
index 34ba0e4102..fbdaf61bf4 100644
--- a/src/overlays/actors/ovl_En_Tite/z_en_tite.c
+++ b/src/overlays/actors/ovl_En_Tite/z_en_tite.c
@@ -17,6 +17,7 @@
#include "sfx.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "z_en_item00.h"
#include "z_lib.h"
#include "z64effect.h"
@@ -226,8 +227,9 @@ void EnTite_Destroy(Actor* thisx, PlayState* play) {
spawner->curNumSpawn--;
}
PRINTF("\n\n");
- // "Number of simultaneous occurrences"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 同時発生数 ☆☆☆☆☆%d\n" VT_RST, spawner->curNumSpawn);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 同時発生数 ☆☆☆☆☆%d\n", "☆☆☆☆☆ Number of simultaneous occurrences ☆☆☆☆☆%d\n")
+ VT_RST,
+ spawner->curNumSpawn);
PRINTF("\n\n");
}
Collider_DestroyJntSph(play, &this->collider);
diff --git a/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.c b/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.c
index 31ae178197..7ff6013e48 100644
--- a/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.c
+++ b/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.c
@@ -12,6 +12,7 @@
#include "regs.h"
#include "sfx.h"
#include "terminal.h"
+#include "translation.h"
#include "z_en_item00.h"
#include "z_lib.h"
#include "z64effect.h"
@@ -69,7 +70,7 @@ void EnTuboTrap_Init(Actor* thisx, PlayState* play) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 2.0f);
PRINTF("\n\n");
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 壷トラップ ☆☆☆☆☆ %x\n" VT_RST, this->actor.params); // "Urn Trap"
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 壷トラップ ☆☆☆☆☆ %x\n", "☆☆☆☆☆ Urn Trap ☆☆☆☆☆ %x\n") VT_RST, this->actor.params);
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
Actor_SetScale(&this->actor, 0.1f);
@@ -234,8 +235,9 @@ void EnTuboTrap_WaitForProximity(EnTuboTrap* this, PlayState* play) {
f32 targetHeight;
if (BREG(2) != 0) {
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ わて ☆☆☆☆☆ %f\n" VT_RST, this->actor.world.pos.y); // "You"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ おいどん ☆☆☆☆☆ %f\n" VT_RST, player->actor.world.pos.y); // "Me"
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ わて ☆☆☆☆☆ %f\n", "☆☆☆☆☆ You ☆☆☆☆☆ %f\n") VT_RST, this->actor.world.pos.y);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ おいどん ☆☆☆☆☆ %f\n", "☆☆☆☆☆ Me ☆☆☆☆☆ %f\n") VT_RST,
+ player->actor.world.pos.y);
PRINTF("\n\n");
}
diff --git a/src/overlays/actors/ovl_En_Wall_Tubo/z_en_wall_tubo.c b/src/overlays/actors/ovl_En_Wall_Tubo/z_en_wall_tubo.c
index 149eba4700..d54a570d2a 100644
--- a/src/overlays/actors/ovl_En_Wall_Tubo/z_en_wall_tubo.c
+++ b/src/overlays/actors/ovl_En_Wall_Tubo/z_en_wall_tubo.c
@@ -15,6 +15,7 @@
#include "printf.h"
#include "quake.h"
#include "terminal.h"
+#include "translation.h"
#include "z_lib.h"
#include "z64debug_display.h"
#include "z64effect.h"
@@ -46,8 +47,7 @@ void EnWallTubo_Init(Actor* thisx, PlayState* play) {
EnWallTubo* this = (EnWallTubo*)thisx;
PRINTF("\n\n");
- // "Wall Target"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 壁のツボ ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ 壁のツボ ☆☆☆☆☆ \n", "☆☆☆☆☆ Points on the wall ☆☆☆☆☆ \n") VT_RST);
this->unk_164 = this->actor.world.pos;
this->actionFunc = EnWallTubo_FindGirl;
}
diff --git a/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c b/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c
index 04082aa10f..520e7edc61 100644
--- a/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c
+++ b/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c
@@ -9,6 +9,7 @@
#include "printf.h"
#include "regs.h"
#include "terminal.h"
+#include "translation.h"
#include "versions.h"
#include "z_lib.h"
#include "z64debug_display.h"
@@ -67,14 +68,14 @@ void EnWeatherTag_Init(Actor* thisx, PlayState* play) {
switch (PARAMS_GET_U(this->actor.params, 0, 4)) {
case EN_WEATHER_TAG_TYPE_CLOUDY_MARKET:
PRINTF("\n\n");
- // "☆☆☆☆☆ (;o;) About ☆☆☆☆☆☆"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ (;o;) くらいよー ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ (;o;) くらいよー ☆☆☆☆☆ \n", "☆☆☆☆☆ (;o;) About that much ☆☆☆☆☆ \n")
+ VT_RST);
EnWeatherTag_SetupAction(this, EnWeatherTag_DisabledCloudyHyruleMarket);
break;
case EN_WEATHER_TAG_TYPE_CLOUDY_LON_LON_RANCH:
PRINTF("\n\n");
- // "☆☆☆☆☆ Cloudy (._.) Ah Melancholy ☆☆☆☆☆"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ くもり (._.) あーあ 憂鬱 ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ くもり (._.) あーあ 憂鬱 ☆☆☆☆☆ \n",
+ "☆☆☆☆☆ Cloudy (._.) Ah Melancholy ☆☆☆☆☆ \n") VT_RST);
if (Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED)) {
Actor_Kill(&this->actor);
}
@@ -82,8 +83,8 @@ void EnWeatherTag_Init(Actor* thisx, PlayState* play) {
break;
case EN_WEATHER_TAG_TYPE_SNOW_ZORAS_DOMAIN:
PRINTF("\n\n");
- // "☆☆☆☆☆ Yukigafuru You won't come (._.) ☆☆☆☆☆"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ ゆきがふるー あなたはこないー (._.) ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ ゆきがふるー あなたはこないー (._.) ☆☆☆☆☆ \n",
+ "☆☆☆☆☆ The snow is falling... You're not coming... (._.) ☆☆☆☆☆ \n") VT_RST);
if (GET_EVENTCHKINF(EVENTCHKINF_4A)) {
Actor_Kill(&this->actor);
@@ -92,8 +93,8 @@ void EnWeatherTag_Init(Actor* thisx, PlayState* play) {
break;
case EN_WEATHER_TAG_TYPE_RAIN_LAKE_HYLIA:
PRINTF("\n\n");
- // "☆☆☆☆☆ Wow wa wa na wa saa ki ha (^o^) ☆☆☆☆☆"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ わわわわー なーがーさーきーはー (^o^) ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ わわわわー なーがーさーきーはー (^o^) ☆☆☆☆☆ \n",
+ "☆☆☆☆☆ Waaaa- Na-ga-sa-ki wa- (^o^) ☆☆☆☆☆ \n") VT_RST);
if (GET_EVENTCHKINF(EVENTCHKINF_4A)) {
Actor_Kill(&this->actor);
@@ -102,8 +103,8 @@ void EnWeatherTag_Init(Actor* thisx, PlayState* play) {
break;
case EN_WEATHER_TAG_TYPE_CLOUDY_DEATH_MOUNTAIN:
PRINTF("\n\n");
- // "☆☆☆☆☆ Cloudy (._.) Ah Melancholy ☆☆☆☆☆"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ くもり (._.) あーあ 憂鬱 ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW)
+ T("☆☆☆☆☆ くもり (._.) あーあ 憂鬱 ☆☆☆☆☆ \n", "☆☆☆☆☆ Cloudy (._.) Ah Melancholy ☆☆☆☆☆") VT_RST);
if (GET_EVENTCHKINF(EVENTCHKINF_49)) {
Actor_Kill(&this->actor);
}
@@ -111,8 +112,8 @@ void EnWeatherTag_Init(Actor* thisx, PlayState* play) {
break;
case EN_WEATHER_TAG_TYPE_THUNDERSTORM_KAKARIKO:
PRINTF("\n\n");
- // "☆☆☆☆☆ Cloudy Rain Thunder (;O;) Uo Melancholy ☆☆☆☆☆"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ くもり雨雷 (;O;) うおお 憂鬱 ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ くもり雨雷 (;O;) うおお 憂鬱 ☆☆☆☆☆ \n",
+ "☆☆☆☆☆ Cloudy with rain and thunder (;O;) Wow, I'm depressed ☆☆☆☆☆ \n") VT_RST);
if (!GET_EVENTCHKINF(EVENTCHKINF_48) || !GET_EVENTCHKINF(EVENTCHKINF_49) ||
!GET_EVENTCHKINF(EVENTCHKINF_4A) || CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW)) {
@@ -122,14 +123,14 @@ void EnWeatherTag_Init(Actor* thisx, PlayState* play) {
break;
case EN_WEATHER_TAG_TYPE_SANDSTORM_INTENSITY:
PRINTF("\n\n");
- // "☆☆☆☆☆ The desert becomes thicker ☆☆☆☆☆"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 砂漠が濃くなります ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ 砂漠が濃くなります ☆☆☆☆☆ \n", "☆☆☆☆☆ The desert becomes thicker ☆☆☆☆☆ \n")
+ VT_RST);
EnWeatherTag_SetupAction(this, EnWeatherTag_SetSandstormIntensity);
break;
case EN_WEATHER_TAG_TYPE_THUNDERSTORM_GRAVEYARD:
PRINTF("\n\n");
- // "☆☆☆☆☆ Wow wa wa na wa saa ki ha (^o^) ☆☆☆☆☆"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ わわわわー なーがーさーきーはー (^o^) ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ わわわわー なーがーさーきーはー (^o^) ☆☆☆☆☆ \n",
+ "☆☆☆☆☆ Waaaa- Na-ga-sa-ki wa- (^o^) ☆☆☆☆☆ \n") VT_RST);
EnWeatherTag_SetupAction(this, EnWeatherTag_DisabledRainThunder);
break;
diff --git a/src/overlays/actors/ovl_En_Wf/z_en_wf.c b/src/overlays/actors/ovl_En_Wf/z_en_wf.c
index 978c2a4012..6e86771d7a 100644
--- a/src/overlays/actors/ovl_En_Wf/z_en_wf.c
+++ b/src/overlays/actors/ovl_En_Wf/z_en_wf.c
@@ -19,6 +19,7 @@
#include "sfx.h"
#include "sys_matrix.h"
#include "terminal.h"
+#include "translation.h"
#include "z_en_item00.h"
#include "z_lib.h"
#include "z64audio.h"
@@ -292,8 +293,9 @@ void EnWf_Destroy(Actor* thisx, PlayState* play) {
}
PRINTF("\n\n");
- // "☆☆☆☆☆ Number of concurrent events ☆☆☆☆☆"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 同時発生数 ☆☆☆☆☆%d\n" VT_RST, parent->curNumSpawn);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 同時発生数 ☆☆☆☆☆%d\n", "☆☆☆☆☆ Number of simultaneous occurrences ☆☆☆☆☆%d\n")
+ VT_RST,
+ parent->curNumSpawn);
PRINTF("\n\n");
}
}
diff --git a/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.c b/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.c
index fb455390a7..4b43e59cb2 100644
--- a/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.c
+++ b/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.c
@@ -9,6 +9,7 @@
#include "printf.h"
#include "regs.h"
#include "terminal.h"
+#include "translation.h"
#include "z64debug_display.h"
#include "z64play.h"
#include "z64save.h"
@@ -42,8 +43,8 @@ void EnWonderTalk_Init(Actor* thisx, PlayState* play) {
EnWonderTalk* this = (EnWonderTalk*)thisx;
PRINTF("\n\n");
- // "Special conversation"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 特殊会話くん ☆☆☆☆☆ %x\n" VT_RST, this->actor.params);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 特殊会話くん ☆☆☆☆☆ %x\n", "☆☆☆☆☆ Special conversation ☆☆☆☆☆ %x\n") VT_RST,
+ this->actor.params);
this->unk_150 = PARAMS_GET_U(this->actor.params, 11, 5);
this->unk_152 = PARAMS_GET_U(this->actor.params, 6, 5);
@@ -67,19 +68,17 @@ void func_80B391CC(EnWonderTalk* this, PlayState* play) {
if (this->switchFlag < 0 || !Flags_GetSwitch(play, this->switchFlag)) {
switch (this->unk_150) {
case 1:
- // "Slate GO!"
- PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ 石板GO! ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T(" ☆☆☆☆☆ 石板GO! ☆☆☆☆☆ \n", " ☆☆☆☆☆ Slate GO! ☆☆☆☆☆ \n") VT_RST);
this->height = 0.0f;
this->unk_15C = 80.0f;
- // "Attention coordinates"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n" VT_RST, 0.0f);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n",
+ "☆☆☆☆☆ Attention coordinates\t \t☆☆☆☆☆ %f\n") VT_RST,
+ 0.0f);
if (!LINK_IS_ADULT) {
this->actor.textId = 0x7040;
- // "Children"
- PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ こども ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T(" ☆☆☆☆☆ こども ☆☆☆☆☆ \n", " ☆☆☆☆☆ Child ☆☆☆☆☆ \n") VT_RST);
} else {
- // "Adult"
- PRINTF(VT_FGCOL(CYAN) " ☆☆☆☆☆ おとな ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(CYAN) T(" ☆☆☆☆☆ おとな ☆☆☆☆☆ \n", " ☆☆☆☆☆ Adult ☆☆☆☆☆ \n") VT_RST);
this->actor.textId = 0x7088;
}
@@ -87,29 +86,31 @@ void func_80B391CC(EnWonderTalk* this, PlayState* play) {
PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ this->actor.talk_message ☆☆☆☆☆ %x\n" VT_RST, this->actor.textId);
break;
case 2:
- // "Diary start!"
- PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ 日記帳スタート! ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T(" ☆☆☆☆☆ 日記帳スタート! ☆☆☆☆☆ \n", " ☆☆☆☆☆ Diary start! ☆☆☆☆☆ \n") VT_RST);
this->actor.textId = 0x5002;
this->unk_156 = TEXT_STATE_CHOICE;
this->unk_15C = 40.0f;
this->height = 30.0f;
- // "Attention coordinates"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n" VT_RST, 30.0f);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n",
+ "☆☆☆☆☆ Attention coordinates\t \t☆☆☆☆☆ %f\n") VT_RST,
+ 30.0f);
break;
case 3:
this->actor.textId = 0x501E;
this->unk_156 = TEXT_STATE_EVENT;
this->height = 0.0f;
this->unk_15C = 110.0f;
- // "Attention coordinates"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n" VT_RST, 0.0f);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n",
+ "☆☆☆☆☆ Attention coordinates\t \t☆☆☆☆☆ %f\n") VT_RST,
+ 0.0f);
break;
case 4:
this->actor.textId = 0x5020;
this->unk_156 = TEXT_STATE_DONE;
this->height = 0.0f;
- // "Attention coordinates"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n" VT_RST, 0.0f);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n",
+ "☆☆☆☆☆ Attention coordinates\t \t☆☆☆☆☆ %f\n") VT_RST,
+ 0.0f);
this->unk_15C = 120.0f;
if (GET_EVENTCHKINF(EVENTCHKINF_1D)) {
Actor_Kill(&this->actor);
@@ -120,8 +121,9 @@ void func_80B391CC(EnWonderTalk* this, PlayState* play) {
this->unk_156 = TEXT_STATE_EVENT;
this->height = 0.0f;
this->unk_15C = 110.0f;
- // "Attention coordinates"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n" VT_RST, 0.0f);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n",
+ "☆☆☆☆☆ Attention coordinates\t \t☆☆☆☆☆ %f\n") VT_RST,
+ 0.0f);
break;
default:
this->actor.textId = 0x7072;
@@ -161,14 +163,18 @@ void func_80B3943C(EnWonderTalk* this, PlayState* play) {
if (yawDiff < 0x4000) {
if (this->unk_15A >= 2) {
PRINTF("\n\n");
- // "Save information"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ セーブ情報\t\t☆☆☆☆☆ %d\n" VT_RST, this->switchFlag);
- // "Type index"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 種類インデックス\t☆☆☆☆☆ %d\n" VT_RST, this->unk_150);
- // "Actual message type"
- PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ 実質メッセージ種類 %x\n" VT_RST, this->actor.textId);
- // "Specified range"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 指定範囲 %d\n" VT_RST, this->actor.world.rot.z);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ セーブ情報\t\t☆☆☆☆☆ %d\n", "☆☆☆☆☆ Save information\t\t☆☆☆☆☆ %d\n")
+ VT_RST,
+ this->switchFlag);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 種類インデックス\t☆☆☆☆☆ %d\n", "☆☆☆☆☆ Type index\t☆☆☆☆☆ %d\n")
+ VT_RST,
+ this->unk_150);
+ PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆☆ 実質メッセージ種類 %x\n", "☆☆☆☆☆ Actual message type %x\n")
+ VT_RST,
+ this->actor.textId);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 指定範囲 %d\n",
+ "☆☆☆☆☆ Specified range %d\n") VT_RST,
+ this->actor.world.rot.z);
PRINTF("\n\n");
}
this->unk_15A = 0;
@@ -193,18 +199,17 @@ void func_80B395F0(EnWonderTalk* this, PlayState* play) {
switch (play->msgCtx.choiceIndex) {
case 0:
if (!LINK_IS_ADULT) {
- // "I'm still a child!"
- PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ まだコドモなの! ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(GREEN) T(" ☆☆☆☆☆ まだコドモなの! ☆☆☆☆☆ \n",
+ " ☆☆☆☆☆ I'm still a child! ☆☆☆☆☆ \n") VT_RST);
this->actor.textId = 0x5001;
} else {
- // "I'm an adult. .. .."
- PRINTF(VT_FGCOL(YELLOW) " ☆☆☆☆☆ アダルトなの。。。 ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(YELLOW) T(" ☆☆☆☆☆ アダルトなの。。。 ☆☆☆☆☆ \n",
+ " ☆☆☆☆☆ I'm an adult... ☆☆☆☆☆ \n") VT_RST);
this->actor.textId = 0x5003;
}
break;
case 1:
- // "Out!"
- PRINTF(VT_FGCOL(MAGENTA) " ☆☆☆☆☆ はずれ! ☆☆☆☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(MAGENTA) T(" ☆☆☆☆☆ はずれ! ☆☆☆☆☆ \n", " ☆☆☆☆☆ No luck! ☆☆☆☆☆ \n") VT_RST);
this->actor.textId = 0x5004;
break;
}
diff --git a/src/overlays/actors/ovl_En_Wonder_Talk2/z_en_wonder_talk2.c b/src/overlays/actors/ovl_En_Wonder_Talk2/z_en_wonder_talk2.c
index bb58339fc1..78e8d152d7 100644
--- a/src/overlays/actors/ovl_En_Wonder_Talk2/z_en_wonder_talk2.c
+++ b/src/overlays/actors/ovl_En_Wonder_Talk2/z_en_wonder_talk2.c
@@ -9,6 +9,7 @@
#include "printf.h"
#include "regs.h"
#include "terminal.h"
+#include "translation.h"
#include "z64debug_display.h"
#include "z64item.h"
#include "z64play.h"
@@ -48,8 +49,8 @@ void EnWonderTalk2_Init(Actor* thisx, PlayState* play) {
EnWonderTalk2* this = (EnWonderTalk2*)thisx;
PRINTF("\n\n");
- // "Transparent message"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 透明メッセージ君 ☆☆☆☆☆ %x\n" VT_RST, this->actor.params);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 透明メッセージ君 ☆☆☆☆☆ %x\n", "☆☆☆☆☆ Transparent message ☆☆☆☆☆ %x\n") VT_RST,
+ this->actor.params);
this->baseMsgId = PARAMS_GET_U(this->actor.params, 6, 8);
if (this->actor.world.rot.z > 0) {
s32 rangeIndex = 0;
@@ -68,12 +69,12 @@ void EnWonderTalk2_Init(Actor* thisx, PlayState* play) {
this->actor.attentionRangeType = D_80B3A8E0[rangeIndex];
PRINTF("\n\n");
- // "originally?"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 元は? ☆☆☆☆☆ %d\n" VT_RST, this->actor.world.rot.z);
- // "The range is?"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ レンジは? ☆☆☆☆☆ %d\n" VT_RST, this->actor.attentionRangeType);
- // "Is the range?"
- PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ は、範囲わ? ☆☆☆☆☆ %f\n" VT_RST, this->triggerRange);
+ PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ 元は? ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Originally? ☆☆☆☆☆ %d\n") VT_RST,
+ this->actor.world.rot.z);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ レンジは? ☆☆☆☆☆ %d\n", "☆☆☆☆☆ The range is? ☆☆☆☆☆ %d\n") VT_RST,
+ this->actor.attentionRangeType);
+ PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆☆ は、範囲わ? ☆☆☆☆☆ %f\n", "☆☆☆☆☆ The range is? ☆☆☆☆☆ %f\n") VT_RST,
+ this->triggerRange);
PRINTF("\n\n");
PRINTF("\n\n");
PRINTF("\n\n");
@@ -127,8 +128,9 @@ void func_80B3A15C(EnWonderTalk2* this, PlayState* play) {
} else if (Actor_TalkOfferAccepted(&this->actor, play)) {
if ((this->switchFlag >= 0) && (this->talkMode != 2)) {
Flags_SetSwitch(play, this->switchFlag);
- // "I saved it! All of it!"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ セーブしたよ!おもいっきり! %x\n" VT_RST, this->switchFlag);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ セーブしたよ!おもいっきり! %x\n", "☆☆☆☆☆ I saved it! All of it! %x\n")
+ VT_RST,
+ this->switchFlag);
}
this->actionFunc = func_80B3A10C;
@@ -140,30 +142,33 @@ void func_80B3A15C(EnWonderTalk2* this, PlayState* play) {
if (DEBUG_FEATURES && this->unk_158 >= 2) {
PRINTF("\n\n");
- // "Transparent Message Kimi Set"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 透明メッセージ君せっと %x\n" VT_RST, this->actor.params);
- // "Save Information"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ セーブ情報 \t %x\n" VT_RST, this->switchFlag);
- // "Specified message type"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 指定メッセージ種類 %x\n" VT_RST, this->baseMsgId);
- // "Actual message type"
- PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ 実質メッセージ種類 %x\n" VT_RST, this->actor.textId);
- // "Specified range"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 指定範囲 %d\n" VT_RST, this->actor.world.rot.z);
- // "Processing range"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 処理範囲 %f\n" VT_RST, this->triggerRange);
+ PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 透明メッセージ君せっと %x\n", "☆☆☆☆☆ Transparent Message Kimi Set %x\n")
+ VT_RST,
+ this->actor.params);
+ PRINTF(VT_FGCOL(YELLOW)
+ T("☆☆☆☆☆ セーブ情報 \t %x\n", "☆☆☆☆☆ Save Information \t %x\n") VT_RST,
+ this->switchFlag);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 指定メッセージ種類 %x\n", "☆☆☆☆☆ Specified message type %x\n")
+ VT_RST,
+ this->baseMsgId);
+ PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆☆ 実質メッセージ種類 %x\n", "☆☆☆☆☆ Actual message type %x\n")
+ VT_RST,
+ this->actor.textId);
+ PRINTF(VT_FGCOL(GREEN)
+ T("☆☆☆☆☆ 指定範囲 %d\n", "☆☆☆☆☆ Specified range %d\n") VT_RST,
+ this->actor.world.rot.z);
+ PRINTF(VT_FGCOL(YELLOW)
+ T("☆☆☆☆☆ 処理範囲 %f\n", "☆☆☆☆☆ Processing range %f\n") VT_RST,
+ this->triggerRange);
switch (this->talkMode) {
case 0:
- // "Normal"
- PRINTF(VT_FGCOL(MAGENTA) " ☆☆ 通常 ☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(MAGENTA) T(" ☆☆ 通常 ☆☆ \n", " ☆☆ Normal ☆☆ \n") VT_RST);
break;
case 2:
- // "Check only"
- PRINTF(VT_FGCOL(MAGENTA) " ☆☆ チェックのみ ☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(MAGENTA) T(" ☆☆ チェックのみ ☆☆ \n", " ☆☆ Check only ☆☆ \n") VT_RST);
break;
case 3:
- // "Lock only"
- PRINTF(VT_FGCOL(MAGENTA) " ☆☆ ロックのみ ☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(MAGENTA) T(" ☆☆ ロックのみ ☆☆ \n", " ☆☆ Lock only ☆☆ \n") VT_RST);
break;
}
}
@@ -176,8 +181,7 @@ void func_80B3A15C(EnWonderTalk2* this, PlayState* play) {
void func_80B3A3D4(EnWonderTalk2* this, PlayState* play) {
if (BREG(2) != 0) {
- // "Oh"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ わー %d\n" VT_RST, Message_GetState(&play->msgCtx));
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ わー %d\n", "☆☆☆☆☆ Oh %d\n") VT_RST, Message_GetState(&play->msgCtx));
}
switch (Message_GetState(&play->msgCtx)) {
@@ -193,8 +197,9 @@ void func_80B3A3D4(EnWonderTalk2* this, PlayState* play) {
case TEXT_STATE_NONE:
if ((this->switchFlag >= 0) && (this->talkMode != 4)) {
Flags_SetSwitch(play, this->switchFlag);
- // "(Forced) I saved it! All of it!"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ (強制)セーブしたよ!おもいっきり! %x\n" VT_RST, this->switchFlag);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ (強制)セーブしたよ!おもいっきり! %x\n",
+ "☆☆☆☆☆ (Forced) I saved it! All of it! %x\n") VT_RST,
+ this->switchFlag);
}
if (this->talkMode == 4) {
@@ -220,8 +225,7 @@ void func_80B3A4F8(EnWonderTalk2* this, PlayState* play) {
}
} else if ((this->talkMode != 4) || !this->unk_15A) {
if (BREG(2) != 0) {
- // "distance"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ きょり %f\n" VT_RST, this->actor.xzDistToPlayer);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ きょり %f\n", "☆☆☆☆☆ distance %f\n") VT_RST, this->actor.xzDistToPlayer);
}
if (((this->actor.xzDistToPlayer < (40.0f + this->triggerRange)) &&
(fabsf(player->actor.world.pos.y - this->actor.world.pos.y) < 100.0f)) &&
@@ -229,30 +233,34 @@ void func_80B3A4F8(EnWonderTalk2* this, PlayState* play) {
if (DEBUG_FEATURES && this->unk_158 >= 2) {
PRINTF("\n\n");
- // "Transparent Message Kimi Seto"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 透明メッセージ君せっと %x\n" VT_RST, this->actor.params);
- // "Save Information"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ セーブ情報 \t %x\n" VT_RST, this->switchFlag);
- // "Specified message type"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 指定メッセージ種類 %x\n" VT_RST, this->baseMsgId);
- // "Real message type"
- PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ 実質メッセージ種類 %x\n" VT_RST, this->actor.textId);
- // "Specified range"
- PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 指定範囲 %d\n" VT_RST, this->actor.world.rot.z);
- // "Processing range"
- PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 処理範囲 %f\n" VT_RST, this->triggerRange);
- // "What is your range?"
- PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ レンジは? \t\t %d\n" VT_RST, this->actor.attentionRangeType);
+ PRINTF(VT_FGCOL(GREEN)
+ T("☆☆☆☆☆ 透明メッセージ君せっと %x\n", "☆☆☆☆☆ Transparent Message Kimi Seto %x\n") VT_RST,
+ this->actor.params);
+ PRINTF(VT_FGCOL(YELLOW)
+ T("☆☆☆☆☆ セーブ情報 \t %x\n", "☆☆☆☆☆ Save Information \t %x\n") VT_RST,
+ this->switchFlag);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 指定メッセージ種類 %x\n", "☆☆☆☆☆ Specified message type %x\n")
+ VT_RST,
+ this->baseMsgId);
+ PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆☆ 実質メッセージ種類 %x\n", "☆☆☆☆☆ Real message type %x\n") VT_RST,
+ this->actor.textId);
+ PRINTF(VT_FGCOL(GREEN)
+ T("☆☆☆☆☆ 指定範囲 %d\n", "☆☆☆☆☆ Specified range %d\n") VT_RST,
+ this->actor.world.rot.z);
+ PRINTF(VT_FGCOL(YELLOW)
+ T("☆☆☆☆☆ 処理範囲 %f\n", "☆☆☆☆☆ Processing range %f\n") VT_RST,
+ this->triggerRange);
+ PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ レンジは? \t\t %d\n", "☆☆☆☆☆ The range is? \t\t %d\n") VT_RST,
+ this->actor.attentionRangeType);
PRINTF("\n\n");
PRINTF("\n\n");
switch (this->talkMode) {
case 1:
- // "Compulsion"
- PRINTF(VT_FGCOL(MAGENTA) " ☆☆ 強制 ☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(MAGENTA) T(" ☆☆ 強制 ☆☆ \n", " ☆☆ Compulsion ☆☆ \n") VT_RST);
break;
case 4:
- // "Gerudo Training Grounds Forced Check Only"
- PRINTF(VT_FGCOL(RED) " ☆☆ ゲルドの修練場強制チェックのみ ☆☆ \n" VT_RST);
+ PRINTF(VT_FGCOL(RED) T(" ☆☆ ゲルドの修練場強制チェックのみ ☆☆ \n",
+ " ☆☆ Gerudo Training Grounds Forced Check Only ☆☆ \n") VT_RST);
break;
}