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":