T() wonder_talk, wonder_talk2

This commit is contained in:
Dragorn421 2025-05-27 21:23:45 +02:00
parent ee0f645e17
commit 8ffa87099c
No known key found for this signature in database
GPG Key ID: 381AEBAF3D429335
2 changed files with 99 additions and 86 deletions

View File

@ -9,6 +9,7 @@
#include "printf.h" #include "printf.h"
#include "regs.h" #include "regs.h"
#include "terminal.h" #include "terminal.h"
#include "translation.h"
#include "z64debug_display.h" #include "z64debug_display.h"
#include "z64play.h" #include "z64play.h"
#include "z64save.h" #include "z64save.h"
@ -42,8 +43,8 @@ void EnWonderTalk_Init(Actor* thisx, PlayState* play) {
EnWonderTalk* this = (EnWonderTalk*)thisx; EnWonderTalk* this = (EnWonderTalk*)thisx;
PRINTF("\n\n"); PRINTF("\n\n");
// "Special conversation" PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 特殊会話くん ☆☆☆☆☆ %x\n", "☆☆☆☆☆ Special conversation ☆☆☆☆☆ %x\n") VT_RST,
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 特殊会話くん ☆☆☆☆☆ %x\n" VT_RST, this->actor.params); this->actor.params);
this->unk_150 = PARAMS_GET_U(this->actor.params, 11, 5); this->unk_150 = PARAMS_GET_U(this->actor.params, 11, 5);
this->unk_152 = PARAMS_GET_U(this->actor.params, 6, 5); this->unk_152 = PARAMS_GET_U(this->actor.params, 6, 5);
@ -67,19 +68,17 @@ void func_80B391CC(EnWonderTalk* this, PlayState* play) {
if (this->switchFlag < 0 || !Flags_GetSwitch(play, this->switchFlag)) { if (this->switchFlag < 0 || !Flags_GetSwitch(play, this->switchFlag)) {
switch (this->unk_150) { switch (this->unk_150) {
case 1: case 1:
// "Slate GO!" PRINTF(VT_FGCOL(GREEN) T(" ☆☆☆☆☆ 石板GO! ☆☆☆☆☆ \n", " ☆☆☆☆☆ Slate GO! ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ 石板GO! ☆☆☆☆☆ \n" VT_RST);
this->height = 0.0f; this->height = 0.0f;
this->unk_15C = 80.0f; this->unk_15C = 80.0f;
// "Attention coordinates" PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n",
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n" VT_RST, 0.0f); "☆☆☆☆☆ Attention coordinates\t \t☆☆☆☆☆ %f\n") VT_RST,
0.0f);
if (!LINK_IS_ADULT) { if (!LINK_IS_ADULT) {
this->actor.textId = 0x7040; this->actor.textId = 0x7040;
// "Children" PRINTF(VT_FGCOL(GREEN) T(" ☆☆☆☆☆ こども ☆☆☆☆☆ \n", " ☆☆☆☆☆ Child ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ こども ☆☆☆☆☆ \n" VT_RST);
} else { } else {
// "Adult" PRINTF(VT_FGCOL(CYAN) T(" ☆☆☆☆☆ おとな ☆☆☆☆☆ \n", " ☆☆☆☆☆ Adult ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(CYAN) " ☆☆☆☆☆ おとな ☆☆☆☆☆ \n" VT_RST);
this->actor.textId = 0x7088; this->actor.textId = 0x7088;
} }
@ -87,29 +86,31 @@ void func_80B391CC(EnWonderTalk* this, PlayState* play) {
PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ this->actor.talk_message ☆☆☆☆☆ %x\n" VT_RST, this->actor.textId); PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ this->actor.talk_message ☆☆☆☆☆ %x\n" VT_RST, this->actor.textId);
break; break;
case 2: case 2:
// "Diary start!" PRINTF(VT_FGCOL(GREEN) T(" ☆☆☆☆☆ 日記帳スタート! ☆☆☆☆☆ \n", " ☆☆☆☆☆ Diary start! ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ 日記帳スタート! ☆☆☆☆☆ \n" VT_RST);
this->actor.textId = 0x5002; this->actor.textId = 0x5002;
this->unk_156 = TEXT_STATE_CHOICE; this->unk_156 = TEXT_STATE_CHOICE;
this->unk_15C = 40.0f; this->unk_15C = 40.0f;
this->height = 30.0f; this->height = 30.0f;
// "Attention coordinates" PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n",
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n" VT_RST, 30.0f); "☆☆☆☆☆ Attention coordinates\t \t☆☆☆☆☆ %f\n") VT_RST,
30.0f);
break; break;
case 3: case 3:
this->actor.textId = 0x501E; this->actor.textId = 0x501E;
this->unk_156 = TEXT_STATE_EVENT; this->unk_156 = TEXT_STATE_EVENT;
this->height = 0.0f; this->height = 0.0f;
this->unk_15C = 110.0f; this->unk_15C = 110.0f;
// "Attention coordinates" PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n",
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n" VT_RST, 0.0f); "☆☆☆☆☆ Attention coordinates\t \t☆☆☆☆☆ %f\n") VT_RST,
0.0f);
break; break;
case 4: case 4:
this->actor.textId = 0x5020; this->actor.textId = 0x5020;
this->unk_156 = TEXT_STATE_DONE; this->unk_156 = TEXT_STATE_DONE;
this->height = 0.0f; this->height = 0.0f;
// "Attention coordinates" PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n",
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n" VT_RST, 0.0f); "☆☆☆☆☆ Attention coordinates\t \t☆☆☆☆☆ %f\n") VT_RST,
0.0f);
this->unk_15C = 120.0f; this->unk_15C = 120.0f;
if (GET_EVENTCHKINF(EVENTCHKINF_1D)) { if (GET_EVENTCHKINF(EVENTCHKINF_1D)) {
Actor_Kill(&this->actor); Actor_Kill(&this->actor);
@ -120,8 +121,9 @@ void func_80B391CC(EnWonderTalk* this, PlayState* play) {
this->unk_156 = TEXT_STATE_EVENT; this->unk_156 = TEXT_STATE_EVENT;
this->height = 0.0f; this->height = 0.0f;
this->unk_15C = 110.0f; this->unk_15C = 110.0f;
// "Attention coordinates" PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n",
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n" VT_RST, 0.0f); "☆☆☆☆☆ Attention coordinates\t \t☆☆☆☆☆ %f\n") VT_RST,
0.0f);
break; break;
default: default:
this->actor.textId = 0x7072; this->actor.textId = 0x7072;
@ -161,14 +163,18 @@ void func_80B3943C(EnWonderTalk* this, PlayState* play) {
if (yawDiff < 0x4000) { if (yawDiff < 0x4000) {
if (this->unk_15A >= 2) { if (this->unk_15A >= 2) {
PRINTF("\n\n"); PRINTF("\n\n");
// "Save information" PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ セーブ情報\t\t☆☆☆☆☆ %d\n", "☆☆☆☆☆ Save information\t\t☆☆☆☆☆ %d\n")
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ セーブ情報\t\t☆☆☆☆☆ %d\n" VT_RST, this->switchFlag); VT_RST,
// "Type index" this->switchFlag);
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 種類インデックス\t☆☆☆☆☆ %d\n" VT_RST, this->unk_150); PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 種類インデックス\t☆☆☆☆☆ %d\n", "☆☆☆☆☆ Type index\t☆☆☆☆☆ %d\n")
// "Actual message type" VT_RST,
PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ 実質メッセージ種類 %x\n" VT_RST, this->actor.textId); this->unk_150);
// "Specified range" PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆☆ 実質メッセージ種類 %x\n", "☆☆☆☆☆ Actual message type %x\n")
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 指定範囲 %d\n" VT_RST, this->actor.world.rot.z); VT_RST,
this->actor.textId);
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 指定範囲 %d\n",
"☆☆☆☆☆ Specified range %d\n") VT_RST,
this->actor.world.rot.z);
PRINTF("\n\n"); PRINTF("\n\n");
} }
this->unk_15A = 0; this->unk_15A = 0;
@ -193,18 +199,17 @@ void func_80B395F0(EnWonderTalk* this, PlayState* play) {
switch (play->msgCtx.choiceIndex) { switch (play->msgCtx.choiceIndex) {
case 0: case 0:
if (!LINK_IS_ADULT) { if (!LINK_IS_ADULT) {
// "I'm still a child!" PRINTF(VT_FGCOL(GREEN) T(" ☆☆☆☆☆ まだコドモなの! ☆☆☆☆☆ \n",
PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ まだコドモなの! ☆☆☆☆☆ \n" VT_RST); " ☆☆☆☆☆ I'm still a child! ☆☆☆☆☆ \n") VT_RST);
this->actor.textId = 0x5001; this->actor.textId = 0x5001;
} else { } else {
// "I'm an adult. .. .." PRINTF(VT_FGCOL(YELLOW) T(" ☆☆☆☆☆ アダルトなの。。。 ☆☆☆☆☆ \n",
PRINTF(VT_FGCOL(YELLOW) " ☆☆☆☆☆ アダルトなの。。。 ☆☆☆☆☆ \n" VT_RST); " ☆☆☆☆☆ I'm an adult... ☆☆☆☆☆ \n") VT_RST);
this->actor.textId = 0x5003; this->actor.textId = 0x5003;
} }
break; break;
case 1: case 1:
// "Out!" PRINTF(VT_FGCOL(MAGENTA) T(" ☆☆☆☆☆ はずれ! ☆☆☆☆☆ \n", " ☆☆☆☆☆ No luck! ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(MAGENTA) " ☆☆☆☆☆ はずれ! ☆☆☆☆☆ \n" VT_RST);
this->actor.textId = 0x5004; this->actor.textId = 0x5004;
break; break;
} }

View File

@ -9,6 +9,7 @@
#include "printf.h" #include "printf.h"
#include "regs.h" #include "regs.h"
#include "terminal.h" #include "terminal.h"
#include "translation.h"
#include "z64debug_display.h" #include "z64debug_display.h"
#include "z64item.h" #include "z64item.h"
#include "z64play.h" #include "z64play.h"
@ -48,8 +49,8 @@ void EnWonderTalk2_Init(Actor* thisx, PlayState* play) {
EnWonderTalk2* this = (EnWonderTalk2*)thisx; EnWonderTalk2* this = (EnWonderTalk2*)thisx;
PRINTF("\n\n"); PRINTF("\n\n");
// "Transparent message" PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 透明メッセージ君 ☆☆☆☆☆ %x\n", "☆☆☆☆☆ Transparent message ☆☆☆☆☆ %x\n") VT_RST,
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 透明メッセージ君 ☆☆☆☆☆ %x\n" VT_RST, this->actor.params); this->actor.params);
this->baseMsgId = PARAMS_GET_U(this->actor.params, 6, 8); this->baseMsgId = PARAMS_GET_U(this->actor.params, 6, 8);
if (this->actor.world.rot.z > 0) { if (this->actor.world.rot.z > 0) {
s32 rangeIndex = 0; s32 rangeIndex = 0;
@ -68,12 +69,12 @@ void EnWonderTalk2_Init(Actor* thisx, PlayState* play) {
this->actor.attentionRangeType = D_80B3A8E0[rangeIndex]; this->actor.attentionRangeType = D_80B3A8E0[rangeIndex];
PRINTF("\n\n"); PRINTF("\n\n");
// "originally?" PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ 元は? ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Originally? ☆☆☆☆☆ %d\n") VT_RST,
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 元は? ☆☆☆☆☆ %d\n" VT_RST, this->actor.world.rot.z); this->actor.world.rot.z);
// "The range is?" PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ レンジは? ☆☆☆☆☆ %d\n", "☆☆☆☆☆ The range is? ☆☆☆☆☆ %d\n") VT_RST,
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ レンジは? ☆☆☆☆☆ %d\n" VT_RST, this->actor.attentionRangeType); this->actor.attentionRangeType);
// "Is the range?" PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆☆ は、範囲わ? ☆☆☆☆☆ %f\n", "☆☆☆☆☆ The range is? ☆☆☆☆☆ %f\n") VT_RST,
PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ は、範囲わ? ☆☆☆☆☆ %f\n" VT_RST, this->triggerRange); this->triggerRange);
PRINTF("\n\n"); PRINTF("\n\n");
PRINTF("\n\n"); PRINTF("\n\n");
PRINTF("\n\n"); PRINTF("\n\n");
@ -127,8 +128,9 @@ void func_80B3A15C(EnWonderTalk2* this, PlayState* play) {
} else if (Actor_TalkOfferAccepted(&this->actor, play)) { } else if (Actor_TalkOfferAccepted(&this->actor, play)) {
if ((this->switchFlag >= 0) && (this->talkMode != 2)) { if ((this->switchFlag >= 0) && (this->talkMode != 2)) {
Flags_SetSwitch(play, this->switchFlag); Flags_SetSwitch(play, this->switchFlag);
// "I saved it! All of it!" PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ セーブしたよ!おもいっきり! %x\n", "☆☆☆☆☆ I saved it! All of it! %x\n")
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ セーブしたよ!おもいっきり! %x\n" VT_RST, this->switchFlag); VT_RST,
this->switchFlag);
} }
this->actionFunc = func_80B3A10C; this->actionFunc = func_80B3A10C;
@ -140,30 +142,33 @@ void func_80B3A15C(EnWonderTalk2* this, PlayState* play) {
if (DEBUG_FEATURES && this->unk_158 >= 2) { if (DEBUG_FEATURES && this->unk_158 >= 2) {
PRINTF("\n\n"); PRINTF("\n\n");
// "Transparent Message Kimi Set" PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 透明メッセージ君せっと %x\n", "☆☆☆☆☆ Transparent Message Kimi Set %x\n")
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 透明メッセージ君せっと %x\n" VT_RST, this->actor.params); VT_RST,
// "Save Information" this->actor.params);
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ セーブ情報 \t %x\n" VT_RST, this->switchFlag); PRINTF(VT_FGCOL(YELLOW)
// "Specified message type" T("☆☆☆☆☆ セーブ情報 \t %x\n", "☆☆☆☆☆ Save Information \t %x\n") VT_RST,
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 指定メッセージ種類 %x\n" VT_RST, this->baseMsgId); this->switchFlag);
// "Actual message type" PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 指定メッセージ種類 %x\n", "☆☆☆☆☆ Specified message type %x\n")
PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ 実質メッセージ種類 %x\n" VT_RST, this->actor.textId); VT_RST,
// "Specified range" this->baseMsgId);
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 指定範囲 %d\n" VT_RST, this->actor.world.rot.z); PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆☆ 実質メッセージ種類 %x\n", "☆☆☆☆☆ Actual message type %x\n")
// "Processing range" VT_RST,
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 処理範囲 %f\n" VT_RST, this->triggerRange); this->actor.textId);
PRINTF(VT_FGCOL(GREEN)
T("☆☆☆☆☆ 指定範囲 %d\n", "☆☆☆☆☆ Specified range %d\n") VT_RST,
this->actor.world.rot.z);
PRINTF(VT_FGCOL(YELLOW)
T("☆☆☆☆☆ 処理範囲 %f\n", "☆☆☆☆☆ Processing range %f\n") VT_RST,
this->triggerRange);
switch (this->talkMode) { switch (this->talkMode) {
case 0: case 0:
// "Normal" PRINTF(VT_FGCOL(MAGENTA) T(" ☆☆ 通常 ☆☆ \n", " ☆☆ Normal ☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(MAGENTA) " ☆☆ 通常 ☆☆ \n" VT_RST);
break; break;
case 2: case 2:
// "Check only" PRINTF(VT_FGCOL(MAGENTA) T(" ☆☆ チェックのみ ☆☆ \n", " ☆☆ Check only ☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(MAGENTA) " ☆☆ チェックのみ ☆☆ \n" VT_RST);
break; break;
case 3: case 3:
// "Lock only" PRINTF(VT_FGCOL(MAGENTA) T(" ☆☆ ロックのみ ☆☆ \n", " ☆☆ Lock only ☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(MAGENTA) " ☆☆ ロックのみ ☆☆ \n" VT_RST);
break; break;
} }
} }
@ -176,8 +181,7 @@ void func_80B3A15C(EnWonderTalk2* this, PlayState* play) {
void func_80B3A3D4(EnWonderTalk2* this, PlayState* play) { void func_80B3A3D4(EnWonderTalk2* this, PlayState* play) {
if (BREG(2) != 0) { if (BREG(2) != 0) {
// "Oh" PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ わー %d\n", "☆☆☆☆☆ Oh %d\n") VT_RST, Message_GetState(&play->msgCtx));
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ わー %d\n" VT_RST, Message_GetState(&play->msgCtx));
} }
switch (Message_GetState(&play->msgCtx)) { switch (Message_GetState(&play->msgCtx)) {
@ -193,8 +197,9 @@ void func_80B3A3D4(EnWonderTalk2* this, PlayState* play) {
case TEXT_STATE_NONE: case TEXT_STATE_NONE:
if ((this->switchFlag >= 0) && (this->talkMode != 4)) { if ((this->switchFlag >= 0) && (this->talkMode != 4)) {
Flags_SetSwitch(play, this->switchFlag); Flags_SetSwitch(play, this->switchFlag);
// "(Forced) I saved it! All of it!" PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ (強制)セーブしたよ!おもいっきり! %x\n",
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ (強制)セーブしたよ!おもいっきり! %x\n" VT_RST, this->switchFlag); "☆☆☆☆☆ (Forced) I saved it! All of it! %x\n") VT_RST,
this->switchFlag);
} }
if (this->talkMode == 4) { if (this->talkMode == 4) {
@ -220,8 +225,7 @@ void func_80B3A4F8(EnWonderTalk2* this, PlayState* play) {
} }
} else if ((this->talkMode != 4) || !this->unk_15A) { } else if ((this->talkMode != 4) || !this->unk_15A) {
if (BREG(2) != 0) { if (BREG(2) != 0) {
// "distance" PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ きょり %f\n", "☆☆☆☆☆ distance %f\n") VT_RST, this->actor.xzDistToPlayer);
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ きょり %f\n" VT_RST, this->actor.xzDistToPlayer);
} }
if (((this->actor.xzDistToPlayer < (40.0f + this->triggerRange)) && if (((this->actor.xzDistToPlayer < (40.0f + this->triggerRange)) &&
(fabsf(player->actor.world.pos.y - this->actor.world.pos.y) < 100.0f)) && (fabsf(player->actor.world.pos.y - this->actor.world.pos.y) < 100.0f)) &&
@ -229,30 +233,34 @@ void func_80B3A4F8(EnWonderTalk2* this, PlayState* play) {
if (DEBUG_FEATURES && this->unk_158 >= 2) { if (DEBUG_FEATURES && this->unk_158 >= 2) {
PRINTF("\n\n"); PRINTF("\n\n");
// "Transparent Message Kimi Seto" PRINTF(VT_FGCOL(GREEN)
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 透明メッセージ君せっと %x\n" VT_RST, this->actor.params); T("☆☆☆☆☆ 透明メッセージ君せっと %x\n", "☆☆☆☆☆ Transparent Message Kimi Seto %x\n") VT_RST,
// "Save Information" this->actor.params);
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ セーブ情報 \t %x\n" VT_RST, this->switchFlag); PRINTF(VT_FGCOL(YELLOW)
// "Specified message type" T("☆☆☆☆☆ セーブ情報 \t %x\n", "☆☆☆☆☆ Save Information \t %x\n") VT_RST,
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 指定メッセージ種類 %x\n" VT_RST, this->baseMsgId); this->switchFlag);
// "Real message type" PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 指定メッセージ種類 %x\n", "☆☆☆☆☆ Specified message type %x\n")
PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ 実質メッセージ種類 %x\n" VT_RST, this->actor.textId); VT_RST,
// "Specified range" this->baseMsgId);
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 指定範囲 %d\n" VT_RST, this->actor.world.rot.z); PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆☆ 実質メッセージ種類 %x\n", "☆☆☆☆☆ Real message type %x\n") VT_RST,
// "Processing range" this->actor.textId);
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ 処理範囲 %f\n" VT_RST, this->triggerRange); PRINTF(VT_FGCOL(GREEN)
// "What is your range?" T("☆☆☆☆☆ 指定範囲 %d\n", "☆☆☆☆☆ Specified range %d\n") VT_RST,
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ レンジは? \t\t %d\n" VT_RST, this->actor.attentionRangeType); this->actor.world.rot.z);
PRINTF(VT_FGCOL(YELLOW)
T("☆☆☆☆☆ 処理範囲 %f\n", "☆☆☆☆☆ Processing range %f\n") VT_RST,
this->triggerRange);
PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ レンジは? \t\t %d\n", "☆☆☆☆☆ The range is? \t\t %d\n") VT_RST,
this->actor.attentionRangeType);
PRINTF("\n\n"); PRINTF("\n\n");
PRINTF("\n\n"); PRINTF("\n\n");
switch (this->talkMode) { switch (this->talkMode) {
case 1: case 1:
// "Compulsion" PRINTF(VT_FGCOL(MAGENTA) T(" ☆☆ 強制 ☆☆ \n", " ☆☆ Compulsion ☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(MAGENTA) " ☆☆ 強制 ☆☆ \n" VT_RST);
break; break;
case 4: case 4:
// "Gerudo Training Grounds Forced Check Only" PRINTF(VT_FGCOL(RED) T(" ☆☆ ゲルドの修練場強制チェックのみ ☆☆ \n",
PRINTF(VT_FGCOL(RED) " ☆☆ ゲルドの修練場強制チェックのみ ☆☆ \n" VT_RST); " ☆☆ Gerudo Training Grounds Forced Check Only ☆☆ \n") VT_RST);
break; break;
} }