diff --git a/src/overlays/actors/ovl_En_An/z_en_an.c b/src/overlays/actors/ovl_En_An/z_en_an.c index 5862b3e29..50acb5663 100644 --- a/src/overlays/actors/ovl_En_An/z_en_an.c +++ b/src/overlays/actors/ovl_En_An/z_en_an.c @@ -17,9 +17,6 @@ #define THIS ((EnAn*)thisx) -// Change this to non-zero to enable debug printing -#define DEBUG_PRINT 0 - void EnAn_Init(Actor* thisx, PlayState* play); void EnAn_Destroy(Actor* thisx, PlayState* play); void EnAn_Update(Actor* thisx, PlayState* play); @@ -3309,12 +3306,6 @@ void EnAn_HandleCouplesMaskCutscene(EnAn* this, PlayState* play) { } } -#if DEBUG_PRINT -s32 clockTimePaused = false; -u8 weekEventRegCopy[100]; -s32 downPressed = false; -#endif - void EnAn_Init(Actor* thisx, PlayState* play) { s32 pad; EnAn* this = THIS; @@ -3347,19 +3338,6 @@ void EnAn_Init(Actor* thisx, PlayState* play) { } this->actionFunc = EnAn_Initialize; - -#if DEBUG_PRINT - // SET_WEEKEVENTREG(WEEKEVENTREG_DELIVERED_PENDANT_OF_MEMORIES); - // SET_WEEKEVENTREG(WEEKEVENTREG_ESCAPED_SAKONS_HIDEOUT); - - Lib_MemCpy(weekEventRegCopy, gSaveContext.save.saveInfo.weekEventReg, - sizeof(gSaveContext.save.saveInfo.weekEventReg)); - - // gSaveContext.save.day = 3; - // if (gSaveContext.save.time > CLOCK_TIME(5, 0)) { - // gSaveContext.save.time = CLOCK_TIME(3, 0); - // } -#endif } void EnAn_Destroy(Actor* thisx, PlayState* play) { @@ -3398,49 +3376,6 @@ void EnAn_Update(Actor* thisx, PlayState* play) { EnAn_UpdateCollider(this, play); } - -#if DEBUG_PRINT - { - Input* input = CONTROLLER1(&play->state); - - if (CHECK_BTN_ALL(input->press.button, BTN_DUP)) { - clockTimePaused = !clockTimePaused; - } - - if (clockTimePaused) { - gSaveContext.save.time -= R_TIME_SPEED; - if (R_TIME_SPEED != 0) { - gSaveContext.save.time -= gSaveContext.save.timeSpeedOffset; - } - } - - if (CHECK_BTN_ALL(input->press.button, BTN_DRIGHT)) { - gSaveContext.save.time += CLOCK_TIME(0, 10); - } - if (CHECK_BTN_ALL(input->press.button, BTN_DLEFT)) { - if (gSaveContext.save.time >= CLOCK_TIME(6, 0)) { - if (gSaveContext.save.time - CLOCK_TIME(0, 10) < CLOCK_TIME(6, 0)) { - gSaveContext.save.day -= 2; - } - } - gSaveContext.save.time -= CLOCK_TIME(0, 10); - } - } -#endif - -#if DEBUG_PRINT - { - Input* input = CONTROLLER1(&play->state); - - if (CHECK_BTN_ALL(input->press.button, BTN_DDOWN)) { - downPressed = !downPressed; - } - - if (downPressed) { - this->stateFlags &= ~ENAN_STATE_8; - } - } -#endif } void EnAn_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { @@ -3492,414 +3427,6 @@ void EnAn_TransformLimbDraw(PlayState* play, s32 limbIndex, Actor* thisx) { } } -#if DEBUG_PRINT -#define BOOLSTR(x) ((x) ? "true" : "false") - -#define DEC_TIME_AUX(t) ((t) * (24 * 60) / 0x10000) -#define DEC_TIME(t) ((DEC_TIME_AUX(t) / 60) * 100 + (DEC_TIME_AUX(t) % 60)) - -typedef struct SymbolDebug { - void* address; - const char* const name; -} SymbolDebug; - -#define SYMBOL_DEBUG(sym) \ - { &sym, #sym } - -const SymbolDebug sAnjuFunctions[] = { - SYMBOL_DEBUG(EnAn_InitializeObjectSlots), - SYMBOL_DEBUG(EnAn_FindActor), - SYMBOL_DEBUG(func_80B53A7C), - SYMBOL_DEBUG(EnAn_FindDoor), - SYMBOL_DEBUG(EnAn_UpdateSkel), - SYMBOL_DEBUG(EnAn_ChangeAnim), - SYMBOL_DEBUG(EnAn_UpdateCollider), - SYMBOL_DEBUG(EnAn_UpdateFace), - SYMBOL_DEBUG(EnAn_DrawAccessory), - SYMBOL_DEBUG(EnAn_ChangeCutscene), - SYMBOL_DEBUG(EnAn_GetCsId), - SYMBOL_DEBUG(EnAn_GetChildCsId), - SYMBOL_DEBUG(EnAn_MsgEvent_ReceiveLetterFromPostman), - SYMBOL_DEBUG(EnAn_MsgEvent_AttendGoron), - SYMBOL_DEBUG(EnAn_MsgEvent_GiveLunchToGranny), - SYMBOL_DEBUG(EnAn_MsgEvent_MidnightMeeting), - SYMBOL_DEBUG(EnAn_MsgEvent_Cooking), - SYMBOL_DEBUG(EnAn_MsgEvent_LaundryPool), - SYMBOL_DEBUG(EnAn_GetMsgEventScript), - SYMBOL_DEBUG(EnAn_CheckTalk), - SYMBOL_DEBUG(EnAn_IsCouplesMaskCsPlaying), - SYMBOL_DEBUG(EnAn_UpdateHeadRot), - SYMBOL_DEBUG(EnAn_UpdateAttention), - SYMBOL_DEBUG(EnAn_ChooseAnimAfterTalking), - SYMBOL_DEBUG(EnAn_DialogueFunc_80B556F8), - SYMBOL_DEBUG(EnAn_DialogueFunc_80B557AC), - SYMBOL_DEBUG(EnAn_DialogueFunc_80B55860), - SYMBOL_DEBUG(EnAn_HandleDialogue), - SYMBOL_DEBUG(EnAn_FindLookAtActor), - SYMBOL_DEBUG(func_80B55D98), - SYMBOL_DEBUG(EnAn_IsFacingAndNearPlayer), - SYMBOL_DEBUG(func_80B55F8C), - SYMBOL_DEBUG(EnAn_ProcessSchedule_ReceiveLetterFromPostman), - SYMBOL_DEBUG(EnAn_ProcessSchedule_AttendGoron), - SYMBOL_DEBUG(EnAn_ProcessSchedule_GiveLunchToGranny), - SYMBOL_DEBUG(EnAn_ProcessSchedule_Door), - SYMBOL_DEBUG(EnAn_ProcessSchedule_Walking), - SYMBOL_DEBUG(EnAn_ProcessSchedule_Sweeping), - SYMBOL_DEBUG(EnAn_ProcessSchedule_80B56880), - SYMBOL_DEBUG(EnAn_ProcessSchedule_Ranch), - SYMBOL_DEBUG(EnAn_ProcessSchedule_StaffRoom), - SYMBOL_DEBUG(EnAn_ProcessSchedule_WithKafei), - SYMBOL_DEBUG(EnAn_ProcessScheduleOutput), - SYMBOL_DEBUG(EnAn_HandleSch_InteractActor), - SYMBOL_DEBUG(EnAn_HandleSch_Door), - SYMBOL_DEBUG(EnAn_HandleSch_FollowTimePath), - SYMBOL_DEBUG(EnAn_HandleSch_80B572D4), - SYMBOL_DEBUG(EnAn_HandleSch_LaundryPool), - SYMBOL_DEBUG(EnAn_HandleSch_WaitingForKafei), - SYMBOL_DEBUG(EnAn_HandleSch_WithKafei), - SYMBOL_DEBUG(EnAn_HandleSchedule), - SYMBOL_DEBUG(EnAn_Initialize), - SYMBOL_DEBUG(EnAn_FollowSchedule), - SYMBOL_DEBUG(EnAn_Talk), - SYMBOL_DEBUG(EnAn_HandleCouplesMaskCutscene), - SYMBOL_DEBUG(EnAn_Init), - SYMBOL_DEBUG(EnAn_Destroy), - SYMBOL_DEBUG(EnAn_Update), - SYMBOL_DEBUG(EnAn_PostLimbDraw), - SYMBOL_DEBUG(EnAn_TransformLimbDraw), - SYMBOL_DEBUG(EnAn_Draw), -}; - -const SymbolDebug sAnjuData[] = { - SYMBOL_DEBUG(sScheduleScript), - SYMBOL_DEBUG(sSearchTimePathLimit), - SYMBOL_DEBUG(sAnjuMsgScript_SchReceiveLetterFromPostman), - SYMBOL_DEBUG(sAnjuMsgScript_SchAttendGoron), - SYMBOL_DEBUG(sAnjuMsgScript_SchGiveLunchToGranny), - SYMBOL_DEBUG(sAnjuMsgScript_ReceptionistDay1), - SYMBOL_DEBUG(sAnjuMsgScript_InnCloseTime), - SYMBOL_DEBUG(sAnjuMsgScript_80B58944), - SYMBOL_DEBUG(sAnjuMsgScript_80B5894C), - SYMBOL_DEBUG(sAnjuMsgScript_SchCooking), - SYMBOL_DEBUG(sAnjuMsgScript_80B58980), - SYMBOL_DEBUG(sAnjuMsgScript_SchSweeping), - SYMBOL_DEBUG(sAnjuMsgScript_80B58994), - SYMBOL_DEBUG(sAnjuMsgScript_SchRanch), - SYMBOL_DEBUG(sAnjuMsgScript_SchMidnightMeeting), - SYMBOL_DEBUG(sAnjuMsgScript_80B589FC), - SYMBOL_DEBUG(sAnjuMsgScript_DekuDefault), - SYMBOL_DEBUG(sAnjuMsgScript_SchLaundryPoolDeku), - SYMBOL_DEBUG(sAnjuMsgScript_Receptionist), - SYMBOL_DEBUG(sAnjuMsgScript_80B58A44), - SYMBOL_DEBUG(sAnjuMsgScript_80B58ABC), - SYMBOL_DEBUG(sAnjuMsgScript_80B58AC4), - SYMBOL_DEBUG(sAnjuMsgScript_SchWaitingForKafei), - SYMBOL_DEBUG(sAnjuMsgScript_SchLaundryPoolDefault), - SYMBOL_DEBUG(sAnjuMsgScript_SchLaundryPoolKafeiMask), - SYMBOL_DEBUG(sAnjuMsgScript_80B58B7C), - SYMBOL_DEBUG(sAnjuMsgScript_80B58B88), - SYMBOL_DEBUG(sAnjuMsgScript_SchWithKafei), - SYMBOL_DEBUG(En_An_InitVars), - SYMBOL_DEBUG(sCylinderInit), - SYMBOL_DEBUG(sColChkInfoInit), - SYMBOL_DEBUG(sAnimationInfo), - // SYMBOL_DEBUG(D_80B58E34), - // SYMBOL_DEBUG(sMouthIndices), - // SYMBOL_DEBUG(D_80B58E54), - // SYMBOL_DEBUG(D_80B58E60), - // SYMBOL_DEBUG(D_80B58E68), - // SYMBOL_DEBUG(D_80B58E74), - // SYMBOL_DEBUG(D_80B58E7C), - // SYMBOL_DEBUG(D_80B58E88), - // SYMBOL_DEBUG(D_80B58E90), - // SYMBOL_DEBUG(D_80B58E9C), - // SYMBOL_DEBUG(D_80B58EA4), - // SYMBOL_DEBUG(D_80B58EAC), - // SYMBOL_DEBUG(D_80B58ED4), - // SYMBOL_DEBUG(sMouthTextures), - // SYMBOL_DEBUG(sEyeTextures), -}; - -const char* EnAn_GetSymbolName(void* address) { - s32 i; - - if (address == NULL) { - return "(null)"; - } - - for (i = 0; i < ARRAY_COUNT(sAnjuFunctions); i++) { - if (address == sAnjuFunctions[i].address) { - return &sAnjuFunctions[i].name[5]; - } - } - - for (i = 0; i < ARRAY_COUNT(sAnjuData); i++) { - if (address == sAnjuData[i].address) { - return sAnjuData[i].name; - } - } - - return "(not_found)"; -} - -void EnAn_PrintStruct(EnAn* this, PlayState* play, GfxPrint* printer) { - s32 x; - s32 y; - s32 i; - - GfxPrint_SetColor(printer, 255, 255, 255, 255); - - y = 0; - - GfxPrint_SetPos(printer, 29, ++y); - GfxPrint_Printf(printer, "gTime:x%X", gSaveContext.save.time); - - GfxPrint_SetPos(printer, 29, ++y); - GfxPrint_Printf(printer, "gTime:%02i:%02i", DEC_TIME_AUX(gSaveContext.save.time) / 60, - DEC_TIME_AUX(gSaveContext.save.time) % 60); - - if (clockTimePaused) { - GfxPrint_SetPos(printer, 28, ++y); - GfxPrint_Printf(printer, "clock paused"); - - GfxPrint_SetPos(printer, 28, ++y); - GfxPrint_Printf(printer, "offset:%X", gSaveContext.save.timeSpeedOffset); - - GfxPrint_SetPos(printer, 29, ++y); - GfxPrint_Printf(printer, "speed:%X", R_TIME_SPEED); - } - - x = 0; - y = 7; - - GfxPrint_SetPos(printer, x, ++y); - GfxPrint_Printf(printer, " action:%s", EnAn_GetSymbolName(this->actionFunc)); - - GfxPrint_SetPos(printer, x, ++y); - GfxPrint_Printf(printer, " dialogue:%s", EnAn_GetSymbolName(this->dialogueFunc)); - - GfxPrint_SetPos(printer, x, ++y); - GfxPrint_Printf(printer, " msgEvent:%s", EnAn_GetSymbolName(this->msgEventFunc)); - - GfxPrint_SetPos(printer, x, ++y); - GfxPrint_Printf(printer, "msgScript:%s", EnAn_GetSymbolName(this->msgEventScript)); - - ++y; - - { - static const char* const scheduleNames[ANJU_SCH_MAX] = { - "ANJU_SCH_NONE", - "ANJU_SCH_WAITING_FOR_KAFEI", - "ANJU_SCH_2", - "ANJU_SCH_LAUNDRY_POOL_SIT", - "ANJU_SCH_4", - "ANJU_SCH_5", - "ANJU_SCH_6", - "ANJU_SCH_7", - "ANJU_SCH_8", - "ANJU_SCH_9", - "ANJU_SCH_10", - "ANJU_SCH_11", - "ANJU_SCH_RANCH", - "ANJU_SCH_13", - "ANJU_SCH_COOKING", - "ANJU_SCH_15", - "ANJU_SCH_RECEIVE_LETTER_FROM_POSTMAN", - "ANJU_SCH_ATTEND_GORON", - "ANJU_SCH_RECEPTIONIST_IDLE", - "ANJU_SCH_WAITING_CLOSING_TIME", - "ANJU_SCH_20", - "ANJU_SCH_GIVE_LUNCH_TO_GRANNY", - "ANJU_SCH_SWEEPING", - "ANJU_SCH_MIDNIGHT_MEETING", - "ANJU_SCH_TALKING_WITH_MOM", - "ANJU_SCH_WITH_KAFEI", - "ANJU_SCH_DOOR_26", - "ANJU_SCH_DOOR_27", - "ANJU_SCH_DOOR_28", - "ANJU_SCH_DOOR_29", - "ANJU_SCH_DOOR_30", - "ANJU_SCH_DOOR_31", - "ANJU_SCH_DOOR_32", - "ANJU_SCH_DOOR_33", - "ANJU_SCH_DOOR_34", - "ANJU_SCH_DOOR_35", - "ANJU_SCH_DOOR_36", - "ANJU_SCH_DOOR_37", - "ANJU_SCH_DOOR_38", - "ANJU_SCH_DOOR_39", - "ANJU_SCH_WALKING_40", - "ANJU_SCH_41", - "ANJU_SCH_WALKING_42", - "ANJU_SCH_WALKING_43", - "ANJU_SCH_WALKING_44", - "ANJU_SCH_WALKING_45", - "ANJU_SCH_WALKING_46", - "ANJU_SCH_WALKING_47", - "ANJU_SCH_WALKING_48", - "ANJU_SCH_WALKING_49", - "ANJU_SCH_WALKING_50", - "ANJU_SCH_WALKING_51", - "ANJU_SCH_WALKING_52", - "ANJU_SCH_WALKING_53", - "ANJU_SCH_WALKING_54", - "ANJU_SCH_WALKING_55", - "ANJU_SCH_WALKING_56", - "ANJU_SCH_WALKING_57", - "ANJU_SCH_WALKING_58", - "ANJU_SCH_WALKING_59", - "ANJU_SCH_WALKING_60", - "ANJU_SCH_WALKING_61", - "ANJU_SCH_WALKING_62", - "ANJU_SCH_WALKING_63", - }; - - GfxPrint_SetPos(printer, x - 0, ++y); - GfxPrint_Printf(printer, " schedule:%s", &scheduleNames[this->scheduleResult][9]); - } - - x = 31; - y = 3 + 17; - - GfxPrint_SetPos(printer, x - 3, ++y); - GfxPrint_Printf(printer, "textId:%X", this->prevTextId); - - GfxPrint_SetPos(printer, x - 0, ++y); - GfxPrint_Printf(printer, "cue:%i", this->cueId); - - // GfxPrint_SetPos(printer, x-7, ++y); - // GfxPrint_Printf(printer, "offerRange:%f", this->offerRange); - - // GfxPrint_SetPos(printer, x-6, ++y); - // GfxPrint_Printf(printer, "savedFace:%d", this->savedFaceIndex); - - GfxPrint_SetPos(printer, x - 1, ++y); - GfxPrint_Printf(printer, "face:%d", this->faceIndex); - - // GfxPrint_SetPos(printer, x-5, ++y); - // GfxPrint_Printf(printer, "eyeTimer:%d", this->eyeTimer); - - GfxPrint_SetPos(printer, x - 0, ++y); - GfxPrint_Printf(printer, "eye:%d", this->eyeTexIndex); - - GfxPrint_SetPos(printer, x - 2, ++y); - GfxPrint_Printf(printer, "mouth:%d", this->mouthTexIndex); - - GfxPrint_SetPos(printer, x - 1, ++y); - GfxPrint_Printf(printer, "anim:%d", this->animIndex); - - GfxPrint_SetPos(printer, x - 2, ++y); - GfxPrint_Printf(printer, "! 3C0:%s", BOOLSTR(this->unk_3C0)); - - GfxPrint_SetColor(printer, 120, 120, 180, 255); - - y = 0; - { - static const char* const subsFlags[8] = { - "SUBS_OFFER_MODE_NONE", - "SUBS_OFFER_MODE_GET_ITEM", - "SUBS_OFFER_MODE_NEARBY", - "SUBS_OFFER_MODE_ONSCREEN", - "SUBS_OFFER_MODE_AUTO", - "SUBS_OFFER_MODE_AUTO_TARGETED", - "SUBS_OFFER_MODE_AUTO_NEARBY_ONSCREEN", - "SUBS_OFFER_MODE_INVALID", - }; - s32 index = this->stateFlags & SUBS_OFFER_MODE_MASK; - - GfxPrint_SetPos(printer, 1, ++y); - GfxPrint_Printf(printer, "SUBS_%s", &subsFlags[index][16]); - } - - for (i = 3; i < 16; i++) { - static const char* const flagsMap[16] = { - "ENAN_STATE_PLACEHOLDER_1", "ENAN_STATE_PLACEHOLDER_2", - "ENAN_STATE_PLACEHOLDER_4", "ENAN_STATE_8", - "ENAN_STATE_REACHED_PATH_END", "ENAN_STATE_ENGAGED", - "ENAN_STATE_IGNORE_GRAVITY", "ENAN_STATE_FACE_TARGET", - "ENAN_STATE_UPDATE_EYES", "ENAN_STATE_LOST_ATTENTION", - "ENAN_STATE_TALKING", "ENAN_STATE_DRAW_TRAY", - "ENAN_STATE_DRAW_UMBRELLA", "ENAN_STATE_DRAW_BROOM", - "ENAN_STATE_DRAW_KAFEI_MASK", "ENAN_STATE_DRAW_CHOPSTICKS", - }; - - if (this->stateFlags & (1 << i)) { - GfxPrint_SetPos(printer, 1, ++y); - GfxPrint_Printf(printer, "%s", &flagsMap[i][11]); - } - } - - GfxPrint_SetColor(printer, 255, 255, 255, 255); - - y = 20; - x = 3; - - GfxPrint_SetPos(printer, x - 2, ++y); - GfxPrint_Printf(printer, "weekEvent"); - - for (i = 0; i < ARRAY_COUNT(weekEventRegCopy); i++) { - if (weekEventRegCopy[i] != gSaveContext.save.saveInfo.weekEventReg[i]) { - u8 copy = weekEventRegCopy[i]; - u8 real = gSaveContext.save.saveInfo.weekEventReg[i]; - u8 diff = copy ^ real; - s32 j; - - for (j = 0; j < 8; j++) { - u8 mask = (1 << j); - - if (diff & mask) { - if (real & mask) { - GfxPrint_SetPos(printer, x, ++y); - GfxPrint_Printf(printer, "SET [%i] & %X", i, mask); - } else { - } - } - } - } - } - - x = 0; - y = 27; - - GfxPrint_SetPos(printer, x, ++y); - GfxPrint_Printf(printer, "builtAddr:%X", SEGMENT_START(ovl_En_An)); - - GfxPrint_SetPos(printer, x, ++y); - GfxPrint_Printf(printer, " ovlAddr:%X", EnAn_InitializeObjectSlots); -} - -void EnAn_DrawStruct(EnAn* this, PlayState* play) { - GraphicsContext* gfxCtx = play->state.gfxCtx; - GfxPrint printer; - Gfx* gfxRef; - Gfx* gfx; - - OPEN_DISPS(gfxCtx); - - Gfx_SetupDL28_Opa(gfxCtx); - - GfxPrint_Init(&printer); - - gfxRef = POLY_OPA_DISP; - gfx = Graph_GfxPlusOne(gfxRef); - gSPDisplayList(DEBUG_DISP++, gfx); - - GfxPrint_Open(&printer, gfx); - - EnAn_PrintStruct(this, play, &printer); - - gfx = GfxPrint_Close(&printer); - - gSPEndDisplayList(gfx++); - Graph_BranchDlist(gfxRef, gfx); - POLY_OPA_DISP = gfx; - - GfxPrint_Destroy(&printer); - - CLOSE_DISPS(gfxCtx); -} -#endif - void EnAn_Draw(Actor* thisx, PlayState* play) { EnAn* this = THIS; @@ -3933,8 +3460,4 @@ void EnAn_Draw(Actor* thisx, PlayState* play) { CLOSE_DISPS(play->state.gfxCtx); } - -#if DEBUG_PRINT - EnAn_DrawStruct(this, play); -#endif }