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