1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-04-08 15:46:42 +00:00

T() macro in overlays 1 (#2486)

* More T()

* More T(), up to (including) z_bg_mori*

* home pos~~e~~
This commit is contained in:
Dragorn421 2025-03-26 19:15:06 +01:00 committed by GitHub
parent b45f3eba2a
commit 05faab33f1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
32 changed files with 137 additions and 139 deletions

View file

@ -903,9 +903,9 @@ void Environment_PrintDebugInfo(PlayState* play, Gfx** gfx) {
GfxPrint_SetPos(&printer, 22, 6);
if (!IS_DAY) {
GfxPrint_Printf(&printer, "%s", "YORU"); // "night"
GfxPrint_Printf(&printer, "%s", T("YORU", "NIGHT"));
} else {
GfxPrint_Printf(&printer, "%s", "HIRU"); // "day"
GfxPrint_Printf(&printer, "%s", T("HIRU", "DAY"));
}
*gfx = GfxPrint_Close(&printer);

View file

@ -107,7 +107,9 @@ s32 BgBdanObjects_GetProperty(BgBdanObjects* this, s32 arg1) {
case JABU_OBJECTS_GET_PROP_CAM_SETTING_DUNGEON1:
return this->cameraSetting == CAM_SET_DUNGEON1;
default:
PRINTF("Bg_Bdan_Objects_Get_Contact_Ru1\nそんな受信モードは無い%d!!!!!!!!\n", arg1);
PRINTF(T("Bg_Bdan_Objects_Get_Contact_Ru1\nそんな受信モードは無い%d!!!!!!!!\n",
"Bg_Bdan_Objects_Get_Contact_Ru1\nThere is no such receiving mode %d!!!!!!!!\n"),
arg1);
return -1;
}
}
@ -124,7 +126,9 @@ void BgBdanObjects_SetProperty(BgBdanObjects* this, s32 arg1) {
SET_INFTABLE(INFTABLE_146);
break;
default:
PRINTF("Bg_Bdan_Objects_Set_Contact_Ru1\nそんな送信モードは無い%d!!!!!!!!\n", arg1);
PRINTF(T("Bg_Bdan_Objects_Set_Contact_Ru1\nそんな送信モードは無い%d!!!!!!!!\n",
"Bg_Bdan_Objects_Set_Contact_Ru1\nThere is no such transmission mode %d!!!!!!!!\n"),
arg1);
}
}

View file

@ -206,11 +206,13 @@ void BgBdanSwitch_Init(Actor* thisx, PlayState* play) {
}
break;
default:
PRINTF("不正な ARG_DATA(arg_data 0x%04x)(%s %d)\n", this->dyna.actor.params, "../z_bg_bdan_switch.c", 454);
PRINTF(T("不正な", "Invalid") " ARG_DATA(arg_data 0x%04x)(%s %d)\n", this->dyna.actor.params,
"../z_bg_bdan_switch.c", 454);
Actor_Kill(&this->dyna.actor);
return;
}
PRINTF("(巨大魚ダンジョン 専用スイッチ)(arg_data 0x%04x)\n", this->dyna.actor.params);
PRINTF(T("(巨大魚ダンジョン 専用スイッチ)", "(Giant Fish Dungeon Special Switch)") "(arg_data 0x%04x)\n",
this->dyna.actor.params);
}
void BgBdanSwitch_Destroy(Actor* thisx, PlayState* play) {

View file

@ -47,7 +47,7 @@ void BgBomGuard_Init(Actor* thisx, PlayState* play) {
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
PRINTF("\n\n");
PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ 透明ガード出現 ☆☆☆☆☆ \n" VT_RST);
PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ " T("透明ガード出現", "Transparent guard appears") " ☆☆☆☆☆ \n" VT_RST);
thisx->scale.x = 1.0f;
thisx->scale.y = 1.0f;

View file

@ -155,8 +155,8 @@ void BgBombwall_Init(Actor* thisx, PlayState* play) {
func_8086ED50(this, play);
}
PRINTF("(field keep 汎用爆弾壁)(arg_data 0x%04x)(angY %d)\n", this->dyna.actor.params,
this->dyna.actor.shape.rot.y);
PRINTF("(field keep " T("汎用爆弾壁", "general purpose bomb wall") ")(arg_data 0x%04x)(angY %d)\n",
this->dyna.actor.params, this->dyna.actor.shape.rot.y);
}
void BgBombwall_DestroyCollision(BgBombwall* this, PlayState* play) {

View file

@ -72,7 +72,9 @@ void BgBowlWall_Init(Actor* thisx, PlayState* play) {
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
this->initPos = this->dyna.actor.world.pos;
PRINTF("\n\n");
PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ ボーリングおじゃま壁発生 ☆☆☆☆☆ %d\n" VT_RST, this->dyna.actor.params);
PRINTF(
VT_FGCOL(GREEN) " ☆☆☆☆☆ " T("ボーリングおじゃま壁発生", "Bowling obstacle wall appears") " ☆☆☆☆☆ %d\n" VT_RST,
this->dyna.actor.params);
this->actionFunc = BgBowlWall_SpawnBullseyes;
this->dyna.actor.scale.x = this->dyna.actor.scale.y = this->dyna.actor.scale.z = 1.0f;
}

View file

@ -102,8 +102,7 @@ void BgDyYoseizo_Init(Actor* thisx, PlayState* play2) {
this->actor.focus.pos = this->actor.world.pos;
if (play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
// "Great Fairy Fountain"
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 大妖精の泉 ☆☆☆☆☆ %d\n" VT_RST, play->spawn);
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ " T("大妖精の泉", "Great Fairy Fountain") " ☆☆☆☆☆ %d\n" VT_RST, play->spawn);
SkelAnime_InitFlex(play, &this->skelAnime, &gGreatFairySkel, &gGreatFairySittingTransitionAnim,
this->jointTable, this->morphTable, 28);
#if OOT_VERSION < NTSC_1_1
@ -113,8 +112,7 @@ void BgDyYoseizo_Init(Actor* thisx, PlayState* play2) {
}
#endif
} else {
// "Stone/Jewel Fairy Fountain"
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 石妖精の泉 ☆☆☆☆☆ %d\n" VT_RST, play->spawn);
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ " T("石妖精の泉", "Stone Fairy Fountain") " ☆☆☆☆☆ %d\n" VT_RST, play->spawn);
SkelAnime_InitFlex(play, &this->skelAnime, &gGreatFairySkel, &gGreatFairyLayingDownTransitionAnim,
this->jointTable, this->morphTable, 28);
#if OOT_VERSION < NTSC_1_1
@ -251,8 +249,7 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, PlayState* play) {
#endif
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_1);
// "Mode"
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ もうど ☆☆☆☆☆ %d\n" VT_RST, play->msgCtx.ocarinaMode);
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ " T("もうど", "Mode") " ☆☆☆☆☆ %d\n" VT_RST, play->msgCtx.ocarinaMode);
givingReward = false;
if (play->sceneId != SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
@ -277,24 +274,22 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, PlayState* play) {
switch (this->fountainType) {
case FAIRY_UPGRADE_MAGIC:
if (!gSaveContext.save.info.playerData.isMagicAcquired || BREG(2)) {
// "Spin Attack speed UP"
PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ 回転切り速度UP ☆☆☆☆☆ \n" VT_RST);
PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ " T("回転切り速度UP", "Turning speed UP") " ☆☆☆☆☆ \n" VT_RST);
this->givingSpell = true;
givingReward = true;
}
break;
case FAIRY_UPGRADE_DOUBLE_MAGIC:
if (!gSaveContext.save.info.playerData.isDoubleMagicAcquired) {
// "Magic Meter doubled"
PRINTF(VT_FGCOL(YELLOW) " ☆☆☆☆☆ 魔法ゲージメーター倍増 ☆☆☆☆☆ \n" VT_RST);
PRINTF(VT_FGCOL(YELLOW) " ☆☆☆☆☆ " T("魔法ゲージメーター倍増",
"Magic Gauge Meter Doubled") " ☆☆☆☆☆ \n" VT_RST);
this->givingSpell = true;
givingReward = true;
}
break;
case FAIRY_UPGRADE_DOUBLE_DEFENSE:
if (!gSaveContext.save.info.playerData.isDoubleDefenseAcquired) {
// "Damage halved"
PRINTF(VT_FGCOL(MAGENTA) " ☆☆☆☆☆ ダメージ半減 ☆☆☆☆☆ \n" VT_RST);
PRINTF(VT_FGCOL(MAGENTA) " ☆☆☆☆☆ " T("ダメージ半減", "Damage halved") " ☆☆☆☆☆ \n" VT_RST);
this->givingSpell = true;
givingReward = true;
}

View file

@ -60,7 +60,7 @@ void BgGateShutter_Init(Actor* thisx, PlayState* play) {
thisx->scale.y = 1.0f;
thisx->scale.z = 1.0f;
PRINTF("\n\n");
PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ 柵でたなぁ ☆☆☆☆☆ \n" VT_RST);
PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ " T("柵でたなぁ", "There's a fence") " ☆☆☆☆☆ \n" VT_RST);
this->actionFunc = func_8087828C;
}

View file

@ -104,7 +104,7 @@ void BgHakaShip_WaitForSong(BgHakaShip* this, PlayState* play) {
if (this->counter == 0) {
this->counter = 130;
this->actionFunc = BgHakaShip_CutsceneStationary;
PRINTF("シーン 外輪船 ... アァクション!!\n");
PRINTF(T("シーン 外輪船 ... アァクション!!\n", "Scene paddle steamer... action!!\n"));
OnePointCutscene_Init(play, 3390, 999, &this->dyna.actor, CAM_ID_MAIN);
}
}

View file

@ -162,8 +162,7 @@ void BgHeavyBlock_Init(Actor* thisx, PlayState* play) {
this->actionFunc = BgHeavyBlock_Wait;
break;
}
// "Largest Block Save Bit %x"
PRINTF(VT_FGCOL(CYAN) " 最大 ブロック セーブビット %x\n" VT_RST, thisx->params);
PRINTF(VT_FGCOL(CYAN) T(" 最大 ブロック セーブビット %x\n", " Largest Block Save Bit %x\n") VT_RST, thisx->params);
}
void BgHeavyBlock_Destroy(Actor* thisx, PlayState* play) {

View file

@ -85,9 +85,9 @@ void BgHidanCurtain_Init(Actor* thisx, PlayState* play) {
Actor_SetFocus(&this->actor, 20.0f);
this->type = PARAMS_GET_U(thisx->params, 12, 4);
if (this->type > 6) {
// "Type is not set"
PRINTF("Error : object のタイプが設定されていない(%s %d)(arg_data 0x%04x)\n", "../z_bg_hidan_curtain.c", 352,
this->actor.params);
PRINTF(T("Error : object のタイプが設定されていない",
"Error : object type is not set") "(%s %d)(arg_data 0x%04x)\n",
"../z_bg_hidan_curtain.c", 352, this->actor.params);
Actor_Kill(&this->actor);
return;
}
@ -98,9 +98,9 @@ void BgHidanCurtain_Init(Actor* thisx, PlayState* play) {
thisx->params &= 0x3F;
if (DEBUG_FEATURES && ((this->actor.params < 0) || (this->actor.params > 0x3F))) {
// "Save bit is not set"
PRINTF("Warning : object のセーブビットが設定されていない(%s %d)(arg_data 0x%04x)\n", "../z_bg_hidan_curtain.c",
373, this->actor.params);
PRINTF(T("Warning : object のセーブビットが設定されていない",
"Warning : object save bit is not set") "(%s %d)(arg_data 0x%04x)\n",
"../z_bg_hidan_curtain.c", 373, this->actor.params);
}
Actor_SetScale(&this->actor, hcParams->scale);

View file

@ -192,13 +192,11 @@ void BgHidanHamstep_Init(Actor* thisx, PlayState* play) {
this->dyna.actor.minVelocityY = -12.0f;
if (PARAMS_GET_U(this->dyna.actor.params, 0, 8) == 0) {
// "Fire Temple Object [Hammer Step] appears"
PRINTF("◯◯◯炎の神殿オブジェクト【ハンマーステップ】出現\n");
PRINTF(T("◯◯◯炎の神殿オブジェクト【ハンマーステップ】出現\n", "◯◯◯Fire Temple object [Hammer Step] appears\n"));
if (BgHidanHamstep_SpawnChildren(this, play) == 0) {
step = this;
// "[Hammer Step] I can't create a step!"
PRINTF("【ハンマーステップ】 足場産れない!!\n");
PRINTF(T("【ハンマーステップ】 足場産れない!!\n", "[Hammer Step] I can't create a step!!\n"));
PRINTF("%s %d\n", "../z_bg_hidan_hamstep.c", 425);
while (step != NULL) {
@ -362,8 +360,9 @@ void func_80888A58(BgHidanHamstep* this, PlayState* play) {
#if DEBUG_FEATURES
if (PARAMS_GET_U(this->dyna.actor.params, 0, 8) <= 0 || PARAMS_GET_U(this->dyna.actor.params, 0, 8) >= 6) {
// "[Hammer Step] arg_data strange (arg_data = %d)"
PRINTF("【ハンマーステップ】 arg_data おかしい (arg_data = %d)", this->dyna.actor.params);
PRINTF(T("【ハンマーステップ】 arg_data おかしい (arg_data = %d)",
"[Hammer Step] arg_data strange (arg_data = %d)"),
this->dyna.actor.params);
PRINTF("%s %d\n", "../z_bg_hidan_hamstep.c", 696);
}
#endif

View file

@ -79,14 +79,15 @@ void BgHidanKousi_Init(Actor* thisx, PlayState* play) {
DynaPolyActor_Init(&this->dyna, 0);
Actor_SetFocus(thisx, 50.0f);
PRINTF("◯◯◯炎の神殿オブジェクト【格子(arg_data : %0x)】出現 (%d %d)\n", thisx->params,
PARAMS_GET_U(thisx->params, 0, 8), PARAMS_GET_U((s32)thisx->params, 8, 8));
PRINTF(T("◯◯◯炎の神殿オブジェクト【格子(arg_data : %0x)】出現 (%d %d)\n",
"◯◯◯ Fire Temple object [lattice (arg_data : %0x)] appeared (%d %d)\n"),
thisx->params, PARAMS_GET_U(thisx->params, 0, 8), PARAMS_GET_U((s32)thisx->params, 8, 8));
Actor_ProcessInitChain(thisx, sInitChain);
#if DEBUG_FEATURES
if (PARAMS_GET_U(thisx->params, 0, 8) < 0 || PARAMS_GET_U(thisx->params, 0, 8) >= 3) {
PRINTF("arg_data おかしい 【格子】\n");
PRINTF(T("arg_data おかしい 【格子】\n", "arg_data is strange [lattice]\n"));
}
#endif

View file

@ -129,9 +129,10 @@ void BgHidanKowarerukabe_Init(Actor* thisx, PlayState* play) {
if (PARAMS_GET_U(this->dyna.actor.params, 0, 8) < CRACKED_STONE_FLOOR ||
PARAMS_GET_U(this->dyna.actor.params, 0, 8) > LARGE_BOMBABLE_WALL) {
// "Error: Fire Temple Breakable Walls. arg_data I can't determine the (%s %d)(arg_data 0x%04x)"
PRINTF("Error : 炎の神殿 壊れる壁 の arg_data が判別出来ない(%s %d)(arg_data 0x%04x)\n",
"../z_bg_hidan_kowarerukabe.c", 254, this->dyna.actor.params);
PRINTF(
T("Error : 炎の神殿 壊れる壁 の arg_data が判別出来ない",
"Error : arg_data for the Fire Temple breakable wall cannot be determined") "(%s %d)(arg_data 0x%04x)\n",
"../z_bg_hidan_kowarerukabe.c", 254, this->dyna.actor.params);
Actor_Kill(&this->dyna.actor);
return;
}
@ -145,8 +146,8 @@ void BgHidanKowarerukabe_Init(Actor* thisx, PlayState* play) {
Actor_SetScale(&this->dyna.actor, 0.1f);
BgHidanKowarerukabe_InitColliderSphere(this, play);
BgHidanKowarerukabe_OffsetActorYPos(this);
// "(fire walls, floors, destroyed by bombs)(arg_data 0x%04x)"
PRINTF("(hidan 爆弾で壊れる 壁 床)(arg_data 0x%04x)\n", this->dyna.actor.params);
PRINTF(T("(hidan 爆弾で壊れる 壁 床)", "(hidan bomb destroys walls and floors)") "(arg_data 0x%04x)\n",
this->dyna.actor.params);
}
void BgHidanKowarerukabe_Destroy(Actor* thisx, PlayState* play) {

View file

@ -102,8 +102,7 @@ void BgJya1flift_InitCollision(Actor* thisx, PlayState* play) {
void BgJya1flift_Init(Actor* thisx, PlayState* play) {
BgJya1flift* this = (BgJya1flift*)thisx;
// "1 F lift"
PRINTF("(1Fリフト)(flag %d)(room %d)\n", sIsSpawned, play->roomCtx.curRoom.num);
PRINTF(T("(1Fリフト)", "1F lift") "(flag %d)(room %d)\n", sIsSpawned, play->roomCtx.curRoom.num);
this->hasInitialized = false;
if (sIsSpawned) {
Actor_Kill(thisx);

View file

@ -83,8 +83,8 @@ void BgJyaBigmirror_HandleCobra(Actor* thisx, PlayState* play) {
#if DEBUG_FEATURES
if (curCobraInfo->cobra->dyna.actor.update == NULL) {
// "Cobra deleted"
PRINTF("Error : コブラ削除された (%s %d)\n", "../z_bg_jya_bigmirror.c", 203);
PRINTF("Error : " T("コブラ削除された", "Cobra deleted") " (%s %d)\n", "../z_bg_jya_bigmirror.c",
203);
}
#endif
} else {
@ -94,8 +94,8 @@ void BgJyaBigmirror_HandleCobra(Actor* thisx, PlayState* play) {
this->actor.child = NULL;
if (curCobraInfo->cobra == NULL) {
// "Cobra generation failed"
PRINTF("Error : コブラ発生失敗 (%s %d)\n", "../z_bg_jya_bigmirror.c", 221);
PRINTF("Error : " T("コブラ発生失敗", "Cobra generation failed") " (%s %d)\n",
"../z_bg_jya_bigmirror.c", 221);
}
}
}
@ -162,8 +162,8 @@ void BgJyaBigmirror_HandleMirRay(Actor* thisx, PlayState* play) {
#if DEBUG_FEATURES
if (this->lightBeams[i] == NULL) {
// "Mir Ray generation failed"
PRINTF("Error : Mir Ray 発生失敗 (%s %d)\n", "../z_bg_jya_bigmirror.c", 310);
PRINTF("Error : " T("Mir Ray 発生失敗", "Mir Ray generation failed") " (%s %d)\n",
"../z_bg_jya_bigmirror.c", 310);
}
#endif
}
@ -194,8 +194,7 @@ void BgJyaBigmirror_Init(Actor* thisx, PlayState* play) {
this->spawned = true;
this->mirRayObjectSlot = -1;
// "jya Bigmirror"
PRINTF("(jya 大鏡)(arg_data 0x%04x)\n", this->actor.params);
PRINTF("(jya " T("大鏡", "Big mirror") ")(arg_data 0x%04x)\n", this->actor.params);
}
void BgJyaBigmirror_Destroy(Actor* thisx, PlayState* play) {

View file

@ -193,9 +193,8 @@ void BgJyaBombchuiwa_SpawnLightRay(BgJyaBombchuiwa* this, PlayState* play) {
BgJyaBombchuiwa_SetDrawFlags(this, 4);
if (Actor_Spawn(&play->actorCtx, play, ACTOR_MIR_RAY, this->actor.world.pos.x, this->actor.world.pos.y,
this->actor.world.pos.z, 0, 0, 0, 0) == NULL) {
// "Occurrence failure"
PRINTF(" : Mir_Ray 発生失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_jya_bombchuiwa.c", 410,
this->actor.params);
PRINTF(T(" : Mir_Ray 発生失敗", "Error : Mir_Ray failed to occur") "(%s %d)(arg_data 0x%04x)\n",
"../z_bg_jya_bombchuiwa.c", 410, this->actor.params);
}
}

View file

@ -100,10 +100,9 @@ void BgJyaBombiwa_Init(Actor* thisx, PlayState* play) {
if (PARAMS_GET_U(this->dyna.actor.params, 0, 6) != 0x29) {
PRINTF_COLOR_WARNING();
// "Warning: Switch Number changed (%s %d)(SW %d)"
PRINTF(" : Switch Number が変更された(%s %d)(SW %d)\n", "../z_bg_jya_bombiwa.c", 218,
PARAMS_GET_U(this->dyna.actor.params, 0, 6));
PRINTF(T(" : Switch Number が変更された",
"Warning : Switch Number has been changed") "(%s %d)(SW %d)\n",
"../z_bg_jya_bombiwa.c", 218, PARAMS_GET_U(this->dyna.actor.params, 0, 6));
PRINTF_RST();
}
BgJyaBombiwa_SetupDynaPoly(this, play, &gBombiwaCol, 0);
@ -113,8 +112,7 @@ void BgJyaBombiwa_Init(Actor* thisx, PlayState* play) {
} else {
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
// "Rock destroyed by jya bomb"
PRINTF("(jya 爆弾で破壊岩)(arg_data 0x%04x)\n", this->dyna.actor.params);
PRINTF(T("(jya 爆弾で破壊岩)", "(jya bomb destroys rocks)") "(arg_data 0x%04x)\n", this->dyna.actor.params);
}
}

View file

@ -151,8 +151,8 @@ void BgJyaCobra_SpawnRay(BgJyaCobra* this, PlayState* play) {
#if DEBUG_FEATURES
if (this->dyna.actor.child == NULL) {
PRINTF_COLOR_RED();
// " : Mir Ray occurrence failure"
PRINTF(" : Mir Ray 発生失敗 (%s %d)\n", "../z_bg_jya_cobra.c", 270);
PRINTF(T(" : Mir Ray 発生失敗", "Error : Mir Ray failed to occur") " (%s %d)\n",
"../z_bg_jya_cobra.c", 270);
PRINTF_RST();
}
#endif
@ -437,8 +437,7 @@ void BgJyaCobra_Init(Actor* thisx, PlayState* play) {
BgJyaCobra_UpdateShadowFromTop(this);
}
// "(jya cobra)"
PRINTF("(jya コブラ)(arg_data 0x%04x)(act %x)(txt %x)(txt16 %x)\n", this->dyna.actor.params, this,
PRINTF("(jya " T("コブラ", "cobra") ")(arg_data 0x%04x)(act %x)(txt %x)(txt16 %x)\n", this->dyna.actor.params, this,
&this->shadowTextureBuffer, COBRA_SHADOW_TEX_PTR(this));
}

View file

@ -117,7 +117,8 @@ void BgJyaIronobj_SpawnPillarParticles(BgJyaIronobj* this, PlayState* play, EnIk
#if DEBUG_FEATURES
if (enIk->unk_2FF <= 0 || enIk->unk_2FF >= 4) {
PRINTF("Error 攻撃方法が分からない(%s %d)\n", "../z_bg_jya_ironobj.c", 233);
PRINTF(T("Error 攻撃方法が分からない(%s %d)\n", "Error I don't know how to attack(%s %d)\n"),
"../z_bg_jya_ironobj.c", 233);
return;
}
#endif
@ -183,7 +184,8 @@ void BgJyaIronobj_SpawnThroneParticles(BgJyaIronobj* this, PlayState* play, EnIk
#if DEBUG_FEATURES
if (enIk->unk_2FF <= 0 || enIk->unk_2FF >= 4) {
PRINTF("Error 攻撃方法が分からない(%s %d)\n", "../z_bg_jya_ironobj.c", 362);
PRINTF(T("Error 攻撃方法が分からない(%s %d)\n", "Error I don't know how to attack(%s %d)\n"),
"../z_bg_jya_ironobj.c", 362);
return;
}
#endif

View file

@ -75,7 +75,7 @@ void BgJyaKanaami_Init(Actor* thisx, PlayState* play) {
} else {
func_80899880(this);
}
PRINTF("(jya 金網)(arg_data 0x%04x)\n", this->dyna.actor.params);
PRINTF("(jya " T("金網", "wire mesh") ")(arg_data 0x%04x)\n", this->dyna.actor.params);
}
void BgJyaKanaami_Destroy(Actor* thisx, PlayState* play) {

View file

@ -66,8 +66,7 @@ void BgJyaLift_Init(Actor* thisx, PlayState* play) {
return;
}
// "Goddess lift CT"
PRINTF("女神リフト CT\n");
PRINTF(T("女神リフト CT\n", "Goddess lift CT\n"));
BgJyaLift_InitDynapoly(this, play, &gLiftCol, 0);
Actor_ProcessInitChain(thisx, sInitChain);
if (Flags_GetSwitch(play, PARAMS_GET_U(thisx->params, 0, 6))) {
@ -85,8 +84,7 @@ void BgJyaLift_Destroy(Actor* thisx, PlayState* play) {
if (this->isSpawned) {
// "Goddess Lift DT"
PRINTF("女神リフト DT\n");
PRINTF(T("女神リフト DT\n", "Goddess lift DT\n"));
sIsSpawned = false;
DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId);
}

View file

@ -133,14 +133,14 @@ void BgJyaZurerukabe_Init(Actor* thisx, PlayState* play) {
if (i == ARRAY_COUNT(D_8089B9F0)) {
PRINTF_COLOR_ERROR();
PRINTF("home pos が変更されたみたい(%s %d)(arg_data 0x%04x)\n", "../z_bg_jya_zurerukabe.c", 299,
this->dyna.actor.params);
PRINTF(T("home pos が変更されたみたい", "It seems that the home pos has changed") "(%s %d)(arg_data 0x%04x)\n",
"../z_bg_jya_zurerukabe.c", 299, this->dyna.actor.params);
PRINTF_RST();
}
this->unk_16E = D_8089B9F8[this->unk_168];
func_8089B7B4(this);
PRINTF("(jya ずれる壁)(arg_data 0x%04x)\n", this->dyna.actor.params);
PRINTF("(jya " T("ずれる壁", "sliding wall") ")(arg_data 0x%04x)\n", this->dyna.actor.params);
}
void BgJyaZurerukabe_Destroy(Actor* thisx, PlayState* play) {

View file

@ -208,8 +208,9 @@ void BgMizuBwall_Init(Actor* thisx, PlayState* play) {
Collider_InitTris(play, &this->collider);
if (!Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInitFloor,
this->colliderElements)) {
PRINTF("Error : コリジョンデータセット失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_mizu_bwall.c", 484,
this->dyna.actor.params);
PRINTF(T("Error : コリジョンデータセット失敗",
"Error : Collision data set failure") "(%s %d)(arg_data 0x%04x)\n",
"../z_bg_mizu_bwall.c", 484, this->dyna.actor.params);
Actor_Kill(&this->dyna.actor);
} else {
sin = Math_SinS(this->dyna.actor.shape.rot.y);
@ -248,8 +249,9 @@ void BgMizuBwall_Init(Actor* thisx, PlayState* play) {
Collider_InitTris(play, &this->collider);
if (!Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInitRutoWall,
this->colliderElements)) {
PRINTF("Error : コリジョンデータセット失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_mizu_bwall.c", 558,
this->dyna.actor.params);
PRINTF(T("Error : コリジョンデータセット失敗",
"Error : Collision data set failure") "(%s %d)(arg_data 0x%04x)\n",
"../z_bg_mizu_bwall.c", 558, this->dyna.actor.params);
Actor_Kill(&this->dyna.actor);
} else {
sin = Math_SinS(this->dyna.actor.shape.rot.y);
@ -288,8 +290,9 @@ void BgMizuBwall_Init(Actor* thisx, PlayState* play) {
Collider_InitTris(play, &this->collider);
if (!Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInitUnusedWall,
this->colliderElements)) {
PRINTF("Error : コリジョンデータセット失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_mizu_bwall.c", 638,
this->dyna.actor.params);
PRINTF(T("Error : コリジョンデータセット失敗",
"Error : Collision data set failure") "(%s %d)(arg_data 0x%04x)\n",
"../z_bg_mizu_bwall.c", 638, this->dyna.actor.params);
Actor_Kill(&this->dyna.actor);
} else {
sin = Math_SinS(this->dyna.actor.shape.rot.y);
@ -330,8 +333,9 @@ void BgMizuBwall_Init(Actor* thisx, PlayState* play) {
Collider_InitTris(play, &this->collider);
if (!Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInitStingerWall,
this->colliderElements)) {
PRINTF("Error : コリジョンデータセット失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_mizu_bwall.c", 724,
this->dyna.actor.params);
PRINTF(T("Error : コリジョンデータセット失敗",
"Error : Collision data set failure") "(%s %d)(arg_data 0x%04x)\n",
"../z_bg_mizu_bwall.c", 724, this->dyna.actor.params);
Actor_Kill(&this->dyna.actor);
} else {
sin = Math_SinS(this->dyna.actor.shape.rot.y);
@ -372,8 +376,9 @@ void BgMizuBwall_Init(Actor* thisx, PlayState* play) {
Collider_InitTris(play, &this->collider);
if (!Collider_SetTris(play, &this->collider, &this->dyna.actor, &sTrisInitStingerWall,
this->colliderElements)) {
PRINTF("Error : コリジョンデータセット失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_mizu_bwall.c", 798,
this->dyna.actor.params);
PRINTF(T("Error : コリジョンデータセット失敗",
"Error : Collision data set failure") "(%s %d)(arg_data 0x%04x)\n",
"../z_bg_mizu_bwall.c", 798, this->dyna.actor.params);
Actor_Kill(&this->dyna.actor);
} else {
sin = Math_SinS(this->dyna.actor.shape.rot.y);

View file

@ -120,7 +120,8 @@ void BgMizuWater_Init(Actor* thisx, PlayState* play) {
switch (this->type) {
case 0:
if (bREG(15) == 0) {
PRINTF("<コンストラクト>%x %x %x\n", Flags_GetSwitch(play, WATER_TEMPLE_WATER_F1_FLAG),
PRINTF(T("<コンストラクト>", "<construct>") "%x %x %x\n",
Flags_GetSwitch(play, WATER_TEMPLE_WATER_F1_FLAG),
Flags_GetSwitch(play, WATER_TEMPLE_WATER_F2_FLAG),
Flags_GetSwitch(play, WATER_TEMPLE_WATER_F3_FLAG));
}

View file

@ -83,17 +83,16 @@ void BgMoriBigst_Init(Actor* thisx, PlayState* play) {
s32 pad;
BgMoriBigst* this = (BgMoriBigst*)thisx;
// "mori (bigST.keyceiling)"
PRINTF("mori (bigST.鍵型天井)(arg : %04x)(sw %d)(noE %d)(roomC %d)(playerPosY %f)\n", this->dyna.actor.params,
Flags_GetSwitch(play, PARAMS_GET_U(this->dyna.actor.params, 8, 6)),
PRINTF(T("mori (bigST.鍵型天井)",
"mori (bigST. key-shaped ceiling)") "(arg : %04x)(sw %d)(noE %d)(roomC %d)(playerPosY %f)\n",
this->dyna.actor.params, Flags_GetSwitch(play, PARAMS_GET_U(this->dyna.actor.params, 8, 6)),
Flags_GetTempClear(play, this->dyna.actor.room), Flags_GetClear(play, this->dyna.actor.room),
GET_PLAYER(play)->actor.world.pos.y);
BgMoriBigst_InitDynapoly(this, play, &gMoriBigstCol, 0);
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
this->moriTexObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_MORI_TEX);
if (this->moriTexObjectSlot < 0) {
// "【Big Stalfos key ceiling】 bank danger!"
PRINTF("【ビッグスタルフォス鍵型天井】 バンク危険!\n");
PRINTF(T("【ビッグスタルフォス鍵型天井】 バンク危険!\n", "[Big Stalfos Key-shaped Ceiling] Bank danger!\n"));
PRINTF("%s %d\n", "../z_bg_mori_bigst.c", 234);
Actor_Kill(&this->dyna.actor);
return;
@ -150,8 +149,7 @@ void BgMoriBigst_SetupStalfosFight(BgMoriBigst* this, PlayState* play) {
this->dyna.actor.child = NULL;
this->dyna.actor.home.rot.z++;
} else {
// "Second Stalfos failure"
PRINTF("Warning : 第2スタルフォス発生失敗\n");
PRINTF(T("Warning : 第2スタルフォス発生失敗\n", "Warning : Second Stalfos failed to generate\n"));
}
Flags_SetClear(play, this->dyna.actor.room);
}
@ -212,8 +210,7 @@ void BgMoriBigst_SetupStalfosPairFight(BgMoriBigst* this, PlayState* play) {
this->dyna.actor.child = NULL;
this->dyna.actor.home.rot.z++;
} else {
// "Warning: 3-1 Stalfos failure"
PRINTF("Warning : 第3-1スタルフォス発生失敗\n");
PRINTF(T("Warning : 第3-1スタルフォス発生失敗\n", "Warning : 3-1 Stalfos generation failure\n"));
}
stalfos2 = Actor_SpawnAsChild(&play->actorCtx, &this->dyna.actor, play, ACTOR_EN_TEST, 170.0f, 827.0f, -3260.0f, 0,
0, 0, 5);
@ -221,8 +218,7 @@ void BgMoriBigst_SetupStalfosPairFight(BgMoriBigst* this, PlayState* play) {
this->dyna.actor.child = NULL;
this->dyna.actor.home.rot.z++;
} else {
// "Warning: 3-2 Stalfos failure"
PRINTF("Warning : 第3-2スタルフォス発生失敗\n");
PRINTF(T("Warning : 第3-2スタルフォス発生失敗\n", "Warning : 3-2 Stalfos generation failure\n"));
}
Flags_SetClear(play, this->dyna.actor.room);
}

View file

@ -103,16 +103,16 @@ void BgMoriElevator_Init(Actor* thisx, PlayState* play) {
#if DEBUG_FEATURES
if (this->moriTexObjectSlot < 0) {
Actor_Kill(thisx);
// "Forest Temple obj elevator Bank Danger!"
PRINTF("Error : 森の神殿 obj elevator バンク危険!(%s %d)\n", "../z_bg_mori_elevator.c", 277);
PRINTF(T("Error : 森の神殿 obj elevator バンク危険!(%s %d)\n",
"Error : Forest Temple obj elevator bank danger! (%s %d)\n"),
"../z_bg_mori_elevator.c", 277);
return;
}
#endif
switch (sIsSpawned) {
case false:
// "Forest Temple elevator CT"
PRINTF("森の神殿 elevator CT\n");
PRINTF(T("森の神殿 elevator CT\n", "Forest Temple elevator CT\n"));
sIsSpawned = true;
this->dyna.actor.room = -1;
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
@ -131,8 +131,7 @@ void BgMoriElevator_Destroy(Actor* thisx, PlayState* play) {
BgMoriElevator* this = (BgMoriElevator*)thisx;
if (this->unk_172 == 0) {
// "Forest Temple elevator DT"
PRINTF("森の神殿 elevator DT\n");
PRINTF(T("森の神殿 elevator DT\n", "Forest Temple elevator DT\n"));
DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId);
sIsSpawned = false;
}
@ -155,8 +154,9 @@ void BgMoriElevator_WaitAfterInit(BgMoriElevator* this, PlayState* play) {
this->dyna.actor.world.pos.y = 73.0f;
BgMoriElevator_SetupSetPosition(this);
} else {
// "Error: Forest Temple obj elevator Room setting is dangerous"
PRINTF("Error : 森の神殿 obj elevator 部屋設定が危険(%s %d)\n", "../z_bg_mori_elevator.c", 371);
PRINTF(T("Error : 森の神殿 obj elevator 部屋設定が危険(%s %d)\n",
"Error : Forest Temple obj elevator room setting is dangerous(%s %d)\n"),
"../z_bg_mori_elevator.c", 371);
}
} else {
BgMoriElevator_SetupSetPosition(this);
@ -217,7 +217,9 @@ void BgMoriElevator_SetPosition(BgMoriElevator* this, PlayState* play) {
BgMoriElevator_StopMovement(this);
} else {
// "Error:Forest Temple obj elevator Room setting is dangerous(%s %d)"
PRINTF("Error : 森の神殿 obj elevator 部屋設定が危険(%s %d)\n", "../z_bg_mori_elevator.c", 479);
PRINTF(T("Error : 森の神殿 obj elevator 部屋設定が危険(%s %d)\n",
"Error : Forest Temple obj elevator room setting is dangerous(%s %d)\n"),
"../z_bg_mori_elevator.c", 479);
}
} else if ((play->roomCtx.curRoom.num == 2) && (this->dyna.actor.world.pos.y < -275.0f)) {
this->targetY = 233.0f;

View file

@ -137,9 +137,8 @@ s32 BgMoriHashigo_SpawnLadder(BgMoriHashigo* this, PlayState* play) {
if (ladder != NULL) {
return true;
} else {
// "Ladder failure"
PRINTF("Error : 梯子の発生失敗(%s %d)(arg_data 0x%04x)\n", "../z_bg_mori_hashigo.c", 220,
this->dyna.actor.params);
PRINTF("Error : " T("梯子の発生失敗", "Ladder spawn failure") "(%s %d)(arg_data 0x%04x)\n",
"../z_bg_mori_hashigo.c", 220, this->dyna.actor.params);
return false;
}
}
@ -179,14 +178,13 @@ void BgMoriHashigo_Init(Actor* thisx, PlayState* play) {
}
this->moriTexObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_MORI_TEX);
if (this->moriTexObjectSlot < 0) {
// "Bank danger!"
PRINTF("Error : バンク危険!(arg_data 0x%04x)(%s %d)\n", this->dyna.actor.params, "../z_bg_mori_hashigo.c",
312);
PRINTF("Error : " T("バンク危険!", "Bank danger!") "(arg_data 0x%04x)(%s %d)\n", this->dyna.actor.params,
"../z_bg_mori_hashigo.c", 312);
Actor_Kill(&this->dyna.actor);
} else {
BgMoriHashigo_SetupWaitForMoriTex(this);
// "(Forest Temple Ladder and its clasp)"
PRINTF("(森の神殿 梯子とその留め金)(arg_data 0x%04x)\n", this->dyna.actor.params);
PRINTF(T("(森の神殿 梯子とその留め金)", "(Forest Temple Ladder and its clasp)") "(arg_data 0x%04x)\n",
this->dyna.actor.params);
}
}

View file

@ -93,9 +93,8 @@ void BgMoriHashira4_Init(Actor* thisx, PlayState* play) {
this->moriTexObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_MORI_TEX);
if (this->moriTexObjectSlot < 0) {
Actor_Kill(&this->dyna.actor);
// "Bank danger!"
PRINTF("Error : バンク危険!(arg_data 0x%04x)(%s %d)\n", this->dyna.actor.params, "../z_bg_mori_hashira4.c",
196);
PRINTF("Error : " T("バンク危険!", "Bank danger!") "(arg_data 0x%04x)(%s %d)\n", this->dyna.actor.params,
"../z_bg_mori_hashira4.c", 196);
return;
}
if ((this->dyna.actor.params != 0) && Flags_GetSwitch(play, this->switchFlag)) {
@ -104,8 +103,7 @@ void BgMoriHashira4_Init(Actor* thisx, PlayState* play) {
}
Actor_SetFocus(&this->dyna.actor, 50.0f);
BgMoriHashira4_SetupWaitForMoriTex(this);
// "(4 pillars of the Forest Temple) Bank danger"
PRINTF("(森の神殿 4本柱)(arg_data 0x%04x)\n", this->dyna.actor.params);
PRINTF(T("(森の神殿 4本柱)", "Forest Temple 4 Pillars") "(arg_data 0x%04x)\n", this->dyna.actor.params);
sUnkTimer = 0;
}

View file

@ -78,16 +78,15 @@ void BgMoriIdomizu_Init(Actor* thisx, PlayState* play) {
this->moriTexObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_MORI_TEX);
if (this->moriTexObjectSlot < 0) {
Actor_Kill(&this->actor);
// "Bank danger!"
PRINTF("Error : バンク危険!(arg_data 0x%04x)(%s %d)\n", this->actor.params, "../z_bg_mori_idomizu.c", 202);
PRINTF("Error : " T("バンク危険!", "Bank danger!") "(arg_data 0x%04x)(%s %d)\n", this->actor.params,
"../z_bg_mori_idomizu.c", 202);
return;
}
BgMoriIdomizu_SetupWaitForMoriTex(this);
sIsSpawned = true;
this->isLoaded = true;
this->actor.room = -1;
// "Forest Temple well water"
PRINTF("(森の神殿 井戸水)(arg_data 0x%04x)\n", this->actor.params);
PRINTF(T("(森の神殿 井戸水)", "(Forest Temple well water)") "(arg_data 0x%04x)\n", this->actor.params);
}
void BgMoriIdomizu_Destroy(Actor* thisx, PlayState* play) {

View file

@ -60,8 +60,9 @@ void BgMoriKaitenkabe_Init(Actor* thisx, PlayState* play) {
BgMoriKaitenkabe* this = (BgMoriKaitenkabe*)thisx;
CollisionHeader* colHeader = NULL;
// "Forest Temple object 【Rotating Wall (arg_data: 0x% 04x)】 appears"
PRINTF("◯◯◯森の神殿オブジェクト【回転壁(arg_data : 0x%04x)】出現 \n", this->dyna.actor.params);
PRINTF(T("◯◯◯森の神殿オブジェクト【回転壁(arg_data : 0x%04x)】出現 \n",
"◯◯◯Forest Temple object [Rotating wall(arg_data : 0x%04x)] appears \n"),
this->dyna.actor.params);
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
DynaPolyActor_Init(&this->dyna, 0);
CollisionHeader_GetVirtual(&gMoriKaitenkabeCol, &colHeader);
@ -69,8 +70,8 @@ void BgMoriKaitenkabe_Init(Actor* thisx, PlayState* play) {
this->moriTexObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_MORI_TEX);
if (this->moriTexObjectSlot < 0) {
Actor_Kill(&this->dyna.actor);
// "【Rotating wall】 Bank danger!"
PRINTF("【回転壁】 バンク危険!(%s %d)\n", "../z_bg_mori_kaitenkabe.c", 176);
PRINTF(T("【回転壁】 バンク危険!(%s %d)\n", "[Rotating wall] Bank danger! (%s %d)\n"),
"../z_bg_mori_kaitenkabe.c", 176);
} else {
this->actionFunc = BgMoriKaitenkabe_WaitForMoriTex;
}

View file

@ -65,24 +65,25 @@ void BgMoriRakkatenjo_Init(Actor* thisx, PlayState* play) {
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
#if DEBUG_FEATURES
// "Forest Temple obj. Falling Ceiling"
PRINTF("森の神殿 obj. 落下天井 (home posY %f)\n", this->dyna.actor.home.pos.y);
PRINTF(T("森の神殿 obj. 落下天井", "Forest Temple obj. Falling Ceiling") " (home posY %f)\n",
this->dyna.actor.home.pos.y);
if ((fabsf(1991.0f - this->dyna.actor.home.pos.x) > 0.001f) ||
(fabsf(683.0f - this->dyna.actor.home.pos.y) > 0.001f) ||
(fabsf(-2520.0f - this->dyna.actor.home.pos.z) > 0.001f)) {
// "The set position has been changed. Let's fix the program."
PRINTF("Warning : セット位置が変更されています。プログラムを修正しましょう。\n");
PRINTF(T("Warning : セット位置が変更されています。プログラムを修正しましょう。\n",
"Warning : The set position has been changed. Let's fix the program.\n"));
}
if (this->dyna.actor.home.rot.y != 0x8000) {
// "The set Angle has changed. Let's fix the program."
PRINTF("Warning : セット Angle が変更されています。プログラムを修正しましょう。\n");
PRINTF(T("Warning : セット Angle が変更されています。プログラムを修正しましょう。\n",
"Warning : The set Angle has changed. Let's fix the program.\n"));
}
#endif
this->moriTexObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_MORI_TEX);
if (this->moriTexObjectSlot < 0) {
// "Forest Temple obj Falling Ceiling Bank Danger!"
PRINTF("Error : 森の神殿 obj 落下天井 バンク危険!(%s %d)\n", "../z_bg_mori_rakkatenjo.c", 205);
PRINTF(T("Error : 森の神殿 obj 落下天井 バンク危険!(%s %d)\n",
"Error : Forest Temple obj Falling Ceiling Bank danger! (%s %d)\n"),
"../z_bg_mori_rakkatenjo.c", 205);
Actor_Kill(&this->dyna.actor);
return;
}