T() in ovl_Obj_

This commit is contained in:
Dragorn421 2025-05-22 16:50:23 +02:00
parent c1ea60e6dc
commit f3bbb6196a
No known key found for this signature in database
GPG Key ID: 381AEBAF3D429335
13 changed files with 85 additions and 64 deletions

View File

@ -492,16 +492,17 @@ void ObjBean_Init(Actor* thisx, PlayState* play) {
path = PARAMS_GET_U(this->dyna.actor.params, 8, 5); path = PARAMS_GET_U(this->dyna.actor.params, 8, 5);
if (path == 0x1F) { if (path == 0x1F) {
PRINTF_COLOR_ERROR(); PRINTF_COLOR_ERROR();
// "No path data?" PRINTF(T("パスデータが無い?(%s %d)(arg_data %xH)\n", "No path data? (%s %d)(arg_data %xH)\n"),
PRINTF("パスデータが無い?(%s %d)(arg_data %xH)\n", "../z_obj_bean.c", 909, this->dyna.actor.params); "../z_obj_bean.c", 909, this->dyna.actor.params);
PRINTF_RST(); PRINTF_RST();
Actor_Kill(&this->dyna.actor); Actor_Kill(&this->dyna.actor);
return; return;
} }
if (play->pathList[path].count < 3) { if (play->pathList[path].count < 3) {
PRINTF_COLOR_ERROR(); PRINTF_COLOR_ERROR();
// "Incorrect number of path data" PRINTF(T("パスデータ数が不正(%s %d)(arg_data %xH)\n",
PRINTF("パスデータ数が不正(%s %d)(arg_data %xH)\n", "../z_obj_bean.c", 921, this->dyna.actor.params); "Path data count is invalid (%s %d)(arg_data %xH)\n"),
"../z_obj_bean.c", 921, this->dyna.actor.params);
PRINTF_RST(); PRINTF_RST();
Actor_Kill(&this->dyna.actor); Actor_Kill(&this->dyna.actor);
return; return;
@ -530,8 +531,8 @@ void ObjBean_Init(Actor* thisx, PlayState* play) {
ObjBean_SetupWaitForBean(this); ObjBean_SetupWaitForBean(this);
} }
this->dyna.actor.world.rot.z = this->dyna.actor.home.rot.z = this->dyna.actor.shape.rot.z = 0; this->dyna.actor.world.rot.z = this->dyna.actor.home.rot.z = this->dyna.actor.shape.rot.z = 0;
// "Magic bean tree lift" PRINTF(T("(魔法の豆の木リフト)(arg_data 0x%04x)\n", "(Magic beanstalk lift)(arg_data 0x%04x)\n"),
PRINTF("(魔法の豆の木リフト)(arg_data 0x%04x)\n", this->dyna.actor.params); this->dyna.actor.params);
} }
void ObjBean_Destroy(Actor* thisx, PlayState* play) { void ObjBean_Destroy(Actor* thisx, PlayState* play) {
@ -908,8 +909,7 @@ void ObjBean_Update(Actor* thisx, PlayState* play) {
if (ObjBean_CheckForHorseTrample(this, play)) { if (ObjBean_CheckForHorseTrample(this, play)) {
PRINTF_COLOR_CYAN(); PRINTF_COLOR_CYAN();
// "Horse and bean tree lift collision" PRINTF(T("馬と豆の木リフト衝突!!!\n", "Horse and beanstalk lift collide!!!\n"));
PRINTF("馬と豆の木リフト衝突!!!\n");
PRINTF_RST(); PRINTF_RST();
ObjBean_Break(this, play); ObjBean_Break(this, play);
DynaPoly_DisableCollision(play, &play->colCtx.dyna, this->dyna.bgId); DynaPoly_DisableCollision(play, &play->colCtx.dyna, this->dyna.bgId);

View File

@ -11,6 +11,7 @@
#include "ichain.h" #include "ichain.h"
#include "printf.h" #include "printf.h"
#include "sfx.h" #include "sfx.h"
#include "translation.h"
#include "z_en_item00.h" #include "z_en_item00.h"
#include "z_lib.h" #include "z_lib.h"
#include "z64effect.h" #include "z64effect.h"
@ -108,8 +109,8 @@ void ObjKibako_Init(Actor* thisx, PlayState* play) {
ObjKibako_InitCollider(&this->actor, play); ObjKibako_InitCollider(&this->actor, play);
CollisionCheck_SetInfo(&this->actor.colChkInfo, NULL, &sCCInfoInit); CollisionCheck_SetInfo(&this->actor.colChkInfo, NULL, &sCCInfoInit);
ObjKibako_SetupIdle(this); ObjKibako_SetupIdle(this);
// "wooden box" PRINTF(T("(dungeon keep 木箱)(arg_data 0x%04x)\n", "(dungeon keep wooden box)(arg_data 0x%04x)\n"),
PRINTF("(dungeon keep 木箱)(arg_data 0x%04x)\n", this->actor.params); this->actor.params);
} }
void ObjKibako_Destroy(Actor* thisx, PlayState* play2) { void ObjKibako_Destroy(Actor* thisx, PlayState* play2) {

View File

@ -11,6 +11,7 @@
#include "ichain.h" #include "ichain.h"
#include "printf.h" #include "printf.h"
#include "sfx.h" #include "sfx.h"
#include "translation.h"
#include "z_en_item00.h" #include "z_en_item00.h"
#include "z_lib.h" #include "z_lib.h"
#include "z64effect.h" #include "z64effect.h"
@ -140,9 +141,8 @@ void ObjKibako2_Init(Actor* thisx, PlayState* play) {
this->actionFunc = ObjKibako2_Idle; this->actionFunc = ObjKibako2_Idle;
this->dyna.actor.home.rot.z = this->dyna.actor.world.rot.z = this->dyna.actor.shape.rot.z = this->dyna.actor.home.rot.z = this->dyna.actor.world.rot.z = this->dyna.actor.shape.rot.z =
this->dyna.actor.world.rot.x = this->dyna.actor.shape.rot.x = 0; this->dyna.actor.world.rot.x = this->dyna.actor.shape.rot.x = 0;
// "Wooden box (stationary)" PRINTF(T("木箱(据置)(arg %04xH)(item %04xH %d)\n", "Wooden box (stationary)(arg %04xH)(item %04xH %d)\n"),
PRINTF("木箱(据置)(arg %04xH)(item %04xH %d)\n", this->dyna.actor.params, this->collectibleFlag, this->dyna.actor.params, this->collectibleFlag, this->dyna.actor.home.rot.x);
this->dyna.actor.home.rot.x);
} }
void ObjKibako2_Destroy(Actor* thisx, PlayState* play) { void ObjKibako2_Destroy(Actor* thisx, PlayState* play) {

View File

@ -17,6 +17,7 @@
#include "sfx.h" #include "sfx.h"
#include "sys_matrix.h" #include "sys_matrix.h"
#include "terminal.h" #include "terminal.h"
#include "translation.h"
#include "z_lib.h" #include "z_lib.h"
#include "z64effect.h" #include "z64effect.h"
#include "z64play.h" #include "z64play.h"
@ -203,8 +204,9 @@ void ObjLightswitch_Init(Actor* thisx, PlayState* play) {
this->actor.home.pos.y, this->actor.home.pos.z, 0, this->actor.home.rot.y, 0, this->actor.home.pos.y, this->actor.home.pos.z, 0, this->actor.home.rot.y, 0,
(0xFF << 8) | PUSHBLOCK_SMALL_START_ON) == NULL) { (0xFF << 8) | PUSHBLOCK_SMALL_START_ON) == NULL) {
PRINTF_COLOR_ERROR(); PRINTF_COLOR_ERROR();
// "Push-pull block occurrence failure" PRINTF(T("押引ブロック発生失敗(%s %d)(arg_data 0x%04x)\n",
PRINTF("押引ブロック発生失敗(%s %d)(arg_data 0x%04x)\n", "../z_obj_lightswitch.c", 452, this->actor.params); "Push-pull block failure(%s %d)(arg_data 0x%04x)\n"),
"../z_obj_lightswitch.c", 452, this->actor.params);
PRINTF_RST(); PRINTF_RST();
removeSelf = true; removeSelf = true;
} }
@ -214,8 +216,7 @@ void ObjLightswitch_Init(Actor* thisx, PlayState* play) {
if (removeSelf) { if (removeSelf) {
Actor_Kill(&this->actor); Actor_Kill(&this->actor);
} }
// "Light switch" PRINTF(T("(光スイッチ)(arg_data 0x%04x)\n", "(Light switch)(arg_data 0x%04x)\n"), this->actor.params);
PRINTF("(光スイッチ)(arg_data 0x%04x)\n", this->actor.params);
} }
void ObjLightswitch_Destroy(Actor* thisx, PlayState* play2) { void ObjLightswitch_Destroy(Actor* thisx, PlayState* play2) {

View File

@ -8,6 +8,7 @@
#include "printf.h" #include "printf.h"
#include "terminal.h" #include "terminal.h"
#include "translation.h"
#include "z64play.h" #include "z64play.h"
#include "z64player.h" #include "z64player.h"
@ -36,13 +37,12 @@ void ObjMakekinsuta_Init(Actor* thisx, PlayState* play) {
if (PARAMS_GET_NOSHIFT(this->actor.params, 13, 2) == 0x4000) { if (PARAMS_GET_NOSHIFT(this->actor.params, 13, 2) == 0x4000) {
PRINTF_COLOR_BLUE(); PRINTF_COLOR_BLUE();
// "Gold Star Enemy(arg_data %x)" PRINTF(T("金スタ発生敵(arg_data %x)\n", "Gold Star Enemy(arg_data %x)\n"), this->actor.params);
PRINTF("金スタ発生敵(arg_data %x)\n", this->actor.params);
PRINTF_RST(); PRINTF_RST();
} else { } else {
PRINTF_COLOR_WARNING(); PRINTF_COLOR_WARNING();
// "Invalid Argument (arg_data %x)(%s %d)" PRINTF(T("引数不正 (arg_data %x)(%s %d)\n", "Invalid Argument (arg_data %x)(%s %d)\n"), this->actor.params,
PRINTF("引数不正 (arg_data %x)(%s %d)\n", this->actor.params, "../z_obj_makekinsuta.c", 119); "../z_obj_makekinsuta.c", 119);
PRINTF_RST(); PRINTF_RST();
} }
this->actionFunc = func_80B98320; this->actionFunc = func_80B98320;

View File

@ -12,6 +12,7 @@
#include "sys_math3d.h" #include "sys_math3d.h"
#include "sys_matrix.h" #include "sys_matrix.h"
#include "terminal.h" #include "terminal.h"
#include "translation.h"
#include "z_lib.h" #include "z_lib.h"
#include "z64play.h" #include "z64play.h"
@ -78,9 +79,9 @@ void ObjMakeoshihiki_Init(Actor* thisx, PlayState* play) {
if (Actor_SpawnAsChild(&play->actorCtx, thisx, play, ACTOR_OBJ_OSHIHIKI, spawnPos->x, spawnPos->y, spawnPos->z, 0, if (Actor_SpawnAsChild(&play->actorCtx, thisx, play, ACTOR_OBJ_OSHIHIKI, spawnPos->x, spawnPos->y, spawnPos->z, 0,
block->rotY, 0, ((block->color << 6) & 0xC0) | (block->type & 0xF) | 0xFF00) == NULL) { block->rotY, 0, ((block->color << 6) & 0xC0) | (block->type & 0xF) | 0xFF00) == NULL) {
// "Push-pull block failure"
PRINTF_COLOR_ERROR(); PRINTF_COLOR_ERROR();
PRINTF(" : 押し引きブロック発生失敗(%s %d)\n", "../z_obj_makeoshihiki.c", 194); PRINTF(T(" : 押し引きブロック発生失敗(%s %d)\n", "Error : Push/pull block failure (%s %d)\n"),
"../z_obj_makeoshihiki.c", 194);
PRINTF_RST(); PRINTF_RST();
Actor_Kill(thisx); Actor_Kill(thisx);
return; return;

View File

@ -10,6 +10,7 @@
#include "libc64/qrand.h" #include "libc64/qrand.h"
#include "ichain.h" #include "ichain.h"
#include "printf.h" #include "printf.h"
#include "translation.h"
#include "z64play.h" #include "z64play.h"
#define FLAGS 0 #define FLAGS 0
@ -76,9 +77,9 @@ s32 ObjMure_SetCullingImpl(Actor* thisx, PlayState* play) {
result = true; result = true;
break; break;
default: default:
// "Error : Culling is not set.(%s %d)(arg_data 0x%04x)" PRINTF(T("Error : カリングの設定がされていません。(%s %d)(arg_data 0x%04x)\n",
PRINTF("Error : カリングの設定がされていません。(%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 204, "Error : Culling is not set. (%s %d)(arg_data 0x%04x)\n"),
this->actor.params); "../z_obj_mure.c", 204, this->actor.params);
return false; return false;
} }
return result; return result;
@ -100,11 +101,13 @@ void ObjMure_Init(Actor* thisx, PlayState* play) {
this->type = PARAMS_GET_U(thisx->params, 0, 5); this->type = PARAMS_GET_U(thisx->params, 0, 5);
if (this->ptn >= 4) { if (this->ptn >= 4) {
PRINTF("Error 群れな敵 (%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 237, thisx->params); PRINTF("Error " T("群れな敵", "Swarm of enemies") " (%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 237,
thisx->params);
Actor_Kill(&this->actor); Actor_Kill(&this->actor);
return; return;
} else if (this->type >= 5) { } else if (this->type >= 5) {
PRINTF("Error 群れな敵 (%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 245, thisx->params); PRINTF("Error " T("群れな敵", "Swarm of enemies") " (%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 245,
thisx->params);
Actor_Kill(&this->actor); Actor_Kill(&this->actor);
return; return;
} else if (!ObjMure_SetCulling(thisx, play)) { } else if (!ObjMure_SetCulling(thisx, play)) {
@ -112,12 +115,14 @@ void ObjMure_Init(Actor* thisx, PlayState* play) {
return; return;
} }
this->actionFunc = ObjMure_InitialAction; this->actionFunc = ObjMure_InitialAction;
PRINTF("群れな敵 (arg_data 0x%04x)(chNum(%d) ptn(%d) svNum(%d) type(%d))\n", thisx->params, this->chNum, this->ptn, PRINTF(T("群れな敵", "Swarm of enemies") " (arg_data 0x%04x)(chNum(%d) ptn(%d) svNum(%d) type(%d))\n",
this->svNum, this->type); thisx->params, this->chNum, this->ptn, this->svNum, this->type);
#if DEBUG_FEATURES #if DEBUG_FEATURES
if (ObjMure_GetMaxChildSpawns(this) <= 0) { if (ObjMure_GetMaxChildSpawns(this) <= 0) {
PRINTF("Warning : 個体数が設定されていません(%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 268, thisx->params); PRINTF("Warning : " T("個体数が設定されていません",
"The number of individuals is not set") "(%s %d)(arg_data 0x%04x)\n",
"../z_obj_mure.c", 268, thisx->params);
} }
#endif #endif
} }
@ -135,7 +140,7 @@ s32 ObjMure_GetMaxChildSpawns(ObjMure* this) {
void ObjMure_GetSpawnPos(Vec3f* outPos, Vec3f* inPos, s32 ptn, s32 idx) { void ObjMure_GetSpawnPos(Vec3f* outPos, Vec3f* inPos, s32 ptn, s32 idx) {
#if DEBUG_FEATURES #if DEBUG_FEATURES
if (ptn >= 4) { if (ptn >= 4) {
PRINTF("おかしなの (%s %d)\n", "../z_obj_mure.c", 307); PRINTF(T("おかしなの", "That's strange") " (%s %d)\n", "../z_obj_mure.c", 307);
} }
#endif #endif
@ -152,8 +157,9 @@ void ObjMure_SpawnActors0(ObjMure* this, PlayState* play) {
for (i = 0; i < maxChildren; i++) { for (i = 0; i < maxChildren; i++) {
#if DEBUG_FEATURES #if DEBUG_FEATURES
if (this->children[i] != NULL) { if (this->children[i] != NULL) {
// "Error: I already have a child(%s %d)(arg_data 0x%04x)" PRINTF(T("Error : 既に子供がいる(%s %d)(arg_data 0x%04x)\n",
PRINTF("Error : 既に子供がいる(%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 333, actor->params); "Error : I already have a child (%s %d)(arg_data 0x%04x)\n"),
"../z_obj_mure.c", 333, actor->params);
} }
#endif #endif
@ -169,7 +175,7 @@ void ObjMure_SpawnActors0(ObjMure* this, PlayState* play) {
this->children[i]->flags |= ACTOR_FLAG_GRASS_DESTROYED; this->children[i]->flags |= ACTOR_FLAG_GRASS_DESTROYED;
this->children[i]->room = actor->room; this->children[i]->room = actor->room;
} else { } else {
PRINTF("warning 発生失敗 (%s %d)\n", "../z_obj_mure.c", 359); PRINTF("warning " T("発生失敗", "failed to occur") " (%s %d)\n", "../z_obj_mure.c", 359);
} }
break; break;
default: default:
@ -180,7 +186,7 @@ void ObjMure_SpawnActors0(ObjMure* this, PlayState* play) {
if (this->children[i] != NULL) { if (this->children[i] != NULL) {
this->children[i]->room = actor->room; this->children[i]->room = actor->room;
} else { } else {
PRINTF("warning 発生失敗 (%s %d)\n", "../z_obj_mure.c", 382); PRINTF("warning " T("発生失敗", "failed to occur") " (%s %d)\n", "../z_obj_mure.c", 382);
} }
break; break;
} }
@ -197,7 +203,9 @@ void ObjMure_SpawnActors1(ObjMure* this, PlayState* play2) {
for (i = 0; i < maxChildren; i++) { for (i = 0; i < maxChildren; i++) {
#if DEBUG_FEATURES #if DEBUG_FEATURES
if (this->children[i] != NULL) { if (this->children[i] != NULL) {
PRINTF("Error : 既に子供がいる(%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 407, actor->params); PRINTF(T("Error : 既に子供がいる(%s %d)(arg_data 0x%04x)\n",
"Error : I already have a child (%s %d)(arg_data 0x%04x)\n"),
"../z_obj_mure.c", 407, actor->params);
} }
#endif #endif
@ -210,7 +218,7 @@ void ObjMure_SpawnActors1(ObjMure* this, PlayState* play2) {
this->children[i]->room = actor->room; this->children[i]->room = actor->room;
} else { } else {
this->childrenStates[i] = OBJMURE_CHILD_STATE_1; this->childrenStates[i] = OBJMURE_CHILD_STATE_1;
PRINTF("warning 発生失敗 (%s %d)\n", "../z_obj_mure.c", 438); PRINTF("warning " T("発生失敗", "failed to occur") " (%s %d)\n", "../z_obj_mure.c", 438);
} }
} }
} }

View File

@ -9,6 +9,7 @@
#include "ichain.h" #include "ichain.h"
#include "printf.h" #include "printf.h"
#include "sys_math3d.h" #include "sys_math3d.h"
#include "translation.h"
#include "z_lib.h" #include "z_lib.h"
#include "z64play.h" #include "z64play.h"
@ -117,8 +118,9 @@ void ObjMure2_SpawnActors(ObjMure2* this, PlayState* play) {
for (i = 0; i < D_80B9A818[actorNum]; i++) { for (i = 0; i < D_80B9A818[actorNum]; i++) {
if (this->actorSpawnPtrList[i] != NULL) { if (this->actorSpawnPtrList[i] != NULL) {
// "Warning : I already have a child (%s %d)(arg_data 0x%04x)" PRINTF(T("Warning : 既に子供がいる(%s %d)(arg_data 0x%04x)\n",
PRINTF("Warning : 既に子供がいる(%s %d)(arg_data 0x%04x)\n", "../z_obj_mure2.c", 269, this->actor.params); "Warning : I already have a child (%s %d)(arg_data 0x%04x)\n"),
"../z_obj_mure2.c", 269, this->actor.params);
continue; continue;
} }

View File

@ -230,9 +230,9 @@ void ObjOshihiki_CheckType(ObjOshihiki* this, PlayState* play) {
ObjOshihiki_InitDynapoly(this, play, &gPushBlockCol, 1); ObjOshihiki_InitDynapoly(this, play, &gPushBlockCol, 1);
break; break;
default: default:
// "Error : type cannot be determined" PRINTF(T("Error : タイプが判別できない(%s %d)(arg_data 0x%04x)\n",
PRINTF("Error : タイプが判別できない(%s %d)(arg_data 0x%04x)\n", "../z_obj_oshihiki.c", 444, "Error : type cannot be determined (%s %d)(arg_data 0x%04x)\n"),
this->dyna.actor.params); "../z_obj_oshihiki.c", 444, this->dyna.actor.params);
break; break;
} }
} }
@ -274,8 +274,9 @@ void ObjOshihiki_SetColor(ObjOshihiki* this, PlayState* play2) {
} }
if (i >= ARRAY_COUNT(sColors)) { if (i >= ARRAY_COUNT(sColors)) {
// "Error : scene_data_ID cannot be determined" PRINTF(T("Error : scene_data_ID が判別できない。(%s %d)\n",
PRINTF("Error : scene_data_ID が判別できない。(%s %d)\n", "../z_obj_oshihiki.c", 579); "Error : scene_data_ID cannot be determined. (%s %d)\n"),
"../z_obj_oshihiki.c", 579);
color->r = color->g = color->b = 255; color->r = color->g = color->b = 255;
} else { } else {
src = &sColors[i][paramsColorIdx]; src = &sColors[i][paramsColorIdx];
@ -320,8 +321,8 @@ void ObjOshihiki_Init(Actor* thisx, PlayState* play2) {
ObjOshihiki_SetColor(this, play); ObjOshihiki_SetColor(this, play);
ObjOshihiki_ResetFloors(this); ObjOshihiki_ResetFloors(this);
ObjOshihiki_SetupOnActor(this, play); ObjOshihiki_SetupOnActor(this, play);
// "(dungeon keep push-pull block)" PRINTF(T("(dungeon keep 押し引きブロック)(arg_data 0x%04x)\n", "(dungeon keep push-pull block)(arg_data 0x%04x)\n"),
PRINTF("(dungeon keep 押し引きブロック)(arg_data 0x%04x)\n", this->dyna.actor.params); this->dyna.actor.params);
} }
void ObjOshihiki_Destroy(Actor* thisx, PlayState* play) { void ObjOshihiki_Destroy(Actor* thisx, PlayState* play) {
@ -387,9 +388,9 @@ s32 ObjOshihiki_CheckFloor(ObjOshihiki* this, PlayState* play) {
s32 ObjOshihiki_CheckGround(ObjOshihiki* this, PlayState* play) { s32 ObjOshihiki_CheckGround(ObjOshihiki* this, PlayState* play) {
if (this->dyna.actor.world.pos.y <= BGCHECK_Y_MIN + 10.0f) { if (this->dyna.actor.world.pos.y <= BGCHECK_Y_MIN + 10.0f) {
// "Warning : Push-pull block fell too much" PRINTF(T("Warning : 押し引きブロック落ちすぎた(%s %d)(arg_data 0x%04x)\n",
PRINTF("Warning : 押し引きブロック落ちすぎた(%s %d)(arg_data 0x%04x)\n", "../z_obj_oshihiki.c", 809, "Warning : Push-pull block fell too much (%s %d)(arg_data 0x%04x)\n"),
this->dyna.actor.params); "../z_obj_oshihiki.c", 809, this->dyna.actor.params);
Actor_Kill(&this->dyna.actor); Actor_Kill(&this->dyna.actor);
return 0; return 0;
} }

View File

@ -339,7 +339,7 @@ void ObjSwitch_Init(Actor* thisx, PlayState* play) {
if (OBJSWITCH_FROZEN(&this->dyna.actor) && (ObjSwitch_SpawnIce(this, play) == NULL)) { if (OBJSWITCH_FROZEN(&this->dyna.actor) && (ObjSwitch_SpawnIce(this, play) == NULL)) {
PRINTF_COLOR_RED(); PRINTF_COLOR_RED();
PRINTF("Error : 氷発生失敗 (%s %d)\n", "../z_obj_switch.c", 732); PRINTF("Error : " T("氷発生失敗", "Ice generation failure") " (%s %d)\n", "../z_obj_switch.c", 732);
PRINTF_RST(); PRINTF_RST();
this->dyna.actor.params &= ~OBJSWITCH_FROZEN_FLAG; this->dyna.actor.params &= ~OBJSWITCH_FROZEN_FLAG;
} }

View File

@ -13,6 +13,7 @@
#include "printf.h" #include "printf.h"
#include "sfx.h" #include "sfx.h"
#include "sys_matrix.h" #include "sys_matrix.h"
#include "translation.h"
#include "z_lib.h" #include "z_lib.h"
#include "z64ocarina.h" #include "z64ocarina.h"
#include "z64play.h" #include "z64play.h"
@ -149,10 +150,9 @@ void ObjTimeblock_Init(Actor* thisx, PlayState* play) {
ObjTimeblock_SetupAltBehaviourNotVisible(this); ObjTimeblock_SetupAltBehaviourNotVisible(this);
} }
// "Block of time" PRINTF(T("時のブロック", "Time Block") " (<arg> %04xH <type> save:%d color:%d range:%d move:%d)\n",
PRINTF("時のブロック (<arg> %04xH <type> save:%d color:%d range:%d move:%d)\n", (u16)this->dyna.actor.params, (u16)this->dyna.actor.params, this->unk_177, this->dyna.actor.home.rot.z & 7,
this->unk_177, this->dyna.actor.home.rot.z & 7, PARAMS_GET_U(this->dyna.actor.params, 11, 3), PARAMS_GET_U(this->dyna.actor.params, 11, 3), PARAMS_GET_U(this->dyna.actor.params, 10, 1));
PARAMS_GET_U(this->dyna.actor.params, 10, 1));
} }
void ObjTimeblock_Destroy(Actor* thisx, PlayState* play) { void ObjTimeblock_Destroy(Actor* thisx, PlayState* play) {
@ -233,8 +233,9 @@ void ObjTimeblock_Normal(ObjTimeblock* this, PlayState* play) {
// Possibly points the camera to this actor // Possibly points the camera to this actor
OnePointCutscene_Attention(play, &this->dyna.actor); OnePointCutscene_Attention(play, &this->dyna.actor);
// "◯◯◯◯ Time Block Attention Camera (frame counter %d)\n" PRINTF(T("◯◯◯◯ Time Block 注目カメラ (frame counter %d)\n",
PRINTF("◯◯◯◯ Time Block 注目カメラ (frame counter %d)\n", play->state.frames); "◯◯◯◯ Time Block Attention Camera (frame counter %d)\n"),
play->state.frames);
this->demoEffectFirstPartTimer = 12; this->demoEffectFirstPartTimer = 12;
@ -291,8 +292,9 @@ void ObjTimeblock_AltBehaviorVisible(ObjTimeblock* this, PlayState* play) {
ObjTimeblock_SpawnDemoEffect(this, play); ObjTimeblock_SpawnDemoEffect(this, play);
this->demoEffectTimer = 160; this->demoEffectTimer = 160;
OnePointCutscene_Attention(play, &this->dyna.actor); OnePointCutscene_Attention(play, &this->dyna.actor);
// "Time Block Attention Camera (frame counter)" PRINTF(T("◯◯◯◯ Time Block 注目カメラ (frame counter %d)\n",
PRINTF("◯◯◯◯ Time Block 注目カメラ (frame counter %d)\n", play->state.frames); "◯◯◯◯ Time Block Attention Camera (frame counter %d)\n"),
play->state.frames);
ObjTimeblock_ToggleSwitchFlag(play, PARAMS_GET_U(this->dyna.actor.params, 0, 6)); ObjTimeblock_ToggleSwitchFlag(play, PARAMS_GET_U(this->dyna.actor.params, 0, 6));
} }

View File

@ -11,6 +11,7 @@
#include "ichain.h" #include "ichain.h"
#include "printf.h" #include "printf.h"
#include "sfx.h" #include "sfx.h"
#include "translation.h"
#include "z_en_item00.h" #include "z_en_item00.h"
#include "z_lib.h" #include "z_lib.h"
#include "z64effect.h" #include "z64effect.h"
@ -124,7 +125,7 @@ s32 ObjTsubo_SnapToFloor(ObjTsubo* this, PlayState* play) {
Math_Vec3f_Copy(&this->actor.home.pos, &this->actor.world.pos); Math_Vec3f_Copy(&this->actor.home.pos, &this->actor.world.pos);
return true; return true;
} else { } else {
PRINTF("地面に付着失敗\n"); PRINTF(T("地面に付着失敗\n", "Failed to attach to ground\n"));
return false; return false;
} }
} }
@ -149,11 +150,12 @@ void ObjTsubo_Init(Actor* thisx, PlayState* play) {
} }
this->requiredObjectSlot = Object_GetSlot(&play->objectCtx, sObjectIds[PARAMS_GET_U(this->actor.params, 8, 1)]); this->requiredObjectSlot = Object_GetSlot(&play->objectCtx, sObjectIds[PARAMS_GET_U(this->actor.params, 8, 1)]);
if (this->requiredObjectSlot < 0) { if (this->requiredObjectSlot < 0) {
PRINTF("Error : バンク危険! (arg_data 0x%04x)(%s %d)\n", this->actor.params, "../z_obj_tsubo.c", 410); PRINTF("Error : " T("バンク危険!", "Bank danger!") " (arg_data 0x%04x)(%s %d)\n", this->actor.params,
"../z_obj_tsubo.c", 410);
Actor_Kill(&this->actor); Actor_Kill(&this->actor);
} else { } else {
ObjTsubo_SetupWaitForObject(this); ObjTsubo_SetupWaitForObject(this);
PRINTF("(dungeon keep 壷)(arg_data 0x%04x)\n", this->actor.params); PRINTF("(dungeon keep " T("", "pot") ")(arg_data 0x%04x)\n", this->actor.params);
} }
} }

View File

@ -15,6 +15,7 @@
#include "sys_math3d.h" #include "sys_math3d.h"
#include "sys_matrix.h" #include "sys_matrix.h"
#include "terminal.h" #include "terminal.h"
#include "translation.h"
#include "z_lib.h" #include "z_lib.h"
#include "z64ocarina.h" #include "z64ocarina.h"
#include "z64play.h" #include "z64play.h"
@ -234,7 +235,7 @@ void ObjWarp2block_Init(Actor* thisx, PlayState* play2) {
ObjWarp2block_SetInactive(this); ObjWarp2block_SetInactive(this);
} }
PRINTF("時のブロック(ワープ2) (<arg> %04xH <type> color:%d range:%d)\n", PRINTF(T("時のブロック(ワープ2)", "Time Block (Warp 2)") " (<arg> %04xH <type> color:%d range:%d)\n",
PARAMS_GET_U(this->dyna.actor.params, 0, 16), this->dyna.actor.home.rot.z & 7, PARAMS_GET_U(this->dyna.actor.params, 0, 16), this->dyna.actor.home.rot.z & 7,
PARAMS_GET_U(this->dyna.actor.params, 11, 3)); PARAMS_GET_U(this->dyna.actor.params, 11, 3));
} }
@ -279,7 +280,9 @@ void func_80BA24F8(ObjWarp2block* this, PlayState* play) {
this->unk_174++; this->unk_174++;
if (this->unk_174 > 60) { if (this->unk_174 > 60) {
PRINTF_COLOR_ERROR(); PRINTF_COLOR_ERROR();
PRINTF("Error : 時のブロック(ワープ2)が対でセットされていません(%s %d)\n", "../z_obj_warp2block.c", 505); PRINTF(T("Error : 時のブロック(ワープ2)が対でセットされていません(%s %d)\n",
"Error : Time Blocks (Warp 2) are not set in pairs (%s %d)\n"),
"../z_obj_warp2block.c", 505);
PRINTF_RST(); PRINTF_RST();
Actor_Kill(&this->dyna.actor); Actor_Kill(&this->dyna.actor);
} }