diff options
author | DizzyEggg <jajkodizzy@wp.pl> | 2018-07-16 20:23:05 +0200 |
---|---|---|
committer | DizzyEggg <jajkodizzy@wp.pl> | 2018-07-16 20:23:05 +0200 |
commit | ea5ffa3375f58c3d859f48d220a8a67fcb56fa61 (patch) | |
tree | e04cbfe52909f094f9b7a0b20e927d0f5851b201 /src | |
parent | ee3d505b585c5d0a8b6a8a68b8ab787d04bdc33a (diff) | |
parent | 07ef76277021d5cddf14004e37e785c31fcea69b (diff) |
Merge with master
Diffstat (limited to 'src')
51 files changed, 756 insertions, 715 deletions
diff --git a/src/battle_bg.c b/src/battle_bg.c index c5dd727f4..9f5bd8740 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -18,6 +18,7 @@ #include "text_window.h" #include "menu.h" #include "battle_setup.h" +#include "constants/map_types.h" struct BattleBackground { @@ -75,8 +76,8 @@ void sub_80356D0(void) void LoadBattleMenuWindowGfx(void) { - LoadSav2WindowGfx(2, 0x12, 0x10); - LoadSav2WindowGfx(2, 0x22, 0x10); + LoadUserWindowBorderGfx(2, 0x12, 0x10); + LoadUserWindowBorderGfx(2, 0x22, 0x10); LoadCompressedPalette(gUnknown_08D85600, 0x50, 0x20); if (gBattleTypeFlags & BATTLE_TYPE_ARENA) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 8f69dab06..843d241ce 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -2420,7 +2420,7 @@ static void PlayerHandleFaintAnimation(void) static void PlayerHandlePaletteFade(void) { - BeginNormalPaletteFade(-1, 2, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, 0); PlayerBufferExecCompleted(); } @@ -2640,7 +2640,7 @@ static void PlayerHandleChooseItem(void) { s32 i; - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gBattlerControllerFuncs[gActiveBattler] = OpenBagAndChooseItem; gBattlerInMenuId = gActiveBattler; @@ -2667,7 +2667,7 @@ static void PlayerHandleChoosePokemon(void) *(&gBattleStruct->battlerPreventingSwitchout) = gBattleBufferA[gActiveBattler][1] >> 4; *(&gBattleStruct->field_8B) = gBattleBufferA[gActiveBattler][2]; *(&gBattleStruct->abilityPreventingSwitchout) = gBattleBufferA[gActiveBattler][3]; - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gBattlerControllerFuncs[gActiveBattler] = OpenPartyMenuToChooseMon; gBattlerInMenuId = gActiveBattler; } @@ -2676,7 +2676,7 @@ static void PlayerHandleChoosePokemon(void) static void PlayerHandleCmd23(void) { BattleStopLowHpSound(); - BeginNormalPaletteFade(-1, 2, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, 0); PlayerBufferExecCompleted(); } diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index f7be76c9b..bc97c01f9 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -478,7 +478,7 @@ static void SafariHandleChooseItem(void) { s32 i; - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gBattlerControllerFuncs[gActiveBattler] = SafariOpenPokeblockCase; gBattlerInMenuId = gActiveBattler; } diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index f024c29c0..960181fbc 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -1251,7 +1251,7 @@ static void WallyHandleChooseMove(void) static void WallyHandleChooseItem(void) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gBattlerControllerFuncs[gActiveBattler] = OpenBagAfterPaletteFade; gBattlerInMenuId = gActiveBattler; } diff --git a/src/battle_main.c b/src/battle_main.c index 88422574f..6aa7ae622 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -1826,7 +1826,7 @@ void BattleMainCB2(void) { gSpecialVar_Result = gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; ResetPaletteFadeControl(); - BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); SetMainCallback2(CB2_QuitRecordedBattle); } } @@ -2262,7 +2262,7 @@ static void sub_8038F34(void) case 1: if (--gBattleCommunication[1] == 0) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gBattleCommunication[MULTIUSE_STATE]++; } break; @@ -2319,7 +2319,7 @@ static void sub_8038F34(void) for (i = 0; i < 2; i++) LoadChosenBattleElement(i); - BeginNormalPaletteFade(-1, 0, 0x10, 0, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); gBattleCommunication[MULTIUSE_STATE]++; break; case 4: @@ -2424,7 +2424,7 @@ static void sub_80392A8(void) gReservedSpritePaletteCount = 4; SetVBlankCallback(VBlankCB_Battle); SetMainCallback2(sub_803937C); - BeginNormalPaletteFade(-1, 0, 0x10, 0, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); gBattleCommunication[MULTIUSE_STATE] = 0; } @@ -2584,7 +2584,7 @@ static void sub_803939C(void) { if (sub_800A520() == TRUE) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gBattleCommunication[1] = 0x20; gBattleCommunication[MULTIUSE_STATE] = 8; } @@ -2592,7 +2592,7 @@ static void sub_803939C(void) } else { - BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gBattleCommunication[1] = 0x20; gBattleCommunication[MULTIUSE_STATE] = 8; } diff --git a/src/battle_records.c b/src/battle_records.c index a148f998f..c06005b17 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -348,7 +348,7 @@ static void Task_CloseTrainerHillRecordsOnButton(u8 taskId) static void Task_BeginPaletteFade(u8 taskId) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskId].func = Task_ExitTrainerHillRecords; } @@ -495,7 +495,7 @@ static void CB2_ShowTrainerHillRecords(void) gMain.state++; break; case 6: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); gMain.state++; break; case 7: diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index eb6feb2a0..eb31c22dc 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -19,6 +19,7 @@ #include "constants/songs.h" #include "constants/trainers.h" #include "constants/battle_anim.h" +#include "constants/map_types.h" #include "text.h" #include "sound.h" #include "pokedex.h" @@ -5713,7 +5714,7 @@ static void atk5A_yesnoboxlearnmove(void) if (gBattleCommunication[1] == 0) { HandleBattleWindow(0x18, 0x8, 0x1D, 0xD, WINDOW_CLEAR); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gBattleScripting.learnMoveState++; } else @@ -10288,7 +10289,7 @@ static void atkF2_displaydexinfo(void) switch (gBattleCommunication[0]) { case 0: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gBattleCommunication[0]++; break; case 1: diff --git a/src/battle_setup.c b/src/battle_setup.c index 5c7ca22aa..46fc7349c 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -32,6 +32,7 @@ #include "overworld.h" #include "field_weather.h" #include "gym_leader_rematch.h" +#include "constants/map_types.h" enum { diff --git a/src/battle_transition.c b/src/battle_transition.c index 41729eec9..d1d92cb50 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -1080,7 +1080,7 @@ static bool8 Phase2_Blur_Func2(struct Task *task) { task->tData1 = 4; if (++task->tData2 == 10) - BeginNormalPaletteFade(-1, -1, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, 0); SetGpuReg(REG_OFFSET_MOSAIC, (task->tData2 & 15) * 17); if (task->tData2 > 14) task->tState++; @@ -1107,7 +1107,7 @@ static bool8 Phase2_Swirl_Func1(struct Task *task) { sub_8149F08(); ScanlineEffect_Clear(); - BeginNormalPaletteFade(-1, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, 0); sub_8149F98(gScanlineEffectRegBuffers[1], sTransitionStructPtr->field_14, 0, 2, 0, 160); SetVBlankCallback(VBlankCB_Phase2_Swirl); @@ -1162,7 +1162,7 @@ static bool8 Phase2_Shuffle_Func1(struct Task *task) sub_8149F08(); ScanlineEffect_Clear(); - BeginNormalPaletteFade(-1, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, 0); memset(gScanlineEffectRegBuffers[1], sTransitionStructPtr->field_16, 0x140); SetVBlankCallback(VBlankCB_Phase2_Shuffle); @@ -1973,7 +1973,7 @@ static bool8 Phase2_Ripple_Func2(struct Task *task) if (++task->tData3 == 81) { task->tData4++; - BeginNormalPaletteFade(-1, -2, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 0x10, 0); } if (task->tData4 != 0 && !gPaletteFade.active) @@ -3982,7 +3982,7 @@ static bool8 Phase2_30_Func4(struct Task *task) if (++task->tData3 == 101) { task->tData4++; - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); } if (task->tData4 != 0 && !gPaletteFade.active) diff --git a/src/berry_blender.c b/src/berry_blender.c index 55431af72..ed082e14c 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -15,6 +15,7 @@ #include "malloc.h" #include "gpu_regs.h" #include "text.h" +#include "text_window.h" #include "event_data.h" #include "main.h" #include "link.h" @@ -153,8 +154,6 @@ extern const u8 gText_234Players[]; extern void sub_800A418(void); extern u8 sub_800A9D8(void); -extern void LoadSav2WindowGfx(u8, u16, u8); -extern void LoadMessageBoxGfx(u8, u16, u8); extern void sub_81AABF0(void (*callback)(void)); extern void sub_800B4C0(void); extern void ClearLinkCallback(void); @@ -927,7 +926,7 @@ static void sub_807FAC8(void) InitBgsFromTemplates(1, sBerryBlenderBgTemplates, ARRAY_COUNT(sBerryBlenderBgTemplates)); SetBgTilemapBuffer(1, sBerryBlenderData->tilemapBuffers[0]); SetBgTilemapBuffer(2, sBerryBlenderData->tilemapBuffers[1]); - LoadSav2WindowGfx(0, 1, 0xD0); + LoadUserWindowBorderGfx(0, 1, 0xD0); LoadMessageBoxGfx(0, 0x14, 0xF0); InitBerryBlenderWindows(); @@ -959,7 +958,7 @@ static void sub_807FAC8(void) } break; case 2: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); sub_8082D28(); sBerryBlenderData->mainState++; break; @@ -973,7 +972,7 @@ static void sub_807FAC8(void) sBerryBlenderData->mainState++; break; case 5: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); sBerryBlenderData->mainState++; break; case 6: @@ -1163,7 +1162,7 @@ static void sub_8080018(void) sBerryBlenderData->mainState++; break; case 3: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); sBerryBlenderData->mainState++; break; case 4: @@ -1330,8 +1329,7 @@ static void sub_8080588(void) SetBgTilemapBuffer(1, sBerryBlenderData->tilemapBuffers[0]); SetBgTilemapBuffer(2, sBerryBlenderData->tilemapBuffers[1]); - - LoadSav2WindowGfx(0, 1, 0xD0); + LoadUserWindowBorderGfx(0, 1, 0xD0); LoadMessageBoxGfx(0, 0x14, 0xF0); InitBerryBlenderWindows(); @@ -1490,7 +1488,7 @@ static void sub_80808D4(void) sBerryBlenderData->mainState++; break; case 3: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); sBerryBlenderData->mainState++; sBerryBlenderData->framesToWait = 0; break; @@ -2656,7 +2654,7 @@ static void CB2_HandlePlayerLinkPlayAgainChoice(void) case 9: if (sub_800A520()) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); sBerryBlenderData->gameEndState++; } break; diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index a755f4f44..fb4bf6817 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -247,7 +247,7 @@ static bool8 InitBerryTagScreen(void) gMain.state++; break; case 15: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); gPaletteFade.bufferTransferDisabled = 0; gMain.state++; break; @@ -481,7 +481,7 @@ static void DestroyFlavorCircleSprites(void) static void PrepareToCloseBerryTagScreen(u8 taskId) { PlaySE(SE_SELECT); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskId].func = Task_CloseBerryTagScreen; } diff --git a/src/bike.c b/src/bike.c index 87110b87b..6ffd479f7 100644 --- a/src/bike.c +++ b/src/bike.c @@ -9,6 +9,7 @@ #include "overworld.h" #include "constants/songs.h" #include "sound.h" +#include "constants/map_types.h" extern bool8 gBikeCyclingChallenge; extern u8 gBikeCollisions; diff --git a/src/daycare.c b/src/daycare.c index 5a6aa2b40..c73d91521 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -73,20 +73,20 @@ static const struct ListMenuItem sLevelMenuItems[] = static const struct ListMenuTemplate sDaycareListMenuLevelTemplate = { .items = sLevelMenuItems, - .moveCursorFunc = sub_81AF078, - .unk_08 = DaycarePrintMonInfo, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = DaycarePrintMonInfo, .totalItems = 3, .maxShowed = 3, .windowId = 0, - .unk_11 = 0, - .unk_12 = 8, + .header_X = 0, + .item_X = 8, .cursor_X = 0, .upText_Y = 1, .cursorPal = 2, .fillValue = 1, .cursorShadowPal = 3, .lettersSpacing = 1, - .unk_16_3 = 0, + .itemVerticalPadding = 0, .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, .fontId = 1, .cursorKind = 0 diff --git a/src/decoration.c b/src/decoration.c index 0510b9f31..b21d51278 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -838,7 +838,7 @@ void sub_8127500(void) { if (sDecorPCBuffer->unk_522 == 0xFF) { - sDecorPCBuffer->unk_522 = AddScrollIndicatorArrowPairParametrized(0x02, 0x3c, 0x0c, 0x94, sDecorPCBuffer->unk_520 - sDecorPCBuffer->unk_521, 0x6e, 0x6e, &sSecretBasePCSelectDecorPageNo); + sDecorPCBuffer->unk_522 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0x3c, 0x0c, 0x94, sDecorPCBuffer->unk_520 - sDecorPCBuffer->unk_521, 0x6e, 0x6e, &sSecretBasePCSelectDecorPageNo); } } diff --git a/src/diploma.c b/src/diploma.c index 289e0e043..599ceec72 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -89,7 +89,7 @@ void CB2_ShowDiploma(void) CopyBgTilemapBufferToVram(1); DisplayDiplomaText(); BlendPalettes(-1, 16, 0); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); EnableInterrupts(1); SetVBlankCallback(VBlankCB); SetMainCallback2(MainCB2); @@ -114,7 +114,7 @@ static void Task_DiplomaWaitForKeyPress(u8 taskId) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gTasks[taskId].func = Task_DiplomaFadeOut; } } diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 1e89650d3..64ec47537 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -591,7 +591,7 @@ static void CB2_EggHatch_1(void) switch (sEggHatchData->CB2_state) { case 0: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); sEggHatchData->eggSpriteID = CreateSprite(&sSpriteTemplate_EggHatch, 120, 75, 5); ShowBg(0); ShowBg(1); @@ -653,7 +653,7 @@ static void CB2_EggHatch_1(void) case 9: if (!IsTextPrinterActive(sEggHatchData->windowId)) { - LoadSav2WindowGfx(sEggHatchData->windowId, 0x140, 0xE0); + LoadUserWindowBorderGfx(sEggHatchData->windowId, 0x140, 0xE0); CreateYesNoMenu(&sYesNoWinTemplate, 0x140, 0xE, 0); sEggHatchData->CB2_state++; } @@ -674,7 +674,7 @@ static void CB2_EggHatch_1(void) } break; case 11: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); sEggHatchData->CB2_state++; break; case 12: @@ -784,7 +784,7 @@ static void SpriteCB_Egg_4(struct Sprite* sprite) { s16 i; if (sprite->data[0] == 0) - BeginNormalPaletteFade(-1, -1, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, 0xFFFF); if (sprite->data[0] < 4u) { for (i = 0; i <= 3; i++) @@ -808,7 +808,7 @@ static void SpriteCB_Egg_5(struct Sprite* sprite) StartSpriteAffineAnim(&gSprites[sEggHatchData->pokeSpriteID], 1); } if (sprite->data[0] == 8) - BeginNormalPaletteFade(-1, -1, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0x10, 0, 0xFFFF); if (sprite->data[0] <= 9) gSprites[sEggHatchData->pokeSpriteID].pos1.y -= 1; if (sprite->data[0] > 40) diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 35b04ea1e..5fdceb4c3 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -21,6 +21,7 @@ #include "sprite.h" #include "trainer_see.h" #include "util.h" +#include "constants/event_object_movement_constants.h" #include "constants/event_objects.h" // this file was known as evobjmv.c in Game Freak's original source @@ -1537,7 +1538,7 @@ u8 SpawnSpecialEventObject(struct EventObjectTemplate *eventObjectTemplate) return TrySpawnEventObject(eventObjectTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); } -u8 SpawnSpecialEventObjectParametrized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z) +u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z) { struct EventObjectTemplate eventObjectTemplate; diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 7079375f8..f039c5f24 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -188,7 +188,7 @@ static void Task_BeginEvolutionScene(u8 taskID) switch (gTasks[taskID].tState) { case 0: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskID].tState++; break; case 1: @@ -385,7 +385,7 @@ static void CB2_EvolutionSceneLoadGraphics(void) SetVBlankCallback(VBlankCB_EvolutionScene); SetMainCallback2(CB2_EvolutionSceneUpdate); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); ShowBg(0); ShowBg(1); @@ -469,7 +469,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) gMain.state++; break; case 7: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); sub_807B140(); ShowBg(0); ShowBg(1); @@ -622,7 +622,7 @@ static void Task_EvolutionScene(u8 taskID) switch (gTasks[taskID].tState) { case 0: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); gSprites[sEvoStructPtr->preEvoSpriteID].invisible = 0; gTasks[taskID].tState++; ShowBg(0); @@ -770,7 +770,7 @@ static void Task_EvolutionScene(u8 taskID) } else // no move to learn { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskID].tState++; } } @@ -904,7 +904,7 @@ static void Task_EvolutionScene(u8 taskID) { gTasks[taskID].tLearnMoveState = gTasks[taskID].tData7; if (gTasks[taskID].tLearnMoveState == 5) - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); } } if (gMain.newKeys & B_BUTTON) @@ -1214,7 +1214,7 @@ static void Task_TradeEvolutionScene(u8 taskID) case 3: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - LoadSav2WindowGfx(0, 0xA8, 0xE0); + LoadUserWindowBorderGfx(0, 0xA8, 0xE0); CreateYesNoMenu(&gUnknown_0833900C, 0xA8, 0xE, 0); sEvoCursorPos = 0; gTasks[taskID].tLearnMoveState++; @@ -1230,7 +1230,7 @@ static void Task_TradeEvolutionScene(u8 taskID) sub_807F1A8(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState = gTasks[taskID].tData7; if (gTasks[taskID].tLearnMoveState == 5) - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); break; case 1: case -1: diff --git a/src/field_region_map.c b/src/field_region_map.c index 1edf1ab51..34b6089df 100644 --- a/src/field_region_map.c +++ b/src/field_region_map.c @@ -89,7 +89,7 @@ static void MCB2_InitRegionMapRegisters(void) InitBgsFromTemplates(1, gUnknown_085E5068, 2); InitWindows(gUnknown_085E5070); DeactivateAllTextPrinters(); - LoadSav2WindowGfx(0, 0x27, 0xd0); + LoadUserWindowBorderGfx(0, 0x27, 0xd0); clear_scheduled_bg_copies_to_vram(); SetMainCallback2(MCB2_FieldUpdateRegionMap); SetVBlankCallback(VBCB_FieldUpdateRegionMap); @@ -130,7 +130,7 @@ static void FieldUpdateRegionMap(void) schedule_bg_copy_tilemap_to_vram(0); SetWindowBorderStyle(0, 0, 0x27, 0xd); PrintRegionMapSecName(); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); sFieldRegionMapHandler->state++; break; case 2: @@ -158,7 +158,7 @@ static void FieldUpdateRegionMap(void) } break; case 5: - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); sFieldRegionMapHandler->state++; break; case 6: diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 0ed22c1e1..f5c4ba491 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -414,7 +414,7 @@ static bool8 InitHallOfFameScreen(void) if (!sub_8175024()) { SetVBlankCallback(VBlankCB_HallOfFame); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); gMain.state++; } break; @@ -764,7 +764,7 @@ static void Task_Hof_ExitOnKeyPressed(u8 taskId) static void Task_Hof_HandlePaletteOnExit(u8 taskId) { CpuCopy16(gPlttBufferFaded, gPlttBufferUnfaded, 0x400); - BeginNormalPaletteFade(-1, 8, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 8, 0, 0x10, 0); gTasks[taskId].func = Task_Hof_HandleExit; } diff --git a/src/item_menu.c b/src/item_menu.c index 5a0929a7c..a05ca169b 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -209,7 +209,7 @@ const struct YesNoFuncTable gUnknown_08614084 = {BagMenuActuallyToss, BagMenuCan const struct YesNoFuncTable gUnknown_0861408C = {sub_81AD84C, sub_81AD6FC}; -const struct ArrowStruct gUnknown_08614094 = {0, 0x1C, 16, 1, 100, 16, -1, -1, 0x6F, 0x6F, 0}; +const struct ScrollArrowsTemplate gUnknown_08614094 = {SCROLL_ARROW_LEFT, 0x1C, 16, SCROLL_ARROW_RIGHT, 100, 16, -1, -1, 0x6F, 0x6F, 0}; const u8 gUnknown_086140A4[] = INCBIN_U8("graphics/interface/select_button.4bpp"); @@ -488,7 +488,7 @@ bool8 setup_bag_menu(void) gMain.state++; break; case 20: - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); gPaletteFade.bufferTransferDisabled = FALSE; gMain.state++; break; @@ -733,7 +733,7 @@ void bag_menu_print_cursor(u8 a, u8 b) void bag_menu_add_pocket_scroll_arrow_indicators_maybe(void) { if (gUnknown_0203CE54->unk81E == 0xFF) - gUnknown_0203CE54->unk81E = AddScrollIndicatorArrowPairParametrized(2, 0xAC, 12, 0x94, gUnknown_0203CE54->unk829[gUnknown_0203CE58.pocket] - gUnknown_0203CE54->unk82E[gUnknown_0203CE58.pocket], 0x6E, 0x6E, &gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket]); + gUnknown_0203CE54->unk81E = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0xAC, 12, 0x94, gUnknown_0203CE54->unk829[gUnknown_0203CE58.pocket] - gUnknown_0203CE54->unk82E[gUnknown_0203CE58.pocket], 0x6E, 0x6E, &gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket]); } void sub_81AB824(void) @@ -771,7 +771,7 @@ void free_bag_item_list_buffers(void) void unknown_ItemMenu_Confirm(u8 taskId) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gTasks[taskId].func = task_close_bag_menu_2; } @@ -1114,7 +1114,7 @@ void bag_menu_swap_items(u8 taskId) { s16* data = gTasks[taskId].data; - sub_81AF15C(data[0], 16, 1); + ListMenuSetUnkIndicatorsStructField(data[0], 16, 1); data[1] = gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket] + gUnknown_0203CE58.cursorPosition[gUnknown_0203CE58.pocket]; gUnknown_0203CE54->unk81A = data[1]; CopyItemName(BagGetItemIdByPocketPosition(gUnknown_0203CE58.pocket + 1, data[1]), gStringVar1); @@ -2078,7 +2078,7 @@ void bag_menu_print_pocket_names(u8 *pocketName1, u8 *pocketName2) offset = GetStringCenterAlignXOffset(1, pocketName2, 0x40); bag_menu_print(windowId, 1, pocketName2, offset + 0x40, 1, 0, 0, -1, 1); } - CpuCopy32((u8*)GetWindowAttribute(windowId, 7), gUnknown_0203CE54->unk844, 0x400); + CpuCopy32((u8*)GetWindowAttribute(windowId, WINDOW_TILE_DATA), gUnknown_0203CE54->unk844, 0x400); RemoveWindow(windowId); } @@ -2090,7 +2090,7 @@ void bag_menu_copy_pocket_name_to_window(u32 a) if (a > 8) a = 8; r4 = &gUnknown_0203CE54->unk844; - windowAttribute = (u8*)GetWindowAttribute(2, 7); + windowAttribute = (u8*)GetWindowAttribute(2, WINDOW_TILE_DATA); CpuCopy32(r4[0][a], windowAttribute, 0x100); b = a + 16; CpuCopy32(r4[0][b], windowAttribute + 0x100, 0x100); @@ -2103,7 +2103,7 @@ void setup_bag_menu_textboxes(void) InitWindows(gUnknown_08614174); DeactivateAllTextPrinters(); - LoadSav2WindowGfx(0, 1, -32); + LoadUserWindowBorderGfx(0, 1, -32); LoadMessageBoxGfx(0, 10, -48); sub_819A2BC(-64, 1); LoadPalette(&gUnknown_0860F074, 0xF0, 0x20); @@ -2116,9 +2116,9 @@ void setup_bag_menu_textboxes(void) schedule_bg_copy_tilemap_to_vram(1); } -void bag_menu_print(u8 a, u8 b, const u8 *str, u8 c, u8 d, u8 e, u8 f, u8 g, u8 h) +void bag_menu_print(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 h) { - AddTextPrinterParameterized2(a, b, c, d, e, f, gUnknown_08614164[h], g, str); + AddTextPrinterParameterized2(windowId, fontId, left, top, letterSpacing, lineSpacing, gUnknown_08614164[h], speed, str); } u8 sub_81AE124(u8 a) diff --git a/src/item_use.c b/src/item_use.c index 6bdfe1c54..9031338dd 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -5,6 +5,7 @@ #include "berry.h" #include "bike.h" #include "coins.h" +#include "constants/bg_event_constants.h" #include "constants/flags.h" #include "constants/items.h" #include "constants/songs.h" @@ -371,7 +372,7 @@ bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *events, u8 taskId) gTasks[taskId].data[2] = FALSE; for (i = 0; i < events->bgEventCount; i++) { - if (events->bgEvents[i].kind == 7 && !FlagGet(events->bgEvents[i].bgUnion.hiddenItem.hiddenItemId + 0x1F4)) + if (events->bgEvents[i].kind == BG_EVENT_HIDDEN_ITEM && !FlagGet(events->bgEvents[i].bgUnion.hiddenItem.hiddenItemId + 0x1F4)) { distanceX = (u16)events->bgEvents[i].x + 7; newDistanceX = distanceX - x; @@ -398,7 +399,7 @@ bool8 sub_80FD6D4(const struct MapEvents *events, s16 x, s16 y) for (i = 0; i < bgEventCount; i++) { - if (bgEvent[i].kind == 7 && x == (u16)bgEvent[i].x && y == (u16)bgEvent[i].y) // hidden item and coordinates matches x and y passed? + if (bgEvent[i].kind == BG_EVENT_HIDDEN_ITEM && x == (u16)bgEvent[i].x && y == (u16)bgEvent[i].y) // hidden item and coordinates matches x and y passed? { if (!FlagGet(bgEvent[i].bgUnion.hiddenItem.hiddenItemId + 0x1F4)) return TRUE; diff --git a/src/link.c b/src/link.c index acdb6cae0..ca9a5bb13 100644 --- a/src/link.c +++ b/src/link.c @@ -219,7 +219,7 @@ const u8 gUnknown_082ED224[] = { // .text -bool8 sub_80093CC(void) +bool8 IsWirelessAdapterConnected(void) { sub_800B488(); sub_800E700(); @@ -444,7 +444,7 @@ static void LinkTestProcessKeyInput(void) } if (gMain.newKeys & L_BUTTON) { - BeginNormalPaletteFade(-1, 0, 16, 0, 2); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 2); } if (gMain.newKeys & START_BUTTON) { diff --git a/src/list_menu.c b/src/list_menu.c index d4a8976a5..933d9835f 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -13,27 +13,6 @@ #include "sound.h" #include "constants/songs.h" -// This file needs better labels and function names. - -struct UnknownMysteryGiftLinkMenuStruct -{ - s32 field_0; - u8 field_4; - u8 field_5; - u8 field_6; -}; - -struct UnknownListMenuPals -{ - u8 cursorPal:4; - u8 fillValue:4; - u8 cursorShadowPal:4; - u8 lettersSpacing:6; - u8 field_2_2:6; // unused - u8 fontId:7; - u8 field_3_7:1; -}; - struct UnkIndicatorsStruct { u8 field_0; @@ -57,26 +36,19 @@ struct UnkIndicatorsStruct u8 field_17_1:2; }; -struct UnkIndicatorsStruct2 +struct ScrollIndicatorPair { u8 field_0; - u16 *field_4; - u16 field_8; - u16 field_A; - u8 field_C; - u8 field_D; + u16 *currItemPtr; + u16 fullyUpThreshold; + u16 fullyDownThreshold; + u8 topSpriteId; + u8 bottomSpriteId; u16 tileTag; u16 palTag; - u16 field_12; - u16 field_14; - u16 field_16; - u16 field_18; - u16 field_1A; - u16 field_1C; - s16 field_1E; }; -struct UnkIndicatorsStruct3 +struct RedOutlineCursor { struct SubspriteTable subspriteTable; struct Subsprite *subspritesPtr; // not a const pointer @@ -85,27 +57,19 @@ struct UnkIndicatorsStruct3 u16 palTag; }; -struct UnkIndicatorsStruct4 +struct RedArrowCursor { - u8 field_0; + u8 spriteId; u16 tileTag; u16 palTag; }; -struct UnkSmallIndicatorsStruct -{ - u8 field_0_0:4; - u8 field_0_1:4; - u8 field_1; - u16 field_2; -}; - // this file's functions static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow); static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAndCallCallback, u8 count, bool8 movingDown); static void ListMenuPrintEntries(struct ListMenu *list, u16 startIndex, u16 yOffset, u16 count); static void ListMenuDrawCursor(struct ListMenu *list); -static void ListMenuCallSelectionChangedCallback(struct ListMenu *list, u8 a2); +static void ListMenuCallSelectionChangedCallback(struct ListMenu *list, u8 onInit); static u8 ListMenuAddCursorObject(struct ListMenu *list, u32 cursorKind); static void Task_ScrollIndicatorArrowPair(u8 taskId); static u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor); @@ -117,19 +81,40 @@ static void ListMenuRemoveRedArrowCursorObject(u8 taskId); static u8 ListMenuAddCursorObjectInternal(struct CursorStruct *cursor, u32 cursorKind); static void ListMenuUpdateCursorObject(u8 taskId, u16 x, u16 y, u32 cursorKind); static void ListMenuRemoveCursorObject(u8 taskId, u32 cursorKind); -static void sub_81AF264(struct Sprite *sprite); -static void ObjectCB_RedArrowCursor(struct Sprite *sprite); +static void SpriteCallback_ScrollIndicatorArrow(struct Sprite *sprite); +static void SpriteCallback_RedArrowCursor(struct Sprite *sprite); // EWRAM vars - EWRAM_DATA struct UnknownMysteryGiftLinkMenuStruct gUnknown_0203CE84 = {0}; - EWRAM_DATA struct ArrowStruct gUnknown_0203CE8C = {0}; +static EWRAM_DATA struct { + s32 currItemId; + u8 state; + u8 windowId; + u8 listTaskId; +} sMysteryGiftLinkMenu = {0}; + +EWRAM_DATA struct ScrollArrowsTemplate gTempScrollArrowTemplate = {0}; // IWRAM common -struct UnknownListMenuPals gUnknown_03006300; +struct { + u8 cursorPal:4; + u8 fillValue:4; + u8 cursorShadowPal:4; + u8 lettersSpacing:6; + u8 field_2_2:6; // unused + u8 fontId:7; + bool8 enabled:1; +} gListMenuOverride; + struct ListMenuTemplate gMultiuseListMenuTemplate; // const rom data -static const struct UnkSmallIndicatorsStruct gUnknown_086141FC[] = +static const struct +{ + u8 animNum:4; + u8 bounceDir:4; + u8 multiplier; + u16 frequency; +} sScrollIndicatorTemplates[] = { {0, 0, 2, 8}, {1, 0, 2, -8}, @@ -137,7 +122,7 @@ static const struct UnkSmallIndicatorsStruct gUnknown_086141FC[] = {3, 1, 2, -8}, }; -static const struct OamData sOamData_861420C = +static const struct OamData sOamData_ScrollArrowIndicator = { .y = 0, .affineMode = 0, @@ -154,50 +139,50 @@ static const struct OamData sOamData_861420C = .affineParam = 0 }; -static const union AnimCmd sSpriteAnim_8614214[] = +static const union AnimCmd sSpriteAnim_ScrollArrowIndicator0[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_END }; -static const union AnimCmd sSpriteAnim_861421C[] = +static const union AnimCmd sSpriteAnim_ScrollArrowIndicator1[] = { ANIMCMD_FRAME(0, 30, 1, 0), ANIMCMD_END }; -static const union AnimCmd sSpriteAnim_8614224[] = +static const union AnimCmd sSpriteAnim_ScrollArrowIndicator2[] = { ANIMCMD_FRAME(4, 30), ANIMCMD_END }; -static const union AnimCmd sSpriteAnim_861422C[] = +static const union AnimCmd sSpriteAnim_ScrollArrowIndicator3[] = { ANIMCMD_FRAME(4, 30, 0, 1), ANIMCMD_END }; -static const union AnimCmd *const sSpriteAnimTable_8614234[] = +static const union AnimCmd *const sSpriteAnimTable_ScrollArrowIndicator[] = { - sSpriteAnim_8614214, - sSpriteAnim_861421C, - sSpriteAnim_8614224, - sSpriteAnim_861422C + sSpriteAnim_ScrollArrowIndicator0, + sSpriteAnim_ScrollArrowIndicator1, + sSpriteAnim_ScrollArrowIndicator2, + sSpriteAnim_ScrollArrowIndicator3 }; -static const struct SpriteTemplate gUnknown_08614244 = +static const struct SpriteTemplate sSpriteTemplate_ScrollArrowIndicator = { .tileTag = 0, .paletteTag = 0, - .oam = &sOamData_861420C, - .anims = sSpriteAnimTable_8614234, + .oam = &sOamData_ScrollArrowIndicator, + .anims = sSpriteAnimTable_ScrollArrowIndicator, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81AF264, + .callback = SpriteCallback_ScrollIndicatorArrow, }; -static const struct Subsprite sSubsprite_861425C = +static const struct Subsprite sSubsprite_RedOutline1 = { .x = 0, .y = 0, @@ -207,7 +192,7 @@ static const struct Subsprite sSubsprite_861425C = .priority = 0, }; -static const struct Subsprite sSubsprite_8614260 = +static const struct Subsprite sSubsprite_RedOutline2 = { .x = 0, .y = 0, @@ -217,7 +202,7 @@ static const struct Subsprite sSubsprite_8614260 = .priority = 0, }; -static const struct Subsprite sSubsprite_8614264 = +static const struct Subsprite sSubsprite_RedOutline3 = { .x = 0, .y = 0, @@ -227,7 +212,7 @@ static const struct Subsprite sSubsprite_8614264 = .priority = 0, }; -static const struct Subsprite sSubsprite_8614268 = +static const struct Subsprite sSubsprite_RedOutline4 = { .x = 0, .y = 0, @@ -237,7 +222,7 @@ static const struct Subsprite sSubsprite_8614268 = .priority = 0, }; -static const struct Subsprite sSubsprite_861426C = +static const struct Subsprite sSubsprite_RedOutline5 = { .x = 0, .y = 0, @@ -247,7 +232,7 @@ static const struct Subsprite sSubsprite_861426C = .priority = 0, }; -static const struct Subsprite sSubsprite_8614270 = +static const struct Subsprite sSubsprite_RedOutline6 = { .x = 0, .y = 0, @@ -257,7 +242,7 @@ static const struct Subsprite sSubsprite_8614270 = .priority = 0, }; -static const struct Subsprite sSubsprite_8614274 = +static const struct Subsprite sSubsprite_RedOutline7 = { .x = 0, .y = 0, @@ -267,7 +252,7 @@ static const struct Subsprite sSubsprite_8614274 = .priority = 0, }; -static const struct Subsprite sSubsprite_8614278 = +static const struct Subsprite sSubsprite_RedOutline8 = { .x = 0, .y = 0, @@ -277,7 +262,7 @@ static const struct Subsprite sSubsprite_8614278 = .priority = 0, }; -static const struct OamData sOamData_861427C = +static const struct OamData sOamData_RedArrowCursor = { .y = 0, .affineMode = 0, @@ -294,32 +279,32 @@ static const struct OamData sOamData_861427C = .affineParam = 0 }; -static const union AnimCmd sSpriteAnim_8614284[] = +static const union AnimCmd sSpriteAnim_RedArrowCursor[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_END }; -static const union AnimCmd *const sSpriteAnimTable_861428C[] = +static const union AnimCmd *const sSpriteAnimTable_RedArrowCursor[] = { - sSpriteAnim_8614284 + sSpriteAnim_RedArrowCursor }; -static const struct SpriteTemplate gUnknown_08614290 = +static const struct SpriteTemplate sSpriteTemplate_RedArrowCursor = { .tileTag = 0, .paletteTag = 0, - .oam = &sOamData_861427C, - .anims = sSpriteAnimTable_861428C, + .oam = &sOamData_RedArrowCursor, + .anims = sSpriteAnimTable_RedArrowCursor, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = ObjectCB_RedArrowCursor, + .callback = SpriteCallback_RedArrowCursor, }; -static const u16 gUnknown_086142A8[] = INCBIN_U16("graphics/interface/red_arrow.gbapal"); -static const u8 gUnknown_086142C8[] = INCBIN_U8("graphics/interface/red_arrow_other.4bpp.lz"); -static const u8 gUnknown_08614338[] = INCBIN_U8("graphics/interface/selector_outline.4bpp.lz"); -static const u8 gUnknown_08614378[] = INCBIN_U8("graphics/interface/red_arrow.4bpp.lz"); +static const u16 sRedArrowPal[] = INCBIN_U16("graphics/interface/red_arrow.gbapal"); +static const u8 sRedArrowOtherGfx[] = INCBIN_U8("graphics/interface/red_arrow_other.4bpp.lz"); +static const u8 sSelectorOutlineGfx[] = INCBIN_U8("graphics/interface/selector_outline.4bpp.lz"); +static const u8 sRedArrowGfx[] = INCBIN_U8("graphics/interface/red_arrow.4bpp.lz"); // code static void ListMenuDummyTask(u8 taskId) @@ -329,67 +314,67 @@ static void ListMenuDummyTask(u8 taskId) s32 DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum) { - switch (gUnknown_0203CE84.field_4) + switch (sMysteryGiftLinkMenu.state) { case 0: default: - gUnknown_0203CE84.field_5 = AddWindow(windowTemplate); + sMysteryGiftLinkMenu.windowId = AddWindow(windowTemplate); switch (arg2) { case 2: - LoadSav2WindowGfx(gUnknown_0203CE84.field_5, tileNum, palNum); + LoadUserWindowBorderGfx(sMysteryGiftLinkMenu.windowId, tileNum, palNum); case 1: - sub_8098858(gUnknown_0203CE84.field_5, tileNum, palNum / 16); + sub_8098858(sMysteryGiftLinkMenu.windowId, tileNum, palNum / 16); break; } gMultiuseListMenuTemplate = *listMenuTemplate; - gMultiuseListMenuTemplate.windowId = gUnknown_0203CE84.field_5; - gUnknown_0203CE84.field_6 = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); - CopyWindowToVram(gUnknown_0203CE84.field_5, 1); - gUnknown_0203CE84.field_4 = 1; + gMultiuseListMenuTemplate.windowId = sMysteryGiftLinkMenu.windowId; + sMysteryGiftLinkMenu.listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); + CopyWindowToVram(sMysteryGiftLinkMenu.windowId, 1); + sMysteryGiftLinkMenu.state = 1; break; case 1: - gUnknown_0203CE84.field_0 = ListMenuHandleInputGetItemId(gUnknown_0203CE84.field_6); + sMysteryGiftLinkMenu.currItemId = ListMenuHandleInputGetItemId(sMysteryGiftLinkMenu.listTaskId); if (gMain.newKeys & A_BUTTON) { - gUnknown_0203CE84.field_4 = 2; + sMysteryGiftLinkMenu.state = 2; } if (gMain.newKeys & B_BUTTON) { - gUnknown_0203CE84.field_0 = LIST_B_PRESSED; - gUnknown_0203CE84.field_4 = 2; + sMysteryGiftLinkMenu.currItemId = LIST_B_PRESSED; + sMysteryGiftLinkMenu.state = 2; } - if (gUnknown_0203CE84.field_4 == 2) + if (sMysteryGiftLinkMenu.state == 2) { if (arg2 == 0) { - ClearWindowTilemap(gUnknown_0203CE84.field_5); + ClearWindowTilemap(sMysteryGiftLinkMenu.windowId); } else { switch (arg2) { case 0: // can never be reached, because of the if statement above - sub_819746C(gUnknown_0203CE84.field_5, FALSE); + sub_819746C(sMysteryGiftLinkMenu.windowId, FALSE); break; case 2: case 1: - sub_819746C(gUnknown_0203CE84.field_5, FALSE); + sub_819746C(sMysteryGiftLinkMenu.windowId, FALSE); break; } } - CopyWindowToVram(gUnknown_0203CE84.field_5, 1); + CopyWindowToVram(sMysteryGiftLinkMenu.windowId, 1); } break; case 2: - DestroyListMenuTask(gUnknown_0203CE84.field_6, NULL, NULL); - RemoveWindow(gUnknown_0203CE84.field_5); - gUnknown_0203CE84.field_4 = 0; - return gUnknown_0203CE84.field_0; + DestroyListMenuTask(sMysteryGiftLinkMenu.listTaskId, NULL, NULL); + RemoveWindow(sMysteryGiftLinkMenu.windowId); + sMysteryGiftLinkMenu.state = 0; + return sMysteryGiftLinkMenu.currItemId; } - return -1; + return LIST_NOTHING_CHOSEN; } u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow) @@ -402,19 +387,19 @@ u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 } // unused -u8 ListMenuInitWithWindows(struct ListMenuTemplate *listMenuTemplate, struct UnknownListMenuWindowStruct *arg1, u16 scrollOffset, u16 selectedRow) +u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenuWindowRect *rect, u16 scrollOffset, u16 selectedRow) { s32 i; u8 taskId = ListMenuInitInternal(listMenuTemplate, scrollOffset, selectedRow); - for (i = 0; arg1[i].palNum != 0xFF; i++) + for (i = 0; rect[i].palNum != 0xFF; i++) { PutWindowRectTilemapOverridePalette(listMenuTemplate->windowId, - arg1[i].x, - arg1[i].y, - arg1[i].width, - arg1[i].height, - arg1[i].palNum); + rect[i].x, + rect[i].y, + rect[i].width, + rect[i].height, + rect[i].palNum); } CopyWindowToVram(listMenuTemplate->windowId, 2); @@ -480,6 +465,8 @@ s32 ListMenuHandleInputGetItemId(u8 listTaskId) } } +#define TASK_NONE 0xFF + void DestroyListMenuTask(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow) { struct ListMenu *list = (void*) gTasks[listTaskId].data; @@ -489,13 +476,13 @@ void DestroyListMenuTask(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow) if (selectedRow != NULL) *selectedRow = list->selectedRow; - if (list->unk_1E != 0xFF) - ListMenuRemoveCursorObject(list->unk_1E, list->template.cursorKind - 2); + if (list->taskId != TASK_NONE) + ListMenuRemoveCursorObject(list->taskId, list->template.cursorKind - 2); DestroyTask(listTaskId); } -void sub_81AE70C(u8 listTaskId) +void RedrawListMenu(u8 listTaskId) { struct ListMenu *list = (void*) gTasks[listTaskId].data; @@ -569,7 +556,7 @@ void ListMenuGetScrollAndRow(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow) u16 ListMenuGetYCoordForPrintingArrowCursor(u8 listTaskId) { struct ListMenu *list = (void*) gTasks[listTaskId].data; - u8 yMultiplier = GetFontAttribute(list->template.fontId, 1) + list->template.unk_16_3; + u8 yMultiplier = GetFontAttribute(list->template.fontId, FONTATTR_MAX_LETTER_HEIGHT) + list->template.itemVerticalPadding; return list->selectedRow * yMultiplier + list->template.upText_Y; } @@ -584,15 +571,15 @@ static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 sc list->selectedRow = selectedRow; list->unk_1C = 0; list->unk_1D = 0; - list->unk_1E = 0xFF; + list->taskId = TASK_NONE; list->unk_1F = 0; - gUnknown_03006300.cursorPal = list->template.cursorPal; - gUnknown_03006300.fillValue = list->template.fillValue; - gUnknown_03006300.cursorShadowPal = list->template.cursorShadowPal; - gUnknown_03006300.lettersSpacing = list->template.lettersSpacing; - gUnknown_03006300.fontId = list->template.fontId; - gUnknown_03006300.field_3_7 = 0; + gListMenuOverride.cursorPal = list->template.cursorPal; + gListMenuOverride.fillValue = list->template.fillValue; + gListMenuOverride.cursorShadowPal = list->template.cursorShadowPal; + gListMenuOverride.lettersSpacing = list->template.lettersSpacing; + gListMenuOverride.fontId = list->template.fontId; + gListMenuOverride.enabled = FALSE; if (list->template.totalItems < list->template.maxShowed) list->template.maxShowed = list->template.totalItems; @@ -600,7 +587,7 @@ static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 sc FillWindowPixelBuffer(list->template.windowId, (list->template.fillValue << 4) | (list->template.fillValue)); ListMenuPrintEntries(list, list->scrollOffset, 0, list->template.maxShowed); ListMenuDrawCursor(list); - ListMenuCallSelectionChangedCallback(list, 1); + ListMenuCallSelectionChangedCallback(list, TRUE); return listTaskId; } @@ -608,18 +595,18 @@ static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 sc static void ListMenuPrint(struct ListMenu *list, const u8 *str, u8 x, u8 y) { u8 colors[3]; - if (gUnknown_03006300.field_3_7) + if (gListMenuOverride.enabled) { - colors[0] = gUnknown_03006300.fillValue; - colors[1] = gUnknown_03006300.cursorPal; - colors[2] = gUnknown_03006300.cursorShadowPal; + colors[0] = gListMenuOverride.fillValue; + colors[1] = gListMenuOverride.cursorPal; + colors[2] = gListMenuOverride.cursorShadowPal; AddTextPrinterParameterized2(list->template.windowId, - gUnknown_03006300.fontId, + gListMenuOverride.fontId, x, y, - gUnknown_03006300.lettersSpacing, + gListMenuOverride.lettersSpacing, 0, colors, TEXT_SPEED_FF, str); - gUnknown_03006300.field_3_7 = 0; + gListMenuOverride.enabled = FALSE; } else { @@ -638,18 +625,18 @@ static void ListMenuPrintEntries(struct ListMenu *list, u16 startIndex, u16 yOff { s32 i; u8 x, y; - u8 yMultiplier = GetFontAttribute(list->template.fontId, 1) + list->template.unk_16_3; + u8 yMultiplier = GetFontAttribute(list->template.fontId, FONTATTR_MAX_LETTER_HEIGHT) + list->template.itemVerticalPadding; for (i = 0; i < count; i++) { - if (list->template.items[startIndex].id != -3) - x = list->template.unk_12; + if (list->template.items[startIndex].id != LIST_HEADER) + x = list->template.item_X; else - x = list->template.unk_11; + x = list->template.header_X; y = (yOffset + i) * yMultiplier + list->template.upText_Y; - if (list->template.unk_08 != NULL) - list->template.unk_08(list->template.windowId, list->template.items[startIndex].id, y); + if (list->template.itemPrintFunc != NULL) + list->template.itemPrintFunc(list->template.windowId, list->template.items[startIndex].id, y); ListMenuPrint(list, list->template.items[startIndex].name, x, y); startIndex++; @@ -658,7 +645,7 @@ static void ListMenuPrintEntries(struct ListMenu *list, u16 startIndex, u16 yOff static void ListMenuDrawCursor(struct ListMenu *list) { - u8 yMultiplier = GetFontAttribute(list->template.fontId, 1) + list->template.unk_16_3; + u8 yMultiplier = GetFontAttribute(list->template.fontId, FONTATTR_MAX_LETTER_HEIGHT) + list->template.itemVerticalPadding; u8 x = list->template.cursor_X; u8 y = list->selectedRow * yMultiplier + list->template.upText_Y; switch (list->template.cursorKind) @@ -669,33 +656,35 @@ static void ListMenuDrawCursor(struct ListMenu *list) case 1: break; case 2: - if (list->unk_1E == 0xFF) - list->unk_1E = ListMenuAddCursorObject(list, 0); - ListMenuUpdateCursorObject(list->unk_1E, + if (list->taskId == TASK_NONE) + list->taskId = ListMenuAddCursorObject(list, 0); + ListMenuUpdateCursorObject(list->taskId, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_LEFT) * 8 - 1, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_TOP) * 8 + y - 1, 0); break; case 3: - if (list->unk_1E == 0xFF) - list->unk_1E = ListMenuAddCursorObject(list, 1); - ListMenuUpdateCursorObject(list->unk_1E, + if (list->taskId == TASK_NONE) + list->taskId = ListMenuAddCursorObject(list, 1); + ListMenuUpdateCursorObject(list->taskId, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_LEFT) * 8 + x, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_TOP) * 8 + y, 1); break; } } +#undef TASK_NONE + static u8 ListMenuAddCursorObject(struct ListMenu *list, u32 cursorKind) { struct CursorStruct cursor; - cursor.unk0 = 0; - cursor.unk1 = 0xA0; - cursor.unk2 = GetWindowAttribute(list->template.windowId, WINDOW_WIDTH) * 8 + 2; - cursor.unk4 = GetFontAttribute(list->template.fontId, 1) + 2; + cursor.left = 0; + cursor.top = 160; + cursor.rowWidth = GetWindowAttribute(list->template.windowId, WINDOW_WIDTH) * 8 + 2; + cursor.rowHeight = GetFontAttribute(list->template.fontId, FONTATTR_MAX_LETTER_HEIGHT) + 2; cursor.tileTag = 0x4000; - cursor.palTag = 0xFFFF; - cursor.palNum = 0xF; + cursor.palTag = SPRITE_INVALID_TAG; + cursor.palNum = 15; return ListMenuAddCursorObjectInternal(&cursor, cursorKind); } @@ -705,7 +694,7 @@ static void ListMenuErasePrintedCursor(struct ListMenu *list, u16 selectedRow) u8 cursorKind = list->template.cursorKind; if (cursorKind == 0) { - u8 yMultiplier = GetFontAttribute(list->template.fontId, 1) + list->template.unk_16_3; + u8 yMultiplier = GetFontAttribute(list->template.fontId, FONTATTR_MAX_LETTER_HEIGHT) + list->template.itemVerticalPadding; u8 width = GetMenuCursorDimensionByFont(list->template.fontId, 0); u8 height = GetMenuCursorDimensionByFont(list->template.fontId, 1); FillWindowPixelRect(list->template.windowId, @@ -736,7 +725,7 @@ static u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *list, b while (selectedRow != 0) { selectedRow--; - if (list->template.items[scrollOffset + selectedRow].id != -3) + if (list->template.items[scrollOffset + selectedRow].id != LIST_HEADER) { list->selectedRow = selectedRow; return 1; @@ -750,7 +739,7 @@ static u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *list, b while (selectedRow > newRow) { selectedRow--; - if (list->template.items[scrollOffset + selectedRow].id != -3) + if (list->template.items[scrollOffset + selectedRow].id != LIST_HEADER) { list->selectedRow = selectedRow; return 1; @@ -772,7 +761,7 @@ static u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *list, b while (selectedRow < list->template.maxShowed - 1) { selectedRow++; - if (list->template.items[scrollOffset + selectedRow].id != -3) + if (list->template.items[scrollOffset + selectedRow].id != LIST_HEADER) { list->selectedRow = selectedRow; return 1; @@ -786,7 +775,7 @@ static u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *list, b while (selectedRow < newRow) { selectedRow++; - if (list->template.items[scrollOffset + selectedRow].id != -3) + if (list->template.items[scrollOffset + selectedRow].id != LIST_HEADER) { list->selectedRow = selectedRow; return 1; @@ -811,7 +800,7 @@ static void ListMenuScroll(struct ListMenu *list, u8 count, bool8 movingDown) } else { - u8 yMultiplier = GetFontAttribute(list->template.fontId, 1) + list->template.unk_16_3; + u8 yMultiplier = GetFontAttribute(list->template.fontId, FONTATTR_MAX_LETTER_HEIGHT) + list->template.itemVerticalPadding; if (!movingDown) { @@ -859,7 +848,7 @@ static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAn if (ret != 2) break; cursorCount++; - } while (list->template.items[list->scrollOffset + list->selectedRow].id == -3); + } while (list->template.items[list->scrollOffset + list->selectedRow].id == LIST_HEADER); } if (updateCursorAndCallCallback) @@ -872,7 +861,7 @@ static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAn case 1: ListMenuErasePrintedCursor(list, oldSelectedRow); ListMenuDrawCursor(list); - ListMenuCallSelectionChangedCallback(list, 0); + ListMenuCallSelectionChangedCallback(list, FALSE); CopyWindowToVram(list->template.windowId, 2); break; case 2: @@ -880,7 +869,7 @@ static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAn ListMenuErasePrintedCursor(list, oldSelectedRow); ListMenuScroll(list, cursorCount, movingDown); ListMenuDrawCursor(list); - ListMenuCallSelectionChangedCallback(list, 0); + ListMenuCallSelectionChangedCallback(list, FALSE); CopyWindowToVram(list->template.windowId, 2); break; } @@ -889,29 +878,29 @@ static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAn return FALSE; } -static void ListMenuCallSelectionChangedCallback(struct ListMenu *list, u8 a2) +static void ListMenuCallSelectionChangedCallback(struct ListMenu *list, u8 onInit) { if (list->template.moveCursorFunc != NULL) - list->template.moveCursorFunc(list->template.items[list->scrollOffset + list->selectedRow].id, a2, list); + list->template.moveCursorFunc(list->template.items[list->scrollOffset + list->selectedRow].id, onInit, list); } // unused -void sub_81AF028(u8 cursorPal, u8 fillValue, u8 cursorShadowPal) +void ListMenuOverrideSetColors(u8 cursorPal, u8 fillValue, u8 cursorShadowPal) { - gUnknown_03006300.cursorPal = cursorPal; - gUnknown_03006300.fillValue = fillValue; - gUnknown_03006300.cursorShadowPal = cursorShadowPal; - gUnknown_03006300.field_3_7 = 1; + gListMenuOverride.cursorPal = cursorPal; + gListMenuOverride.fillValue = fillValue; + gListMenuOverride.cursorShadowPal = cursorShadowPal; + gListMenuOverride.enabled = TRUE; } -void sub_81AF078(s32 arg0, u8 arg1, struct ListMenu *list) +void ListMenuDefaultCursorMoveFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list) { - if (!arg1) + if (!onInit) PlaySE(SE_SELECT); } // unused -s32 sub_81AF08C(u8 taskId, u8 field) +s32 ListMenuGetUnkIndicatorsStructFields(u8 taskId, u8 field) { struct UnkIndicatorsStruct *data = (void*) gTasks[taskId].data; @@ -955,8 +944,7 @@ s32 sub_81AF08C(u8 taskId, u8 field) } } -// unused -void sub_81AF15C(u8 taskId, u8 field, s32 value) +void ListMenuSetUnkIndicatorsStructField(u8 taskId, u8 field, s32 value) { struct UnkIndicatorsStruct *data = (void*) &gTasks[taskId].data; @@ -1014,73 +1002,87 @@ void sub_81AF15C(u8 taskId, u8 field, s32 value) } } -static void sub_81AF264(struct Sprite *sprite) +#define tState data[0] +#define tAnimNum data[1] +#define tBounceDir data[2] +#define tMultiplier data[3] +#define tFrequency data[4] +#define tSinePos data[5] + +static void SpriteCallback_ScrollIndicatorArrow(struct Sprite *sprite) { s32 multiplier; - switch (sprite->data[0]) + switch (sprite->tState) { case 0: - StartSpriteAnim(sprite, sprite->data[1]); - sprite->data[0]++; + StartSpriteAnim(sprite, sprite->tAnimNum); + sprite->tState++; break; case 1: - switch (sprite->data[2]) + switch (sprite->tBounceDir) { case 0: - multiplier = sprite->data[3]; - sprite->pos2.x = (gSineTable[(u8)(sprite->data[5])] * multiplier) / 256; + multiplier = sprite->tMultiplier; + sprite->pos2.x = (gSineTable[(u8)(sprite->tSinePos)] * multiplier) / 256; break; case 1: - multiplier = sprite->data[3]; - sprite->pos2.y = (gSineTable[(u8)(sprite->data[5])] * multiplier) / 256; + multiplier = sprite->tMultiplier; + sprite->pos2.y = (gSineTable[(u8)(sprite->tSinePos)] * multiplier) / 256; break; } - sprite->data[5] += sprite->data[4]; + sprite->tSinePos += sprite->tFrequency; break; } } -static u8 AddScrollIndicatorArrowObject(u8 arg0, u8 x, u8 y, u16 tileTag, u16 palTag) +static u8 AddScrollIndicatorArrowObject(u8 arrowDir, u8 x, u8 y, u16 tileTag, u16 palTag) { u8 spriteId; struct SpriteTemplate spriteTemplate; - spriteTemplate = gUnknown_08614244; + spriteTemplate = sSpriteTemplate_ScrollArrowIndicator; spriteTemplate.tileTag = tileTag; spriteTemplate.paletteTag = palTag; spriteId = CreateSprite(&spriteTemplate, x, y, 0); - gSprites[spriteId].invisible = 1; - gSprites[spriteId].data[0] = 0; - gSprites[spriteId].data[1] = gUnknown_086141FC[arg0].field_0_0; - gSprites[spriteId].data[2] = gUnknown_086141FC[arg0].field_0_1; - gSprites[spriteId].data[3] = gUnknown_086141FC[arg0].field_1; - gSprites[spriteId].data[4] = gUnknown_086141FC[arg0].field_2; - gSprites[spriteId].data[5] = 0; + gSprites[spriteId].invisible = TRUE; + gSprites[spriteId].tState = 0; + gSprites[spriteId].tAnimNum = sScrollIndicatorTemplates[arrowDir].animNum; + gSprites[spriteId].tBounceDir = sScrollIndicatorTemplates[arrowDir].bounceDir; + gSprites[spriteId].tMultiplier = sScrollIndicatorTemplates[arrowDir].multiplier; + gSprites[spriteId].tFrequency = sScrollIndicatorTemplates[arrowDir].frequency; + gSprites[spriteId].tSinePos = 0; return spriteId; } -u8 AddScrollIndicatorArrowPair(const struct ArrowStruct *arrowInfo, u16 *arg1) +#undef tState +#undef tAnimNum +#undef tBounceDir +#undef tMultiplier +#undef tFrequency +#undef tSinePos + +u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate *arrowInfo, u16 *currItemPtr) { struct CompressedSpriteSheet spriteSheet; struct SpritePalette spritePal; - struct UnkIndicatorsStruct2 *data; + struct ScrollIndicatorPair *data; u8 taskId; - spriteSheet.data = gUnknown_086142C8; + spriteSheet.data = sRedArrowOtherGfx; spriteSheet.size = 0x100; spriteSheet.tag = arrowInfo->tileTag; LoadCompressedObjectPic(&spriteSheet); - if (arrowInfo->palTag == 0xFFFF) + if (arrowInfo->palTag == SPRITE_INVALID_TAG) { - LoadPalette(gUnknown_086142A8, (16 * arrowInfo->palNum) + 0x100, 0x20); + LoadPalette(sRedArrowPal, (16 * arrowInfo->palNum) + 0x100, 0x20); } else { - spritePal.data = gUnknown_086142A8; + spritePal.data = sRedArrowPal; spritePal.tag = arrowInfo->palTag; LoadSpritePalette(&spritePal); } @@ -1089,96 +1091,101 @@ u8 AddScrollIndicatorArrowPair(const struct ArrowStruct *arrowInfo, u16 *arg1) data = (void*) gTasks[taskId].data; data->field_0 = 0; - data->field_4 = arg1; - data->field_8 = arrowInfo->unk6; - data->field_A = arrowInfo->unk8; + data->currItemPtr = currItemPtr; + data->fullyUpThreshold = arrowInfo->fullyUpThreshold; + data->fullyDownThreshold = arrowInfo->fullyDownThreshold; data->tileTag = arrowInfo->tileTag; data->palTag = arrowInfo->palTag; - data->field_C = AddScrollIndicatorArrowObject(arrowInfo->unk0, arrowInfo->unk1, arrowInfo->unk2, arrowInfo->tileTag, arrowInfo->palTag); - data->field_D = AddScrollIndicatorArrowObject(arrowInfo->unk3, arrowInfo->unk4, arrowInfo->unk5, arrowInfo->tileTag, arrowInfo->palTag); + data->topSpriteId = AddScrollIndicatorArrowObject(arrowInfo->firstArrowType, arrowInfo->firstX, arrowInfo->firstY, arrowInfo->tileTag, arrowInfo->palTag); + data->bottomSpriteId = AddScrollIndicatorArrowObject(arrowInfo->secondArrowType, arrowInfo->secondX, arrowInfo->secondY, arrowInfo->tileTag, arrowInfo->palTag); - if (arrowInfo->palTag == 0xFFFF) + if (arrowInfo->palTag == SPRITE_INVALID_TAG) { - gSprites[data->field_C].oam.paletteNum = arrowInfo->palNum; - gSprites[data->field_D].oam.paletteNum = arrowInfo->palNum; + gSprites[data->topSpriteId].oam.paletteNum = arrowInfo->palNum; + gSprites[data->bottomSpriteId].oam.paletteNum = arrowInfo->palNum; } return taskId; } -u8 AddScrollIndicatorArrowPairParametrized(u32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 tileTag, s32 palTag, void *arg7) +u8 AddScrollIndicatorArrowPairParameterized(u32 arrowType, s32 commonPos, s32 firstPos, s32 secondPos, s32 fullyDownThreshold, s32 tileTag, s32 palTag, u16 *currItemPtr) { - if (arg0 == 2 || arg0 == 3) + if (arrowType == SCROLL_ARROW_UP || arrowType == SCROLL_ARROW_DOWN) { - gUnknown_0203CE8C.unk0 = 2; - gUnknown_0203CE8C.unk1 = arg1; - gUnknown_0203CE8C.unk2 = arg2; - gUnknown_0203CE8C.unk3 = 3; - gUnknown_0203CE8C.unk4 = arg1; - gUnknown_0203CE8C.unk5 = arg3; + gTempScrollArrowTemplate.firstArrowType = SCROLL_ARROW_UP; + gTempScrollArrowTemplate.firstX = commonPos; + gTempScrollArrowTemplate.firstY = firstPos; + gTempScrollArrowTemplate.secondArrowType = SCROLL_ARROW_DOWN; + gTempScrollArrowTemplate.secondX = commonPos; + gTempScrollArrowTemplate.secondY = secondPos; } else { - gUnknown_0203CE8C.unk0 = 0; - gUnknown_0203CE8C.unk1 = arg2; - gUnknown_0203CE8C.unk2 = arg1; - gUnknown_0203CE8C.unk3 = 1; - gUnknown_0203CE8C.unk4 = arg3; - gUnknown_0203CE8C.unk5 = arg1; + gTempScrollArrowTemplate.firstArrowType = SCROLL_ARROW_LEFT; + gTempScrollArrowTemplate.firstX = firstPos; + gTempScrollArrowTemplate.firstY = commonPos; + gTempScrollArrowTemplate.secondArrowType = SCROLL_ARROW_RIGHT; + gTempScrollArrowTemplate.secondX = secondPos; + gTempScrollArrowTemplate.secondY = commonPos; } - gUnknown_0203CE8C.unk6 = 0; - gUnknown_0203CE8C.unk8 = arg4; - gUnknown_0203CE8C.tileTag = tileTag; - gUnknown_0203CE8C.palTag = palTag; - gUnknown_0203CE8C.palNum = 0; + gTempScrollArrowTemplate.fullyUpThreshold = 0; + gTempScrollArrowTemplate.fullyDownThreshold = fullyDownThreshold; + gTempScrollArrowTemplate.tileTag = tileTag; + gTempScrollArrowTemplate.palTag = palTag; + gTempScrollArrowTemplate.palNum = 0; - return AddScrollIndicatorArrowPair(&gUnknown_0203CE8C, arg7); + return AddScrollIndicatorArrowPair(&gTempScrollArrowTemplate, currItemPtr); } static void Task_ScrollIndicatorArrowPair(u8 taskId) { - struct UnkIndicatorsStruct2 *data = (void*) gTasks[taskId].data; - u16 var = (*data->field_4); + struct ScrollIndicatorPair *data = (void*) gTasks[taskId].data; + u16 currItem = (*data->currItemPtr); - if (var == data->field_8 && var != 0xFFFF) - gSprites[data->field_C].invisible = 1; + if (currItem == data->fullyUpThreshold && currItem != 0xFFFF) + gSprites[data->topSpriteId].invisible = TRUE; else - gSprites[data->field_C].invisible = 0; + gSprites[data->topSpriteId].invisible = FALSE; - if (var == data->field_A) - gSprites[data->field_D].invisible = 1; + if (currItem == data->fullyDownThreshold) + gSprites[data->bottomSpriteId].invisible = TRUE; else - gSprites[data->field_D].invisible = 0; + gSprites[data->bottomSpriteId].invisible = FALSE; } +#define tIsScrolled data[15] + void Task_ScrollIndicatorArrowPairOnMainMenu(u8 taskId) { - struct UnkIndicatorsStruct2 *data = (void*) gTasks[taskId].data; + s16 *data = gTasks[taskId].data; + struct ScrollIndicatorPair *scrollData = (void*) data; - if (data->field_1E != 0) + if (tIsScrolled) { - gSprites[data->field_C].invisible = 0; - gSprites[data->field_D].invisible = 1; + gSprites[scrollData->topSpriteId].invisible = FALSE; + gSprites[scrollData->bottomSpriteId].invisible = TRUE; } else { - gSprites[data->field_C].invisible = 1; - gSprites[data->field_D].invisible = 0; + gSprites[scrollData->topSpriteId].invisible = TRUE; + gSprites[scrollData->bottomSpriteId].invisible = FALSE; } } +#undef tIsScrolled + void RemoveScrollIndicatorArrowPair(u8 taskId) { - struct UnkIndicatorsStruct2 *data = (void*) gTasks[taskId].data; + struct ScrollIndicatorPair *data = (void*) gTasks[taskId].data; - if (data->tileTag != 0xFFFF) + if (data->tileTag != SPRITE_INVALID_TAG) FreeSpriteTilesByTag(data->tileTag); - if (data->palTag != 0xFFFF) + if (data->palTag != SPRITE_INVALID_TAG) FreeSpritePaletteByTag(data->palTag); - DestroySprite(&gSprites[data->field_C]); - DestroySprite(&gSprites[data->field_D]); + DestroySprite(&gSprites[data->topSpriteId]); + DestroySprite(&gSprites[data->bottomSpriteId]); DestroyTask(taskId); } @@ -1226,76 +1233,76 @@ static void Task_RedOutlineCursor(u8 taskId) } -u8 ListMenuGetRedOutlineCursorSpriteCount(u16 arg0, u16 arg1) +u8 ListMenuGetRedOutlineCursorSpriteCount(u16 rowWidth, u16 rowHeight) { s32 i; s32 count = 4; - if (arg0 > 16) + if (rowWidth > 16) { - for (i = 8; i < (arg0 - 8); i += 8) + for (i = 8; i < (rowWidth - 8); i += 8) count += 2; } - if (arg1 > 16) + if (rowHeight > 16) { - for (i = 8; i < (arg1 - 8); i += 8) + for (i = 8; i < (rowHeight - 8); i += 8) count += 2; } return count; } -void ListMenuSetUpRedOutlineCursorSpriteOamTable(u16 arg0, u16 arg1, struct Subsprite *subsprites) +void ListMenuSetUpRedOutlineCursorSpriteOamTable(u16 rowWidth, u16 rowHeight, struct Subsprite *subsprites) { s32 i, j, id = 0; - subsprites[id] = sSubsprite_861425C; + subsprites[id] = sSubsprite_RedOutline1; subsprites[id].x = 136; subsprites[id].y = 136; id++; - subsprites[id] = sSubsprite_8614260; - subsprites[id].x = arg0 + 128; + subsprites[id] = sSubsprite_RedOutline2; + subsprites[id].x = rowWidth + 128; subsprites[id].y = 136; id++; - subsprites[id] = sSubsprite_8614274; + subsprites[id] = sSubsprite_RedOutline7; subsprites[id].x = 136; - subsprites[id].y = arg1 + 128; + subsprites[id].y = rowHeight + 128; id++; - subsprites[id] = sSubsprite_8614278; - subsprites[id].x = arg0 + 128; - subsprites[id].y = arg1 + 128; + subsprites[id] = sSubsprite_RedOutline8; + subsprites[id].x = rowWidth + 128; + subsprites[id].y = rowHeight + 128; id++; - if (arg0 > 16) + if (rowWidth > 16) { - for (i = 8; i < arg0 - 8; i += 8) + for (i = 8; i < rowWidth - 8; i += 8) { - subsprites[id] = sSubsprite_8614264; + subsprites[id] = sSubsprite_RedOutline3; subsprites[id].x = i - 120; subsprites[id].y = 136; id++; - subsprites[id] = sSubsprite_8614270; + subsprites[id] = sSubsprite_RedOutline6; subsprites[id].x = i - 120; - subsprites[id].y = arg1 + 128; + subsprites[id].y = rowHeight + 128; id++; } } - if (arg1 > 16) + if (rowHeight > 16) { - for (j = 8; j < arg1 - 8; j += 8) + for (j = 8; j < rowHeight - 8; j += 8) { - subsprites[id] = sSubsprite_8614268; + subsprites[id] = sSubsprite_RedOutline4; subsprites[id].x = 136; subsprites[id].y = j - 120; id++; - subsprites[id] = sSubsprite_861426C; - subsprites[id].x = arg0 + 128; + subsprites[id] = sSubsprite_RedOutline5; + subsprites[id].x = rowWidth + 128; subsprites[id].y = j - 120; id++; } @@ -1306,22 +1313,22 @@ static u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor) { struct CompressedSpriteSheet spriteSheet; struct SpritePalette spritePal; - struct UnkIndicatorsStruct3 *data; + struct RedOutlineCursor *data; struct SpriteTemplate spriteTemplate; u8 taskId; - spriteSheet.data = gUnknown_08614338; + spriteSheet.data = sSelectorOutlineGfx; spriteSheet.size = 0x100; spriteSheet.tag = cursor->tileTag; LoadCompressedObjectPic(&spriteSheet); - if (cursor->palTag == 0xFFFF) + if (cursor->palTag == SPRITE_INVALID_TAG) { - LoadPalette(gUnknown_086142A8, (16 * cursor->palNum) + 0x100, 0x20); + LoadPalette(sRedArrowPal, (16 * cursor->palNum) + 0x100, 0x20); } else { - spritePal.data = gUnknown_086142A8; + spritePal.data = sRedArrowPal; spritePal.tag = cursor->palTag; LoadSpritePalette(&spritePal); } @@ -1331,21 +1338,21 @@ static u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor) data->tileTag = cursor->tileTag; data->palTag = cursor->palTag; - data->subspriteTable.subspriteCount = ListMenuGetRedOutlineCursorSpriteCount(cursor->unk2, cursor->unk4); + data->subspriteTable.subspriteCount = ListMenuGetRedOutlineCursorSpriteCount(cursor->rowWidth, cursor->rowHeight); data->subspriteTable.subsprites = data->subspritesPtr = Alloc(data->subspriteTable.subspriteCount * 4); - ListMenuSetUpRedOutlineCursorSpriteOamTable(cursor->unk2, cursor->unk4, data->subspritesPtr); + ListMenuSetUpRedOutlineCursorSpriteOamTable(cursor->rowWidth, cursor->rowHeight, data->subspritesPtr); spriteTemplate = gDummySpriteTemplate; spriteTemplate.tileTag = cursor->tileTag; spriteTemplate.paletteTag = cursor->palTag; - data->spriteId = CreateSprite(&spriteTemplate, cursor->unk0 + 120, cursor->unk1 + 120, 0); + data->spriteId = CreateSprite(&spriteTemplate, cursor->left + 120, cursor->top + 120, 0); SetSubspriteTables(&gSprites[data->spriteId], &data->subspriteTable); gSprites[data->spriteId].oam.priority = 0; gSprites[data->spriteId].subpriority = 0; gSprites[data->spriteId].subspriteTableNum = 0; - if (cursor->palTag == 0xFFFF) + if (cursor->palTag == SPRITE_INVALID_TAG) { gSprites[data->spriteId].oam.paletteNum = cursor->palNum; } @@ -1355,7 +1362,7 @@ static u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor) static void ListMenuUpdateRedOutlineCursorObject(u8 taskId, u16 x, u16 y) { - struct UnkIndicatorsStruct3 *data = (void*) gTasks[taskId].data; + struct RedOutlineCursor *data = (void*) gTasks[taskId].data; gSprites[data->spriteId].pos1.x = x + 120; gSprites[data->spriteId].pos1.y = y + 120; @@ -1363,20 +1370,20 @@ static void ListMenuUpdateRedOutlineCursorObject(u8 taskId, u16 x, u16 y) static void ListMenuRemoveRedOutlineCursorObject(u8 taskId) { - struct UnkIndicatorsStruct3 *data = (void*) gTasks[taskId].data; + struct RedOutlineCursor *data = (void*) gTasks[taskId].data; Free(data->subspritesPtr); - if (data->tileTag != 0xFFFF) + if (data->tileTag != SPRITE_INVALID_TAG) FreeSpriteTilesByTag(data->tileTag); - if (data->palTag != 0xFFFF) + if (data->palTag != SPRITE_INVALID_TAG) FreeSpritePaletteByTag(data->palTag); DestroySprite(&gSprites[data->spriteId]); DestroyTask(taskId); } -static void ObjectCB_RedArrowCursor(struct Sprite *sprite) +static void SpriteCallback_RedArrowCursor(struct Sprite *sprite) { sprite->pos2.x = gSineTable[(u8)(sprite->data[0])] / 64; sprite->data[0] += 8; @@ -1391,22 +1398,22 @@ static u8 ListMenuAddRedArrowCursorObject(struct CursorStruct *cursor) { struct CompressedSpriteSheet spriteSheet; struct SpritePalette spritePal; - struct UnkIndicatorsStruct4 *data; + struct RedArrowCursor *data; struct SpriteTemplate spriteTemplate; u8 taskId; - spriteSheet.data = gUnknown_08614378; + spriteSheet.data = sRedArrowGfx; spriteSheet.size = 0x80; spriteSheet.tag = cursor->tileTag; LoadCompressedObjectPic(&spriteSheet); - if (cursor->palTag == 0xFFFF) + if (cursor->palTag == SPRITE_INVALID_TAG) { - LoadPalette(gUnknown_086142A8, (16 * cursor->palNum) + 0x100, 0x20); + LoadPalette(sRedArrowPal, (16 * cursor->palNum) + 0x100, 0x20); } else { - spritePal.data = gUnknown_086142A8; + spritePal.data = sRedArrowPal; spritePal.tag = cursor->palTag; LoadSpritePalette(&spritePal); } @@ -1417,17 +1424,17 @@ static u8 ListMenuAddRedArrowCursorObject(struct CursorStruct *cursor) data->tileTag = cursor->tileTag; data->palTag = cursor->palTag; - spriteTemplate = gUnknown_08614290; + spriteTemplate = sSpriteTemplate_RedArrowCursor; spriteTemplate.tileTag = cursor->tileTag; spriteTemplate.paletteTag = cursor->palTag; - data->field_0 = CreateSprite(&spriteTemplate, cursor->unk0, cursor->unk1, 0); - gSprites[data->field_0].pos2.x = 8; - gSprites[data->field_0].pos2.y = 8; + data->spriteId = CreateSprite(&spriteTemplate, cursor->left, cursor->top, 0); + gSprites[data->spriteId].pos2.x = 8; + gSprites[data->spriteId].pos2.y = 8; - if (cursor->palTag == 0xFFFF) + if (cursor->palTag == SPRITE_INVALID_TAG) { - gSprites[data->field_0].oam.paletteNum = cursor->palNum; + gSprites[data->spriteId].oam.paletteNum = cursor->palNum; } return taskId; @@ -1435,21 +1442,21 @@ static u8 ListMenuAddRedArrowCursorObject(struct CursorStruct *cursor) static void ListMenuUpdateRedArrowCursorObject(u8 taskId, u16 x, u16 y) { - struct UnkIndicatorsStruct4 *data = (void*) gTasks[taskId].data; + struct RedArrowCursor *data = (void*) gTasks[taskId].data; - gSprites[data->field_0].pos1.x = x; - gSprites[data->field_0].pos1.y = y; + gSprites[data->spriteId].pos1.x = x; + gSprites[data->spriteId].pos1.y = y; } static void ListMenuRemoveRedArrowCursorObject(u8 taskId) { - struct UnkIndicatorsStruct4 *data = (void*) gTasks[taskId].data; + struct RedArrowCursor *data = (void*) gTasks[taskId].data; - if (data->tileTag != 0xFFFF) + if (data->tileTag != SPRITE_INVALID_TAG) FreeSpriteTilesByTag(data->tileTag); - if (data->palTag != 0xFFFF) + if (data->palTag != SPRITE_INVALID_TAG) FreeSpritePaletteByTag(data->palTag); - DestroySprite(&gSprites[data->field_0]); + DestroySprite(&gSprites[data->spriteId]); DestroyTask(taskId); } diff --git a/src/mail.c b/src/mail.c index 8fddc7045..625b52de3 100644 --- a/src/mail.c +++ b/src/mail.c @@ -417,7 +417,7 @@ static bool8 MailReadBuildGraphics(void) ShowBg(0); ShowBg(1); ShowBg(2); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); gPaletteFade.bufferTransferDisabled = FALSE; sMailRead->callback2 = CB2_WaitForPaletteExitOnKeyPress; return TRUE; @@ -526,7 +526,7 @@ static void CB2_ExitOnKeyPress(void) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); sMailRead->callback2 = CB2_ExitMailReadFreeVars; } } diff --git a/src/main_menu.c b/src/main_menu.c index 0f703a014..87673c9b2 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -44,10 +44,10 @@ // Static RAM declarations -EWRAM_DATA u8 gUnknown_02022D04 = 0; -EWRAM_DATA u16 gUnknown_02022D06 = 0; +static EWRAM_DATA u8 gUnknown_02022D04 = 0; +static EWRAM_DATA u16 sCurrItemAndOptionMenuCheck = 0; -IWRAM_DATA u8 gUnknown_03000DD0; +static IWRAM_DATA u8 gUnknown_03000DD0; // Static ROM declarations @@ -56,7 +56,7 @@ void Task_MainMenuCheckSaveFile(u8); void Task_MainMenuCheckBattery(u8); void Task_WaitForSaveFileErrorWindow(u8); void CreateMainMenuErrorWindow(const u8*); -void sub_8032250(const struct WindowTemplate*); +static void ClearMainMenuWindowTilemap(const struct WindowTemplate*); void Task_DisplayMainMenu(u8); void Task_WaitForBatteryDryErrorWindow(u8); void fmt_savegame(void); @@ -133,12 +133,12 @@ const u8 gUnknown_082FEEF0[] = INCBIN_U8("graphics/birch_speech/map.bin.lz"); const u16 gUnknown_082FF018[] = INCBIN_U16("graphics/birch_speech/bg2.gbapal"); const u16 gUnknown_082FF028[] = {0, 0, 0, 0, 0, 0, 0, 0}; -const struct WindowTemplate gUnknown_082FF038[] = { +const struct WindowTemplate sWindowTemplates_NoSavedGame[] = { {0, 2, 1, 26, 2, 15, 1}, {0, 2, 5, 26, 2, 15, 0x35} }; -const struct WindowTemplate gUnknown_082FF048[] = { +const struct WindowTemplate sWindowTemplates_HasSavedGame[] = { {0, 2, 1, 26, 6, 15, 1}, {0, 2, 9, 26, 2, 15, 0x9D}, {0, 2, 13, 26, 2, 15, 0xD1}, @@ -146,7 +146,7 @@ const struct WindowTemplate gUnknown_082FF048[] = { {0, 2, 21, 26, 2, 15, 0x139} }; -const struct WindowTemplate gUnknown_082FF070[] = { +const struct WindowTemplate sWindowTemplate_ErrorWindow[] = { {0, 2, 15, 26, 4, 15, 0x16D}, {0xFF, 0, 0, 0, 0, 0, 0} }; @@ -161,7 +161,7 @@ const struct WindowTemplate gUnknown_082FF080[] = { const u16 gMainMenuBgPal[] = INCBIN_U16("graphics/misc/main_menu_bg.gbapal"); const u16 gMainMenuTextPal[] = INCBIN_U16("graphics/misc/main_menu_text.gbapal"); -const u8 gUnknown_082FF0E0[] = {10, 11, 12}; +const u8 gTextColor_Headers[] = {10, 11, 12}; const u8 gUnknown_082FF0E3[] = {10, 1, 12}; const struct BgTemplate gUnknown_082FF0E8[] = { @@ -195,7 +195,7 @@ const struct BgTemplate gUnknown_082FF0F0 = { .baseTile = 0 }; -const struct ArrowStruct gUnknown_082FF0F4 = {2, 0x78, 8, 3, 0x78, 0x98, 3, 4, 1, 1, 0}; +const struct ScrollArrowsTemplate sScrollArrowsTemplate_MainMenu = {2, 0x78, 8, 3, 0x78, 0x98, 3, 4, 1, 1, 0}; const union AffineAnimCmd gUnknown_082FF104[] = { AFFINEANIMCMD_FRAME(-2, -2, 0, 0x30), @@ -265,6 +265,16 @@ enum HAS_MYSTERY_EVENTS, }; +enum { + ACTION_NEW_GAME, + ACTION_CONTINUE, + ACTION_OPTIONS, + ACTION_MYSTERY_GIFT, + ACTION_MYSTERY_EVENTS, + ACTION_UNKNOWN, // TODO: change when rom_8011DC0 decompiled + ACTION_INVALID +}; + #define MAIN_MENU_BORDER_TILE 0x1D5 void CB2_MainMenu(void) @@ -319,16 +329,16 @@ u32 InitMainMenu(bool8 returningFromOptionsMenu) ResetSpriteData(); FreeAllSpritePalettes(); if (returningFromOptionsMenu) - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0x0000); // fade to black + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0x0000); // fade to black else - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0xFFFF); // fade to white + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0xFFFF); // fade to white ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, gUnknown_082FF0E8, 2); ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); ChangeBgX(1, 0, 0); ChangeBgY(1, 0, 0); - InitWindows(gUnknown_082FF038); + InitWindows(sWindowTemplates_NoSavedGame); DeactivateAllTextPrinters(); LoadMainMenuWindowFrameTiles(0, MAIN_MENU_BORDER_TILE); @@ -351,6 +361,15 @@ u32 InitMainMenu(bool8 returningFromOptionsMenu) return 0; } +#define tMenuType data[0] +#define tCurrItem data[1] +#define tItemCount data[12] +#define tScrollArrowTaskId data[13] +#define tIsScrolled data[14] +#define tWirelessAdapterConnected data[15] + +#define tArrowTaskIsScrolled data[15] // For scroll indicator arrow task + void Task_MainMenuCheckSaveFile(u8 taskId) { s16* data = gTasks[taskId].data; @@ -359,64 +378,64 @@ void Task_MainMenuCheckSaveFile(u8 taskId) { SetGpuReg(REG_OFFSET_WIN0H, 0); SetGpuReg(REG_OFFSET_WIN0V, 0); - SetGpuReg(REG_OFFSET_WININ, 17); - SetGpuReg(REG_OFFSET_WINOUT, 0x31); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | WININ_WIN0_OBJ); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_DARKEN | BLDCNT_TGT1_BG0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDY, 7); - if (sub_80093CC()) - data[15] = 1; + if (IsWirelessAdapterConnected()) + tWirelessAdapterConnected = TRUE; switch (gSaveFileStatus) { case 1: - data[0] = HAS_SAVED_GAME; + tMenuType = HAS_SAVED_GAME; if (IsMysteryGiftEnabled()) - data[0]++; + tMenuType++; gTasks[taskId].func = Task_MainMenuCheckBattery; break; case 2: CreateMainMenuErrorWindow(gText_SaveFileErased); - data[0] = 0; + tMenuType = HAS_NO_SAVED_GAME; gTasks[taskId].func = Task_WaitForSaveFileErrorWindow; break; case 0xFF: CreateMainMenuErrorWindow(gText_SaveFileCorrupted); gTasks[taskId].func = Task_WaitForSaveFileErrorWindow; - data[0] = HAS_SAVED_GAME; + tMenuType = HAS_SAVED_GAME; if (IsMysteryGiftEnabled() == TRUE) - data[0]++; + tMenuType++; break; case 0: default: - data[0] = HAS_NO_SAVED_GAME; + tMenuType = HAS_NO_SAVED_GAME; gTasks[taskId].func = Task_MainMenuCheckBattery; break; case 4: CreateMainMenuErrorWindow(gJPText_No1MSubCircuit); - gTasks[taskId].data[0] = HAS_NO_SAVED_GAME; + gTasks[taskId].tMenuType = HAS_NO_SAVED_GAME; gTasks[taskId].func = Task_WaitForSaveFileErrorWindow; break; } - if (gUnknown_02022D06 & 0x8000) + if (sCurrItemAndOptionMenuCheck & 0x8000) // are we returning from the options menu? { - switch (data[0]) + switch (tMenuType) // if so, highlight the OPTIONS item { case HAS_NO_SAVED_GAME: case HAS_SAVED_GAME: - gUnknown_02022D06 = data[0] + 1; + sCurrItemAndOptionMenuCheck = tMenuType + 1; break; case HAS_MYSTERY_GIFT: - gUnknown_02022D06 = 3; + sCurrItemAndOptionMenuCheck = 3; break; - case 3: - gUnknown_02022D06 = 4; + case HAS_MYSTERY_EVENTS: + sCurrItemAndOptionMenuCheck = 4; break; } } - gUnknown_02022D06 &= 0x7FFF; - data[1] = gUnknown_02022D06; - data[12] = data[0] + 2; + sCurrItemAndOptionMenuCheck &= 0x7FFF; // turn off the "returning from options menu" flag + tCurrItem = sCurrItemAndOptionMenuCheck; + tItemCount = tMenuType + 2; } } @@ -426,7 +445,7 @@ void Task_WaitForSaveFileErrorWindow(u8 taskId) if (!IsTextPrinterActive(7) && (gMain.newKeys & A_BUTTON)) { ClearWindowTilemap(7); - sub_8032250(gUnknown_082FF070); + ClearMainMenuWindowTilemap(sWindowTemplate_ErrorWindow); gTasks[taskId].func = Task_MainMenuCheckBattery; } } @@ -437,8 +456,8 @@ void Task_MainMenuCheckBattery(u8 taskId) { SetGpuReg(REG_OFFSET_WIN0H, 0); SetGpuReg(REG_OFFSET_WIN0V, 0); - SetGpuReg(REG_OFFSET_WININ, 17); - SetGpuReg(REG_OFFSET_WINOUT, 0x31); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | WININ_WIN0_OBJ); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_DARKEN | BLDCNT_TGT1_BG0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDY, 7); @@ -461,7 +480,7 @@ void Task_WaitForBatteryDryErrorWindow(u8 taskId) if (!IsTextPrinterActive(7) && (gMain.newKeys & A_BUTTON)) { ClearWindowTilemap(7); - sub_8032250(gUnknown_082FF070); + ClearMainMenuWindowTilemap(sWindowTemplate_ErrorWindow); gTasks[taskId].func = Task_DisplayMainMenu; } } @@ -475,8 +494,8 @@ void Task_DisplayMainMenu(u8 taskId) { SetGpuReg(REG_OFFSET_WIN0H, 0); SetGpuReg(REG_OFFSET_WIN0V, 0); - SetGpuReg(REG_OFFSET_WININ, 17); - SetGpuReg(REG_OFFSET_WINOUT, 0x31); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | WININ_WIN0_OBJ); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_DARKEN | BLDCNT_TGT1_BG0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDY, 7); @@ -504,28 +523,28 @@ void Task_DisplayMainMenu(u8 taskId) LoadPalette(&palette, 241, 2); } - switch (gTasks[taskId].data[0]) + switch (gTasks[taskId].tMenuType) { case HAS_NO_SAVED_GAME: default: FillWindowPixelBuffer(0, 0xAA); FillWindowPixelBuffer(1, 0xAA); - box_print(0, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuNewGame); - box_print(1, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuOption); + box_print(0, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); + box_print(1, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); PutWindowTilemap(0); PutWindowTilemap(1); CopyWindowToVram(0, 2); CopyWindowToVram(1, 2); - DrawMainMenuWindowBorder(gUnknown_082FF038, MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF038[1], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_NoSavedGame[0], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_NoSavedGame[1], MAIN_MENU_BORDER_TILE); break; case HAS_SAVED_GAME: FillWindowPixelBuffer(2, 0xAA); FillWindowPixelBuffer(3, 0xAA); FillWindowPixelBuffer(4, 0xAA); - box_print(2, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuContinue); - box_print(3, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuNewGame); - box_print(4, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuOption); + box_print(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); + box_print(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); + box_print(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); fmt_savegame(); PutWindowTilemap(2); PutWindowTilemap(3); @@ -533,19 +552,19 @@ void Task_DisplayMainMenu(u8 taskId) CopyWindowToVram(2, 2); CopyWindowToVram(3, 2); CopyWindowToVram(4, 2); - DrawMainMenuWindowBorder(gUnknown_082FF048, MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[1], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[2], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[0], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[1], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[2], MAIN_MENU_BORDER_TILE); break; case HAS_MYSTERY_GIFT: FillWindowPixelBuffer(2, 0xAA); FillWindowPixelBuffer(3, 0xAA); FillWindowPixelBuffer(4, 0xAA); FillWindowPixelBuffer(5, 0xAA); - box_print(2, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuContinue); - box_print(3, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuNewGame); - box_print(4, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuMysteryGift); - box_print(5, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuOption); + box_print(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); + box_print(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); + box_print(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryGift); + box_print(5, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); fmt_savegame(); PutWindowTilemap(2); PutWindowTilemap(3); @@ -555,10 +574,10 @@ void Task_DisplayMainMenu(u8 taskId) CopyWindowToVram(3, 2); CopyWindowToVram(4, 2); CopyWindowToVram(5, 2); - DrawMainMenuWindowBorder(gUnknown_082FF048, MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[1], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[2], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[3], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(sWindowTemplates_HasSavedGame, MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[1], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[2], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[3], MAIN_MENU_BORDER_TILE); break; case HAS_MYSTERY_EVENTS: FillWindowPixelBuffer(2, 0xAA); @@ -566,11 +585,11 @@ void Task_DisplayMainMenu(u8 taskId) FillWindowPixelBuffer(4, 0xAA); FillWindowPixelBuffer(5, 0xAA); FillWindowPixelBuffer(6, 0xAA); - box_print(2, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuContinue); - box_print(3, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuNewGame); - box_print(4, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuMysteryGift2); - box_print(5, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuMysteryEvents); - box_print(6, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuOption); + box_print(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); + box_print(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); + box_print(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryGift2); + box_print(5, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryEvents); + box_print(6, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); fmt_savegame(); PutWindowTilemap(2); PutWindowTilemap(3); @@ -582,19 +601,19 @@ void Task_DisplayMainMenu(u8 taskId) CopyWindowToVram(4, 2); CopyWindowToVram(5, 2); CopyWindowToVram(6, 2); - DrawMainMenuWindowBorder(gUnknown_082FF048, MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[1], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[2], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[3], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[4], MAIN_MENU_BORDER_TILE); - data[13] = AddScrollIndicatorArrowPair(&gUnknown_082FF0F4, &gUnknown_02022D06); - gTasks[data[13]].func = Task_ScrollIndicatorArrowPairOnMainMenu; - if (gUnknown_02022D06 == 4) + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[0], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[1], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[2], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[3], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[4], MAIN_MENU_BORDER_TILE); + tScrollArrowTaskId = AddScrollIndicatorArrowPair(&sScrollArrowsTemplate_MainMenu, &sCurrItemAndOptionMenuCheck); + gTasks[tScrollArrowTaskId].func = Task_ScrollIndicatorArrowPairOnMainMenu; + if (sCurrItemAndOptionMenuCheck == 4) { ChangeBgY(0, 0x2000, 1); ChangeBgY(1, 0x2000, 1); - data[14] = 1; - gTasks[data[13]].data[15] = 1; + tIsScrolled = TRUE; + gTasks[tScrollArrowTaskId].tArrowTaskIsScrolled = TRUE; } break; } @@ -604,7 +623,7 @@ void Task_DisplayMainMenu(u8 taskId) void Task_HighlightSelectedMainMenuItem(u8 taskId) { - HighlightSelectedMainMenuItem(gTasks[taskId].data[0], gTasks[taskId].data[1], gTasks[taskId].data[14]); + HighlightSelectedMainMenuItem(gTasks[taskId].tMenuType, gTasks[taskId].tCurrItem, gTasks[taskId].tIsScrolled); gTasks[taskId].func = Task_HandleMainMenuInput; } @@ -615,40 +634,40 @@ bool8 HandleMainMenuInput(u8 taskId) if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - sub_80093CC(); - BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK); + IsWirelessAdapterConnected(); // why bother calling this here? debug? Task_HandleMainMenuAPressed will check too + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_HandleMainMenuAPressed; } else if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); - BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_WHITEALPHA); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_WHITEALPHA); SetGpuReg(REG_OFFSET_WIN0H, 0xF0); SetGpuReg(REG_OFFSET_WIN0V, 0xA0); gTasks[taskId].func = Task_HandleMainMenuBPressed; } - else if ((gMain.newKeys & DPAD_UP) && data[1] > 0) + else if ((gMain.newKeys & DPAD_UP) && tCurrItem > 0) { - if (data[0] == 3 && data[14] == 1 && data[1] == 1) + if (tMenuType == HAS_MYSTERY_EVENTS && tIsScrolled == TRUE && tCurrItem == 1) { ChangeBgY(0, 0x2000, 2); ChangeBgY(1, 0x2000, 2); - gTasks[data[13]].data[15] = data[14] = 0; + gTasks[tScrollArrowTaskId].tArrowTaskIsScrolled = tIsScrolled = FALSE; } - data[1]--; - gUnknown_02022D06 = data[1]; + tCurrItem--; + sCurrItemAndOptionMenuCheck = tCurrItem; return TRUE; } - else if ((gMain.newKeys & DPAD_DOWN) && data[1] < data[12] - 1) + else if ((gMain.newKeys & DPAD_DOWN) && tCurrItem < tItemCount - 1) { - if (data[0] == 3 && data[1] == 3 && data[14] == 0) + if (tMenuType == HAS_MYSTERY_EVENTS && tCurrItem == 3 && tIsScrolled == FALSE) { ChangeBgY(0, 0x2000, 1); ChangeBgY(1, 0x2000, 1); - gTasks[data[13]].data[15] = data[14] = 1; + gTasks[tScrollArrowTaskId].tArrowTaskIsScrolled = tIsScrolled = TRUE; } - data[1]++; - gUnknown_02022D06 = data[1]; + tCurrItem++; + sCurrItemAndOptionMenuCheck = tCurrItem; return TRUE; } return FALSE; @@ -662,13 +681,13 @@ void Task_HandleMainMenuInput(u8 taskId) void Task_HandleMainMenuAPressed(u8 taskId) { - bool8 r2; + bool8 wirelessAdapterConnected; u8 action; if (!gPaletteFade.active) { - if (gTasks[taskId].data[0] == 3) - RemoveScrollIndicatorArrowPair(gTasks[taskId].data[13]); + if (gTasks[taskId].tMenuType == HAS_MYSTERY_EVENTS) + RemoveScrollIndicatorArrowPair(gTasks[taskId].tScrollArrowTaskId); sub_819746C(0, 1); sub_819746C(1, 1); sub_819746C(2, 1); @@ -677,103 +696,103 @@ void Task_HandleMainMenuAPressed(u8 taskId) sub_819746C(5, 1); sub_819746C(6, 1); sub_819746C(7, 1); - r2 = sub_80093CC(); - switch (gTasks[taskId].data[0]) + wirelessAdapterConnected = IsWirelessAdapterConnected(); + switch (gTasks[taskId].tMenuType) { case HAS_NO_SAVED_GAME: default: - switch (gTasks[taskId].data[1]) + switch (gTasks[taskId].tCurrItem) { case 0: default: - action = 0; + action = ACTION_NEW_GAME; break; case 1: - action = 2; + action = ACTION_OPTIONS; break; } break; case HAS_SAVED_GAME: - switch (gTasks[taskId].data[1]) + switch (gTasks[taskId].tCurrItem) { case 0: default: - action = 1; + action = ACTION_CONTINUE; break; case 1: - action = 0; + action = ACTION_NEW_GAME; break; case 2: - action = 2; + action = ACTION_OPTIONS; break; } break; case HAS_MYSTERY_GIFT: - switch (gTasks[taskId].data[1]) + switch (gTasks[taskId].tCurrItem) { case 0: default: - action = 1; + action = ACTION_CONTINUE; break; case 1: - action = 0; + action = ACTION_NEW_GAME; break; case 2: - action = 3; - if (r2 == FALSE) + action = ACTION_MYSTERY_GIFT; + if (!wirelessAdapterConnected) { - action = 6; - gTasks[taskId].data[0] = 0; + action = ACTION_INVALID; + gTasks[taskId].tMenuType = 0; } break; case 3: - action = 2; + action = ACTION_OPTIONS; break; } break; case HAS_MYSTERY_EVENTS: - switch (gTasks[taskId].data[1]) + switch (gTasks[taskId].tCurrItem) { case 0: default: - action = 1; + action = ACTION_CONTINUE; break; case 1: - action = 0; + action = ACTION_NEW_GAME; break; case 2: - if (gTasks[taskId].data[15]) + if (gTasks[taskId].tWirelessAdapterConnected) { - action = 3; - if (r2 == FALSE) + action = ACTION_MYSTERY_GIFT; + if (!wirelessAdapterConnected) { - action = 6; - gTasks[taskId].data[0] = 0; + action = ACTION_INVALID; + gTasks[taskId].tMenuType = 0; } } - else if (r2) + else if (wirelessAdapterConnected) { - action = 6; - gTasks[taskId].data[0] = 1; + action = ACTION_INVALID; + gTasks[taskId].tMenuType = 1; } else { - action = 5; + action = ACTION_UNKNOWN; } break; case 3: - if (r2) + if (wirelessAdapterConnected) { - action = 6; - gTasks[taskId].data[0] = 2; + action = ACTION_INVALID; + gTasks[taskId].tMenuType = 2; } else { - action = 4; + action = ACTION_MYSTERY_EVENTS; } break; case 4: - action = 2; + action = ACTION_OPTIONS; break; } break; @@ -782,37 +801,37 @@ void Task_HandleMainMenuAPressed(u8 taskId) ChangeBgY(1, 0, 0); switch (action) { - case 0: + case ACTION_NEW_GAME: default: gPlttBufferUnfaded[0] = RGB_BLACK; gPlttBufferFaded[0] = RGB_BLACK; gTasks[taskId].func = task_new_game_prof_birch_speech_1; break; - case 1: + case ACTION_CONTINUE: gPlttBufferUnfaded[0] = RGB_BLACK; gPlttBufferFaded[0] = RGB_BLACK; SetMainCallback2(CB2_ContinueSavedGame); DestroyTask(taskId); break; - case 2: + case ACTION_OPTIONS: gMain.savedCallback = CB2_ReinitMainMenu; SetMainCallback2(CB2_InitOptionMenu); DestroyTask(taskId); break; - case 3: + case ACTION_MYSTERY_GIFT: SetMainCallback2(c2_mystery_gift); DestroyTask(taskId); break; - case 4: + case ACTION_MYSTERY_EVENTS: SetMainCallback2(CB2_InitMysteryEventMenu); DestroyTask(taskId); break; - case 5: + case ACTION_UNKNOWN: SetMainCallback2(sub_801867C); DestroyTask(taskId); break; - case 6: - gTasks[taskId].data[1] = 0; + case ACTION_INVALID: + gTasks[taskId].tCurrItem = 0; gTasks[taskId].func = Task_DisplayMainMenuInvalidActionError; gPlttBufferUnfaded[0xF1] = RGB_WHITE; gPlttBufferFaded[0xF1] = RGB_WHITE; @@ -822,14 +841,14 @@ void Task_HandleMainMenuAPressed(u8 taskId) SetGpuReg(REG_OFFSET_BG1VOFS, 0); SetGpuReg(REG_OFFSET_BG0HOFS, 0); SetGpuReg(REG_OFFSET_BG0VOFS, 0); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); return; } FreeAllWindowBuffers(); - if (action != 2) - gUnknown_02022D06 = 0; + if (action != ACTION_OPTIONS) + sCurrItemAndOptionMenuCheck = 0; else - gUnknown_02022D06 |= 0x8000; + sCurrItemAndOptionMenuCheck |= 0x8000; // entering the options menu } } @@ -837,9 +856,9 @@ void Task_HandleMainMenuBPressed(u8 taskId) { if (!gPaletteFade.active) { - if (gTasks[taskId].data[0] == 3) - RemoveScrollIndicatorArrowPair(gTasks[taskId].data[13]); - gUnknown_02022D06 = 0; + if (gTasks[taskId].tMenuType == 3) + RemoveScrollIndicatorArrowPair(gTasks[taskId].tScrollArrowTaskId); + sCurrItemAndOptionMenuCheck = 0; FreeAllWindowBuffers(); SetMainCallback2(CB2_InitTitleScreen); DestroyTask(taskId); @@ -848,11 +867,11 @@ void Task_HandleMainMenuBPressed(u8 taskId) void Task_DisplayMainMenuInvalidActionError(u8 taskId) { - switch (gTasks[taskId].data[1]) + switch (gTasks[taskId].tCurrItem) { case 0: FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); - switch (gTasks[taskId].data[0]) + switch (gTasks[taskId].tMenuType) { case 0: CreateMainMenuErrorWindow(gText_WirelessNotConnected); @@ -864,30 +883,39 @@ void Task_DisplayMainMenuInvalidActionError(u8 taskId) CreateMainMenuErrorWindow(gText_MysteryEventsCantUse); break; } - gTasks[taskId].data[1]++; + gTasks[taskId].tCurrItem++; break; case 1: if (!gPaletteFade.active) - gTasks[taskId].data[1]++; + gTasks[taskId].tCurrItem++; break; case 2: RunTextPrinters(); if (!IsTextPrinterActive(7)) - gTasks[taskId].data[1]++; + gTasks[taskId].tCurrItem++; break; case 3: if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { PlaySE(SE_SELECT); - BeginNormalPaletteFade(-1, 0, 0, 16, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = Task_HandleMainMenuBPressed; } } } -void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 a) +#undef tMenuType +#undef tCurrItem +#undef tItemCount +#undef tScrollArrowTaskId +#undef tIsScrolled +#undef tWirelessAdapterConnected + +#undef tArrowTaskIsScrolled + +void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 isScrolled) { - SetGpuReg(REG_OFFSET_WIN0H, 0x9E7); + SetGpuReg(REG_OFFSET_WIN0H, WINHV_COORDS(9, 231)); switch (menuType) { @@ -897,10 +925,10 @@ void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 a) { case 0: default: - SetGpuReg(REG_OFFSET_WIN0V, 0x11F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(1, 31)); break; case 1: - SetGpuReg(REG_OFFSET_WIN0V, 0x213F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(33, 63)); break; } break; @@ -909,13 +937,13 @@ void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 a) { case 0: default: - SetGpuReg(REG_OFFSET_WIN0V, 0x13F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(1, 63)); break; case 1: - SetGpuReg(REG_OFFSET_WIN0V, 0x415F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(65, 95)); break; case 2: - SetGpuReg(REG_OFFSET_WIN0V, 0x617F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(97, 127)); break; } break; @@ -924,16 +952,16 @@ void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 a) { case 0: default: - SetGpuReg(REG_OFFSET_WIN0V, 0x13F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(1, 63)); break; case 1: - SetGpuReg(REG_OFFSET_WIN0V, 0x415F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(65, 95)); break; case 2: - SetGpuReg(REG_OFFSET_WIN0V, 0x617F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(97, 127)); break; case 3: - SetGpuReg(REG_OFFSET_WIN0V, 0x819F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(129, 159)); break; } break; @@ -942,28 +970,28 @@ void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 a) { case 0: default: - SetGpuReg(REG_OFFSET_WIN0V, 0x13F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(1, 63)); break; case 1: - if (a) - SetGpuReg(REG_OFFSET_WIN0V, 0x213F); + if (isScrolled) + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(33, 63)); else - SetGpuReg(REG_OFFSET_WIN0V, 0x415F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(65, 95)); break; case 2: - if (a) - SetGpuReg(REG_OFFSET_WIN0V, 0x415F); + if (isScrolled) + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(65, 95)); else - SetGpuReg(REG_OFFSET_WIN0V, 0x617F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(97, 127)); break; case 3: - if (a) - SetGpuReg(REG_OFFSET_WIN0V, 0x617F); + if (isScrolled) + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(97, 127)); else - SetGpuReg(REG_OFFSET_WIN0V, 0x819F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(129, 159)); break; case 4: - SetGpuReg(REG_OFFSET_WIN0V, 0x819F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(129, 159)); break; } break; @@ -992,7 +1020,7 @@ void task_new_game_prof_birch_speech_1(u8 taskId) FreeAllSpritePalettes(); dp13_810BB8C(); AddBirchSpeechObjects(taskId); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); gTasks[taskId].data[4] = 0; gTasks[taskId].func = task_new_game_prof_birch_speech_2; gTasks[taskId].data[2] = 0xFF; @@ -1298,7 +1326,7 @@ void task_new_game_prof_birch_speech_16(u8 taskId) { if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) { - BeginNormalPaletteFade(-1, 0, 0, 16, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = task_new_game_prof_birch_speech_17; } } @@ -1547,7 +1575,7 @@ void new_game_prof_birch_speech_part2_start(void) gSprites[spriteId].invisible = 0; gTasks[taskId].data[2] = spriteId; SetGpuReg(REG_OFFSET_BG1HOFS, -60); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); SetGpuReg(REG_OFFSET_WIN0H, 0); SetGpuReg(REG_OFFSET_WIN0V, 0); SetGpuReg(REG_OFFSET_WININ, 0); @@ -1797,7 +1825,7 @@ void CreateMainMenuErrorWindow(const u8* str) PrintTextOnWindow(7, 1, str, 0, 1, 2, 0); PutWindowTilemap(7); CopyWindowToVram(7, 2); - DrawMainMenuWindowBorder(gUnknown_082FF070, MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(sWindowTemplate_ErrorWindow, MAIN_MENU_BORDER_TILE); SetGpuReg(REG_OFFSET_WIN0H, 0x9E7); SetGpuReg(REG_OFFSET_WIN0V, 0x719F); } @@ -1892,7 +1920,7 @@ void DrawMainMenuWindowBorder(const struct WindowTemplate *template, u16 baseTil CopyBgTilemapBufferToVram(template->priority); } -void sub_8032250(const struct WindowTemplate *template) +static void ClearMainMenuWindowTilemap(const struct WindowTemplate *template) { FillBgTilemapBufferRect(template->priority, 0, template->tilemapLeft - 1, template->tilemapTop - 1, template->tilemapLeft + template->width + 1, template->tilemapTop + template->height + 1, 2); CopyBgTilemapBufferToVram(template->priority); @@ -1914,11 +1942,11 @@ void sub_80322E0(u8 windowId, u8 a) void sub_8032318(u8 a) { - u8 fontAttribute = GetFontAttribute(1, 6); - u8 fontAttribute2 = GetFontAttribute(1, 0); - u8 fontAttribute3 = GetFontAttribute(1, 1); - u8 windowAttribute = GetWindowAttribute(a, 3); - u8 windowAttribute2 = GetWindowAttribute(a, 4); + u8 fontAttribute = GetFontAttribute(1, FONTATTR_COLOR_BACKGROUND); + u8 fontAttribute2 = GetFontAttribute(1, FONTATTR_MAX_LETTER_WIDTH); + u8 fontAttribute3 = GetFontAttribute(1, FONTATTR_MAX_LETTER_HEIGHT); + u8 windowAttribute = GetWindowAttribute(a, WINDOW_WIDTH); + u8 windowAttribute2 = GetWindowAttribute(a, WINDOW_HEIGHT); FillWindowPixelRect(a, fontAttribute, 0, 0, fontAttribute2 * windowAttribute, fontAttribute3 * windowAttribute2); CopyWindowToVram(a, 2); diff --git a/src/map_name_popup.c b/src/map_name_popup.c index 758ce3b3d..578636d40 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -463,7 +463,7 @@ static void LoadMapNamePopUpWindowBg(void) } popUpThemeId = gRegionMapSectionId_To_PopUpThemeIdMapping[regionMapSectionId]; - LoadBgTiles(GetWindowAttribute(popupWindowId, 0), &(gMapPopUp_Outline_Table[popUpThemeId][0]), 0x400, 0x21D); + LoadBgTiles(GetWindowAttribute(popupWindowId, WINDOW_PRIORITY), &(gMapPopUp_Outline_Table[popUpThemeId][0]), 0x400, 0x21D); CallWindowFunction(popupWindowId, sub_80D4A78); PutWindowTilemap(popupWindowId); if(gMapHeader.weather == WEATHER_BUBBLES) diff --git a/src/menu.c b/src/menu.c index 79c70e619..96dda3075 100644 --- a/src/menu.c +++ b/src/menu.c @@ -194,7 +194,7 @@ void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonP void sub_81973A4(void) { LoadMessageBoxGfx(0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10); - LoadSav2WindowGfx(0, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM * 0x10); + LoadUserWindowBorderGfx(0, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM * 0x10); } void NewMenuHelpers_DrawDialogueFrame(u8 windowId, bool8 copyToVram) @@ -1107,12 +1107,12 @@ void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 l printer.windowId = windowId; printer.fontId = fontId; - printer.fgColor = GetFontAttribute(fontId, 5); - printer.bgColor = GetFontAttribute(fontId, 6); - printer.shadowColor = GetFontAttribute(fontId, 7); - printer.fontColor_l = GetFontAttribute(fontId, 4); + printer.fgColor = GetFontAttribute(fontId, FONTATTR_COLOR_FOREGROUND); + printer.bgColor = GetFontAttribute(fontId, FONTATTR_COLOR_BACKGROUND); + printer.shadowColor = GetFontAttribute(fontId, FONTATTR_COLOR_SHADOW); + printer.fontColor_l = GetFontAttribute(fontId, FONTATTR_COLOR_LOWNIBBLE); printer.letterSpacing = letterSpacing; - printer.lineSpacing = GetFontAttribute(fontId, 3); + printer.lineSpacing = GetFontAttribute(fontId, FONTATTR_LINE_SPACING); printer.x = left; printer.currentX = left; @@ -1129,7 +1129,7 @@ void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 l void sub_81989B8(u8 windowId, u8 fontId, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a5) { - AddItemMenuActionTextPrinters(windowId, fontId, GetFontAttribute(fontId, 0), 1, GetFontAttribute(fontId, 2), lineHeight, itemCount, strs, a5); + AddItemMenuActionTextPrinters(windowId, fontId, GetFontAttribute(fontId, FONTATTR_MAX_LETTER_WIDTH), 1, GetFontAttribute(fontId, FONTATTR_LETTER_SPACING), lineHeight, itemCount, strs, a5); } void SetWindowTemplateFields(struct WindowTemplate *template, u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock) @@ -1167,20 +1167,20 @@ void sub_8198AF8(const struct WindowTemplate *window, u8 fontId, u8 left, u8 top printer.current_text_offset = gText_YesNo; printer.windowId = gUnknown_0203CD9F; printer.fontId = fontId; - printer.x = GetFontAttribute(fontId, 0) + left; + printer.x = GetFontAttribute(fontId, FONTATTR_MAX_LETTER_WIDTH) + left; printer.y = top; printer.currentX = printer.x; printer.currentY = printer.y; - printer.fgColor = GetFontAttribute(fontId, 5); - printer.bgColor = GetFontAttribute(fontId, 6); - printer.shadowColor = GetFontAttribute(fontId, 7); - printer.fontColor_l = GetFontAttribute(fontId, 4); - printer.letterSpacing = GetFontAttribute(fontId, 2); - printer.lineSpacing = GetFontAttribute(fontId, 3); + printer.fgColor = GetFontAttribute(fontId, FONTATTR_COLOR_FOREGROUND); + printer.bgColor = GetFontAttribute(fontId, FONTATTR_COLOR_BACKGROUND); + printer.shadowColor = GetFontAttribute(fontId, FONTATTR_COLOR_SHADOW); + printer.fontColor_l = GetFontAttribute(fontId, FONTATTR_COLOR_LOWNIBBLE); + printer.letterSpacing = GetFontAttribute(fontId, FONTATTR_LETTER_SPACING); + printer.lineSpacing = GetFontAttribute(fontId, FONTATTR_LINE_SPACING); AddTextPrinter(&printer, 0xFF, NULL); - sub_81983AC(gUnknown_0203CD9F, fontId, left, top, GetFontAttribute(fontId, 1), 2, initialCursorPos); + sub_81983AC(gUnknown_0203CD9F, fontId, left, top, GetFontAttribute(fontId, FONTATTR_MAX_LETTER_HEIGHT), 2, initialCursorPos); } void sub_8198C34(const struct WindowTemplate *window, u8 fontId, u16 baseTileNum, u8 paletteNum) diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index c7247b696..68f31584b 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -77,7 +77,7 @@ void CB2_InitMysteryEventMenu(void) FillWindowPixelBuffer(i, 0); FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14); - LoadSav2WindowGfx(0, 1u, 0xD0u); + LoadUserWindowBorderGfx(0, 1u, 0xD0u); sub_81978B0(0xE0); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON); SetGpuReg(REG_OFFSET_BLDCNT, 0); @@ -121,7 +121,7 @@ static void CB2_MysteryEventMenu(void) PutWindowTilemap(0); CopyWindowToVram(0, 3); ShowBg(0); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); gMain.state++; break; case 1: @@ -264,7 +264,7 @@ static void CB2_MysteryEventMenu(void) } break; case 15: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gMain.state++; break; case 16: diff --git a/src/option_menu.c b/src/option_menu.c index de9a216a6..fc0c0c24e 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -235,7 +235,7 @@ void CB2_InitOptionMenu(void) break; } case 11: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); SetVBlankCallback(VBlankCB); SetMainCallback2(MainCB2); return; @@ -344,7 +344,7 @@ static void Task_OptionMenuSave(u8 taskId) gSaveBlock2Ptr->optionsButtonMode = gTasks[taskId].data[TD_BUTTONMODE]; gSaveBlock2Ptr->optionsWindowFrameType = gTasks[taskId].data[TD_FRAMETYPE]; - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskId].func = Task_OptionMenuFadeOut; } diff --git a/src/overworld.c b/src/overworld.c index d4cb25e6c..9cbc8dc52 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -57,6 +57,7 @@ #include "malloc.h" #include "gpu_regs.h" #include "link_rfu.h" +#include "constants/map_types.h" // event scripts extern const u8 EventScript_WhiteOut[]; diff --git a/src/player_pc.c b/src/player_pc.c index 48be0633f..ba18b45ab 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -903,7 +903,7 @@ static void sub_816BEF0(s32 id) static void ItemStorage_StartScrollIndicator(void) { if(playerPCItemPageInfo.scrollIndicatorId == 0xFF) - playerPCItemPageInfo.scrollIndicatorId = AddScrollIndicatorArrowPairParametrized(0x2, 0xB0, 0xC, 0x94, playerPCItemPageInfo.count - playerPCItemPageInfo.pageItems, 0x13F8, 0x13F8, &(playerPCItemPageInfo.itemsAbove)); + playerPCItemPageInfo.scrollIndicatorId = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0xB0, 0xC, 0x94, playerPCItemPageInfo.count - playerPCItemPageInfo.pageItems, 0x13F8, 0x13F8, &(playerPCItemPageInfo.itemsAbove)); } static void ItemStorage_RemoveScrollIndicator(void) @@ -1116,7 +1116,7 @@ static void ItemStorage_ItemSwapChoosePrompt(u8 taskId) s16 *data; data = gTasks[taskId].data; - sub_81AF15C(data[5], 16, 1); + ListMenuSetUnkIndicatorsStructField(data[5], 16, 1); gUnknown_0203BCC4->unk666 = (playerPCItemPageInfo.itemsAbove + playerPCItemPageInfo.cursorPos); sub_816BFB8(data[5], 0, 0); sub_816C690(gUnknown_0203BCC4->unk666); diff --git a/src/pokeblock.c b/src/pokeblock.c index 518acd792..7dd20b237 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -3,6 +3,7 @@ #include "bg.h" #include "strings.h" #include "text.h" +#include "text_window.h" #include "menu.h" #include "task.h" #include "menu_helpers.h" @@ -75,8 +76,6 @@ extern const u16 gUnknown_0860F074[]; extern void CB2_ReturnToField(void); extern bool8 sub_81221EC(void); -extern void LoadSav2WindowGfx(u8, u16, u8); -extern void LoadMessageBoxGfx(u8, u16, u8); extern void sub_80AF168(void); // this file's functions @@ -315,19 +314,19 @@ static const struct ListMenuTemplate sPokeblockListMenuTemplate = { .items = NULL, .moveCursorFunc = MovePokeblockMenuCursor, - .unk_08 = NULL, + .itemPrintFunc = NULL, .totalItems = 0, .maxShowed = 0, .windowId = 1, - .unk_11 = 0, - .unk_12 = 1, + .header_X = 0, + .item_X = 1, .cursor_X = 0, .upText_Y = 1, .cursorPal = 2, .fillValue = 0, .cursorShadowPal = 3, .lettersSpacing = 0, - .unk_16_3 = 0, + .itemVerticalPadding = 0, .scrollMultiple = LIST_MULTIPLE_SCROLL_DPAD, .fontId = 1, .cursorKind = 1 @@ -492,7 +491,7 @@ static bool8 InitPokeblockMenu(void) gMain.state++; break; case 18: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); gPaletteFade.bufferTransferDisabled = 0; gMain.state++; break; @@ -566,7 +565,7 @@ static void HandleInitWindows(void) InitWindows(sWindowTemplatesForPokeblockMenu); DeactivateAllTextPrinters(); - LoadSav2WindowGfx(0, 1, 0xE0); + LoadUserWindowBorderGfx(0, 1, 0xE0); LoadMessageBoxGfx(0, 0xA, 0xD0); LoadPalette(gUnknown_0860F074, 0xF0, 0x20); @@ -807,7 +806,7 @@ static void sub_81363BC(void) { if (sPokeblockMenu->unkTaskId == 0xFF) { - sPokeblockMenu->unkTaskId = AddScrollIndicatorArrowPairParametrized(2, 0xB0, 8, 0x98, sPokeblockMenu->itemsNo - sPokeblockMenu->maxShowed, + sPokeblockMenu->unkTaskId = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0xB0, 8, 0x98, sPokeblockMenu->itemsNo - sPokeblockMenu->maxShowed, 0x456, 0x456, &sSavedPokeblockData.lastItemPage); } } @@ -855,7 +854,7 @@ static void sub_8136470(struct Sprite *sprite) static void FadePaletteAndSetTaskToClosePokeblockCase(u8 taskId) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskId].func = Task_FreeDataAndExitPokeblockCase; } diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index 7ce7affcc..5f06ed7e8 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -21,6 +21,7 @@ #include "sound.h" #include "trig.h" #include "graphics.h" +#include "text_window.h" #include "battle.h" // to get rid of once gMonSpritesGfxPtr is put elsewhere struct PokeblockFeedStruct @@ -58,7 +59,6 @@ extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const u16 gUnknown_0860F074[]; extern bool8 sub_81221EC(void); -extern void LoadSav2WindowGfx(u8, u16, u8); // this file's functions static void HandleInitBackgrounds(void); @@ -596,7 +596,7 @@ static bool8 TransitionToPokeblockFeedScene(void) gMain.state++; break; case 13: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); gPaletteFade.bufferTransferDisabled = 0; gMain.state++; break; @@ -705,7 +705,7 @@ static void HandleInitWindows(void) { InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - LoadSav2WindowGfx(0, 1, 0xE0); + LoadUserWindowBorderGfx(0, 1, 0xE0); LoadPalette(gUnknown_0860F074, 0xF0, 0x20); FillWindowPixelBuffer(0, 0); PutWindowTilemap(0); @@ -810,7 +810,7 @@ static void Task_ReturnAfterPaletteFade(u8 taskId) static void Task_PaletteFadeToReturn(u8 taskId) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskId].func = Task_ReturnAfterPaletteFade; } diff --git a/src/pokedex.c b/src/pokedex.c index f7a51e75f..37e0515bd 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -1630,14 +1630,14 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode) } } -void sub_80BCE2C(u8 a, u8 b, const u8* str, u8 c, u8 d) +void sub_80BCE2C(u8 windowId, u8 fontId, const u8* str, u8 left, u8 top) { - u8 sp14[3]; + u8 color[3]; - sp14[0] = 0; - sp14[1] = 15; - sp14[2] = 3; - AddTextPrinterParameterized2(a, b, c * 8, (d * 8) + 1, 0, 0, sp14, -1, str); + color[0] = 0; + color[1] = 15; + color[2] = 3; + AddTextPrinterParameterized2(windowId, fontId, left * 8, (top * 8) + 1, 0, 0, color, -1, str); } void sub_80BCE84(u8 a, u16 b, u16 c) @@ -1727,7 +1727,7 @@ void sub_80BCE84(u8 a, u16 b, u16 c) CopyWindowToVram(0, 2); } -void sub_80BD154(u16 a, u8 b, u8 c, u16 unused) +void sub_80BD154(u16 a, u8 left, u8 top, u16 unused) { u8 text[6]; u16 r6; @@ -1739,18 +1739,18 @@ void sub_80BD154(u16 a, u8 b, u8 c, u16 unused) text[2] = CHAR_0 + r6 / 100; text[3] = CHAR_0 + (r6 % 100) / 10; text[4] = CHAR_0 + (r6 % 100) % 10; - sub_80BCE2C(0, 7, text, b, c); + sub_80BCE2C(0, 7, text, left, top); } -void sub_80BD1F4(u16 a, u8 b, u8 c, u16 unused) +void sub_80BD1F4(u16 a, u8 x, u8 y, u16 unused) { if (a) - BlitBitmapToWindow(0, gUnknown_0855D2BE, b * 8, c * 8, 8, 16); + BlitBitmapToWindow(0, gUnknown_0855D2BE, x * 8, y * 8, 8, 16); else - FillWindowPixelRect(0, 0, b * 8, c * 8, 8, 16); + FillWindowPixelRect(0, 0, x * 8, y * 8, 8, 16); } -u8 sub_80BD23C(u16 num, u8 b, u8 c) +u8 sub_80BD23C(u16 num, u8 left, u8 top) { const u8* str; @@ -1759,13 +1759,13 @@ u8 sub_80BD23C(u16 num, u8 b, u8 c) str = gSpeciesNames[num]; else str = sText_TenDashes; - sub_80BCE2C(0, 7, str, b, c); + sub_80BCE2C(0, 7, str, left, top); return StringLength(str); } -void sub_80BD28C(u8 a, u8 b, u16 unused) +void sub_80BD28C(u8 x, u8 y, u16 unused) { - FillWindowPixelRect(0, 0, a * 8, b * 8, 0x60, 16); + FillWindowPixelRect(0, 0, x * 8, y * 8, 0x60, 16); } void sub_80BD2B4(u16 a, u16 b) @@ -1803,7 +1803,7 @@ void sub_80BD2B4(u16 a, u16 b) gSprites[spriteId].callback = sub_80BE4E0; gSprites[spriteId].data[5] = 32; } - + sub_80BCE84(0, a, b); SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_02039B4C->unk62D); @@ -2047,7 +2047,7 @@ u16 sub_80BDA8C(u16 a1) return 0; } -u32 sub_80BDACC(u16 a, s16 b, s16 c) +u32 sub_80BDACC(u16 num, s16 x, s16 y) { u8 i; @@ -2055,13 +2055,13 @@ u32 sub_80BDACC(u16 a, s16 b, s16 c) { if (gUnknown_02039B4C->unk61E[i] == 0xFFFF) { - u8 spriteId = sub_80C0E9C(a, b, c, i); + u8 spriteId = sub_80C0E9C(num, x, y, i); gSprites[spriteId].oam.affineMode = 1; gSprites[spriteId].oam.priority = 3; gSprites[spriteId].data[0] = 0; gSprites[spriteId].data[1] = i; - gSprites[spriteId].data[2] = NationalPokedexNumToSpecies(a); + gSprites[spriteId].data[2] = NationalPokedexNumToSpecies(num); gUnknown_02039B4C->unk61E[i] = spriteId; return spriteId; } @@ -2443,14 +2443,14 @@ void sub_80BE834(struct Sprite *sprite) } } -void sub_80BE8DC(const u8* a, u8 b, u8 c) +void sub_80BE8DC(const u8* str, u8 left, u8 top) { - u8 sp14[3]; - sp14[0] = 0; - sp14[1] = 15; - sp14[2] = 3; + u8 color[3]; + color[0] = 0; + color[1] = 15; + color[2] = 3; - AddTextPrinterParameterized2(0, 1, b, c, 0, 0, sp14, -1, a); + AddTextPrinterParameterized2(0, 1, left, top, 0, 0, color, -1, str); } u8 sub_80BE91C(struct PokedexListItem* item, u8 b) @@ -3464,7 +3464,7 @@ void sub_80C01CC(struct Sprite *sprite) sprite->pos1.y -= 1; } -void sub_80C020C(u32 num, u32 b, u32 c, u32 d) +void sub_80C020C(u32 num, u32 value, u32 c, u32 d) { u8 str[0x10]; u8 str2[0x20]; @@ -3475,11 +3475,11 @@ void sub_80C020C(u32 num, u32 b, u32 c, u32 d) if (d) sub_80BE8DC(gText_PokedexRegistration, GetStringCenterAlignXOffset(1, gText_PokedexRegistration, 0xF0), 0); - if (b == 0) - b = NationalToHoennOrder(num); + if (value == 0) + value = NationalToHoennOrder(num); else - b = num; - ConvertIntToDecimalStringN(StringCopy(str, gText_UnkCtrlF908Clear01), b, 2, 3); + value = num; + ConvertIntToDecimalStringN(StringCopy(str, gText_UnkCtrlF908Clear01), value, 2, 3); sub_80BE8DC(str, 0x60, 0x19); natNum = NationalPokedexNumToSpecies(num); if (natNum) @@ -4058,17 +4058,17 @@ void sub_80C09B0(u16 a) } } -void sub_80C0A88(u8 a, const u8 *b, u8 c, u8 d) +void sub_80C0A88(u8 windowId, const u8 *str, u8 left, u8 top) { - u8 sp14[3]; - sp14[0] = 0; - sp14[1] = 15; - sp14[2] = 3; + u8 color[3]; + color[0] = 0; + color[1] = 15; + color[2] = 3; - AddTextPrinterParameterized2(a, 1, c, d, 0, 0, sp14, -1, b); + AddTextPrinterParameterized2(windowId, 1, left, top, 0, 0, color, -1, str); } -void sub_80C0AC4(u8 a, u16 order, u8 b, u8 c) +void sub_80C0AC4(u8 windowId, u16 order, u8 left, u8 top) { u8 str[4]; @@ -4076,10 +4076,10 @@ void sub_80C0AC4(u8 a, u16 order, u8 b, u8 c) str[1] = CHAR_0 + (order % 100) / 10; str[2] = CHAR_0 + (order % 100) % 10; str[3] = EOS; - sub_80C0A88(a, str, b, c); + sub_80C0A88(windowId, str, left, top); } -u8 sub_80C0B44(u8 a, u16 num, u8 b, u8 c) +u8 sub_80C0B44(u8 windowId, u16 num, u8 left, u8 top) { u8 str[11]; u8 i; @@ -4098,11 +4098,11 @@ u8 sub_80C0B44(u8 a, u16 num, u8 b, u8 c) str[i] = CHAR_HYPHEN; break; } - sub_80C0A88(a, str, b, c); + sub_80C0A88(windowId, str, left, top); return i; } -void sub_80C0BF0(u8 a, const u8* str, u8 b, u8 c) +void sub_80C0BF0(u8 windowId, const u8* str, u8 left, u8 top) { u8 str2[11]; u8 i; @@ -4115,10 +4115,10 @@ void sub_80C0BF0(u8 a, const u8* str, u8 b, u8 c) for (i = 0; i < count; i++) str2[11 - count + i] = str[i]; str2[11] = EOS; - sub_80C0A88(a, str2, b, c); + sub_80C0A88(windowId, str2, left, top); } -void sub_80C0C6C(u8 a, u16 b, u8 left, u8 top) +void sub_80C0C6C(u8 windowId, u16 b, u8 left, u8 top) { u8 str[6]; bool8 outputted = FALSE; @@ -4152,10 +4152,10 @@ void sub_80C0C6C(u8 a, u16 b, u8 left, u8 top) str[3] = CHAR_PERIOD; str[4] = CHAR_0 + ((b % 1000) % 100) % 10; str[5] = EOS; - sub_80C0A88(a, str, left, top); + sub_80C0A88(windowId, str, left, top); } -void sub_80C0D30(u8 a0, u16 a1) +void sub_80C0D30(u8 windowId, u16 a1) { u8 image[32 * 4]; const u8 * r12 = gMonFootprintTable[NationalPokedexNumToSpecies(a1)]; @@ -4175,7 +4175,7 @@ void sub_80C0D30(u8 a0, u16 a1) r5++; } } - CopyToWindowPixelBuffer(a0, image, sizeof(image), 0); + CopyToWindowPixelBuffer(windowId, image, sizeof(image), 0); } void sub_80C0DC0(u16 a, u16 b) @@ -4229,25 +4229,25 @@ u32 sub_80C0E68(u16 a) } } -u16 sub_80C0E9C(u16 num, s16 a, s16 b, u16 c) +u16 sub_80C0E9C(u16 num, s16 x, s16 y, u16 paletteSlot) { num = NationalPokedexNumToSpecies(num); - return sub_818D7D8(num, 8, sub_80C0E68(num), 1, a, b, c, -1); + return sub_818D7D8(num, 8, sub_80C0E68(num), TRUE, x, y, paletteSlot, 0xFFFF); } -u16 sub_80C0EF8(u16 a, s16 b, s16 c, s8 d) +u16 sub_80C0EF8(u16 species, s16 x, s16 y, s8 paletteSlot) { - return sub_818D8AC(a, 1, b, c, d, -1); + return sub_818D8AC(species, TRUE, x, y, paletteSlot, 0xFFFF); } -int sub_80C0F30(u8 a, u8 b, u8 abcGroup, u8 bodyColor, u8 type1, u8 type2) +int sub_80C0F30(u8 dexMode, u8 sortMode, u8 abcGroup, u8 bodyColor, u8 type1, u8 type2) { u16 species; u16 i; u16 resultsCount; u8 types[2]; - sub_80BC8D4(a, b); + sub_80BC8D4(dexMode, sortMode); for (i = 0, resultsCount = 0; i < NATIONAL_DEX_COUNT; i++) { @@ -4361,19 +4361,19 @@ u8 sub_80C1258(void) return CreateTask(sub_80C12E0, 0); } -void sub_80C1270(const u8 *str, u32 a, u32 b) +void sub_80C1270(const u8 *str, u32 left, u32 top) { - u8 sp14[3]; + u8 color[3]; - sp14[0] = 0; - sp14[1] = 15; - sp14[2] = 2; - AddTextPrinterParameterized2(0, 1, a, b, 0, 0, sp14, -1, str); + color[0] = 0; + color[1] = 15; + color[2] = 2; + AddTextPrinterParameterized2(0, 1, left, top, 0, 0, color, -1, str); } -void sub_80C12B0(u32 a, u32 b, u32 c, u32 d) +void sub_80C12B0(u32 x, u32 y, u32 width, u32 height) { - FillWindowPixelRect(0, 0, a, b, c, d); + FillWindowPixelRect(0, 0, x, y, width, height); } void sub_80C12E0(u8 taskId) @@ -5211,19 +5211,19 @@ void sub_80C2618(const u8* str) sub_80C1270(str, 8, 0x79); } -void sub_80C2638(u32 a) +void sub_80C2638(u32 y) { - sub_80C12B0(0x90, a * 16 + 8, 8, 16); + sub_80C12B0(0x90, y * 16 + 8, 8, 16); } -void sub_80C2650(u32 a) +void sub_80C2650(u32 left) { - sub_80C1270(gText_SelectorArrow, 0x90, a * 16 + 9); + sub_80C1270(gText_SelectorArrow, 0x90, left * 16 + 9); } -void sub_80C2668(u32 a, const u8* str) +void sub_80C2668(u32 left, const u8* str) { - sub_80C1270(str, 0x98, a * 16 + 9); + sub_80C1270(str, 0x98, left * 16 + 9); } void sub_80C267C(void) diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 74dc11973..0cbbba4dd 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -541,7 +541,7 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 24: - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); gPaletteFade.bufferTransferDisabled = 0; gMain.state++; break; @@ -761,7 +761,7 @@ void sub_81C0434() void sub_81C044C(u8 taskId) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gTasks[taskId].func = sub_81C0484; } diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c index 25b9ccd53..4783f73c0 100644 --- a/src/rayquaza_scene.c +++ b/src/rayquaza_scene.c @@ -1563,7 +1563,7 @@ static void Task_DuoFightAnim(u8 taskId) } BlendPalettes(-1, 0x10, 0); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); SetVBlankCallback(VBlankCB_DuoFight); PlaySE(SE_T_OOAME); } @@ -1715,7 +1715,7 @@ static void sub_81D752C(u8 taskId) static void DuoFightEnd(u8 taskId, s8 palDelay) { PlaySE(SE_T_OOAME_E); - BeginNormalPaletteFade(-1, palDelay, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, palDelay, 0, 0x10, 0); gTasks[taskId].func = Task_DuoFightEnd; } @@ -1971,7 +1971,7 @@ static void Task_HandleRayTakesFlight(u8 taskId) case 0: if (data[1] == 8) { - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); data[2] = 0; data[3] = 30; data[4] = 0; @@ -2012,7 +2012,7 @@ static void Task_HandleRayTakesFlight(u8 taskId) if (data[1] > 295) { data[0]++; - BeginNormalPaletteFade(-1, 6, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 6, 0, 0x10, 0); } } break; @@ -2174,7 +2174,7 @@ static void Task_HandleRayDescends(u8 taskId) case 0: if (data[1] == 8) { - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); data[1] = 0; data[0]++; } @@ -2219,7 +2219,7 @@ static void Task_HandleRayDescends(u8 taskId) } break; case 4: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskId].func = Task_RayDescendsEnd; break; } @@ -2366,7 +2366,7 @@ static void Task_HandleRayCharges(u8 taskId) case 0: if (data[1] == 8) { - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); data[1] = 0; data[0]++; } @@ -2399,7 +2399,7 @@ static void Task_HandleRayCharges(u8 taskId) } break; case 3: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskId].func = Task_RayChargesEnd; break; } @@ -2532,7 +2532,7 @@ static void Task_HandleRayChasesAway(u8 taskId) if (data[1] == 8) { sub_81D90A8(taskId); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); data[1] = 0; data[0]++; } @@ -2574,7 +2574,7 @@ static void Task_HandleRayChasesAway(u8 taskId) } break; case 3: - BeginNormalPaletteFade(-1, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, 0); gTasks[taskId].func = Task_RayChasesAwayEnd; break; } diff --git a/src/recorded_battle.c b/src/recorded_battle.c index f4c9ab12d..4f1766934 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -219,7 +219,7 @@ u8 RecordedBattle_GetBattlerAction(u8 battlerId) { gSpecialVar_Result = gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; // hah ResetPaletteFadeControl(); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); SetMainCallback2(CB2_QuitRecordedBattle); return -1; } diff --git a/src/region_map.c b/src/region_map.c index 192fa37f2..5176d4996 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -1603,7 +1603,7 @@ void MCB2_FlyMap(void) gMain.state++; break; case 3: - LoadSav2WindowGfx(0, 0x65, 0xd0); + LoadUserWindowBorderGfx(0, 0x65, 0xd0); clear_scheduled_bg_copies_to_vram(); gMain.state++; break; @@ -1849,7 +1849,7 @@ static void sub_8124D14(void) switch (gUnknown_0203A148->unk_004) { case 0: - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); gUnknown_0203A148->unk_004++; break; case 1: @@ -1896,7 +1896,7 @@ static void sub_8124E0C(void) switch (gUnknown_0203A148->unk_004) { case 0: - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gUnknown_0203A148->unk_004++; break; case 1: diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c index 9bd462b60..416a8da9d 100644 --- a/src/reset_rtc_screen.c +++ b/src/reset_rtc_screen.c @@ -552,7 +552,7 @@ static void Task_ResetRtcScreen(u8 taskId) switch (data[0]) { case 0: - BeginNormalPaletteFade(-1, 1, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, 0xFFFF); data[0] = 1; break; case 1: @@ -621,7 +621,7 @@ static void Task_ResetRtcScreen(u8 taskId) case 5: if (gMain.newKeys & A_BUTTON) { - BeginNormalPaletteFade(-1, 1, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 1, 0, 0x10, 0xFFFF); data[0] = 6; } else diff --git a/src/rom6.c b/src/rom6.c index 78cbbe2de..cc146fc94 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -15,6 +15,7 @@ #include "sound.h" #include "sprite.h" #include "task.h" +#include "constants/map_types.h" // static functions static void task08_080C9820(u8 taskId); diff --git a/src/scrcmd.c b/src/scrcmd.c index a09e911f0..57ae9cffa 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1517,7 +1517,7 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) winTemplate = sub_8198A50(0, xWindow, yWindow + 1, width, height, 0xF, 0x1); gUnknown_03000F30 = AddWindow(&winTemplate); - LoadSav2WindowGfx(gUnknown_03000F30, 0x214, 0xE0); + LoadUserWindowBorderGfx(gUnknown_03000F30, 0x214, 0xE0); NewMenuHelpers_DrawStdWindowFrame(gUnknown_03000F30, 0); PutWindowTilemap(gUnknown_03000F30); FillWindowPixelBuffer(gUnknown_03000F30, 0x11); diff --git a/src/secret_base.c b/src/secret_base.c index 93b82b3cb..c71f7ed23 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -1,6 +1,7 @@ // Includes #include "global.h" +#include "constants/bg_event_constants.h" #include "constants/decorations.h" #include "malloc.h" #include "main.h" @@ -38,6 +39,7 @@ #include "link.h" #include "tv.h" #include "secret_base.h" +#include "constants/map_types.h" extern void mapldr_default(void); @@ -335,7 +337,7 @@ void sub_80E8EE0(struct MapEvents const *events) for (bgEventIndex = 0; bgEventIndex < events->bgEventCount; bgEventIndex ++) { - if (events->bgEvents[bgEventIndex].kind == 8) + if (events->bgEvents[bgEventIndex].kind == BG_EVENT_SECRET_BASE) { for (j = 0; j < 20; j ++) { @@ -600,7 +602,7 @@ void sub_80E9608(struct Coords16 *coords, struct MapEvents *events) for (bgEventIdx = 0; bgEventIdx < events->bgEventCount; bgEventIdx ++) { - if (events->bgEvents[bgEventIdx].kind == 8 && coords->x == events->bgEvents[bgEventIdx].x + 7 && coords->y == events->bgEvents[bgEventIdx].y + 7) + if (events->bgEvents[bgEventIdx].kind == BG_EVENT_SECRET_BASE && coords->x == events->bgEvents[bgEventIdx].x + 7 && coords->y == events->bgEvents[bgEventIdx].y + 7) { sCurSecretBaseId = events->bgEvents[bgEventIdx].bgUnion.secretBaseId; break; @@ -780,7 +782,7 @@ void sub_80E9AD0(void) events = gMapHeader.events; for (i = 0; i < events->bgEventCount; i ++) { - if (events->bgEvents[i].kind == 8 && gSaveBlock1Ptr->secretBases[0].secretBaseId == events->bgEvents[i].bgUnion.secretBaseId) + if (events->bgEvents[i].kind == BG_EVENT_SECRET_BASE && gSaveBlock1Ptr->secretBases[0].secretBaseId == events->bgEvents[i].bgUnion.secretBaseId) { tile = MapGridGetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7); for (j = 0; j < 7; j ++) @@ -940,7 +942,7 @@ void sub_80E9E44(u8 taskId) s16 *data; data = gTasks[taskId].data; - data[8] = AddScrollIndicatorArrowPairParametrized(0x02, 0xbc, 0x0c, 0x94, data[0] - data[3], 0x13f8, 0x13f8, &data[2]); + data[8] = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0xbc, 0x0c, 0x94, data[0] - data[3], 0x13f8, 0x13f8, &data[2]); } void sub_80E9E90(u8 taskId) diff --git a/src/start_menu.c b/src/start_menu.c index e9f0cb1b4..7591d3b57 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -1208,7 +1208,7 @@ static bool32 sub_80A03E4(u8 *par1) ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sUnknown_085105A8, ARRAY_COUNT(sUnknown_085105A8)); InitWindows(sUnknown_085105AC); - LoadSav2WindowGfx_(0, 8, 224); + LoadUserWindowBorderGfx_(0, 8, 224); sub_81978B0(240); break; case 3: @@ -1261,7 +1261,7 @@ static void sub_80A0550(u8 taskId) sub_8098858(0, 8, 14); PutWindowTilemap(0); CopyWindowToVram(0, 3); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); if (gWirelessCommType != 0 && InUnionRoom()) { @@ -1294,7 +1294,7 @@ static void sub_80A0550(u8 taskId) } break; case 3: - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); *step = 4; break; case 4: diff --git a/src/starter_choose.c b/src/starter_choose.c index b2160a5a6..b55b0fbc5 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -9,6 +9,7 @@ #include "main.h" #include "window.h" #include "text.h" +#include "text_window.h" #include "decompress.h" #include "menu.h" #include "sound.h" @@ -18,6 +19,7 @@ #include "data2.h" #include "international_string_util.h" #include "trig.h" +#include "scanline_effect.h" #define STARTER_MON_COUNT 3 @@ -46,13 +48,10 @@ extern const u8 gStarterChoose_LabelCoords[][2]; extern const u8 gUnknown_085B1E0C[]; extern const u8 gUnknown_085B1E28[][2]; -extern void LoadSav2WindowGfx(u8, u16, u8); -extern void ScanlineEffect_Stop(void); extern void clear_scheduled_bg_copies_to_vram(void); extern void dp13_810BB8C(void); extern void do_scheduled_bg_tilemap_copies_to_vram(void); extern u16 sub_818D820(u16); -extern const u16 *GetOverworldTextboxPalettePtr(void); extern u8 sub_818D3E4(u16 species, u32 trainerId, u32 personality, u8 flags, s16 x, s16 y, u8, u16); // this file's functions @@ -126,7 +125,7 @@ void CB2_ChooseStarter(void) InitWindows(gUnknown_085B1DCC); DeactivateAllTextPrinters(); - LoadSav2WindowGfx(0, 0x2A8, 0xD0); + LoadUserWindowBorderGfx(0, 0x2A8, 0xD0); clear_scheduled_bg_copies_to_vram(); ScanlineEffect_Stop(); ResetTasks(); @@ -140,7 +139,7 @@ void CB2_ChooseStarter(void) LoadCompressedObjectPic(&gUnknown_085B1ED8[0]); LoadCompressedObjectPic(&gUnknown_085B1EE8[0]); LoadSpritePalettes(gUnknown_085B1EF8); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); EnableInterrupts(DISPSTAT_VBLANK); SetVBlankCallback(VblankCB_StarterChoose); diff --git a/src/text.c b/src/text.c index f7c68f549..0fc00c9b9 100644 --- a/src/text.c +++ b/src/text.c @@ -3157,7 +3157,7 @@ u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing) width = lineWidths[strPos]; } - return (u8)(GetFontAttribute(fontId, 0) + letterSpacing) * width; + return (u8)(GetFontAttribute(fontId, FONTATTR_MAX_LETTER_WIDTH) + letterSpacing) * width; } u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32) @@ -3193,7 +3193,7 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing) return 0; if (letterSpacing == -1) - localLetterSpacing = GetFontAttribute(fontId, 2); + localLetterSpacing = GetFontAttribute(fontId, FONTATTR_LETTER_SPACING); else localLetterSpacing = letterSpacing; @@ -3269,7 +3269,7 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing) if (func == NULL) return 0; if (letterSpacing == -1) - localLetterSpacing = GetFontAttribute(*str, 2); + localLetterSpacing = GetFontAttribute(*str, FONTATTR_LETTER_SPACING); break; case 0x11: glyphWidth = *++str; @@ -3497,28 +3497,28 @@ u8 GetFontAttribute(u8 fontId, u8 attributeId) int result = 0; switch (attributeId) { - case 0: + case FONTATTR_MAX_LETTER_WIDTH: result = gFontInfos[fontId].maxLetterWidth; break; - case 1: + case FONTATTR_MAX_LETTER_HEIGHT: result = gFontInfos[fontId].maxLetterHeight; break; - case 2: + case FONTATTR_LETTER_SPACING: result = gFontInfos[fontId].letterSpacing; break; - case 3: + case FONTATTR_LINE_SPACING: result = gFontInfos[fontId].lineSpacing; break; - case 4: + case FONTATTR_COLOR_LOWNIBBLE: result = gFontInfos[fontId].fontColor_l; break; - case 5: + case FONTATTR_COLOR_FOREGROUND: result = gFontInfos[fontId].fgColor; break; - case 6: + case FONTATTR_COLOR_BACKGROUND: result = gFontInfos[fontId].bgColor; break; - case 7: + case FONTATTR_COLOR_SHADOW: result = gFontInfos[fontId].shadowColor; break; } diff --git a/src/text_window.c b/src/text_window.c index 35afc2004..e7e8f0ca6 100644 --- a/src/text_window.c +++ b/src/text_window.c @@ -97,9 +97,9 @@ void LoadMessageBoxGfx(u8 windowId, u16 destOffset, u8 palOffset) LoadPalette(GetOverworldTextboxPalettePtr(), palOffset, 0x20); } -void LoadSav2WindowGfx_(u8 windowId, u16 destOffset, u8 palOffset) +void LoadUserWindowBorderGfx_(u8 windowId, u16 destOffset, u8 palOffset) { - LoadSav2WindowGfx(windowId, destOffset, palOffset); + LoadUserWindowBorderGfx(windowId, destOffset, palOffset); } void LoadWindowGfx(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset) @@ -108,7 +108,7 @@ void LoadWindowGfx(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset) LoadPalette(sWindowFrames[frameId].pal, palOffset, 0x20); } -void LoadSav2WindowGfx(u8 windowId, u16 destOffset, u8 palOffset) +void LoadUserWindowBorderGfx(u8 windowId, u16 destOffset, u8 palOffset) { LoadWindowGfx(windowId, gSaveBlock2Ptr->optionsWindowFrameType, destOffset, palOffset); } diff --git a/src/title_screen.c b/src/title_screen.c index 15a0482dc..8a2c01192 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -546,7 +546,7 @@ void CB2_InitTitleScreen(void) break; } case 3: - BeginNormalPaletteFade(-1, 1, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, 0xFFFF); SetVBlankCallback(VBlankCB); gMain.state = 4; break; @@ -696,7 +696,7 @@ static void Task_TitleScreenPhase3(u8 taskId) if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & START_BUTTON)) { FadeOutBGM(4); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0xFFFF); SetMainCallback2(CB2_GoToMainMenu); } else if ((gMain.heldKeys & CLEAR_SAVE_BUTTON_COMBO) == CLEAR_SAVE_BUTTON_COMBO) @@ -707,13 +707,13 @@ static void Task_TitleScreenPhase3(u8 taskId) && CanResetRTC() == TRUE) { FadeOutBGM(4); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); SetMainCallback2(CB2_GoToResetRtcScreen); } else if ((gMain.heldKeys & BERRY_UPDATE_BUTTON_COMBO) == BERRY_UPDATE_BUTTON_COMBO) { FadeOutBGM(4); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); SetMainCallback2(CB2_GoToBerryFixScreen); } else @@ -730,7 +730,7 @@ static void Task_TitleScreenPhase3(u8 taskId) UpdateLegendaryMarkingColor(gTasks[taskId].tCounter); if ((gMPlayInfo_BGM.status & 0xFFFF) == 0) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0xFFFF); SetMainCallback2(CB2_GoToCopyrightScreen); } } diff --git a/src/unk_transition.c b/src/unk_transition.c index feaddc8ce..20692bb7c 100644 --- a/src/unk_transition.c +++ b/src/unk_transition.c @@ -356,7 +356,7 @@ static bool8 sub_81DAB4C(struct Task *task) { if (task->data[3] == 31) { - BeginNormalPaletteFade(-1, -1, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, 0); task->tState++; } else diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index 1fb4c411f..72c33100f 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -164,7 +164,7 @@ void sub_8166380(void) InitBgsFromTemplates(0, gUnknown_085DFCCC, ARRAY_COUNT(gUnknown_085DFCCC)); InitWindows(gUnknown_085DFCDC); DeactivateAllTextPrinters(); - LoadSav2WindowGfx(0, 0x97, 0xE0); + LoadUserWindowBorderGfx(0, 0x97, 0xE0); gUnknown_0203BC90->field_50++; break; case 4: diff --git a/src/wallclock.c b/src/wallclock.c index 80383c26d..9b96d416c 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -576,7 +576,7 @@ static void LoadWallClockGraphics(void) InitBgsFromTemplates(0, gUnknown_085B21FC, 3); InitWindows(gUnknown_085B21DC); DeactivateAllTextPrinters(); - LoadSav2WindowGfx(0, 0x250, 0xd0); + LoadUserWindowBorderGfx(0, 0x250, 0xd0); clear_scheduled_bg_copies_to_vram(); ScanlineEffect_Stop(); ResetTasks(); @@ -589,7 +589,7 @@ static void LoadWallClockGraphics(void) static void WallClockInit(void) { - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); EnableInterrupts(INTR_FLAG_VBLANK); SetVBlankCallback(WallClockVblankCallback); SetMainCallback2(WallClockMainCallback); @@ -782,7 +782,7 @@ static void Task_SetClock4(u8 taskId) static void Task_SetClock5(u8 taskId) { RtcInitLocalTimeOffset(gTasks[taskId].tHours, gTasks[taskId].tMinutes); - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gTasks[taskId].func = Task_SetClock6; } @@ -814,7 +814,7 @@ static void Task_ViewClock2(u8 taskId) static void Task_ViewClock3(u8 taskId) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gTasks[taskId].func = Task_ViewClock4; } |