1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-06-07 17:11:50 +00:00

T() macro loose ends 2 (#2564)

* More T() in niw_girl, ossan, rr, ta, tana, wall_tubo, yabusame_mark

* Add and use LOG_STRING_T()

* include debug.h in translation.h

* Kyaaaaaa

* bss

* comment on Yabusame mato possible typo

* Revert "Kyaaaaaa"

This reverts commit 95097831fa.

* (Kuzu)hara

* 原 -> "-Hara" from dev name, possibly
This commit is contained in:
Dragorn421 2025-06-04 19:15:01 +02:00 committed by GitHub
parent c903555e83
commit e8b708a448
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
25 changed files with 87 additions and 77 deletions

View file

@ -1,6 +1,8 @@
#ifndef TRANSLATION_H
#define TRANSLATION_H
#include "libu64/debug.h"
/**
* The "T" macro holds translations in English for original debug strings written in Japanese.
* The translated strings are only direct translations. Certain names or terms may not reflect
@ -13,4 +15,6 @@
*/
#define T(jp, en) jp
#define LOG_STRING_T(stringJP, stringEN, file, line) LOG(#stringJP, stringJP, "%s", file, line)
#endif

View file

@ -7,7 +7,7 @@
#include "z_lib.h"
#include "z64math.h"
#pragma increment_block_number "gc-eu:77 gc-eu-mq:77 gc-jp:77 gc-jp-ce:77 gc-jp-mq:77 gc-us:77 gc-us-mq:77 ique-cn:67" \
#pragma increment_block_number "gc-eu:76 gc-eu-mq:76 gc-jp:76 gc-jp-ce:76 gc-jp-mq:76 gc-us:76 gc-us-mq:76 ique-cn:66" \
"ntsc-1.0:64 ntsc-1.1:64 ntsc-1.2:64 pal-1.0:64 pal-1.1:64"
s32 Math3D_LineVsLineClosestTwoPoints(Vec3f* lineAPointA, Vec3f* lineAPointB, Vec3f* lineBPointA, Vec3f* lineBPointB,

View file

@ -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:83 ntsc-1.1:83 ntsc-1.2:83 pal-1.0:83 pal-1.1:83"
"ique-cn:128 ntsc-1.0:82 ntsc-1.1:82 ntsc-1.2:82 pal-1.0:82 pal-1.1:82"
s32 Camera_KeepOn4(Camera* camera) {
static Vec3f D_8015BD50;

View file

@ -1,5 +1,5 @@
#include "libu64/debug.h"
#include "rand.h"
#include "translation.h"
#include "z64play.h"
#include "z64player.h"
#include "z64quest_hint.h"
@ -73,7 +73,7 @@ u32 QuestHint_CheckCondition(QuestHintCmd* hintCmd) {
}
}
LOG_STRING("企画外 条件", "../z_elf_message.c", 156); // "Unplanned conditions"
LOG_STRING_T("企画外 条件", "Unplanned conditions", "../z_elf_message.c", 156);
ASSERT(0, "0", "../z_elf_message.c", 157);
return false;
@ -170,7 +170,7 @@ u16 QuestHint_GetTextIdFromScript(QuestHintCmd* hintCmd) {
return hintCmd->byte2 | 0x100;
default:
LOG_STRING("企画外 条件", "../z_elf_message.c", 281); // "Unplanned conditions"
LOG_STRING_T("企画外 条件", "Unplanned conditions", "../z_elf_message.c", 281);
ASSERT(0, "0", "../z_elf_message.c", 282);
}

View file

@ -895,8 +895,8 @@ void Play_Update(PlayState* this) {
this->envCtx.sandstormState = SANDSTORM_DISSIPATE;
this->envCtx.sandstormPrimA = 255;
this->envCtx.sandstormEnvA = 255;
// "It's here!!!!!!!!!"
LOG_STRING("来た!!!!!!!!!!!!!!!!!!!!!", "../z_play.c", 3471);
LOG_STRING_T("来た!!!!!!!!!!!!!!!!!!!!!", "It's here!!!!!!!!!!!!!!!!!!!!!", "../z_play.c",
3471);
this->transitionMode = TRANS_MODE_SANDSTORM_END;
} else {
this->transitionMode = TRANS_MODE_SANDSTORM_INIT;

View file

@ -7,13 +7,13 @@
#include "z_arrow_fire.h"
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
#include "libu64/debug.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "tex_len.h"
#include "translation.h"
#include "z_lib.h"
#include "z64play.h"
@ -87,7 +87,7 @@ void ArrowFire_Init(Actor* thisx, PlayState* play) {
void ArrowFire_Destroy(Actor* thisx, PlayState* play) {
Magic_Reset(play);
LOG_STRING("消滅", "../z_arrow_fire.c", 421); // "Disappearance"
LOG_STRING_T("消滅", "Disappearance", "../z_arrow_fire.c", 421);
}
void ArrowFire_Charge(ArrowFire* this, PlayState* play) {

View file

@ -7,13 +7,13 @@
#include "z_arrow_ice.h"
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
#include "libu64/debug.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "tex_len.h"
#include "translation.h"
#include "z_lib.h"
#include "z64play.h"
@ -87,7 +87,7 @@ void ArrowIce_Init(Actor* thisx, PlayState* play) {
void ArrowIce_Destroy(Actor* thisx, PlayState* play) {
Magic_Reset(play);
LOG_STRING("消滅", "../z_arrow_ice.c", 415); // "Disappearance"
LOG_STRING_T("消滅", "Disappearance", "../z_arrow_ice.c", 415);
}
void ArrowIce_Charge(ArrowIce* this, PlayState* play) {

View file

@ -7,13 +7,13 @@
#include "z_arrow_light.h"
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
#include "libu64/debug.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "tex_len.h"
#include "translation.h"
#include "z_lib.h"
#include "z64play.h"
@ -87,7 +87,7 @@ void ArrowLight_Init(Actor* thisx, PlayState* play) {
void ArrowLight_Destroy(Actor* thisx, PlayState* play) {
Magic_Reset(play);
LOG_STRING("消滅", "../z_arrow_light.c", 403); // "Disappearance"
LOG_STRING_T("消滅", "Disappearance", "../z_arrow_light.c", 403);
}
void ArrowLight_Charge(ArrowLight* this, PlayState* play) {

View file

@ -6,7 +6,6 @@
#include "z_demo_kekkai.h"
#include "libu64/debug.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "rand.h"
@ -14,6 +13,7 @@
#include "sequence.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "translation.h"
#include "z_lib.h"
#include "z64audio.h"
#include "z64effect.h"
@ -267,8 +267,7 @@ void DemoKekkai_TrialBarrierIdle(Actor* thisx, PlayState* play) {
CollisionCheck_SetOC(play, &play->colChkCtx, &this->collider1.base);
if (this->collider2.base.acFlags & AC_HIT) {
Sfx_PlaySfxCentered(NA_SE_SY_CORRECT_CHIME);
// "I got it"
LOG_STRING("当ったよ", "../z_demo_kekkai.c", 572);
LOG_STRING_T("当ったよ", "I got it", "../z_demo_kekkai.c", 572);
this->actor.update = DemoKekkai_TrialBarrierDispel;
this->timer = 0;
play->csCtx.script = SEGMENTED_TO_VIRTUAL(sSageCutscenes[this->actor.params]);

View file

@ -6,7 +6,6 @@
#include "z_elf_msg.h"
#include "libu64/debug.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@ -64,14 +63,14 @@ void ElfMsg_SetupAction(ElfMsg* this, ElfMsgActionFunc actionFunc) {
s32 ElfMsg_KillCheck(ElfMsg* this, PlayState* play) {
if ((this->actor.world.rot.y > 0) && (this->actor.world.rot.y < 0x41) &&
Flags_GetSwitch(play, this->actor.world.rot.y - 1)) {
LOG_STRING("共倒れ", "../z_elf_msg.c", 161); // "Mutual destruction"
LOG_STRING_T("共倒れ", "Mutual destruction", "../z_elf_msg.c", 161);
if (PARAMS_GET_U(this->actor.params, 8, 6) != 0x3F) {
Flags_SetSwitch(play, PARAMS_GET_U(this->actor.params, 8, 6));
}
Actor_Kill(&this->actor);
return 1;
} else if ((this->actor.world.rot.y == -1) && Flags_GetClear(play, this->actor.room)) {
LOG_STRING("共倒れ", "../z_elf_msg.c", 172); // "Mutual destruction"
LOG_STRING_T("共倒れ", "Mutual destruction", "../z_elf_msg.c", 172);
if (PARAMS_GET_U(this->actor.params, 8, 6) != 0x3F) {
Flags_SetSwitch(play, PARAMS_GET_U(this->actor.params, 8, 6));
}

View file

@ -6,7 +6,6 @@
#include "z_elf_msg2.h"
#include "libu64/debug.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@ -14,6 +13,7 @@
#include "regs.h"
#include "sys_matrix.h"
#include "terminal.h"
#include "translation.h"
#include "z64play.h"
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
@ -61,14 +61,14 @@ void ElfMsg2_SetupAction(ElfMsg2* this, ElfMsg2ActionFunc actionFunc) {
s32 ElfMsg2_KillCheck(ElfMsg2* this, PlayState* play) {
if ((this->actor.world.rot.y > 0) && (this->actor.world.rot.y < 0x41) &&
Flags_GetSwitch(play, this->actor.world.rot.y - 1)) {
LOG_STRING("共倒れ", "../z_elf_msg2.c", 171); // "Mutual destruction"
LOG_STRING_T("共倒れ", "Mutual destruction", "../z_elf_msg2.c", 171);
if (PARAMS_GET_U(this->actor.params, 8, 6) != 0x3F) {
Flags_SetSwitch(play, PARAMS_GET_U(this->actor.params, 8, 6));
}
Actor_Kill(&this->actor);
return 1;
} else if ((this->actor.world.rot.y == -1) && Flags_GetClear(play, this->actor.room)) {
LOG_STRING("共倒れ2", "../z_elf_msg2.c", 182); // "Mutual destruction 2"
LOG_STRING_T("共倒れ2", "Mutual destruction 2", "../z_elf_msg2.c", 182);
if (PARAMS_GET_U(this->actor.params, 8, 6) != 0x3F) {
Flags_SetSwitch(play, PARAMS_GET_U(this->actor.params, 8, 6));
}
@ -77,7 +77,7 @@ s32 ElfMsg2_KillCheck(ElfMsg2* this, PlayState* play) {
} else if (PARAMS_GET_U(this->actor.params, 8, 6) == 0x3F) {
return 0;
} else if (Flags_GetSwitch(play, PARAMS_GET_U(this->actor.params, 8, 6))) {
LOG_STRING("共倒れ", "../z_elf_msg2.c", 192); // "Mutual destruction"
LOG_STRING_T("共倒れ", "Mutual destruction", "../z_elf_msg2.c", 192);
Actor_Kill(&this->actor);
return 1;
}

View file

@ -107,7 +107,7 @@ void EnDivingGame_Init(Actor* thisx, PlayState* play) {
this->actor.scale.y = 0.012999999f;
this->actor.scale.z = 0.0139999995f;
if (D_809EF0B0) {
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ もういてる原 ☆☆☆☆☆ \n", "☆☆☆☆☆ Original is already here ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ もういてる原 ☆☆☆☆☆ \n", "☆☆☆☆☆ I'm already here -Hara ☆☆☆☆☆ \n") VT_RST);
this->unk_31F = 1;
Actor_Kill(&this->actor);
} else {

View file

@ -155,7 +155,7 @@ void EnNiw_Init(Actor* thisx, PlayState* play) {
if (sLowerRiverSpawned) {
Actor_Kill(&this->actor);
PRINTF(VT_FGCOL(YELLOW)
T("☆☆☆☆☆ もういてる原 Ver.1 ☆☆☆☆☆ \n", "☆☆☆☆☆ Original is already here Ver.1 ☆☆☆☆☆ \n") VT_RST);
T("☆☆☆☆☆ もういてる原 Ver.1 ☆☆☆☆☆ \n", "☆☆☆☆☆ I'm already here -Hara Ver.1 ☆☆☆☆☆ \n") VT_RST);
return;
}
sLowerRiverSpawned = true;
@ -167,7 +167,7 @@ void EnNiw_Init(Actor* thisx, PlayState* play) {
if (sUpperRiverSpawned) {
Actor_Kill(&this->actor);
PRINTF(VT_FGCOL(YELLOW)
T("☆☆☆☆☆ もういてる原 Ver.2 ☆☆☆☆☆ \n", "☆☆☆☆☆ Original is already here Ver.2 ☆☆☆☆☆ \n") VT_RST);
T("☆☆☆☆☆ もういてる原 Ver.2 ☆☆☆☆☆ \n", "☆☆☆☆☆ I'm already here -Hara Ver.2 ☆☆☆☆☆ \n") VT_RST);
return;
}
sUpperRiverSpawned = true;

View file

@ -15,6 +15,7 @@
#include "segmented_address.h"
#include "sys_matrix.h"
#include "terminal.h"
#include "translation.h"
#include "z_lib.h"
#include "z64play.h"
#include "z64player.h"
@ -90,15 +91,21 @@ void EnNiwGirl_Init(Actor* thisx, PlayState* play) {
&play->actorCtx, &this->actor, play, ACTOR_EN_NIW, this->actor.world.pos.x + vec2.x,
this->actor.world.pos.y + vec2.y, this->actor.world.pos.z + vec2.z, 0, this->actor.world.rot.y, 0, 0xA);
if (this->chasedEnNiw != NULL) {
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ シツレイしちゃうわね!プンプン ☆☆☆☆☆ %d\n" VT_RST, this->actor.params);
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ きゃははははは、まてー ☆☆☆☆☆ %d\n" VT_RST, this->path);
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ シツレイしちゃうわね!プンプン ☆☆☆☆☆ %d\n",
"☆☆☆☆☆ That's so mean! Punpun ☆☆☆☆☆ %d\n") VT_RST,
this->actor.params);
PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ きゃははははは、まてー ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Kyahahahaha, wait ☆☆☆☆☆ %d\n")
VT_RST,
this->path);
PRINTF("\n\n");
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
this->actionFunc = EnNiwGirl_Talk;
} else {
PRINTF("\n\n");
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ なぜか、セットできむぅあせん ☆☆☆☆☆ %d\n" VT_RST, this->actor.params);
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ んんがくく ☆☆☆☆☆ %d\n" VT_RST, this->path);
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ なぜか、セットできむぅあせん ☆☆☆☆☆ %d\n",
"☆☆☆☆☆ For some reason, I can't set it up ☆☆☆☆☆ %d\n") VT_RST,
this->actor.params);
PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ んんがくく ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Language ☆☆☆☆☆ %d\n") VT_RST, this->path);
PRINTF("\n\n");
Actor_Kill(&this->actor);
}

View file

@ -229,7 +229,7 @@ void func_80ABF28C(EnOkarinaTag* this, PlayState* play) {
break;
default:
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ オカリナ透明君デモ開始チェックエラー原 ☆☆☆☆☆ %d\n",
"☆☆☆☆☆ Ocarina Invisible-kun demo start check error source ☆☆☆☆☆ %d\n")
"☆☆☆☆☆ Ocarina Invisible-kun demo start check error -Hara ☆☆☆☆☆ %d\n")
VT_RST,
this->type);
Actor_Kill(&this->actor);

View file

@ -1203,7 +1203,7 @@ void EnOssan_State_BrowseLeftShelf(EnOssan* this, PlayState* play, Player* playe
s32 d;
if (!EnOssan_ReturnItemToShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2152);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2152);
this->delayTimer = 3;
return;
}
@ -1262,7 +1262,7 @@ void EnOssan_State_BrowseRightShelf(EnOssan* this, PlayState* play, Player* play
prevIndex = this->cursorIndex;
if (!EnOssan_ReturnItemToShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2244);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2244);
this->delayTimer = 3;
return;
}
@ -1327,7 +1327,7 @@ void EnOssan_State_LookFromShelfToShopkeeper(EnOssan* this, PlayState* play, Pla
void EnOssan_State_DisplayOnlyBombDialog(EnOssan* this, PlayState* play, Player* player) {
if (!EnOssan_ReturnItemToShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2355);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2355);
return;
}
Math_ApproachF(&this->cameraFaceAngle, 0.0f, 0.5f, 10.0f);
@ -1344,7 +1344,7 @@ void EnOssan_State_DisplayOnlyBombDialog(EnOssan* this, PlayState* play, Player*
void EnOssan_GiveItemWithFanfare(PlayState* play, EnOssan* this) {
Player* player = GET_PLAYER(play);
PRINTF("\n" VT_FGCOL(YELLOW) "初めて手にいれた!!" VT_RST "\n\n");
PRINTF("\n" VT_FGCOL(YELLOW) T("初めて手にいれた!!", "I got it for the first time!!") VT_RST "\n\n");
Actor_OfferGetItem(&this->actor, play, this->shelfSlots[this->cursorIndex]->getItemId, 120.0f, 120.0f);
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
@ -1354,7 +1354,7 @@ void EnOssan_GiveItemWithFanfare(PlayState* play, EnOssan* this) {
this->drawCursor = 0;
EnOssan_UpdateCameraDirection(this, play, 0.0f);
this->stateFlag = OSSAN_STATE_GIVE_ITEM_FANFARE;
PRINTF(VT_FGCOL(YELLOW) "持ち上げ開始!!" VT_RST "\n\n");
PRINTF(VT_FGCOL(YELLOW) T("持ち上げ開始!!", "Start lifting!!") VT_RST "\n\n");
}
void EnOssan_SetStateCantGetItem(PlayState* play, EnOssan* this, u16 textId) {
@ -1506,7 +1506,7 @@ void EnOssan_State_ItemSelected(EnOssan* this, PlayState* play2, Player* player)
PlayState* play = play2; // Necessary for OKs
if (!EnOssan_TakeItemOffShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2654);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2654);
return;
}
if (Message_GetState(&play->msgCtx) == TEXT_STATE_CHOICE &&
@ -1527,7 +1527,7 @@ void EnOssan_State_SelectMilkBottle(EnOssan* this, PlayState* play2, Player* pla
PlayState* play = play2; // Need for OK
if (!EnOssan_TakeItemOffShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2693);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2693);
return;
}
if (Message_GetState(&play->msgCtx) == TEXT_STATE_CHOICE &&
@ -1548,7 +1548,7 @@ void EnOssan_State_SelectWeirdEgg(EnOssan* this, PlayState* play2, Player* playe
PlayState* play = play2; // Needed for OK
if (!EnOssan_TakeItemOffShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2732);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2732);
return;
}
if (Message_GetState(&play->msgCtx) == TEXT_STATE_CHOICE &&
@ -1567,7 +1567,7 @@ void EnOssan_State_SelectWeirdEgg(EnOssan* this, PlayState* play2, Player* playe
void EnOssan_State_SelectUnimplementedItem(EnOssan* this, PlayState* play, Player* player) {
if (!EnOssan_TakeItemOffShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2771);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2771);
return;
}
if (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT && Message_ShouldAdvance(play)) {
@ -1578,10 +1578,10 @@ void EnOssan_State_SelectUnimplementedItem(EnOssan* this, PlayState* play, Playe
void EnOssan_State_SelectBombs(EnOssan* this, PlayState* play, Player* player) {
if (!EnOssan_TakeItemOffShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2798);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2798);
return;
}
PRINTF("店主の依頼 ( %d )\n", GET_INFTABLE(INFTABLE_FC));
PRINTF(T("店主の依頼 ( %d )\n", "Shopkeeper's request ( %d )\n"), GET_INFTABLE(INFTABLE_FC));
if (this->actor.params != OSSAN_TYPE_GORON) {
EnOssan_State_ItemSelected(this, play, player);
return;
@ -1605,7 +1605,7 @@ void EnOssan_State_SelectMaskItem(EnOssan* this, PlayState* play, Player* player
EnGirlA* item = this->shelfSlots[this->cursorIndex];
if (!EnOssan_TakeItemOffShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2845);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2845);
return;
}
if (talkState == TEXT_STATE_EVENT) {
@ -1722,7 +1722,7 @@ void EnOssan_State_ContinueShoppingPrompt(EnOssan* this, PlayState* play, Player
switch (play->msgCtx.choiceIndex) {
case 0:
PRINTF(VT_FGCOL(YELLOW) "★★★ 続けるよ!! ★★★" VT_RST "\n");
PRINTF(VT_FGCOL(YELLOW) T("★★★ 続けるよ!! ★★★", "★★★ I will continue!! ★★★") VT_RST "\n");
player->actor.shape.rot.y += 0x8000;
player->stateFlags2 |= PLAYER_STATE2_29;
Play_SetViewpoint(play, VIEWPOINT_PIVOT);
@ -1732,7 +1732,7 @@ void EnOssan_State_ContinueShoppingPrompt(EnOssan* this, PlayState* play, Player
break;
case 1:
default:
PRINTF(VT_FGCOL(YELLOW) "★★★ やめるよ!! ★★★" VT_RST "\n");
PRINTF(VT_FGCOL(YELLOW) T("★★★ やめるよ!! ★★★", "★★★ I'm quitting!! ★★★") VT_RST "\n");
EnOssan_EndInteraction(play, this);
break;
}

View file

@ -99,8 +99,8 @@ ActorProfile En_Rr_Profile = {
#if DEBUG_FEATURES
static char* sDropNames[] = {
// "type 7", "small magic jar", "arrow", "fairy", "20 rupees", "50 rupees"
"タイプ7 ", "魔法の壷小", "", "妖精 ", "20ルピー ", "50ルピー ",
T("タイプ7 ", "Type 7 "), T("魔法の壷小", "Small magic jar"), T("", "Arrow "),
T("妖精 ", "Fairy "), T("20ルピー ", "20 rupees "), T("50ルピー ", "50 rupees "),
};
#endif
@ -438,8 +438,7 @@ void EnRr_CollisionCheck(EnRr* this, PlayState* play) {
if (this->collider2.base.acFlags & AC_HIT) {
this->collider2.base.acFlags &= ~AC_HIT;
// "Kakin" (not sure what this means)
PRINTF(VT_FGCOL(GREEN) "カキン(%d)" VT_RST "\n", this->frameCount);
PRINTF(VT_FGCOL(GREEN) T("カキン(%d)", "Kakin (%d)!!") VT_RST "\n", this->frameCount);
hitPos.x = this->collider2.elem.acDmgInfo.hitPos.x;
hitPos.y = this->collider2.elem.acDmgInfo.hitPos.y;
hitPos.z = this->collider2.elem.acDmgInfo.hitPos.z;

View file

@ -86,7 +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) {
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ エラー原 ☆☆☆☆ \n", "☆☆☆☆☆ Spawn error ☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ エラー原 ☆☆☆☆ \n", "☆☆☆☆☆ Error -Hara ☆☆☆☆ \n") VT_RST);
Actor_Kill(&this->actor);
return;
}
@ -94,7 +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) {
PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ エラー原セカンド ☆☆☆☆ \n", "☆☆☆☆☆ Second spawn error ☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ エラー原セカンド ☆☆☆☆ \n", "☆☆☆☆☆ Second error -Hara ☆☆☆☆ \n") VT_RST);
Actor_Kill(&this->actor);
return;
}
@ -245,7 +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) {
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ ルピーでエラー原 ☆☆☆☆ \n", "☆☆☆☆☆ Rupee spawn error ☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ ルピーでエラー原 ☆☆☆☆ \n", "☆☆☆☆☆ Rupee error -Hara ☆☆☆☆ \n") VT_RST);
Actor_Kill(&this->actor);
return;
}

View file

@ -231,7 +231,8 @@ void EnTa_Init(Actor* thisx, PlayState* play2) {
this->actor.shape.shadowScale = 54.0f;
}
} else if (play->sceneId == SCENE_LON_LON_BUILDINGS) {
PRINTF(VT_FGCOL(CYAN) " ロンロン牧場の倉庫 の タロン\n" VT_RST);
PRINTF(VT_FGCOL(CYAN) T(" ロンロン牧場の倉庫 の タロン\n", " Talon in the warehouse at Lon Lon Ranch\n")
VT_RST);
if (!GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
Actor_Kill(&this->actor);
} else if (LINK_IS_ADULT) {

View file

@ -57,7 +57,7 @@ void EnTakaraMan_Init(Actor* thisx, PlayState* play) {
if (sTakaraIsInitialized) {
Actor_Kill(&this->actor);
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ もういてる原 ☆☆☆☆☆ \n", "☆☆☆☆☆ Original is already here ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ もういてる原 ☆☆☆☆☆ \n", "☆☆☆☆☆ I'm already here -Hara ☆☆☆☆☆ \n") VT_RST);
return;
}

View file

@ -11,6 +11,7 @@
#include "printf.h"
#include "segmented_address.h"
#include "sys_matrix.h"
#include "translation.h"
#include "z64play.h"
#include "assets/objects/object_shop_dungen/object_shop_dungen.h"
@ -40,8 +41,8 @@ ActorProfile En_Tana_Profile = {
//! next data entry will be dereferenced and print garbage, stopping any future printing.
//! In a non-matching context, this can cause a crash if the next item isn't a valid pointer.
static const char* sShelfTypes[] = {
"木の棚", // "Wooden Shelves"
"石の棚", // "Stone Shelves"
T("木の棚", "Wooden shelf"),
T("石の棚", "Stone shelf"),
#ifdef AVOID_UB
"",
#endif

View file

@ -135,12 +135,12 @@ void EnWallTubo_SetWallFall(EnWallTubo* this, PlayState* play) {
if ((wall != NULL) && (wall->dyna.actor.update != NULL)) {
wall->isHit = true;
// "You did it field!" (repeated 5 times)
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆ やった原! ☆☆☆☆☆ \n" VT_RST);
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆ やった原! ☆☆☆☆☆ \n" VT_RST);
PRINTF(VT_FGCOL(BLUE) "☆☆☆☆ やった原! ☆☆☆☆☆ \n" VT_RST);
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆ やった原! ☆☆☆☆☆ \n" VT_RST);
PRINTF(VT_FGCOL(CYAN) "☆☆☆☆ やった原! ☆☆☆☆☆ \n" VT_RST);
// "Hara" may stand for the developer name Kuzuhara
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆ やった原! ☆☆☆☆☆ \n", "☆☆☆☆ I did it! -Hara ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆ やった原! ☆☆☆☆☆ \n", "☆☆☆☆ I did it! -Hara ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(BLUE) T("☆☆☆☆ やった原! ☆☆☆☆☆ \n", "☆☆☆☆ I did it! -Hara ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆ やった原! ☆☆☆☆☆ \n", "☆☆☆☆ I did it! -Hara ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆ やった原! ☆☆☆☆☆ \n", "☆☆☆☆ I did it! -Hara ☆☆☆☆☆ \n") VT_RST);
}
Actor_Kill(&this->actor);

View file

@ -11,6 +11,7 @@
#include "sequence.h"
#include "sfx.h"
#include "terminal.h"
#include "translation.h"
#include "z_lib.h"
#include "z64audio.h"
#include "z64debug_display.h"
@ -90,11 +91,14 @@ void EnYabusameMark_Init(Actor* thisx, PlayState* play) {
EnYabusameMark* this = (EnYabusameMark*)thisx;
PRINTF("\n\n");
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ やぶさめまと ☆☆☆☆☆ %x\n" VT_RST, this->actor.params);
// "まと" could be a typo for "まこ", in which case this could be "Yabusame mark"
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ やぶさめまと ☆☆☆☆☆ %x\n", "☆☆☆☆☆ Yabusame mato ☆☆☆☆☆ %x\n") VT_RST,
this->actor.params);
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->typeIndex = this->actor.params;
this->actor.attentionRangeType = ATTENTION_RANGE_5;
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 種類インデックス \t ☆☆☆☆☆ %d\n" VT_RST, this->typeIndex);
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 種類インデックス \t ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Type index \t ☆☆☆☆☆ %d\n") VT_RST,
this->typeIndex);
switch (this->typeIndex) {
case 0:
this->subTypeIndex = 0;
@ -120,8 +124,9 @@ void EnYabusameMark_Init(Actor* thisx, PlayState* play) {
Actor_Kill(&this->actor);
return;
}
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 種類 ☆☆☆☆☆ %d\n" VT_RST, this->typeIndex);
PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ さらに分類 ☆☆☆☆☆ %d\n" VT_RST, this->subTypeIndex);
PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 種類 ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Type ☆☆☆☆☆ %d\n") VT_RST, this->typeIndex);
PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆☆ さらに分類 ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Further classification ☆☆☆☆☆ %d\n") VT_RST,
this->subTypeIndex);
this->actionFunc = func_80B42F74;
}
@ -177,8 +182,8 @@ void func_80B42F74(EnYabusameMark* this, PlayState* play) {
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ hit ☆☆☆☆☆ %f\n" VT_RST, sTargetPos[this->subTypeIndex].x);
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ hit ☆☆☆☆☆ %f\n" VT_RST, sTargetPos[this->subTypeIndex].y);
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ hit ☆☆☆☆☆ %f\n" VT_RST, sTargetPos[this->subTypeIndex].z);
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 小 ☆☆☆☆☆ %f\n" VT_RST, scoreDistance100);
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 大 ☆☆☆☆☆ %f\n" VT_RST, scoreDistance60);
PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 小 ☆☆☆☆☆ %f\n", "☆☆☆☆☆ small ☆☆☆☆☆ %f\n") VT_RST, scoreDistance100);
PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 大 ☆☆☆☆☆ %f\n", "☆☆☆☆☆ large ☆☆☆☆☆ %f\n") VT_RST, scoreDistance60);
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ point ☆☆☆☆☆ %d\n" VT_RST, scoreIndex);
PRINTF("\n\n");

View file

@ -6,7 +6,6 @@
#include "z_magic_wind.h"
#include "libu64/debug.h"
#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
@ -69,8 +68,7 @@ void MagicWind_Init(Actor* thisx, PlayState* play) {
case 1:
SkelCurve_SetAnim(&this->skelCurve, &sAnim, 60.0f, 0.0f, 60.0f, -1.0f);
MagicWind_SetupAction(this, MagicWind_Shrink);
// "Means start"
LOG_STRING("表示開始", "../z_magic_wind.c", 486);
LOG_STRING_T("表示開始", "Start displaying", "../z_magic_wind.c", 486);
Player_PlaySfx(player, NA_SE_PL_MAGIC_WIND_WARP);
break;
}
@ -80,8 +78,7 @@ void MagicWind_Destroy(Actor* thisx, PlayState* play) {
MagicWind* this = (MagicWind*)thisx;
SkelCurve_Destroy(play, &this->skelCurve);
Magic_Reset(play);
// "wipe out"
LOG_STRING("消滅", "../z_magic_wind.c", 505);
LOG_STRING_T("消滅", "Disappearance", "../z_magic_wind.c", 505);
}
void MagicWind_UpdateAlpha(f32 alpha) {
@ -100,8 +97,7 @@ void MagicWind_WaitForTimer(MagicWind* this, PlayState* play) {
return;
}
// "Means start"
LOG_STRING("表示開始", "../z_magic_wind.c", 539);
LOG_STRING_T("表示開始", "Start displaying", "../z_magic_wind.c", 539);
Player_PlaySfx(player, NA_SE_PL_MAGIC_WIND_NORMAL);
MagicWind_UpdateAlpha(1.0f);
MagicWind_SetupAction(this, MagicWind_Grow);

View file

@ -186,8 +186,7 @@ void MirRay_Init(Actor* thisx, PlayState* play) {
LOG_NUM("this->actor.arg_data", this->actor.params, "../z_mir_ray.c", 518);
if (this->actor.params >= 0xA) {
// "Reflected light generation failure"
LOG_STRING("反射光 発生失敗", "../z_mir_ray.c", 521);
LOG_STRING_T("反射光 発生失敗", "Reflected light generation failure", "../z_mir_ray.c", 521);
Actor_Kill(&this->actor);
}