1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-01-14 12:17:08 +00:00

[iQue] Create/update macros for printing debug strings (#2398)

This commit is contained in:
cadmic 2025-01-08 07:33:49 -08:00 committed by GitHub
parent a3c3c38fea
commit f329507f97
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
65 changed files with 328 additions and 303 deletions

View file

@ -296,6 +296,9 @@ OBJDUMP := $(MIPS_BINUTILS_PREFIX)objdump
NM := $(MIPS_BINUTILS_PREFIX)nm
STRIP := $(MIPS_BINUTILS_PREFIX)strip
# Command prefix to preprocess a file before running the compiler
PREPROCESS :=
# Command to patch certain object files after they are built
POSTPROCESS_OBJ := @:
@ -726,19 +729,14 @@ endif
$(BUILD_DIR)/assets/misc/z_select_static/%.o: GBI_DEFINES := -DF3DEX_GBI
ifeq ($(PLATFORM),IQUE)
$(BUILD_DIR)/src/makerom/%.o: CCAS := $(EGCS_CCAS)
$(BUILD_DIR)/src/makerom/%.o: CCASFLAGS := $(EGCS_CCASFLAGS)
$(BUILD_DIR)/src/makerom/%.o: ASOPTFLAGS := $(EGCS_ASOPTFLAGS)
endif
# For using asm_processor on some files:
#$(BUILD_DIR)/.../%.o: CC := $(PYTHON) tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
ifeq ($(PERMUTER),) # permuter + preprocess.py misbehaves, permuter doesn't care about rodata diffs or bss ordering so just don't use it in that case
# Handle encoding (UTF-8 -> EUC-JP) and custom pragmas
$(BUILD_DIR)/src/%.o: CC := ./tools/preprocess.sh -v $(VERSION) -i $(ICONV) -- $(CC)
$(BUILD_DIR)/src/%.o: PREPROCESS := ./tools/preprocess.sh -v $(VERSION) -i $(ICONV) --
endif
else
@ -958,7 +956,7 @@ $(BUILD_DIR)/src/%.o: src/%.c
ifneq ($(RUN_CC_CHECK),0)
$(CC_CHECK) $<
endif
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
$(PREPROCESS) $(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
$(POSTPROCESS_OBJ) $@
$(OBJDUMP_CMD)

View file

@ -1,6 +1,7 @@
#ifndef MACROS_H
#define MACROS_H
#include "terminal.h"
#include "versions.h"
#ifndef AVOID_UB
@ -54,11 +55,37 @@
#elif IDO_PRINTF_WORKAROUND
#define PRINTF(args) (void)0
#elif defined(__GNUC__) && __GNUC__ < 3
#define PRINTF(format, args...) (void)0
#define PRINTF(format, args...) while (0) osSyncPrintf(format, ##args)
#else
#define PRINTF(format, ...) (void)0
#endif
#if DEBUG_FEATURES
#define PRINTF_COLOR_BLACK() PRINTF(VT_FGCOL(BLACK))
#define PRINTF_COLOR_RED() PRINTF(VT_FGCOL(RED))
#define PRINTF_COLOR_GREEN() PRINTF(VT_FGCOL(GREEN))
#define PRINTF_COLOR_YELLOW() PRINTF(VT_FGCOL(YELLOW))
#define PRINTF_COLOR_BLUE() PRINTF(VT_FGCOL(BLUE))
#define PRINTF_COLOR_MAGENTA() PRINTF(VT_FGCOL(MAGENTA))
#define PRINTF_COLOR_CYAN() PRINTF(VT_FGCOL(CYAN))
#define PRINTF_COLOR_WHITE() PRINTF(VT_FGCOL(WHITE))
#define PRINTF_COLOR_WARNING() PRINTF(VT_COL(YELLOW, BLACK))
#define PRINTF_COLOR_ERROR() PRINTF(VT_COL(RED, WHITE))
#define PRINTF_RST() PRINTF(VT_RST)
#else
#define PRINTF_COLOR_BLACK() (void)0
#define PRINTF_COLOR_RED() (void)0
#define PRINTF_COLOR_GREEN() (void)0
#define PRINTF_COLOR_YELLOW() (void)0
#define PRINTF_COLOR_BLUE() (void)0
#define PRINTF_COLOR_MAGENTA() (void)0
#define PRINTF_COLOR_CYAN() (void)0
#define PRINTF_COLOR_WHITE() (void)0
#define PRINTF_COLOR_WARNING() (void)0
#define PRINTF_COLOR_ERROR() (void)0
#define PRINTF_RST() (void)0
#endif
#if DEBUG_FEATURES
#define LOG(exp, value, format, file, line) \
do { \

View file

@ -57,7 +57,7 @@ void Idle_ThreadEntry(void* arg) {
PRINTF(T("作製者 : %s\n", "Created by: %s\n"), gBuildCreator);
PRINTF(T("作成日時 : %s\n", "Created : %s\n"), gBuildDate);
PRINTF("MAKEOPTION: %s\n", gBuildMakeOption);
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF(T("RAMサイズは %d キロバイトです(osMemSize/osGetMemSize)\n",
"RAM size is %d kilobytes (osMemSize/osGetMemSize)\n"),
(s32)osMemSize / 1024);
@ -70,7 +70,7 @@ void Idle_ThreadEntry(void* arg) {
PRINTF(T("YIELDバッファのサイズは %d キロバイトです\n", "YIELD buffer size is %d kilobytes\n"), 3);
PRINTF(T("オーディオヒープのサイズは %d キロバイトです\n", "Audio heap size is %d kilobytes\n"),
((intptr_t)&gAudioHeap[ARRAY_COUNT(gAudioHeap)] - (intptr_t)gAudioHeap) / 1024);
PRINTF(VT_RST);
PRINTF_RST();
osCreateViManager(OS_PRIORITY_VIMGR);

View file

@ -37,11 +37,11 @@ void Locale_Init(void) {
break;
#endif
default:
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
PRINTF(T("z_locale_init: 日本用かアメリカ用か判別できません\n",
"z_locale_init: Can't tell if it's for Japan or America\n"));
LogUtils_HungupThread("../z_locale.c", LN4(86, 92, 101, 118, UNK_LINE));
PRINTF(VT_RST);
PRINTF_RST();
break;
}

View file

@ -272,7 +272,7 @@ NORETURN void DmaMgr_Error(DmaRequest* req, const char* filename, const char* er
char buff2[80];
PRINTF("%c", BEL);
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("DMA致命的エラー(%s)\nROM:%X RAM:%X SIZE:%X %s\n", "DMA Fatal Error (%s)\nROM:%X RAM:%X SIZE:%X %s\n"),
errorDesc != NULL ? errorDesc : (errorName != NULL ? errorName : "???"), vrom, ram, size,
filename != NULL ? filename : "???");
@ -283,7 +283,7 @@ NORETURN void DmaMgr_Error(DmaRequest* req, const char* filename, const char* er
PRINTF("DMA ERROR: %s %d", sDmaMgrCurFileName, sDmaMgrCurFileLine);
}
PRINTF(VT_RST);
PRINTF_RST();
if (req->filename != NULL) {
sprintf(buff1, "DMA ERROR: %s %d", req->filename, req->line);
@ -562,12 +562,12 @@ s32 DmaMgr_RequestAsync(DmaRequest* req, void* ram, uintptr_t vrom, size_t size,
if (1 && (sDmaMgrQueueFullLogged == 0) && MQ_IS_FULL(&sDmaMgrMsgQueue)) {
sDmaMgrQueueFullLogged++;
PRINTF("%c", BEL);
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("dmaEntryMsgQが一杯です。キューサイズの再検討をおすすめします。",
"dmaEntryMsgQ is full. Reconsider your queue size."));
LOG_NUM("(sizeof(dmaEntryMsgBufs) / sizeof(dmaEntryMsgBufs[0]))", ARRAY_COUNT(sDmaMgrMsgBuf), "../z_std_dma.c",
952);
PRINTF(VT_RST);
PRINTF_RST();
}
#endif

View file

@ -409,12 +409,12 @@ void GameState_Realloc(GameState* gameState, size_t size) {
SystemArena_GetSizes(&systemMaxFree, &systemFree, &systemAlloc);
if ((systemMaxFree - 0x10) < size) {
PRINTF("%c", BEL);
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("メモリが足りません。ハイラルサイズを可能な最大値に変更します\n",
"Not enough memory. Change Hyrule size to maximum possible value\n"));
PRINTF("(hyral=%08x max=%08x free=%08x alloc=%08x)\n", size, systemMaxFree, systemFree, systemAlloc);
PRINTF(VT_RST);
PRINTF_RST();
size = systemMaxFree - 0x10;
}
@ -557,9 +557,9 @@ void* GameState_Alloc(GameState* gameState, size_t size, const char* file, int l
}
}
if (ret != NULL) {
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("game_alloc(%08x) %08x-%08x [%s:%d]\n", size, ret, (uintptr_t)ret + size, file, line);
PRINTF(VT_RST);
PRINTF_RST();
}
return ret;
}

View file

@ -188,9 +188,9 @@ void Graph_TaskSet00(GraphicsContext* gfxCtx) {
if (msg == (OSMesg)666) {
#if DEBUG_FEATURES
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("RCPが帰ってきませんでした。", "RCP did not return."));
PRINTF(VT_RST);
PRINTF_RST();
LogUtils_LogHexDump((void*)PHYS_TO_K1(SP_BASE_REG), 0x20);
LogUtils_LogHexDump((void*)PHYS_TO_K1(DPC_BASE_REG), 0x20);

View file

@ -185,11 +185,11 @@ void IrqMgr_CheckStacks(void) {
PRINTF(T("スタックは大丈夫みたいです\n", "The stack looks ok\n"));
} else {
PRINTF("%c", BEL);
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("スタックがオーバーフローしたか危険な状態です\n", "Stack overflow or dangerous\n"));
PRINTF(T("早々にスタックサイズを増やすか、スタックを消費しないようにしてください\n",
"Increase stack size early or don't consume stack\n"));
PRINTF(VT_RST);
PRINTF_RST();
}
}

View file

@ -59,11 +59,11 @@ OSMesg sSerialMsgBuf[1];
#if DEBUG_FEATURES
void Main_LogSystemHeap(void) {
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF(
T("システムヒープサイズ %08x(%dKB) 開始アドレス %08x\n", "System heap size %08x (%dKB) Start address %08x\n"),
gSystemHeapSize, gSystemHeapSize / 1024, _buffersSegmentEnd);
PRINTF(VT_RST);
PRINTF_RST();
}
#endif

View file

@ -35,9 +35,9 @@
#define PADMGR_LOG(controllerNum, msg) \
if (DEBUG_FEATURES) { \
PRINTF(VT_FGCOL(YELLOW)); \
PRINTF_COLOR_YELLOW(); \
PRINTF(T("padmgr: %dコン: %s\n", "padmgr: Controller %d: %s\n"), (controllerNum) + 1, (msg)); \
PRINTF(VT_RST); \
PRINTF_RST(); \
} \
(void)0

View file

@ -185,9 +185,9 @@ void SpeedMeter_DrawAllocEntry(SpeedMeterAllocEntry* this, GraphicsContext* gfxC
Gfx* gfx;
if (this->maxval == 0) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
LOG_NUM("this->maxval", this->maxval, "../speed_meter.c", 313);
PRINTF(VT_RST);
PRINTF_RST();
} else {
OPEN_DISPS(gfxCtx, "../speed_meter.c", 318);

View file

@ -127,11 +127,11 @@ void Math3D_LineClosestToPoint(InfiniteLine* line, Vec3f* pos, Vec3f* closestPoi
dirVectorLengthSq = Math3D_Vec3fMagnitudeSq(&line->dir);
if (IS_ZERO(dirVectorLengthSq)) {
PRINTF(VT_COL(YELLOW, BLACK));
PRINTF_COLOR_WARNING();
PRINTF(T("Math3D_lineVsPosSuisenCross():直線の長さがありません\n",
"Math3D_lineVsPosSuisenCross(): No straight line length\n"));
PRINTF(T("cross = pos を返します。\n", "Returns cross = pos.\n"));
PRINTF(VT_RST);
PRINTF_RST();
Math_Vec3f_Copy(closestPoint, pos);
//! @bug Missing early return
}
@ -930,11 +930,11 @@ f32 Math3D_Plane(Plane* plane, Vec3f* pointOnPlane) {
*/
f32 Math3D_UDistPlaneToPos(f32 nx, f32 ny, f32 nz, f32 originDist, Vec3f* p) {
if (DEBUG_FEATURES && IS_ZERO(sqrtf(SQ(nx) + SQ(ny) + SQ(nz)))) {
PRINTF(VT_COL(YELLOW, BLACK));
PRINTF_COLOR_WARNING();
PRINTF(T("Math3DLengthPlaneAndPos():法線size がゼロ近いです%f %f %f\n",
"Math3DLengthPlaneAndPos(): Normal size is near zero %f %f %f\n"),
nx, ny, nz);
PRINTF(VT_RST);
PRINTF_RST();
return 0.0f;
}
return fabsf(Math3D_DistPlaneToPos(nx, ny, nz, originDist, p));
@ -949,11 +949,11 @@ f32 Math3D_DistPlaneToPos(f32 nx, f32 ny, f32 nz, f32 originDist, Vec3f* p) {
normMagnitude = sqrtf(SQ(nx) + SQ(ny) + SQ(nz));
if (IS_ZERO(normMagnitude)) {
PRINTF(VT_COL(YELLOW, BLACK));
PRINTF_COLOR_WARNING();
PRINTF(T("Math3DSignedLengthPlaneAndPos():法線size がゼロ近いです%f %f %f\n",
"Math3DSignedLengthPlaneAndPos(): Normal size is close to zero %f %f %f\n"),
nx, ny, nz);
PRINTF(VT_RST);
PRINTF_RST();
return 0.0f;
}
return Math3D_Planef(nx, ny, nz, originDist, p) / normMagnitude;

View file

@ -18,12 +18,12 @@ void Overlay_LoadGameState(GameStateOverlay* overlayEntry) {
return;
}
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("OVL(d):Seg:%08x-%08x Ram:%08x-%08x Off:%08x %s\n", overlayEntry->vramStart, overlayEntry->vramEnd,
overlayEntry->loadedRamAddr,
(u32)overlayEntry->loadedRamAddr + (u32)overlayEntry->vramEnd - (u32)overlayEntry->vramStart,
(u32)overlayEntry->vramStart - (u32)overlayEntry->loadedRamAddr, "");
PRINTF(VT_RST);
PRINTF_RST();
if (overlayEntry->unk_14 != NULL) {
overlayEntry->unk_14 = (void*)((u32)overlayEntry->unk_14 -

View file

@ -3057,7 +3057,7 @@ Actor* Actor_RemoveFromCategory(PlayState* play, ActorContext* actorCtx, Actor*
}
void Actor_FreeOverlay(ActorOverlay* actorOverlay) {
PRINTF(VT_FGCOL(CYAN));
PRINTF_COLOR_CYAN();
if (actorOverlay->numLoaded == 0) {
ACTOR_DEBUG_PRINTF(T("アクタークライアントが0になりました\n", "Actor clients are now 0\n"));
@ -3080,7 +3080,7 @@ void Actor_FreeOverlay(ActorOverlay* actorOverlay) {
actorOverlay->numLoaded);
}
PRINTF(VT_RST);
PRINTF_RST();
}
Actor* Actor_Spawn(ActorContext* actorCtx, PlayState* play, s16 actorId, f32 posX, f32 posY, f32 posZ, s16 rotX,
@ -3146,13 +3146,13 @@ Actor* Actor_Spawn(ActorContext* actorCtx, PlayState* play, s16 actorId, f32 pos
Overlay_Load(overlayEntry->file.vromStart, overlayEntry->file.vromEnd, overlayEntry->vramStart,
overlayEntry->vramEnd, overlayEntry->loadedRamAddr);
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("OVL(a):Seg:%08x-%08x Ram:%08x-%08x Off:%08x %s\n", overlayEntry->vramStart, overlayEntry->vramEnd,
overlayEntry->loadedRamAddr,
(uintptr_t)overlayEntry->loadedRamAddr + (uintptr_t)overlayEntry->vramEnd -
(uintptr_t)overlayEntry->vramStart,
(uintptr_t)overlayEntry->vramStart - (uintptr_t)overlayEntry->loadedRamAddr, name);
PRINTF(VT_RST);
PRINTF_RST();
overlayEntry->numLoaded = 0;
}

View file

@ -40,14 +40,14 @@ void DynaPolyActor_UpdateCarriedActorPos(CollisionContext* colCtx, s32 bgId, Act
if (BGCHECK_XYZ_ABSMAX <= pos.x || pos.x <= -BGCHECK_XYZ_ABSMAX || BGCHECK_XYZ_ABSMAX <= pos.y ||
pos.y <= -BGCHECK_XYZ_ABSMAX || BGCHECK_XYZ_ABSMAX <= pos.z || pos.z <= -BGCHECK_XYZ_ABSMAX) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
//! @bug file and line are not passed to PRINTF
PRINTF(T("BGCheckCollection_typicalActorPos():位置が妥当ではありません。\n"
"pos (%f,%f,%f) file:%s line:%d\n",
"BGCheckCollection_typicalActorPos(): Position is not valid. \n"
"pos (%f,%f,%f) file:%s line:%d\n"),
pos.x, pos.y, pos.z);
PRINTF(VT_RST);
PRINTF_RST();
}
#endif
}

View file

@ -89,11 +89,11 @@ u16 sSurfaceMaterialToSfxOffset[SURFACE_MATERIAL_MAX] = {
s32 BgCheck_PosErrorCheck(Vec3f* pos, const char* file, int line) {
if (pos->x >= BGCHECK_XYZ_ABSMAX || pos->x <= -BGCHECK_XYZ_ABSMAX || pos->y >= BGCHECK_XYZ_ABSMAX ||
pos->y <= -BGCHECK_XYZ_ABSMAX || pos->z >= BGCHECK_XYZ_ABSMAX || pos->z <= -BGCHECK_XYZ_ABSMAX) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("T_BGCheck_PosErrorCheck():位置が妥当ではありません。pos (%f,%f,%f) file:%s line:%d\n",
"T_BGCheck_PosErrorCheck(): Position is invalid. pos (%f,%f,%f) file:%s line:%d\n"),
pos->x, pos->y, pos->z, file, line);
PRINTF(VT_RST);
PRINTF_RST();
return true;
}
return false;
@ -307,11 +307,11 @@ void CollisionPoly_GetVerticesByBgId(CollisionPoly* poly, s32 bgId, CollisionCon
Vec3s* vtxList;
if (poly == NULL || bgId > BG_ACTOR_MAX || dest == NULL) {
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
PRINTF(T("T_Polygon_GetVertex_bg_ai(): Error %d %d %d 引数が適切ではありません。処理を終了します。\n",
"T_Polygon_GetVertex_bg_ai(): Error %d %d %d Argument not appropriate. Processing terminated.\n"),
poly == NULL, bgId > BG_ACTOR_MAX, dest == NULL);
PRINTF(VT_RST);
PRINTF_RST();
if (dest != NULL) {
//! @bug: dest[2] x and y are not set to 0
@ -1648,10 +1648,10 @@ void BgCheck_Allocate(CollisionContext* colCtx, PlayState* play, CollisionHeader
SSNodeList_Alloc(play, &colCtx->polyNodes, tblMax, colCtx->colHeader->numPolygons);
lookupTblMemSize = BgCheck_InitializeStaticLookup(colCtx, play, colCtx->lookupTbl);
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF(T("/*---結局 BG使用サイズ %dbyte---*/\n", "/*---BG size used in the end %dbyte---*/\n"),
memSize + lookupTblMemSize);
PRINTF(VT_RST);
PRINTF_RST();
DynaPoly_Init(play, &colCtx->dyna);
DynaPoly_Alloc(play, &colCtx->dyna);
@ -1669,10 +1669,10 @@ CollisionHeader* BgCheck_GetCollisionHeader(CollisionContext* colCtx, s32 bgId)
return NULL;
}
if (!(colCtx->dyna.bgActorFlags[bgId] & BGACTOR_IN_USE)) {
PRINTF(VT_COL(YELLOW, BLACK));
PRINTF_COLOR_WARNING();
PRINTF(T("T_BGCheck_getBGDataInfo():そのbg_actor_indexは使われておりません。index=%d\n",
"T_BGCheck_getBGDataInfo(): That bg_actor_index is not in use. index=%d\n"));
PRINTF(VT_RST);
PRINTF_RST();
return NULL;
}
return colCtx->dyna.bgActors[bgId].colHeader;
@ -2738,10 +2738,10 @@ s32 DynaPoly_SetBgActor(PlayState* play, DynaCollisionContext* dyna, Actor* acto
}
if (!foundSlot) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("DynaPolyInfo_setActor():ダイナミックポリゴン 空きインデックスはありません\n",
"DynaPolyInfo_setActor(): Dynamic polygon no free indexes\n"));
PRINTF(VT_RST);
PRINTF_RST();
return BG_ACTOR_MAX;
}
@ -2749,9 +2749,9 @@ s32 DynaPoly_SetBgActor(PlayState* play, DynaCollisionContext* dyna, Actor* acto
dyna->bitFlag |= DYNAPOLY_INVALIDATE_LOOKUP;
dyna->bgActorFlags[bgId] &= ~BGACTOR_1;
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("DynaPolyInfo_setActor():index %d\n", bgId);
PRINTF(VT_RST);
PRINTF_RST();
return bgId;
}
@ -2801,27 +2801,27 @@ void DynaPoly_EnableCeilingCollision(PlayState* play, DynaCollisionContext* dyna
void DynaPoly_DeleteBgActor(PlayState* play, DynaCollisionContext* dyna, s32 bgId) {
DynaPolyActor* actor;
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("DynaPolyInfo_delReserve():index %d\n", bgId);
PRINTF(VT_RST);
PRINTF_RST();
if (!DynaPoly_IsBgIdBgActor(bgId)) {
#if DEBUG_FEATURES
if (bgId == -1) {
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF(T("DynaPolyInfo_delReserve():削除されているはずの(?)\n"
"インデックス(== -1)のため,処理を中止します。\n",
"DynaPolyInfo_delReserve():The index that should have been deleted(?)\n"
" was(== -1), processing aborted.\n"));
PRINTF(VT_RST);
PRINTF_RST();
} else {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("DynaPolyInfo_delReserve():"
"確保していない出来なかったインデックスの解放のため、処理を中止します。index == %d\n",
"DynaPolyInfo_delReserve():"
" Unable to deallocate index / index unallocated, processing aborted. index == %d\n"),
bgId);
PRINTF(VT_RST);
PRINTF_RST();
}
#endif
@ -2880,14 +2880,14 @@ void DynaPoly_AddBgActorToLookup(PlayState* play, DynaCollisionContext* dyna, s3
#if DEBUG_FEATURES
if (!(dyna->polyListMax >= *polyStartIndex + pbgdata->numPolygons)) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("DynaPolyInfo_expandSRT():polygon over %dが%dを越えるとダメ\n",
"DynaPolyInfo_expandSRT():polygon over do not use if %d exceeds %d\n"),
*polyStartIndex + pbgdata->numPolygons, dyna->polyListMax);
}
if (!(dyna->vtxListMax >= *vtxStartIndex + pbgdata->numVertices)) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("DynaPolyInfo_expandSRT():vertex over %dが%dを越えるとダメ\n",
"DynaPolyInfo_expandSRT():vertex over do not use if %d exceeds %d\n"),
*vtxStartIndex + pbgdata->numVertices, dyna->vtxListMax);
@ -3067,9 +3067,9 @@ void DynaPoly_UpdateContext(PlayState* play, DynaCollisionContext* dyna) {
for (i = 0; i < BG_ACTOR_MAX; i++) {
if (dyna->bgActorFlags[i] & BGACTOR_1) {
// Initialize BgActor
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF(T("DynaPolyInfo_setup():削除 index=%d\n", "DynaPolyInfo_setup(): Delete index=%d\n"), i);
PRINTF(VT_RST);
PRINTF_RST();
dyna->bgActorFlags[i] = 0;
BgActor_Initialize(play, &dyna->bgActors[i]);
@ -3077,9 +3077,9 @@ void DynaPoly_UpdateContext(PlayState* play, DynaCollisionContext* dyna) {
}
if (dyna->bgActors[i].actor != NULL && dyna->bgActors[i].actor->update == NULL) {
// Delete BgActor
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF(T("DynaPolyInfo_setup():削除 index=%d\n", "DynaPolyInfo_setup(): Delete index=%d\n"), i);
PRINTF(VT_RST);
PRINTF_RST();
actor = DynaPoly_GetActor(&play->colCtx, i);
if (actor == NULL) {
return;

View file

@ -367,9 +367,9 @@ s32 Collider_SetJntSphToActor(PlayState* play, ColliderJntSph* dest, ColliderJnt
if (dest->elements == NULL) {
dest->count = 0;
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("ClObjJntSph_set():zelda_malloc()出来ません。\n", "ClObjJntSph_set():zelda_malloc() Can not.\n"));
PRINTF(VT_RST);
PRINTF_RST();
return false;
}
@ -395,9 +395,9 @@ s32 Collider_SetJntSphAllocType1(PlayState* play, ColliderJntSph* dest, Actor* a
if (dest->elements == NULL) {
dest->count = 0;
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("ClObjJntSph_set3():zelda_malloc_出来ません。\n", "ClObjJntSph_set3():zelda_malloc_ Can not.\n"));
PRINTF(VT_RST);
PRINTF_RST();
return false;
}
@ -423,9 +423,9 @@ s32 Collider_SetJntSphAlloc(PlayState* play, ColliderJntSph* dest, Actor* actor,
if (dest->elements == NULL) {
dest->count = 0;
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("ClObjJntSph_set5():zelda_malloc出来ません\n", "ClObjJntSph_set5():zelda_malloc Can not\n"));
PRINTF(VT_RST);
PRINTF_RST();
return false;
}
for (destElem = dest->elements, srcElem = src->elements; destElem < dest->elements + dest->count;
@ -729,9 +729,9 @@ s32 Collider_SetTrisAllocType1(PlayState* play, ColliderTris* dest, Actor* actor
dest->elements = ZELDA_ARENA_MALLOC(dest->count * sizeof(ColliderTrisElement), "../z_collision_check.c", 2156);
if (dest->elements == NULL) {
dest->count = 0;
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("ClObjTris_set3():zelda_malloc()出来ません\n", "ClObjTris_set3():zelda_malloc() Can not\n"));
PRINTF(VT_RST);
PRINTF_RST();
return false;
}
for (destElem = dest->elements, srcElem = src->elements; destElem < dest->elements + dest->count;
@ -755,9 +755,9 @@ s32 Collider_SetTrisAlloc(PlayState* play, ColliderTris* dest, Actor* actor, Col
dest->elements = ZELDA_ARENA_MALLOC(dest->count * sizeof(ColliderTrisElement), "../z_collision_check.c", 2207);
if (dest->elements == NULL) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("ClObjTris_set5():zelda_malloc出来ません\n", "ClObjTris_set5():zelda_malloc Can not\n"));
PRINTF(VT_RST);
PRINTF_RST();
dest->count = 0;
return false;
}

View file

@ -18,10 +18,10 @@ void EffectShieldParticle_Init(void* thisx, void* initParamsx) {
if ((this != NULL) && (initParams != NULL)) {
this->numElements = initParams->numElements;
if (this->numElements > ARRAY_COUNT(this->elements)) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("EffectShieldParticle_ct():パーティクル数がオーバしてます。\n",
"EffectShieldParticle_ct(): Number of particles exceeded.\n"));
PRINTF(VT_RST);
PRINTF_RST();
return;
}

View file

@ -197,7 +197,7 @@ void EffectSs_Spawn(PlayState* play, s32 type, s32 priority, void* initParams) {
overlayEntry->loadedRamAddr = ZELDA_ARENA_MALLOC_R(overlaySize, "../z_effect_soft_sprite.c", 585);
if (overlayEntry->loadedRamAddr == NULL) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("EffectSoftSprite2_makeEffect():zelda_malloc_r()により,%dbyteのメモリ確保ができま\n"
"せん。そのため、プログラムのロードも\n"
"出来ません。ただいま危険な状態です!\n"
@ -207,18 +207,18 @@ void EffectSs_Spawn(PlayState* play, s32 type, s32 priority, void* initParams) {
"cannot be loaded. What a dangerous situation!\n"
"Naturally, effects will not be produced either.\n"),
overlaySize);
PRINTF(VT_RST);
PRINTF_RST();
return;
}
Overlay_Load(overlayEntry->file.vromStart, overlayEntry->file.vromEnd, overlayEntry->vramStart,
overlayEntry->vramEnd, overlayEntry->loadedRamAddr);
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("EFFECT SS OVL:SegRom %08x %08x, Seg %08x %08x, RamStart %08x, type: %d\n",
overlayEntry->file.vromStart, overlayEntry->file.vromEnd, overlayEntry->vramStart,
overlayEntry->vramEnd, overlayEntry->loadedRamAddr, type);
PRINTF(VT_RST);
PRINTF_RST();
}
profile = (void*)(uintptr_t)((overlayEntry->profile != NULL)
@ -246,14 +246,14 @@ void EffectSs_Spawn(PlayState* play, s32 type, s32 priority, void* initParams) {
sEffectSsInfo.table[index].priority = priority;
if (profile->init(play, index, &sEffectSsInfo.table[index], initParams) == 0) {
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF(T("EffectSoftSprite2_makeEffect():"
"何らかの理由でコンストラクト失敗。コンストラクターがエラーを返しました。"
"エフェクトの追加を中止します。\n",
"EffectSoftSprite2_makeEffect(): "
"Construction failed for some reason. The constructor returned an error. "
"Ceasing effect addition.\n"));
PRINTF(VT_RST);
PRINTF_RST();
EffectSs_Reset(&sEffectSsInfo.table[index]);
}
}
@ -313,7 +313,7 @@ void EffectSs_DrawAll(PlayState* play) {
if ((sEffectSsInfo.table[i].pos.x > 32000.0f) || (sEffectSsInfo.table[i].pos.x < -32000.0f) ||
(sEffectSsInfo.table[i].pos.y > 32000.0f) || (sEffectSsInfo.table[i].pos.y < -32000.0f) ||
(sEffectSsInfo.table[i].pos.z > 32000.0f) || (sEffectSsInfo.table[i].pos.z < -32000.0f)) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("EffectSoftSprite2_disp():位置が領域外のため "
"削除します。エフェクトラベルNo.%d:プログラムの方で対応をお願いします。ここです ==> "
"pos(%f, %f, %f)で、ラベルはz_effect_soft_sprite_dlftbls.declにあります。\n",
@ -322,10 +322,10 @@ void EffectSs_DrawAll(PlayState* play) {
"pos(%f, %f, %f) and the label is in z_effect_soft_sprite_dlftbls.decl.\n"),
sEffectSsInfo.table[i].type, sEffectSsInfo.table[i].pos.x, sEffectSsInfo.table[i].pos.y,
sEffectSsInfo.table[i].pos.z);
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF(T("もし、posを別のことに使っている場合相談に応じます。\n",
"If you are using pos for something else, consult me.\n"));
PRINTF(VT_RST);
PRINTF_RST();
EffectSs_Delete(&sEffectSsInfo.table[i]);
} else {

View file

@ -115,11 +115,11 @@ void Horse_SetupInGameplay(PlayState* play, Player* player) {
horseActor->room = -1;
}
} else {
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
PRINTF(
T("Horse_SetNormal():%d セットスポットまずいです。\n", "Horse_SetNormal():%d set spot is no good.\n"),
gSaveContext.save.info.horseData.sceneId);
PRINTF(VT_RST);
PRINTF_RST();
Horse_ResetHorseData(play);
}
} else if ((play->sceneId == SCENE_LON_LON_RANCH) &&
@ -291,11 +291,11 @@ void Horse_SetupInCutscene(PlayState* play, Player* player) {
void Horse_InitPlayerHorse(PlayState* play, Player* player) {
if (LINK_IS_ADULT) {
if (!Horse_CanSpawn(gSaveContext.save.info.horseData.sceneId)) {
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
PRINTF(
T("Horse_Set_Check():%d セットスポットまずいです。\n", "Horse_Set_Check():%d set spot is no good.\n"),
gSaveContext.save.info.horseData.sceneId);
PRINTF(VT_RST);
PRINTF_RST();
Horse_ResetHorseData(play);
}

View file

@ -337,9 +337,9 @@ s32 Jpeg_Decode(void* data, void* zbuffer, void* work, u32 workSize) {
x = y = 0;
for (i = 0; i < 300; i += 4) {
if (JpegDecoder_Decode(&decoder, (u16*)workBuff->data, 4, i != 0, &state)) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF("Error : Can't decode jpeg\n");
PRINTF(VT_RST);
PRINTF_RST();
} else {
Jpeg_ScheduleDecoderTask(&ctx);
osInvalDCache(&workBuff->data, sizeof(workBuff->data[0]));

View file

@ -19,11 +19,11 @@ void KaleidoManager_LoadOvl(KaleidoMgrOverlay* ovl) {
ovl->loadedRamAddr = sKaleidoAreaPtr;
Overlay_Load(ovl->file.vromStart, ovl->file.vromEnd, ovl->vramStart, ovl->vramEnd, ovl->loadedRamAddr);
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("OVL(k):Seg:%08x-%08x Ram:%08x-%08x Off:%08x %s\n", ovl->vramStart, ovl->vramEnd, ovl->loadedRamAddr,
(uintptr_t)ovl->loadedRamAddr + (uintptr_t)ovl->vramEnd - (uintptr_t)ovl->vramStart,
(uintptr_t)ovl->vramStart - (uintptr_t)ovl->loadedRamAddr, ovl->name);
PRINTF(VT_RST);
PRINTF_RST();
ovl->offset = (uintptr_t)ovl->loadedRamAddr - (uintptr_t)ovl->vramStart;
gKaleidoMgrCurOvl = ovl;
@ -50,17 +50,17 @@ void KaleidoManager_Init(PlayState* play) {
}
}
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF(T("KaleidoArea の最大サイズは %d バイトを確保します\n", "The maximum size of KaleidoArea is %d bytes\n"),
largestSize);
PRINTF(VT_RST);
PRINTF_RST();
sKaleidoAreaPtr = GAME_STATE_ALLOC(&play->state, largestSize, "../z_kaleido_manager.c", 150);
LOG_UTILS_CHECK_NULL_POINTER("KaleidoArea_allocp", sKaleidoAreaPtr, "../z_kaleido_manager.c", 151);
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("KaleidoArea %08x - %08x\n", sKaleidoAreaPtr, (uintptr_t)sKaleidoAreaPtr + largestSize);
PRINTF(VT_RST);
PRINTF_RST();
gKaleidoMgrCurOvl = NULL;
}

View file

@ -18,16 +18,16 @@ void KaleidoScopeCall_LoadPlayer(void) {
if (gKaleidoMgrCurOvl != playerActorOvl) {
if (gKaleidoMgrCurOvl != NULL) {
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF(T("カレイド領域 強制排除\n", "Kaleido area forced exclusion\n"));
PRINTF(VT_RST);
PRINTF_RST();
KaleidoManager_ClearOvl(gKaleidoMgrCurOvl);
}
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF(T("プレイヤーアクター搬入\n", "Player actor import\n"));
PRINTF(VT_RST);
PRINTF_RST();
KaleidoManager_LoadOvl(playerActorOvl);
}
@ -90,16 +90,16 @@ void KaleidoScopeCall_Update(PlayState* play) {
} else if (pauseCtx->state != PAUSE_STATE_OFF) {
if (gKaleidoMgrCurOvl != kaleidoScopeOvl) {
if (gKaleidoMgrCurOvl != NULL) {
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF(T("カレイド領域 プレイヤー 強制排除\n", "Kaleido area Player Forced Elimination\n"));
PRINTF(VT_RST);
PRINTF_RST();
KaleidoManager_ClearOvl(gKaleidoMgrCurOvl);
}
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF(T("カレイド領域 カレイドスコープ搬入\n", "Kaleido area Kaleidoscope loading\n"));
PRINTF(VT_RST);
PRINTF_RST();
KaleidoManager_LoadOvl(kaleidoScopeOvl);
}
@ -108,9 +108,9 @@ void KaleidoScopeCall_Update(PlayState* play) {
sKaleidoScopeUpdateFunc(play);
if (!IS_PAUSED(&play->pauseCtx)) {
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF(T("カレイド領域 カレイドスコープ排出\n", "Kaleido area Kaleidoscope Emission\n"));
PRINTF(VT_RST);
PRINTF_RST();
KaleidoManager_ClearOvl(kaleidoScopeOvl);
KaleidoScopeCall_LoadPlayer();

View file

@ -30,12 +30,12 @@ void Map_SetPaletteData(PlayState* play, s16 room) {
interfaceCtx->mapPaletteIndex = paletteIndex;
}
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF(T("PALETEセット 【 i=%x : room=%x 】Room_Inf[%d][4]=%x ( map_palete_no = %d )\n",
"PALETE Set 【 i=%x : room=%x 】Room_Inf[%d][4]=%x ( map_palete_no = %d )\n"),
paletteIndex, room, mapIndex, gSaveContext.save.info.sceneFlags[mapIndex].rooms,
interfaceCtx->mapPaletteIndex);
PRINTF(VT_RST);
PRINTF_RST();
interfaceCtx->mapPalette[paletteIndex * 2] = 2;
interfaceCtx->mapPalette[paletteIndex * 2 + 1] = 0xBF;
@ -130,9 +130,9 @@ void Map_InitData(PlayState* play, s16 room) {
extendedMapIndex = 0x17;
}
}
PRINTF(VT_FGCOL(BLUE));
PRINTF_COLOR_BLUE();
PRINTF("%d\n", extendedMapIndex);
PRINTF(VT_RST);
PRINTF_RST();
sEntranceIconMapIndex = extendedMapIndex;
DMA_REQUEST_SYNC(interfaceCtx->mapSegment,
(uintptr_t)_map_grand_staticSegmentRomStart +
@ -158,11 +158,11 @@ void Map_InitData(PlayState* play, s16 room) {
case SCENE_WATER_TEMPLE_BOSS:
case SCENE_SPIRIT_TEMPLE_BOSS:
case SCENE_SHADOW_TEMPLE_BOSS:
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF(T("デクの樹ダンジョンMAP テクスチャDMA(%x) scene_id_offset=%d VREG(30)=%d\n",
"Deku Tree Dungeon MAP Texture DMA(%x) scene_id_offset=%d VREG(30)=%d\n"),
room, mapIndex, VREG(30));
PRINTF(VT_RST);
PRINTF_RST();
#if PLATFORM_N64
if ((B_80121220 != NULL) && (B_80121220->unk_28 != NULL) && B_80121220->unk_28(play)) {
@ -219,9 +219,9 @@ void Map_InitRoomData(PlayState* play, s16 room) {
interfaceCtx->mapRoomNum = room;
interfaceCtx->unk_25A = mapIndex;
Map_SetPaletteData(play, room);
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF(T("部屋部屋=%d\n", "Room Room = %d\n"), room);
PRINTF(VT_RST);
PRINTF_RST();
Map_InitData(play, room);
break;
}
@ -600,9 +600,9 @@ void Map_Update(PlayState* play) {
if ((interfaceCtx->mapRoomNum == gMapData->switchFromRoom[mapIndex][i]) &&
(floor == gMapData->switchFromFloor[mapIndex][i])) {
interfaceCtx->mapRoomNum = gMapData->switchToRoom[mapIndex][i];
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF(T("階層切替=%x\n", "Layer switching = %x\n"), interfaceCtx->mapRoomNum);
PRINTF(VT_RST);
PRINTF_RST();
Map_InitData(play, interfaceCtx->mapRoomNum);
gSaveContext.sunsSongState = SUNSSONG_INACTIVE;
Map_SavePlayerInitialInfo(play);

View file

@ -2515,9 +2515,9 @@ void Message_OpenText(PlayState* play, u16 textId) {
msgCtx->textId = textId;
if (textId == 0x2030) { // Talking to Ingo as adult in Lon Lon Ranch for the first time before freeing Epona
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF(" z_message.c \n");
PRINTF(VT_RST);
PRINTF_RST();
gSaveContext.eventInf[0] = gSaveContext.eventInf[1] = gSaveContext.eventInf[2] = gSaveContext.eventInf[3] = 0;
}
@ -2657,9 +2657,9 @@ void Message_OpenText(PlayState* play, u16 textId) {
void Message_StartTextbox(PlayState* play, u16 textId, Actor* actor) {
MessageContext* msgCtx = &play->msgCtx;
PRINTF(VT_FGCOL(BLUE));
PRINTF_COLOR_BLUE();
PRINTF(T("めっせーじ=%x(%d)\n", "Message=%x(%d)\n"), textId, actor);
PRINTF(VT_RST);
PRINTF_RST();
msgCtx->ocarinaAction = 0xFFFF;
Message_OpenText(play, textId);
@ -2677,9 +2677,9 @@ void Message_ContinueTextbox(PlayState* play, u16 textId) {
s32 pad2[3];
#endif
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF(T("めっせーじ=%x message->msg_data\n", "Message=%x message->msg_data\n"), textId, msgCtx->msgLength);
PRINTF(VT_RST);
PRINTF_RST();
msgCtx->msgLength = 0;
Message_OpenText(play, textId);
@ -2719,7 +2719,7 @@ void Message_StartOcarinaImpl(PlayState* play, u16 ocarinaActionId) {
s16 noStopDoAction;
s32 k;
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
for (i = sOcarinaSongBitFlags = 0; i <= (QUEST_SONG_STORMS - QUEST_SONG_MINUET); i++) {
if (CHECK_QUEST_ITEM(QUEST_SONG_MINUET + i)) {
@ -2731,7 +2731,7 @@ void Message_StartOcarinaImpl(PlayState* play, u16 ocarinaActionId) {
sOcarinaSongBitFlags |= (1 << OCARINA_SONG_SCARECROW_SPAWN);
}
PRINTF("ocarina_bit = %x\n", sOcarinaSongBitFlags);
PRINTF(VT_RST);
PRINTF_RST();
sHasSunsSong = CHECK_QUEST_ITEM(QUEST_SONG_SUN);
msgCtx->ocarinaStaff = AudioOcarina_GetRecordingStaff();
@ -3352,11 +3352,11 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
msgCtx->stateTimer--;
if (msgCtx->stateTimer == 0) {
AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF);
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("Na_StopOcarinaMode();\n");
PRINTF("Na_StopOcarinaMode();\n");
PRINTF("Na_StopOcarinaMode();\n");
PRINTF(VT_RST);
PRINTF_RST();
Message_Decode(play);
msgCtx->msgMode = MSGMODE_SETUP_DISPLAY_SONG_PLAYED;
msgCtx->ocarinaStaff = AudioOcarina_GetPlayingStaff();
@ -3456,7 +3456,7 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
if (msgCtx->lastPlayedSong == OCARINA_SONG_EPONAS) {
R_EPONAS_SONG_PLAYED = true;
}
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF("☆☆☆ocarina=%d message->ocarina_no=%d ", msgCtx->lastPlayedSong,
msgCtx->ocarinaAction);
if (msgCtx->ocarinaAction == OCARINA_ACTION_FREE_PLAY_DONE) {
@ -3465,7 +3465,7 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
play->msgCtx.ocarinaMode = OCARINA_MODE_0B;
}
} else if (msgCtx->ocarinaAction >= OCARINA_ACTION_CHECK_MINUET) {
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF("Ocarina_PC_Wind=%d(%d) ☆☆☆ ", OCARINA_ACTION_CHECK_MINUET,
msgCtx->ocarinaAction - OCARINA_ACTION_CHECK_MINUET);
if (msgCtx->lastPlayedSong == (msgCtx->ocarinaAction - OCARINA_ACTION_CHECK_MINUET)) {
@ -3474,7 +3474,7 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
play->msgCtx.ocarinaMode = msgCtx->lastPlayedSong - 1;
}
} else {
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("Ocarina_C_Wind=%d(%d) ☆☆☆ ", OCARINA_ACTION_PLAYBACK_MINUET,
msgCtx->ocarinaAction - OCARINA_ACTION_PLAYBACK_MINUET);
if (msgCtx->lastPlayedSong == (msgCtx->ocarinaAction - OCARINA_ACTION_PLAYBACK_MINUET)) {
@ -3483,7 +3483,7 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
play->msgCtx.ocarinaMode = OCARINA_MODE_04;
}
}
PRINTF(VT_RST);
PRINTF_RST();
PRINTF("→ OCARINA_MODE=%d\n", play->msgCtx.ocarinaMode);
}
}
@ -3529,10 +3529,10 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
msgCtx->lastPlayedSong = msgCtx->ocarinaStaff->state;
msgCtx->msgMode = MSGMODE_SONG_PLAYBACK_SUCCESS;
Item_Give(play, ITEM_SONG_MINUET + gOcarinaSongItemMap[msgCtx->ocarinaStaff->state]);
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF(T("z_message.c 取得メロディ=%d\n", "z_message.c Song Acquired = %d\n"),
ITEM_SONG_MINUET + msgCtx->ocarinaStaff->state);
PRINTF(VT_RST);
PRINTF_RST();
msgCtx->stateTimer = 20;
Audio_PlaySfxGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
@ -3600,14 +3600,14 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
Message_CloseTextbox(play);
PRINTF(
T("録音終了!!!!!!!!!録音終了\n", "Recording complete!!!!!!!!! Recording Complete\n"));
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF("\n====================================================================\n");
MemCpy(gSaveContext.save.info.scarecrowLongSong, gScarecrowLongSongPtr,
sizeof(gSaveContext.save.info.scarecrowLongSong));
for (i = 0; i < ARRAY_COUNT(gSaveContext.save.info.scarecrowLongSong); i++) {
PRINTF("%d, ", gSaveContext.save.info.scarecrowLongSong[i]);
}
PRINTF(VT_RST);
PRINTF_RST();
PRINTF("\n====================================================================\n");
}
DRAW_TEXT(play, &gfx, false);
@ -3665,14 +3665,14 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
msgCtx->msgMode = MSGMODE_SCARECROW_SPAWN_RECORDING_DONE;
Audio_PlaySfxGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF("\n====================================================================\n");
MemCpy(gSaveContext.save.info.scarecrowSpawnSong, gScarecrowSpawnSongPtr,
sizeof(gSaveContext.save.info.scarecrowSpawnSong));
for (i = 0; i < ARRAY_COUNT(gSaveContext.save.info.scarecrowSpawnSong); i++) {
PRINTF("%d, ", gSaveContext.save.info.scarecrowSpawnSong[i]);
}
PRINTF(VT_RST);
PRINTF_RST();
PRINTF("\n====================================================================\n");
} else if (msgCtx->ocarinaStaff->state == OCARINA_RECORD_REJECTED ||
CHECK_BTN_ALL(play->state.input[0].press.button, BTN_B)) {
@ -4289,7 +4289,7 @@ void Message_Update(PlayState* play) {
gSaveContext.prevHudVisibilityMode = HUD_VISIBILITY_ALL;
}
if (play->csCtx.state == 0) {
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("day_time=%x active_camera=%d ", gSaveContext.save.cutsceneIndex, play->activeCamId);
if (msgCtx->textId != 0x2061 && msgCtx->textId != 0x2025 && msgCtx->textId != 0x208C &&
@ -4307,7 +4307,7 @@ void Message_Update(PlayState* play) {
}
}
}
PRINTF(VT_RST);
PRINTF_RST();
msgCtx->msgLength = 0;
msgCtx->msgMode = MSGMODE_NONE;
interfaceCtx->unk_1FA = interfaceCtx->unk_1FC = 0;

View file

@ -1135,7 +1135,7 @@ void Interface_SetSceneRestrictions(PlayState* play) {
interfaceCtx->restrictions.dinsNayrus = (sRestrictionFlags[i].flags3 & 0x0C) >> 2;
interfaceCtx->restrictions.all = (sRestrictionFlags[i].flags3 & 0x03) >> 0;
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF("parameter->button_status = %x,%x,%x\n", sRestrictionFlags[i].flags1, sRestrictionFlags[i].flags2,
sRestrictionFlags[i].flags3);
PRINTF("h_gage=%d, b_button=%d, a_button=%d, c_bottle=%d\n", interfaceCtx->restrictions.hGauge,
@ -1147,7 +1147,7 @@ void Interface_SetSceneRestrictions(PlayState* play) {
PRINTF("c_sunmoon=%d, m_wind=%d, m_magic=%d, another=%d\n", interfaceCtx->restrictions.sunsSong,
interfaceCtx->restrictions.farores, interfaceCtx->restrictions.dinsNayrus,
interfaceCtx->restrictions.all);
PRINTF(VT_RST);
PRINTF_RST();
return;
}
i++;
@ -1376,16 +1376,16 @@ u8 Item_Give(PlayState* play, u8 item) {
slot = SLOT(sExtraItemBases[item - ITEM_DEKU_STICKS_5]);
}
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF("item_get_setting=%d pt=%d z=%x\n", item, slot, gSaveContext.save.info.inventory.items[slot]);
PRINTF(VT_RST);
PRINTF_RST();
if ((item >= ITEM_MEDALLION_FOREST) && (item <= ITEM_MEDALLION_LIGHT)) {
gSaveContext.save.info.inventory.questItems |= gBitFlags[item - ITEM_MEDALLION_FOREST + QUEST_MEDALLION_FOREST];
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF(T("封印 = %x\n", "Seals = %x\n"), gSaveContext.save.info.inventory.questItems);
PRINTF(VT_RST);
PRINTF_RST();
if (item == ITEM_MEDALLION_WATER) {
Horse_FixLakeHyliaPosition(play);
@ -1395,38 +1395,38 @@ u8 Item_Give(PlayState* play, u8 item) {
} else if ((item >= ITEM_SONG_MINUET) && (item <= ITEM_SONG_STORMS)) {
gSaveContext.save.info.inventory.questItems |= gBitFlags[item - ITEM_SONG_MINUET + QUEST_SONG_MINUET];
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF(T("楽譜 = %x\n", "Musical scores = %x\n"), gSaveContext.save.info.inventory.questItems);
PRINTF(T("楽譜 = %x (%x) (%x)\n", "Musical scores = %x (%x) (%x)\n"),
gSaveContext.save.info.inventory.questItems, gBitFlags[item - ITEM_SONG_MINUET + QUEST_SONG_MINUET],
gBitFlags[item - ITEM_SONG_MINUET]);
PRINTF(VT_RST);
PRINTF_RST();
return ITEM_NONE;
} else if ((item >= ITEM_KOKIRI_EMERALD) && (item <= ITEM_ZORA_SAPPHIRE)) {
gSaveContext.save.info.inventory.questItems |= gBitFlags[item - ITEM_KOKIRI_EMERALD + QUEST_KOKIRI_EMERALD];
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF(T("精霊石 = %x\n", "Spiritual Stones = %x\n"), gSaveContext.save.info.inventory.questItems);
PRINTF(VT_RST);
PRINTF_RST();
return ITEM_NONE;
} else if ((item == ITEM_STONE_OF_AGONY) || (item == ITEM_GERUDOS_CARD)) {
gSaveContext.save.info.inventory.questItems |= gBitFlags[item - ITEM_STONE_OF_AGONY + QUEST_STONE_OF_AGONY];
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF(T("アイテム = %x\n", "Items = %x\n"), gSaveContext.save.info.inventory.questItems);
PRINTF(VT_RST);
PRINTF_RST();
return ITEM_NONE;
} else if (item == ITEM_SKULL_TOKEN) {
gSaveContext.save.info.inventory.questItems |= gBitFlags[item - ITEM_SKULL_TOKEN + QUEST_SKULL_TOKEN];
gSaveContext.save.info.inventory.gsTokens++;
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF(T("Nコイン = %x(%d)\n", "N Coins = %x(%d)\n"), gSaveContext.save.info.inventory.questItems,
gSaveContext.save.info.inventory.gsTokens);
PRINTF(VT_RST);
PRINTF_RST();
return ITEM_NONE;
} else if ((item >= ITEM_SWORD_KOKIRI) && (item <= ITEM_SWORD_BIGGORON)) {
@ -1869,9 +1869,9 @@ u8 Item_CheckObtainability(u8 item) {
slot = SLOT(sExtraItemBases[item - ITEM_DEKU_STICKS_5]);
}
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("item_get_non_setting=%d pt=%d z=%x\n", item, slot, gSaveContext.save.info.inventory.items[slot]);
PRINTF(VT_RST);
PRINTF_RST();
if ((item >= ITEM_MEDALLION_FOREST) && (item <= ITEM_MEDALLION_LIGHT)) {
return ITEM_NONE;
@ -4277,13 +4277,13 @@ void Interface_Update(PlayState* play) {
if (gSaveContext.save.info.playerData.isMagicAcquired && (gSaveContext.save.info.playerData.magicLevel == 0)) {
gSaveContext.save.info.playerData.magicLevel = gSaveContext.save.info.playerData.isDoubleMagicAcquired + 1;
gSaveContext.magicState = MAGIC_STATE_STEP_CAPACITY;
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF(T("魔法スター─────ト!!!!!!!!!\n", "Magic Start!!!!!!!!!\n"));
PRINTF("MAGIC_MAX=%d\n", gSaveContext.save.info.playerData.magicLevel);
PRINTF("MAGIC_NOW=%d\n", gSaveContext.save.info.playerData.magic);
PRINTF("Z_MAGIC_NOW_NOW=%d\n", gSaveContext.magicFillTarget);
PRINTF("Z_MAGIC_NOW_MAX=%d\n", gSaveContext.magicCapacity);
PRINTF(VT_RST);
PRINTF_RST();
}
Magic_Update(play);

View file

@ -611,14 +611,14 @@ u32 Room_SetupFirstRoom(PlayState* play, RoomContext* roomCtx) {
}
}
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF(T("部屋バッファサイズ=%08x(%5.1fK)\n", "Room buffer size=%08x(%5.1fK)\n"), roomBufferSize,
roomBufferSize / 1024.0f);
roomCtx->bufPtrs[0] = GAME_STATE_ALLOC(&play->state, roomBufferSize, "../z_room.c", 946);
PRINTF(T("部屋バッファ開始ポインタ=%08x\n", "Room buffer initial pointer=%08x\n"), roomCtx->bufPtrs[0]);
roomCtx->bufPtrs[1] = (void*)((uintptr_t)roomCtx->bufPtrs[0] + roomBufferSize);
PRINTF(T("部屋バッファ終了ポインタ=%08x\n", "Room buffer end pointer=%08x\n"), roomCtx->bufPtrs[1]);
PRINTF(VT_RST);
PRINTF_RST();
roomCtx->activeBufPage = 0;
roomCtx->status = 0;

View file

@ -87,9 +87,9 @@ void Object_InitContext(PlayState* play, ObjectContext* objectCtx) {
objectCtx->slots[i].id = OBJECT_INVALID;
}
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF(T("オブジェクト入れ替えバンク情報 %8.3fKB\n", "Object exchange bank data %8.3fKB\n"), spaceSize / 1024.0f);
PRINTF(VT_RST);
PRINTF_RST();
objectCtx->spaceStart = objectCtx->slots[0].segment =
GAME_STATE_ALLOC(&play->state, spaceSize, "../z_scene.c", 219);
@ -195,9 +195,9 @@ s32 Scene_ExecuteCommands(PlayState* play, SceneCmd* sceneCmd) {
if (cmdCode < ARRAY_COUNT(sSceneCmdHandlers)) {
sSceneCmdHandlers[cmdCode](play, sceneCmd);
} else {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("code の値が異常です\n", "code variable is abnormal\n"));
PRINTF(VT_RST);
PRINTF_RST();
}
sceneCmd++;

View file

@ -71,9 +71,9 @@ void SkelAnime_DrawLod(PlayState* play, void** skeleton, Vec3s* jointTable, Over
Vec3s rot;
if (skeleton == NULL) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("Si2_Lod_draw():skelがNULLです。\n", "Si2_Lod_draw(): skel is NULL.\n"));
PRINTF(VT_RST);
PRINTF_RST();
return;
}
@ -184,9 +184,9 @@ void SkelAnime_DrawFlexLod(PlayState* play, void** skeleton, Vec3s* jointTable,
Mtx* mtx = GRAPH_ALLOC(play->state.gfxCtx, dListCount * sizeof(Mtx));
if (skeleton == NULL) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("Si2_Lod_draw_SV():skelがNULLです。\n", "Si2_Lod_draw_SV(): skel is NULL.\n"));
PRINTF(VT_RST);
PRINTF_RST();
return;
}
@ -287,9 +287,9 @@ void SkelAnime_DrawOpa(PlayState* play, void** skeleton, Vec3s* jointTable, Over
Vec3s rot;
if (skeleton == NULL) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("Si2_draw():skelがNULLです。\n", "Si2_draw(): skel is NULL.\n"));
PRINTF(VT_RST);
PRINTF_RST();
return;
}
@ -400,9 +400,9 @@ void SkelAnime_DrawFlexOpa(PlayState* play, void** skeleton, Vec3s* jointTable,
Mtx* mtx = GRAPH_ALLOC(play->state.gfxCtx, dListCount * sizeof(Mtx));
if (skeleton == NULL) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("Si2_draw_SV():skelがNULLです。\n", "Si2_draw_SV(): skel is NULL.\n"));
PRINTF(VT_RST);
PRINTF_RST();
return;
}
@ -553,9 +553,9 @@ Gfx* SkelAnime_Draw(PlayState* play, void** skeleton, Vec3s* jointTable, Overrid
Vec3s rot;
if (skeleton == NULL) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("Si2_draw2():skelがNULLです。NULLを返します。\n", "Si2_draw2(): skel is NULL. Returns NULL.\n"));
PRINTF(VT_RST);
PRINTF_RST();
return NULL;
}
@ -661,9 +661,9 @@ Gfx* SkelAnime_DrawFlex(PlayState* play, void** skeleton, Vec3s* jointTable, s32
Mtx* mtx = GRAPH_ALLOC(play->state.gfxCtx, dListCount * sizeof(*mtx));
if (skeleton == NULL) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("Si2_draw2_SV():skelがNULLです。NULLを返します。\n", "Si2_draw2_SV(): skel is NULL. Returns NULL.\n"));
PRINTF(VT_RST);
PRINTF_RST();
return NULL;
}
@ -1129,10 +1129,10 @@ void SkelAnime_InitLink(PlayState* play, SkelAnime* skelAnime, FlexSkeletonHeade
}
if ((skelAnime->jointTable == NULL) || (skelAnime->morphTable == NULL)) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("Skeleton_Info_Rom_SV_ct メモリアロケーションエラー\n",
"Skeleton_Info_Rom_SV_ct Memory allocation error\n"));
PRINTF(VT_RST);
PRINTF_RST();
}
LinkAnimation_Change(play, skelAnime, animation, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f);
@ -1443,9 +1443,9 @@ BAD_RETURN(s32) SkelAnime_Init(PlayState* play, SkelAnime* skelAnime, SkeletonHe
skelAnime->morphTable = morphTable;
}
if ((skelAnime->jointTable == NULL) || (skelAnime->morphTable == NULL)) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("Skeleton_Info2_ct メモリアロケーションエラー\n", "Skeleton_Info2_ct Memory allocation error\n"));
PRINTF(VT_RST);
PRINTF_RST();
}
if (animation != NULL) {
@ -1476,10 +1476,10 @@ BAD_RETURN(s32) SkelAnime_InitFlex(PlayState* play, SkelAnime* skelAnime, FlexSk
skelAnime->morphTable = morphTable;
}
if ((skelAnime->jointTable == NULL) || (skelAnime->morphTable == NULL)) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("Skeleton_Info_Rom_SV_ct メモリアロケーションエラー\n",
"Skeleton_Info_Rom_SV_ct Memory allocation error\n"));
PRINTF(VT_RST);
PRINTF_RST();
}
if (animation != NULL) {
@ -1501,10 +1501,10 @@ BAD_RETURN(s32) SkelAnime_InitSkin(PlayState* play, SkelAnime* skelAnime, Skelet
skelAnime->morphTable =
ZELDA_ARENA_MALLOC(skelAnime->limbCount * sizeof(*skelAnime->morphTable), "../z_skelanime.c", 3121);
if ((skelAnime->jointTable == NULL) || (skelAnime->morphTable == NULL)) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("Skeleton_Info2_skin2_ct メモリアロケーションエラー\n",
"Skeleton_Info2_skin2_ct Memory allocation error\n"));
PRINTF(VT_RST);
PRINTF_RST();
}
if (animation != NULL) {

View file

@ -252,10 +252,10 @@ s32 SkinMatrix_Invert(MtxF* src, MtxF* dest) {
// Reaching row = 4 means the column is either all 0 or a duplicate column.
// Therefore src is a singular matrix (0 determinant).
PRINTF(VT_COL(YELLOW, BLACK));
PRINTF_COLOR_WARNING();
PRINTF(T("Skin_Matrix_InverseMatrix():逆行列つくれません\n",
"Skin_Matrix_InverseMatrix(): Cannot create inverse matrix\n"));
PRINTF(VT_RST);
PRINTF_RST();
return 2;
}

View file

@ -392,7 +392,7 @@ void Sram_OpenSave(SramContext* sramCtx) {
MemCpy(&gSaveContext, sramCtx->readBuff + i, sizeof(Save));
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF("SCENE_DATA_ID = %d SceneNo = %d\n", gSaveContext.save.info.playerData.savedSceneId,
((void)0, gSaveContext.save.entranceIndex));
@ -465,14 +465,14 @@ void Sram_OpenSave(SramContext* sramCtx) {
}
PRINTF("scene_no = %d\n", gSaveContext.save.entranceIndex);
PRINTF(VT_RST);
PRINTF_RST();
if (gSaveContext.save.info.playerData.health < 0x30) {
gSaveContext.save.info.playerData.health = 0x30;
}
if (gSaveContext.save.info.scarecrowLongSongSet) {
PRINTF(VT_FGCOL(BLUE));
PRINTF_COLOR_BLUE();
PRINTF("\n====================================================================\n");
MemCpy(gScarecrowLongSongPtr, gSaveContext.save.info.scarecrowLongSong,
@ -484,11 +484,11 @@ void Sram_OpenSave(SramContext* sramCtx) {
}
PRINTF("\n====================================================================\n");
PRINTF(VT_RST);
PRINTF_RST();
}
if (gSaveContext.save.info.scarecrowSpawnSongSet) {
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("\n====================================================================\n");
MemCpy(gScarecrowSpawnSongPtr, gSaveContext.save.info.scarecrowSpawnSong,
@ -500,7 +500,7 @@ void Sram_OpenSave(SramContext* sramCtx) {
}
PRINTF("\n====================================================================\n");
PRINTF(VT_RST);
PRINTF_RST();
}
// if zelda cutscene has been watched but lullaby was not obtained, restore cutscene and take away letter
@ -993,11 +993,11 @@ void Sram_InitSram(GameState* gameState, SramContext* sramCtx) {
PRINTF(T(" サイズ=%d + %d %d\n", "GOOD! GOOD! Size = %d + %d = %d\n"), sizeof(SaveInfo), 4,
sizeof(SaveInfo) + 4);
PRINTF(VT_FGCOL(BLUE));
PRINTF_COLOR_BLUE();
PRINTF("Na_SetSoundOutputMode = %d\n", gSaveContext.audioSetting);
PRINTF("Na_SetSoundOutputMode = %d\n", gSaveContext.audioSetting);
PRINTF("Na_SetSoundOutputMode = %d\n", gSaveContext.audioSetting);
PRINTF(VT_RST);
PRINTF_RST();
func_800F6700(gSaveContext.audioSetting);
}

View file

@ -647,11 +647,11 @@ s32 View_ErrorCheckEyePosition(f32 eyeX, f32 eyeY, f32 eyeZ) {
}
if (error != 0) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(T("eye が大きすぎます eye=[%8.3f %8.3f %8.3f] error=%d\n",
"eye is too large eye=[%8.3f %8.3f %8.3f] error=%d\n"),
eyeX, eyeY, eyeZ, error);
PRINTF(VT_RST);
PRINTF_RST();
}
return error;

View file

@ -1030,7 +1030,7 @@ void Skybox_Init(GameState* state, SkyboxContext* skyboxCtx, s16 skyboxId) {
// Precompute vertices and display lists for drawing the skybox
if (skyboxId != SKYBOX_NONE) {
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
if (skyboxCtx->drawType != SKYBOX_DRAW_128) {
skyboxCtx->dListBuf = GAME_STATE_ALLOC(state, 8 * 150 * sizeof(Gfx), "../z_vr_box.c", 1636);
@ -1056,6 +1056,6 @@ void Skybox_Init(GameState* state, SkyboxContext* skyboxCtx, s16 skyboxId) {
Skybox_Calculate128(skyboxCtx, 5); // compute 5 faces, excludes the bottom face
}
}
PRINTF(VT_RST);
PRINTF_RST();
}
}

View file

@ -158,12 +158,12 @@ u32 StackCheck_GetState(StackEntry* entry) {
if (free == 0) {
ret = STACK_STATUS_OVERFLOW;
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
} else if (free < (u32)entry->minSpace && entry->minSpace != -1) {
ret = STACK_STATUS_WARNING;
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
} else {
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
ret = STACK_STATUS_OK;
}
@ -174,7 +174,7 @@ u32 StackCheck_GetState(StackEntry* entry) {
PRINTF("head=%08x tail=%08x last=%08x used=%08x free=%08x [%s]\n", entry->head, entry->tail, last, used, free,
entry->name != NULL ? entry->name : "(null)");
PRINTF(VT_RST);
PRINTF_RST();
#if DEBUG_FEATURES
if (ret != STACK_STATUS_OK) {

View file

@ -89,9 +89,9 @@ void BgGanonOtyuka_Destroy(Actor* thisx, PlayState* play2) {
DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId);
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("WHY !!!!!!!!!!!!!!!!\n");
PRINTF(VT_RST);
PRINTF_RST();
}
void BgGanonOtyuka_WaitToFall(BgGanonOtyuka* this, PlayState* play) {

View file

@ -92,12 +92,12 @@ void BgJyaBombiwa_Init(Actor* thisx, PlayState* play) {
BgJyaBombiwa* this = (BgJyaBombiwa*)thisx;
if (PARAMS_GET_U(this->dyna.actor.params, 0, 6) != 0x29) {
PRINTF(VT_COL(YELLOW, BLACK));
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(VT_RST);
PRINTF_RST();
}
BgJyaBombiwa_SetupDynaPoly(this, play, &gBombiwaCol, 0);
BgJyaBombiwa_InitCollider(this, play);

View file

@ -140,10 +140,10 @@ void BgJyaCobra_SpawnRay(BgJyaCobra* this, PlayState* play) {
#if DEBUG_FEATURES
if (this->dyna.actor.child == NULL) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
// " : Mir Ray occurrence failure"
PRINTF(" : Mir Ray 発生失敗 (%s %d)\n", "../z_bg_jya_cobra.c", 270);
PRINTF(VT_RST);
PRINTF_RST();
}
#endif
}

View file

@ -125,10 +125,10 @@ void BgJyaZurerukabe_Init(Actor* thisx, PlayState* play) {
}
if (i == ARRAY_COUNT(D_8089B9F0)) {
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
PRINTF("home pos が変更されたみたい(%s %d)(arg_data 0x%04x)\n", "../z_bg_jya_zurerukabe.c", 299,
this->dyna.actor.params);
PRINTF(VT_RST);
PRINTF_RST();
}
this->unk_16E = D_8089B9F8[this->unk_168];

View file

@ -155,9 +155,9 @@ void BgSpot18Basket_Init(Actor* thisx, PlayState* play) {
this->dyna.actor.shape.rot.y + 0x1555, this->dyna.actor.shape.rot.z, -1);
if (this->dyna.actor.child == NULL) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF(" : 変化壷蓋発生失敗(%s %d)\n", "../z_bg_spot18_basket.c", 351);
PRINTF(VT_RST);
PRINTF_RST();
Actor_Kill(&this->dyna.actor);
}
}

View file

@ -877,10 +877,10 @@ void BossFd2_CollisionCheck(BossFd2* this, PlayState* play) {
}
if (((s8)bossFd->actor.colChkInfo.health > 2) || canKill) {
bossFd->actor.colChkInfo.health -= damage;
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("damage %d\n", damage);
}
PRINTF(VT_RST);
PRINTF_RST();
PRINTF("hp %d\n", bossFd->actor.colChkInfo.health);
if ((s8)bossFd->actor.colChkInfo.health <= 0) {

View file

@ -1747,7 +1747,7 @@ void BossMo_CoreCollisionCheck(BossMo* this, PlayState* play) {
s16 i;
Player* player = GET_PLAYER(play);
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF("Core_Damage_check START\n");
if (this->coreCollider.base.atFlags & AT_HIT) {
this->coreCollider.base.atFlags &= ~AT_HIT;
@ -1843,7 +1843,7 @@ void BossMo_CoreCollisionCheck(BossMo* this, PlayState* play) {
}
// "end !!"
PRINTF("Core_Damage_check 終わり \n");
PRINTF(VT_RST);
PRINTF_RST();
}
void BossMo_Core(BossMo* this, PlayState* play) {

View file

@ -384,10 +384,10 @@ void EnFish_Dropped_Fall(EnFish* this, PlayState* play) {
EnFish_Dropped_SetupSwimAway(this);
} else if ((this->timer <= 0) && (this->actor.params == FISH_DROPPED) &&
(this->actor.floorHeight < BGCHECK_Y_MIN + 10.0f)) {
PRINTF(VT_COL(YELLOW, BLACK));
PRINTF_COLOR_WARNING();
// "BG missing? Running Actor_delete"
PRINTF("BG 抜け? Actor_delete します(%s %d)\n", "../z_en_sakana.c", 822);
PRINTF(VT_RST);
PRINTF_RST();
Actor_Kill(&this->actor);
}
}

View file

@ -245,20 +245,20 @@ void EnFr_Init(Actor* thisx, PlayState* play) {
this->actionFunc = EnFr_Idle;
} else {
if ((this->actor.params >= 6) || (this->actor.params < 0)) {
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
// "The argument is wrong!!"
PRINTF("%s[%d] : 引数が間違っている!!(%d)\n", "../z_en_fr.c", 370, this->actor.params);
PRINTF(VT_RST);
PRINTF_RST();
ASSERT(0, "0", "../z_en_fr.c", 372);
}
this->requiredObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_GAMEPLAY_FIELD_KEEP);
if (this->requiredObjectSlot < 0) {
Actor_Kill(&this->actor);
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
// "There is no bank!!"
PRINTF("%s[%d] : バンクが無いよ!!\n", "../z_en_fr.c", 380);
PRINTF(VT_RST);
PRINTF_RST();
ASSERT(0, "0", "../z_en_fr.c", 382);
}
}
@ -980,10 +980,10 @@ void EnFr_Deactivate(EnFr* this, PlayState* play) {
EnFr* frog = sEnFrPointers.frogs[frogIndex];
if (frog == NULL) {
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
// "There are no frogs!?"
PRINTF("%s[%d]カエルがいない!?\n", "../z_en_fr.c", 1604);
PRINTF(VT_RST);
PRINTF_RST();
return;
} else if (frog->isDeactivating != true) {
return;
@ -994,10 +994,10 @@ void EnFr_Deactivate(EnFr* this, PlayState* play) {
EnFr* frog = sEnFrPointers.frogs[frogIndex];
if (frog == NULL) {
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
// "There are no frogs!?"
PRINTF("%s[%d]カエルがいない!?\n", "../z_en_fr.c", 1618);
PRINTF(VT_RST);
PRINTF_RST();
return;
}
frog->isDeactivating = false;

View file

@ -382,9 +382,9 @@ void EnGirlA_InitItem(EnGirlA* this, PlayState* play) {
if ((params >= SI_MAX) && (params < 0)) {
Actor_Kill(&this->actor);
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
PRINTF("引数がおかしいよ(arg_data=%d)\n", this->actor.params);
PRINTF(VT_RST);
PRINTF_RST();
ASSERT(0, "0", "../z_en_girlA.c", 1421);
return;
}
@ -393,9 +393,9 @@ void EnGirlA_InitItem(EnGirlA* this, PlayState* play) {
if (this->requiredObjectSlot < 0) {
Actor_Kill(&this->actor);
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
PRINTF("バンクが無いよ!!(%s)\n", sShopItemDescriptions[params]);
PRINTF(VT_RST);
PRINTF_RST();
ASSERT(0, "0", "../z_en_girlA.c", 1434);
return;
}

View file

@ -73,10 +73,10 @@ void EnGm_Init(Actor* thisx, PlayState* play) {
this->gmObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_GM);
if (this->gmObjectSlot < 0) {
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
// "There is no model bank! !! (Medi Goron)"
PRINTF("モデル バンクが無いよ!!(中ゴロン)\n");
PRINTF(VT_RST);
PRINTF_RST();
ASSERT(0, "0", "../z_en_gm.c", 145);
}

View file

@ -610,9 +610,9 @@ void EnGoroiwa_Roll(EnGoroiwa* this, PlayState* play) {
}
}
Actor_SetPlayerKnockbackLarge(play, &this->actor, 2.0f, this->actor.yawTowardsPlayer, 0.0f, 0);
PRINTF(VT_FGCOL(CYAN));
PRINTF_COLOR_CYAN();
PRINTF("Player ぶっ飛ばし\n"); // "Player knocked down"
PRINTF(VT_RST);
PRINTF_RST();
onHitSetupFuncs[PARAMS_GET_U(this->actor.params, 10, 1)](this);
Player_PlaySfx(GET_PLAYER(play), NA_SE_PL_BODY_HIT);
if ((this->actor.home.rot.z & 1) == 1) {

View file

@ -57,10 +57,10 @@ void EnGuest_Init(Actor* thisx, PlayState* play) {
} else {
this->osAnimeObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_OS_ANIME);
if (this->osAnimeObjectSlot < 0) {
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
// "No such bank!!"
PRINTF("%s[%d] : バンクが無いよ!!\n", "../z_en_guest.c", 129);
PRINTF(VT_RST);
PRINTF_RST();
ASSERT(0, "0", "../z_en_guest.c", 132);
}
}

View file

@ -578,10 +578,10 @@ void EnInsect_Dropped(EnInsect* this, PlayState* play) {
distanceSq = Math3D_Vec3fDistSq(&this->actor.world.pos, &this->soilActor->actor.world.pos);
} else {
if (this->insectFlags & INSECT_FLAG_FOUND_SOIL) {
PRINTF(VT_COL(YELLOW, BLACK));
PRINTF_COLOR_WARNING();
// "warning: target Actor is NULL"
PRINTF("warning:目標 Actor が NULL (%s %d)\n", "../z_en_mushi.c", 1046);
PRINTF(VT_RST);
PRINTF_RST();
}
distanceSq = 40.0f;
}
@ -706,10 +706,10 @@ void EnInsect_Dropped(EnInsect* this, PlayState* play) {
} else if ((type == INSECT_TYPE_FIRST_DROPPED || type == INSECT_TYPE_EXTRA_DROPPED) &&
(this->insectFlags & INSECT_FLAG_0) && this->lifeTimer <= 0 && this->actionTimer <= 0 &&
this->actor.floorHeight < BGCHECK_Y_MIN + 10.0f) {
PRINTF(VT_COL(YELLOW, BLACK));
PRINTF_COLOR_WARNING();
// "BG missing? To do Actor_delete"
PRINTF("BG 抜け? Actor_delete します(%s %d)\n", "../z_en_mushi.c", 1197);
PRINTF(VT_RST);
PRINTF_RST();
Actor_Kill(&this->actor);
}
}

View file

@ -125,10 +125,10 @@ s32 EnIshi_SnapToFloor(EnIshi* this, PlayState* play, f32 arg2) {
Math_Vec3f_Copy(&this->actor.home.pos, &this->actor.world.pos);
return true;
} else {
PRINTF(VT_COL(YELLOW, BLACK));
PRINTF_COLOR_WARNING();
// "Failure attaching to ground"
PRINTF("地面に付着失敗(%s %d)\n", "../z_en_ishi.c", 388);
PRINTF(VT_RST);
PRINTF_RST();
return false;
}
}

View file

@ -463,7 +463,7 @@ void EnKanban_Update(Actor* thisx, PlayState* play2) {
this->actor.bgCheckFlags = tempBgFlags;
this->actor.depthInWater = tempDepthInWater;
PRINTF(VT_RST);
PRINTF_RST();
if (1) {
u8 onGround = (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND);
@ -727,9 +727,9 @@ void EnKanban_Update(Actor* thisx, PlayState* play2) {
bomb = bomb->next;
}
}
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("OCARINA_MODE %d\n", play->msgCtx.ocarinaMode);
PRINTF(VT_RST);
PRINTF_RST();
switch (this->ocarinaFlag) {
case 0:
if (play->msgCtx.ocarinaMode == OCARINA_MODE_01) {

View file

@ -115,10 +115,10 @@ s32 EnKusa_SnapToFloor(EnKusa* this, PlayState* play, f32 yOffset) {
Math_Vec3f_Copy(&this->actor.home.pos, &this->actor.world.pos);
return true;
} else {
PRINTF(VT_COL(YELLOW, BLACK));
PRINTF_COLOR_WARNING();
// "Failure attaching to ground"
PRINTF("地面に付着失敗(%s %d)\n", "../z_en_kusa.c", 323);
PRINTF(VT_RST);
PRINTF_RST();
return false;
}
}

View file

@ -593,9 +593,9 @@ void EnOssan_Init(Actor* thisx, PlayState* play) {
//! @bug This check will always evaluate to false, it should be || not &&
if (this->actor.params > OSSAN_TYPE_MASK && this->actor.params < OSSAN_TYPE_KOKIRI) {
Actor_Kill(&this->actor);
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
PRINTF("引数がおかしいよ(arg_data=%d)\n", this->actor.params);
PRINTF(VT_RST);
PRINTF_RST();
ASSERT(0, "0", "../z_en_oB1.c", 1246);
return;
}
@ -622,18 +622,18 @@ void EnOssan_Init(Actor* thisx, PlayState* play) {
if (this->objectSlot1 < 0) {
Actor_Kill(&this->actor);
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
PRINTF("バンクが無いよ!!(%s)\n", sShopkeeperPrintName[this->actor.params]);
PRINTF(VT_RST);
PRINTF_RST();
ASSERT(0, "0", "../z_en_oB1.c", 1284);
return;
}
if (EnOssan_TryGetObjBankIndices(this, play, objectIds) == 0) {
Actor_Kill(&this->actor);
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
PRINTF("予備バンクが無いよ!!(%s)\n", sShopkeeperPrintName[this->actor.params]);
PRINTF(VT_RST);
PRINTF_RST();
ASSERT(0, "0", "../z_en_oB1.c", 1295);
return;
}
@ -2127,10 +2127,10 @@ void EnOssan_InitActionFunc(EnOssan* this, PlayState* play) {
this->shelves = (EnTana*)Actor_Find(&play->actorCtx, ACTOR_EN_TANA, ACTORCAT_PROP);
if (this->shelves == NULL) {
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
// "Warning!! There are no shelves!!"
PRINTF("★★★ 警告!! 棚がないよ!! ★★★\n");
PRINTF(VT_RST);
PRINTF_RST();
return;
}

View file

@ -220,11 +220,11 @@ void EnOwl_Init(Actor* thisx, PlayState* play) {
break;
default:
// Outside kokiri forest
PRINTF(VT_FGCOL(CYAN));
PRINTF_COLOR_CYAN();
PRINTF("no = %d \n", owlType);
PRINTF(T("未完成のフクロウ未完成のフクロウ未完成のフクロウ\n",
"Unfinished owl unfinished owl unfinished owl\n"));
PRINTF(VT_RST);
PRINTF_RST();
this->actionFlags |= 2;
this->unk_3EE = 0x20;
this->actionFunc = EnOwl_WaitOutsideKokiri;
@ -927,14 +927,14 @@ void func_80ACC00C(EnOwl* this, PlayState* play) {
if (this->actor.xzDistToPlayer < 50.0f) {
if (!Play_InCsMode(play)) {
owlType = PARAMS_GET_S(this->actor.params, 6, 6);
PRINTF(VT_FGCOL(CYAN));
PRINTF_COLOR_CYAN();
PRINTF(T("%dのフクロウ\n", "%d owl\n"), owlType);
PRINTF(VT_RST);
PRINTF_RST();
switch (owlType) {
case 7:
PRINTF(VT_FGCOL(CYAN));
PRINTF_COLOR_CYAN();
PRINTF(T("SPOT 06 の デモがはしった\n", "Demo of SPOT 06 has been completed\n"));
PRINTF(VT_RST);
PRINTF_RST();
play->csCtx.script = SEGMENTED_TO_VIRTUAL(gLakeHyliaOwlCs);
this->actor.draw = NULL;
break;

View file

@ -5172,11 +5172,11 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) {
#if DEBUG_FEATURES
if (0) {
// Strings existing only in rodata
PRINTF(VT_FGCOL(GREEN));
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_GREEN();
PRINTF_COLOR_YELLOW();
PRINTF("plays %x\n");
PRINTF("ys %x\n");
PRINTF(VT_RST);
PRINTF_RST();
}
#endif
@ -5676,9 +5676,9 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) {
sREG(14) = 0;
#endif
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("zelda_time %x\n", ((void)0, gSaveContext.save.dayTime));
PRINTF(VT_RST);
PRINTF_RST();
if (sStormChanceTimer >= 2) {
sStormChanceTimer--;

View file

@ -472,18 +472,18 @@ void ObjBean_Init(Actor* thisx, PlayState* play) {
if (Flags_GetSwitch(play, PARAMS_GET_U(this->dyna.actor.params, 0, 6)) || (DEBUG_FEATURES && mREG(1) == 1)) {
path = PARAMS_GET_U(this->dyna.actor.params, 8, 5);
if (path == 0x1F) {
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
// "No path data?"
PRINTF("パスデータが無い?(%s %d)(arg_data %xH)\n", "../z_obj_bean.c", 909, this->dyna.actor.params);
PRINTF(VT_RST);
PRINTF_RST();
Actor_Kill(&this->dyna.actor);
return;
}
if (play->pathList[path].count < 3) {
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
// "Incorrect number of path data"
PRINTF("パスデータ数が不正(%s %d)(arg_data %xH)\n", "../z_obj_bean.c", 921, this->dyna.actor.params);
PRINTF(VT_RST);
PRINTF_RST();
Actor_Kill(&this->dyna.actor);
return;
}
@ -888,10 +888,10 @@ void ObjBean_Update(Actor* thisx, PlayState* play) {
this->dyna.actor.shape.shadowScale = this->dyna.actor.scale.x * 88.0f;
if (ObjBean_CheckForHorseTrample(this, play)) {
PRINTF(VT_FGCOL(CYAN));
PRINTF_COLOR_CYAN();
// "Horse and bean tree lift collision"
PRINTF("馬と豆の木リフト衝突!!!\n");
PRINTF(VT_RST);
PRINTF_RST();
ObjBean_Break(this, play);
DynaPoly_DisableCollision(play, &play->colCtx.dyna, this->dyna.bgId);
func_80B908EC(this);

View file

@ -188,10 +188,10 @@ void ObjLightswitch_Init(Actor* thisx, PlayState* play) {
if (Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_OBJ_OSHIHIKI, this->actor.home.pos.x,
this->actor.home.pos.y, this->actor.home.pos.z, 0, this->actor.home.rot.y, 0,
(0xFF << 8) | PUSHBLOCK_SMALL_START_ON) == NULL) {
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
// "Push-pull block occurrence failure"
PRINTF("押引ブロック発生失敗(%s %d)(arg_data 0x%04x)\n", "../z_obj_lightswitch.c", 452, this->actor.params);
PRINTF(VT_RST);
PRINTF_RST();
removeSelf = true;
}
}

View file

@ -32,15 +32,15 @@ void ObjMakekinsuta_Init(Actor* thisx, PlayState* play) {
ObjMakekinsuta* this = (ObjMakekinsuta*)thisx;
if (PARAMS_GET_NOSHIFT(this->actor.params, 13, 2) == 0x4000) {
PRINTF(VT_FGCOL(BLUE));
PRINTF_COLOR_BLUE();
// "Gold Star Enemy(arg_data %x)"
PRINTF("金スタ発生敵(arg_data %x)\n", this->actor.params);
PRINTF(VT_RST);
PRINTF_RST();
} else {
PRINTF(VT_COL(YELLOW, BLACK));
PRINTF_COLOR_WARNING();
// "Invalid Argument (arg_data %x)(%s %d)"
PRINTF("引数不正 (arg_data %x)(%s %d)\n", this->actor.params, "../z_obj_makekinsuta.c", 119);
PRINTF(VT_RST);
PRINTF_RST();
}
this->actionFunc = func_80B98320;
}

View file

@ -72,9 +72,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,
block->rotY, 0, ((block->color << 6) & 0xC0) | (block->type & 0xF) | 0xFF00) == NULL) {
// "Push-pull block failure"
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
PRINTF(" : 押し引きブロック発生失敗(%s %d)\n", "../z_obj_makeoshihiki.c", 194);
PRINTF(VT_RST);
PRINTF_RST();
Actor_Kill(thisx);
return;
}

View file

@ -322,9 +322,9 @@ void ObjSwitch_Init(Actor* thisx, PlayState* play) {
this->dyna.actor.colChkInfo.mass = MASS_IMMOVABLE;
if (OBJSWITCH_FROZEN(&this->dyna.actor) && (ObjSwitch_SpawnIce(this, play) == NULL)) {
PRINTF(VT_FGCOL(RED));
PRINTF_COLOR_RED();
PRINTF("Error : 氷発生失敗 (%s %d)\n", "../z_obj_switch.c", 732);
PRINTF(VT_RST);
PRINTF_RST();
this->dyna.actor.params &= ~OBJSWITCH_FROZEN_FLAG;
}

View file

@ -264,9 +264,9 @@ void func_80BA24F8(ObjWarp2block* this, PlayState* play) {
this->unk_174++;
if (this->unk_174 > 60) {
PRINTF(VT_COL(RED, WHITE));
PRINTF_COLOR_ERROR();
PRINTF("Error : 時のブロック(ワープ2)が対でセットされていません(%s %d)\n", "../z_obj_warp2block.c", 505);
PRINTF(VT_RST);
PRINTF_RST();
Actor_Kill(&this->dyna.actor);
}
}

View file

@ -85,17 +85,17 @@ void OceffSpot_End(OceffSpot* this, PlayState* play) {
if (play->msgCtx.ocarinaAction != OCARINA_ACTION_CHECK_NOWARP_DONE ||
play->msgCtx.ocarinaMode != OCARINA_MODE_08) {
gSaveContext.sunsSongState = SUNSSONG_START;
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
// "Sun's Song Flag"
PRINTF("z_oceff_spot 太陽の歌フラグ\n");
PRINTF(VT_RST);
PRINTF_RST();
}
} else {
play->msgCtx.ocarinaMode = OCARINA_MODE_04;
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
// "Ocarina End"
PRINTF("z_oceff_spot オカリナ終了\n");
PRINTF(VT_RST);
PRINTF_RST();
}
}
}

View file

@ -1908,10 +1908,10 @@ void FileSelect_LoadGame(GameState* thisx) {
// capacity and `magicFillTarget`
gSaveContext.save.info.playerData.magicLevel = gSaveContext.save.info.playerData.magic = 0;
PRINTF(VT_FGCOL(GREEN));
PRINTF_COLOR_GREEN();
PRINTF("Z_MAGIC_NOW_NOW=%d MAGIC_NOW=%d\n", ((void)0, gSaveContext.magicFillTarget),
gSaveContext.save.info.playerData.magic);
PRINTF(VT_RST);
PRINTF_RST();
gSaveContext.save.info.playerData.naviTimer = 0;

View file

@ -1347,13 +1347,13 @@ void FileSelect_UpdateOptionsMenu(GameState* thisx) {
#endif
PRINTF("");
Sram_WriteSramHeader(sramCtx);
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF("sram->read_buff[2] = J_N = %x\n", sramCtx->readBuff[2]);
PRINTF("sram->read_buff[2] = J_N = %x\n", &sramCtx->readBuff[2]);
PRINTF("Na_SetSoundOutputMode = %d\n", gSaveContext.audioSetting);
PRINTF("Na_SetSoundOutputMode = %d\n", gSaveContext.audioSetting);
PRINTF("Na_SetSoundOutputMode = %d\n", gSaveContext.audioSetting);
PRINTF(VT_RST);
PRINTF_RST();
func_800F6700(gSaveContext.audioSetting);
PRINTF("終了\n");
return;

View file

@ -20,9 +20,9 @@ void MapSelect_LoadTitle(MapSelectState* this) {
}
void MapSelect_LoadGame(MapSelectState* this, s32 entranceIndex) {
PRINTF(VT_FGCOL(BLUE));
PRINTF_COLOR_BLUE();
PRINTF("\n\n\n_%x\n\n\n", gSaveContext.fileNum);
PRINTF(VT_RST);
PRINTF_RST();
if (gSaveContext.fileNum == 0xFF) {
Sram_InitDebugSave();
// Set the fill target to be the saved magic amount

View file

@ -1877,10 +1877,10 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
#if DEBUG_FEATURES
if (pauseCtx->pageIndex == PAUSE_MAP) {
if (YREG(7) != 0) {
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF("キンスタ数(%d) Get_KIN_STA=%x (%x) (%x)\n", YREG(6), GET_GS_FLAGS(YREG(6)),
gAreaGsFlags[YREG(6)], gSaveContext.save.info.gsFlags[YREG(6) >> 2]);
PRINTF(VT_RST);
PRINTF_RST();
YREG(7) = 0;
SET_GS_FLAGS(D_8082AE30[pauseCtx->cursorPoint[PAUSE_WORLD_MAP]],
@ -4554,7 +4554,7 @@ void KaleidoScope_Update(PlayState* play) {
gSaveContext.healthAccumulator = 0;
gSaveContext.magicState = MAGIC_STATE_IDLE;
gSaveContext.prevMagicState = MAGIC_STATE_IDLE;
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF("MAGIC_NOW=%d ", gSaveContext.save.info.playerData.magic);
PRINTF("Z_MAGIC_NOW_NOW=%d → ", gSaveContext.magicFillTarget);
gSaveContext.magicCapacity = 0;
@ -4565,7 +4565,7 @@ void KaleidoScope_Update(PlayState* play) {
gSaveContext.save.info.playerData.magicLevel = gSaveContext.save.info.playerData.magic = 0;
PRINTF("MAGIC_NOW=%d ", gSaveContext.save.info.playerData.magic);
PRINTF("Z_MAGIC_NOW_NOW=%d\n", gSaveContext.magicFillTarget);
PRINTF(VT_RST);
PRINTF_RST();
} else {
play->state.running = false;
SET_NEXT_GAMESTATE(&play->state, TitleSetup_Init, TitleSetupState);
@ -4636,13 +4636,13 @@ void KaleidoScope_Update(PlayState* play) {
gSaveContext.buttonStatus[3] = D_808321A8[3];
gSaveContext.buttonStatus[4] = D_808321A8[4];
interfaceCtx->unk_1FA = interfaceCtx->unk_1FC = 0;
PRINTF(VT_FGCOL(YELLOW));
PRINTF_COLOR_YELLOW();
PRINTF("i=%d LAST_TIME_TYPE=%d\n", i, gSaveContext.prevHudVisibilityMode);
gSaveContext.hudVisibilityMode = HUD_VISIBILITY_NO_CHANGE;
Interface_ChangeHudVisibilityMode(gSaveContext.prevHudVisibilityMode);
player->talkActor = NULL;
Player_SetEquipmentData(play, player);
PRINTF(VT_RST);
PRINTF_RST();
break;
}
}