T() heishi1-3

This commit is contained in:
Dragorn421 2025-05-26 12:48:41 +02:00
parent 416a00b28e
commit 26c82ed30d
No known key found for this signature in database
GPG Key ID: 381AEBAF3D429335
3 changed files with 63 additions and 54 deletions

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 "z64debug_display.h" #include "z64debug_display.h"
#include "z64effect.h" #include "z64effect.h"
@ -97,27 +98,32 @@ void EnHeishi1_Init(Actor* thisx, PlayState* play2) {
this->animParams[i] = sAnimParamsInit[this->type][i]; this->animParams[i] = sAnimParamsInit[this->type][i];
} }
// "type" PRINTF(VT_FGCOL(GREEN) T(" 種類☆☆☆☆☆☆☆☆☆☆☆☆☆ %d\n", " type ☆☆☆☆☆☆☆☆☆☆☆☆☆ %d\n") VT_RST,
PRINTF(VT_FGCOL(GREEN) " 種類☆☆☆☆☆☆☆☆☆☆☆☆☆ %d\n" VT_RST, this->type); this->type);
// "path data"
PRINTF(VT_FGCOL(YELLOW) " れえるでぇたぁ☆☆☆☆☆☆☆☆ %d\n" VT_RST, this->path); PRINTF(VT_FGCOL(YELLOW) " れえるでぇたぁ☆☆☆☆☆☆☆☆ %d\n" VT_RST, this->path);
PRINTF(VT_FGCOL(MAGENTA) " anime_frame_speed ☆☆☆☆☆☆ %f\n" VT_RST, this->animSpeed); PRINTF(VT_FGCOL(MAGENTA) " anime_frame_speed ☆☆☆☆☆☆ %f\n" VT_RST, this->animSpeed);
// "interpolation frame" PRINTF(VT_FGCOL(MAGENTA) T(" 補間フレーム☆☆☆☆☆☆☆☆☆ %f\n", " interpolation frame ☆☆☆☆☆☆☆☆☆ %f\n") VT_RST,
PRINTF(VT_FGCOL(MAGENTA) " 補間フレーム☆☆☆☆☆☆☆☆☆ %f\n" VT_RST, this->animMorphFrames); this->animMorphFrames);
// "targeted movement speed value between points" PRINTF(VT_FGCOL(MAGENTA)
PRINTF(VT_FGCOL(MAGENTA) " point間の移動スピード目標値 ☆ %f\n" VT_RST, this->moveSpeedTarget); T(" point間の移動スピード目標値 ☆ %f\n", " target speed of movement between points ☆ %f\n") VT_RST,
// "maximum movement speed value between points" this->moveSpeedTarget);
PRINTF(VT_FGCOL(MAGENTA) " point間の移動スピード最大 ☆☆ %f\n" VT_RST, this->moveSpeedMax); PRINTF(VT_FGCOL(MAGENTA)
// "(body) targeted turning angle speed value" T(" point間の移動スピード最大 ☆☆ %f\n", " maximum speed of movement between points ☆☆ %f\n") VT_RST,
PRINTF(VT_FGCOL(MAGENTA) " (体)反転アングルスピード目標値 %f\n" VT_RST, this->bodyTurnSpeedTarget); this->moveSpeedMax);
// "(body) maximum turning angle speed" PRINTF(VT_FGCOL(MAGENTA)
PRINTF(VT_FGCOL(MAGENTA) " (体)反転アングルスピード最大☆ %f\n" VT_RST, this->bodyTurnSpeedMax); T(" (体)反転アングルスピード目標値 %f\n", " (body) reversing angle speed target value %f\n") VT_RST,
// "(head) targeted turning angle speed value" this->bodyTurnSpeedTarget);
PRINTF(VT_FGCOL(MAGENTA) " (頭)反転アングルスピード加算値 %f\n" VT_RST, this->headTurnSpeedScale); PRINTF(VT_FGCOL(MAGENTA)
// "(head) maximum turning angle speed" T(" (体)反転アングルスピード最大☆ %f\n", " (body) maximum turning angle speed ☆ %f\n") VT_RST,
PRINTF(VT_FGCOL(MAGENTA) " (頭)反転アングルスピード最大☆ %f\n" VT_RST, this->headTurnSpeedMax); this->bodyTurnSpeedMax);
PRINTF(VT_FGCOL(GREEN) " 今時間 %d\n" VT_RST, ((void)0, gSaveContext.save.dayTime)); // "current time" PRINTF(VT_FGCOL(MAGENTA)
PRINTF(VT_FGCOL(YELLOW) " チェック時間 %d\n" VT_RST, CLOCK_TIME(17, 30) - 1); // "check time" T(" (頭)反転アングルスピード加算値 %f\n", " (head) reverse angle speed additional value %f\n") VT_RST,
this->headTurnSpeedScale);
PRINTF(VT_FGCOL(MAGENTA)
T(" (頭)反転アングルスピード最大☆ %f\n", " (head) maximum turning angle speed ☆ %f\n") VT_RST,
this->headTurnSpeedMax);
PRINTF(VT_FGCOL(GREEN) T(" 今時間 %d\n", " Current time %d\n") VT_RST, ((void)0, gSaveContext.save.dayTime));
PRINTF(VT_FGCOL(YELLOW) T(" チェック時間 %d\n", " Check time %d\n") VT_RST, CLOCK_TIME(17, 30) - 1);
PRINTF("\n\n"); PRINTF("\n\n");
if (this->path == 3) { if (this->path == 3) {
@ -389,7 +395,7 @@ void EnHeishi1_WaitNight(EnHeishi1* this, PlayState* play) {
if (this->actor.xzDistToPlayer < 100.0f) { if (this->actor.xzDistToPlayer < 100.0f) {
Message_StartTextbox(play, 0x702D, &this->actor); Message_StartTextbox(play, 0x702D, &this->actor);
Sfx_PlaySfxCentered(NA_SE_SY_FOUND); Sfx_PlaySfxCentered(NA_SE_SY_FOUND);
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 発見! ☆☆☆☆☆ \n" VT_RST); // "Discovered!" PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 発見! ☆☆☆☆☆ \n", "☆☆☆☆☆ Discovered! ☆☆☆☆☆ \n") VT_RST);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_1); Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_1);
this->actionFunc = EnHeishi1_SetupKick; this->actionFunc = EnHeishi1_SetupKick;
} }
@ -472,8 +478,8 @@ void EnHeishi1_Update(Actor* thisx, PlayState* play) {
// this 60 unit height check is so the player doesn't get caught when on the upper path // this 60 unit height check is so the player doesn't get caught when on the upper path
if (fabsf(player->actor.world.pos.y - this->actor.world.pos.y) < 60.0f) { if (fabsf(player->actor.world.pos.y - this->actor.world.pos.y) < 60.0f) {
Sfx_PlaySfxCentered(NA_SE_SY_FOUND); Sfx_PlaySfxCentered(NA_SE_SY_FOUND);
// "Discovered!" PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 発見! ☆☆☆☆☆ \n", "☆☆☆☆☆ Discovered! ☆☆☆☆☆ \n")
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 発見! ☆☆☆☆☆ \n" VT_RST); VT_RST);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_1); Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_1);
sPlayerIsCaught = true; sPlayerIsCaught = true;
this->actionFunc = EnHeishi1_SetupMoveToLink; this->actionFunc = EnHeishi1_SetupMoveToLink;

View File

@ -16,6 +16,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 "z64face_reaction.h" #include "z64face_reaction.h"
#include "z64play.h" #include "z64play.h"
@ -153,8 +154,8 @@ void EnHeishi2_Init(Actor* thisx, PlayState* play) {
break; break;
case 6: case 6:
PRINTF("\n\n"); PRINTF("\n\n");
// "Peep hole soldier!" PRINTF(VT_FGCOL(GREEN) T(" ☆☆☆☆☆ 覗き穴奥兵士ふぃ〜 ☆☆☆☆☆ \n", " ☆☆☆☆☆ Peep hole soldier ☆☆☆☆☆ \n")
PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ 覗き穴奥兵士ふぃ〜 ☆☆☆☆☆ \n" VT_RST); VT_RST);
Collider_DestroyCylinder(play, collider); Collider_DestroyCylinder(play, collider);
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY); this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY);
this->actionFunc = EnHeishi_DoNothing2; this->actionFunc = EnHeishi_DoNothing2;
@ -163,12 +164,14 @@ void EnHeishi2_Init(Actor* thisx, PlayState* play) {
this->unk_2F0 = PARAMS_GET_U(this->actor.params, 8, 8); this->unk_2F0 = PARAMS_GET_U(this->actor.params, 8, 8);
PRINTF("\n\n"); PRINTF("\n\n");
// "Soldier Set 2 Completed!" PRINTF(VT_FGCOL(GREEN) T(" ☆☆☆☆☆ 兵士2セット完了! ☆☆☆☆☆ %d\n", " ☆☆☆☆☆ Soldier Set 2 Completed! ☆☆☆☆☆ %d\n")
PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ 兵士2セット完了! ☆☆☆☆☆ %d\n" VT_RST, this->actor.params); VT_RST,
// "Identification Completed!" this->actor.params);
PRINTF(VT_FGCOL(YELLOW) " ☆☆☆☆☆ 識別完了! ☆☆☆☆☆ %d\n" VT_RST, this->type); PRINTF(VT_FGCOL(YELLOW) T(" ☆☆☆☆☆ 識別完了! ☆☆☆☆☆ %d\n", " ☆☆☆☆☆ Identification Completed! ☆☆☆☆☆ %d\n")
// "Message completed!" VT_RST,
PRINTF(VT_FGCOL(MAGENTA) " ☆☆☆☆☆ メッセージ完了! ☆☆☆☆☆ %x\n\n" VT_RST, this->type);
PRINTF(VT_FGCOL(MAGENTA)
T(" ☆☆☆☆☆ メッセージ完了! ☆☆☆☆☆ %x\n\n", " ☆☆☆☆☆ Message completed! ☆☆☆☆☆ %x\n\n") VT_RST,
PARAMS_GET_U(this->actor.params, 8, 4)); PARAMS_GET_U(this->actor.params, 8, 4));
} }
} }
@ -203,41 +206,39 @@ void func_80A53278(EnHeishi2* this, PlayState* play) {
this->unk_300 = TEXT_STATE_DONE; this->unk_300 = TEXT_STATE_DONE;
this->actionFunc = func_80A5475C; this->actionFunc = func_80A5475C;
} else if (GET_EVENTCHKINF(EVENTCHKINF_09) && GET_EVENTCHKINF(EVENTCHKINF_25) && GET_EVENTCHKINF(EVENTCHKINF_37)) { } else if (GET_EVENTCHKINF(EVENTCHKINF_09) && GET_EVENTCHKINF(EVENTCHKINF_25) && GET_EVENTCHKINF(EVENTCHKINF_37)) {
// "Get all spiritual stones!" PRINTF(VT_FGCOL(GREEN) T(" ☆☆☆☆☆ 全部の精霊石GET ☆☆☆☆☆ \n", " ☆☆☆☆☆ All the spirit stones GET! ☆☆☆☆☆ \n")
PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ 全部の精霊石GET ☆☆☆☆☆ \n" VT_RST); VT_RST);
this->unk_300 = TEXT_STATE_DONE; this->unk_300 = TEXT_STATE_DONE;
this->actor.textId = 0x7006; this->actor.textId = 0x7006;
this->actionFunc = func_80A5475C; this->actionFunc = func_80A5475C;
} else if (!IS_DAY) { } else if (!IS_DAY) {
// "Sleep early for children!" PRINTF(VT_FGCOL(YELLOW) T(" ☆☆☆☆☆ 子供ははやくネロ! ☆☆☆☆☆ \n", " ☆☆☆☆☆ Sleep early for children! ☆☆☆☆☆ \n")
PRINTF(VT_FGCOL(YELLOW) " ☆☆☆☆☆ 子供ははやくネロ! ☆☆☆☆☆ \n" VT_RST); VT_RST);
this->unk_300 = TEXT_STATE_DONE; this->unk_300 = TEXT_STATE_DONE;
this->actor.textId = 0x7002; this->actor.textId = 0x7002;
this->actionFunc = func_80A5475C; this->actionFunc = func_80A5475C;
} else if (this->unk_30C != 0) { } else if (this->unk_30C != 0) {
// "Anything passes" PRINTF(VT_FGCOL(BLUE) T(" ☆☆☆☆☆ なんでも通るよ ☆☆☆☆☆ \n", " ☆☆☆☆☆ Anything passes ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(BLUE) " ☆☆☆☆☆ なんでも通るよ ☆☆☆☆☆ \n" VT_RST);
this->unk_300 = TEXT_STATE_DONE; this->unk_300 = TEXT_STATE_DONE;
this->actor.textId = 0x7099; this->actor.textId = 0x7099;
this->actionFunc = func_80A5475C; this->actionFunc = func_80A5475C;
} else if (GET_EVENTCHKINF(EVENTCHKINF_RECEIVED_WEIRD_EGG)) { } else if (GET_EVENTCHKINF(EVENTCHKINF_RECEIVED_WEIRD_EGG)) {
if (this->unk_30E == 0) { if (this->unk_30E == 0) {
// "Start under the first sleeve!" PRINTF(VT_FGCOL(MAGENTA)
PRINTF(VT_FGCOL(MAGENTA) " ☆☆☆☆☆ 1回目袖の下開始! ☆☆☆☆☆ \n" VT_RST); T(" ☆☆☆☆☆ 1回目袖の下開始! ☆☆☆☆☆ \n", " ☆☆☆☆☆ Start under the first sleeve! ☆☆☆☆☆ \n") VT_RST);
this->actor.textId = 0x7071; this->actor.textId = 0x7071;
this->unk_30E = 1; this->unk_30E = 1;
} else { } else {
// "Start under the second sleeve!" PRINTF(VT_FGCOL(MAGENTA) T(" ☆☆☆☆☆ 2回目袖の下開始! ☆☆☆☆☆ \n",
PRINTF(VT_FGCOL(MAGENTA) " ☆☆☆☆☆ 2回目袖の下開始! ☆☆☆☆☆ \n" VT_RST); " ☆☆☆☆☆ Start under the second sleeve! ☆☆☆☆☆ \n") VT_RST);
this->actor.textId = 0x7072; this->actor.textId = 0x7072;
} }
this->unk_300 = TEXT_STATE_CHOICE; this->unk_300 = TEXT_STATE_CHOICE;
this->actionFunc = func_80A5475C; this->actionFunc = func_80A5475C;
} else { } else {
// "That's okay" PRINTF(VT_FGCOL(CYAN) T(" ☆☆☆☆☆ それはとおらんよぉ ☆☆☆☆☆ \n", " ☆☆☆☆☆ That won't work ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(CYAN) " ☆☆☆☆☆ それはとおらんよぉ ☆☆☆☆☆ \n" VT_RST);
this->unk_300 = TEXT_STATE_DONE; this->unk_300 = TEXT_STATE_DONE;
this->actor.textId = 0x7029; this->actor.textId = 0x7029;
this->actionFunc = func_80A5475C; this->actionFunc = func_80A5475C;
@ -310,8 +311,9 @@ void func_80A53638(EnHeishi2* this, PlayState* play) {
break; break;
} }
} }
// "I've come!" PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆ きたきたきたぁ! ☆☆☆ %x\n", "☆☆☆ It's here, it's here, it's here! ☆☆☆ %x\n")
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆ きたきたきたぁ! ☆☆☆ %x\n" VT_RST, actor->dyna.actor.next); VT_RST,
actor->dyna.actor.next);
this->actionFunc = func_80A5372C; this->actionFunc = func_80A5372C;
} }
} }
@ -395,8 +397,8 @@ void func_80A5399C(EnHeishi2* this, PlayState* play) {
} }
this->actionFunc = func_80A5475C; this->actionFunc = func_80A5475C;
} else { } else {
// "I don't know" PRINTF(VT_FGCOL(MAGENTA) T(" ☆☆☆☆☆ とおしゃしねぇちゅーの ☆☆☆☆☆ \n", " ☆☆☆☆☆ There is no way out ☆☆☆☆☆ \n")
PRINTF(VT_FGCOL(MAGENTA) " ☆☆☆☆☆ とおしゃしねぇちゅーの ☆☆☆☆☆ \n" VT_RST); VT_RST);
this->actionFunc = func_80A53AD4; this->actionFunc = func_80A53AD4;
} }
} }
@ -477,8 +479,9 @@ void func_80A53D0C(EnHeishi2* this, PlayState* play) {
break; break;
} }
} }
// "I've come!" PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆ きたきたきたぁ! ☆☆☆ %x\n", "☆☆☆ It's here, it's here, it's here! ☆☆☆ %x\n")
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆ きたきたきたぁ! ☆☆☆ %x\n" VT_RST, gate->dyna.actor.next); VT_RST,
gate->dyna.actor.next);
this->actionFunc = func_80A53DF8; this->actionFunc = func_80A53DF8;
} }
} }
@ -679,8 +682,7 @@ void func_80A5455C(EnHeishi2* this, PlayState* play) {
bomb->actor.velocity.y = Rand_CenteredFloat(5.0f) + 10.0f; bomb->actor.velocity.y = Rand_CenteredFloat(5.0f) + 10.0f;
} }
// "This is down!" PRINTF(VT_FGCOL(YELLOW) T(" ☆☆☆☆☆ これでダウンだ! ☆☆☆☆☆ \n", " ☆☆☆☆☆ This is down! ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(YELLOW) " ☆☆☆☆☆ これでダウンだ! ☆☆☆☆☆ \n" VT_RST);
this->actionFunc = func_80A546DC; this->actionFunc = func_80A546DC;
} }
} }

View File

@ -11,6 +11,7 @@
#include "printf.h" #include "printf.h"
#include "sfx.h" #include "sfx.h"
#include "terminal.h" #include "terminal.h"
#include "translation.h"
#include "versions.h" #include "versions.h"
#include "z_lib.h" #include "z_lib.h"
#include "z64play.h" #include "z64play.h"
@ -87,8 +88,8 @@ void EnHeishi3_Init(Actor* thisx, PlayState* play) {
this->actor.attentionRangeType = ATTENTION_RANGE_6; this->actor.attentionRangeType = ATTENTION_RANGE_6;
Collider_InitCylinder(play, &this->collider); Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit); Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
// "Castle Gate Soldier - Power Up" PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 城門兵パワーアップ ☆☆☆☆☆ \n", "☆☆☆☆☆ Castle gate soldier power-up ☆☆☆☆☆ \n")
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 城門兵パワーアップ ☆☆☆☆☆ \n" VT_RST); VT_RST);
this->actor.gravity = -3.0f; this->actor.gravity = -3.0f;
this->actor.focus.pos = this->actor.world.pos; this->actor.focus.pos = this->actor.world.pos;
@ -143,7 +144,7 @@ void EnHeishi3_StandSentinelInGrounds(EnHeishi3* this, PlayState* play) {
sPlayerCaught = 1; sPlayerCaught = 1;
Message_StartTextbox(play, 0x702D, &this->actor); Message_StartTextbox(play, 0x702D, &this->actor);
Sfx_PlaySfxCentered(NA_SE_SY_FOUND); Sfx_PlaySfxCentered(NA_SE_SY_FOUND);
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 発見! ☆☆☆☆☆ \n" VT_RST); // "Discovered!" PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 発見! ☆☆☆☆☆ \n", "☆☆☆☆☆ Discovered! ☆☆☆☆☆ \n") VT_RST);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_1); Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_1);
#if OOT_PAL_N64 #if OOT_PAL_N64
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_UPDATE_CULLING_DISABLED; this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_UPDATE_CULLING_DISABLED;
@ -174,7 +175,7 @@ void EnHeishi3_StandSentinelInCastle(EnHeishi3* this, PlayState* play) {
sPlayerCaught = 1; sPlayerCaught = 1;
Message_StartTextbox(play, 0x702D, &this->actor); Message_StartTextbox(play, 0x702D, &this->actor);
Sfx_PlaySfxCentered(NA_SE_SY_FOUND); Sfx_PlaySfxCentered(NA_SE_SY_FOUND);
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 発見! ☆☆☆☆☆ \n" VT_RST); // "Discovered!" PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 発見! ☆☆☆☆☆ \n", "☆☆☆☆☆ Discovered! ☆☆☆☆☆ \n") VT_RST);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_1); Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_1);
#if OOT_PAL_N64 #if OOT_PAL_N64
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_UPDATE_CULLING_DISABLED; this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_UPDATE_CULLING_DISABLED;