diff --git a/include/screen.h b/include/screen.h index b6fc8b39..c89b63c0 100644 --- a/include/screen.h +++ b/include/screen.h @@ -8,7 +8,6 @@ typedef struct { u16 unk2; u16 unk4; u16 unk6; - u16 lcdControl1; } LcdControls; typedef struct { @@ -65,10 +64,10 @@ typedef struct { typedef struct { /*0x00*/ LcdControls lcd; - /*0x0C*/ BgSettings bg1; - /*0x18*/ BgSettings bg2; - /*0x24*/ BgAffSettings affine; - /*0x3C*/ BgControls controls; + /*0x08*/ BgSettings bg1; + /*0x14*/ BgSettings bg2; + /*0x20*/ BgAffSettings affine; + /*0x38*/ BgControls controls; } Screen; extern BgControls gBgControls; diff --git a/src/introSetTransition.c b/src/introSetTransition.c index 04cbf991..b0c2f62c 100644 --- a/src/introSetTransition.c +++ b/src/introSetTransition.c @@ -108,7 +108,7 @@ static void HandleNintendoCapcomLogos(void) } LoadPaletteGroup(paletteGroup); gScreen.lcd.lcdControl2 |= 0x400; - gScreen.bg2.bg0xOffset = 1; + gScreen.bg2.bg0Updated = 1; DoFade(6, 8); advance = ADVANCE_NONE; } else { @@ -152,20 +152,20 @@ static void HandleTitlescreen(void) } LoadPaletteGroup(paletteGroup); if (((struct_02000000*)0x2000000)->gameLanguage == 0) { - gScreen.controls.windowOutsideControl = 0x844; - gScreen.controls.mosaicSize = 0x909; - gScreen.bg1.unk = 0x1c09; - gScreen.bg2.unk = 0x1d02; - gScreen.affine.unk2 = 0x1e03; + gScreen.controls.layerFXControl = 0x844; + gScreen.controls.alphaBlend = BLDALPHA_BLEND(9, 9); + gScreen.bg2.bg0Control = 0x1c09; + gScreen.affine.bg2Control = 0x1d02; + gScreen.affine.bg3Control = 0x1e03; gScreen.lcd.lcdControl2 |= 0x1e00; - gScreen.bg2.bg0Control = 0xff60; + gScreen.bg2.bg0yOffset = 0xff60; } else { - gScreen.controls.windowOutsideControl = 0x241; - gScreen.controls.mosaicSize = 0x909; - gScreen.lcd.lcdControl1 = 0x1d02; - gScreen.bg1.unk = 0x1E03; - gScreen.bg2.unk = 0x7C89; + gScreen.controls.layerFXControl = 0x241; + gScreen.controls.alphaBlend = BLDALPHA_BLEND(9, 9); + gScreen.bg1.bg0Control = 0x1d02; + gScreen.bg2.bg0Control = 0x1E03; + gScreen.affine.bg2Control = 0x7C89; gScreen.lcd.lcdControl2 |= 1; gScreen.lcd.lcdControl2 |= 0x1300; gIntroState.swordBgScaleRatio = 0x10; @@ -251,13 +251,13 @@ static void HandleJapaneseTitlescreenAnimationIntro(void) case 0: if (!gFadeControl.active) { if ((gIntroState.counter & 1) == 0) { - gScreen.bg2.bg0Control++; + gScreen.bg2.bg0yOffset++; } - if (GetAdvanceState() == ADVANCE_KEY_PRESSED || gScreen.bg2.bg0Control == 0) { + if (GetAdvanceState() == ADVANCE_KEY_PRESSED || gScreen.bg2.bg0yOffset == 0) { gIntroState.subState++; - gScreen.bg2.bg0Control = 0; - gScreen.bg1.unk = 0xc09; + gScreen.bg2.bg0yOffset = 0; + gScreen.bg2.bg0Control = 0xc09; gFadeControl.field_0x4 = 0x40; DoFade(6, 0x10); PlaySFX(0xf8); @@ -362,6 +362,6 @@ static void UpdateLightRays(void) { // Periodiccally update the transparency of the light rays. if ((gIntroState.counter & 0x1F) == 0) { gIntroState.lightRaysAlphaBlendIndex = (gIntroState.lightRaysAlphaBlendIndex + 1) & 0x7; - gScreen.controls.mosaicSize = sLightRaysAlphaBlends[gIntroState.lightRaysAlphaBlendIndex]; + gScreen.controls.alphaBlend = sLightRaysAlphaBlends[gIntroState.lightRaysAlphaBlendIndex]; } } diff --git a/src/manager/manager1.c b/src/manager/manager1.c index b506940e..c08a327c 100644 --- a/src/manager/manager1.c +++ b/src/manager/manager1.c @@ -35,7 +35,7 @@ void sub_080570B8(Entity *this) this->height.WORD = 0; pbVar1 = ((u8 *)&this->field_0x20 + 1); if (*pbVar1 == 3) { - gScreen.affine.bg3xOffset = 1; + gScreen.affine.unk4 = 1; } else { gUnk_08107C48[*pbVar1](this); @@ -45,7 +45,7 @@ void sub_080570B8(Entity *this) void sub_080570F8(void) { gScreen.lcd.lcdControl2 &= 0xf7ff; - gScreen.controls.windowOutsideControl = 0; + gScreen.controls.layerFXControl = 0; sub_08056250(); } @@ -56,9 +56,9 @@ void sub_08057118(Entity *this) ((u8 *)&this->field_0x20)[1] = 0; ((u8 *)&this->field_0x20)[2] = 0; this->action = 1; - gScreen.affine.unk2 = 0x1e04; - *(u16 *)&gScreen.lcd.lcdControl2 |= 0x800; - gScreen.controls.windowOutsideControl = 0x3648; - gScreen.controls.mosaicSize = 0x1000; + gScreen.affine.bg3Control = 0x1e04; + gScreen.lcd.lcdControl2 |= 0x800; + gScreen.controls.layerFXControl = 0x3648; + gScreen.controls.alphaBlend = 0x1000; sub_08052D74(this, sub_080570B8, sub_080570F8); } \ No newline at end of file diff --git a/src/manager/manager2.c b/src/manager/manager2.c index 707c13d1..094bc223 100644 --- a/src/manager/manager2.c +++ b/src/manager/manager2.c @@ -10,8 +10,8 @@ void Manager2(Entity *this) { if (this->action == 0) { this->action = 1; - gScreen.affine.bg3xOffset = 0; - gScreen.bg2.bg0xOffset = 0; + gScreen.affine.unk4 = 0; + gScreen.bg2.bg0Updated = 0; sub_08052D74(this, sub_080576A0, 0); } sub_0805754C(this); diff --git a/src/object/greatFairy.c b/src/object/greatFairy.c index bfdf0807..69893d1a 100644 --- a/src/object/greatFairy.c +++ b/src/object/greatFairy.c @@ -152,8 +152,8 @@ void GreatFairy_WingsInit(Entity* this) { this->spritePriority.b0 = 5; this->spriteSettings.b.draw = 1; this->spriteRendering.alphaBlend = 1; - gScreen.controls.windowOutsideControl = 3904; - gScreen.controls.mosaicSize = 2057; + gScreen.controls.layerFXControl = 0xF40; + gScreen.controls.alphaBlend = BLDALPHA_BLEND(9, 8); this->nonPlanarMovement = 1024; sub_0805EC9C(this, 1024, 256, 0); } diff --git a/src/sub_08050024.c b/src/sub_08050024.c index 2911de17..f1ff6724 100644 --- a/src/sub_08050024.c +++ b/src/sub_08050024.c @@ -46,9 +46,9 @@ void DoFade(u32 fadeType, u32 fadeSpeed) } if ((fadeType & 8) != 0) { gUnk_03000000.spritesOffset = 1; - gScreen.bg1.unk |= 0x40; - gScreen.bg2.unk |= 0x40; - gScreen.affine.unk2 |= 0x40; + gScreen.bg2.bg0Control |= 0x40; + gScreen.affine.bg2Control |= 0x40; + gScreen.affine.bg3Control |= 0x40; } if ((fadeType & 0x10) != 0) { sub_0801E1B8(gFadeControl.field_0x16, gFadeControl.field_0x18); diff --git a/src/sub_080A3B84.c b/src/sub_080A3B84.c index b0ac394b..024ba30a 100644 --- a/src/sub_080A3B84.c +++ b/src/sub_080A3B84.c @@ -46,12 +46,12 @@ void sub_080A3BD0(void) LoadGfxGroup(iVar1 + 0x76); gScreen.lcd.lcdControl2 |= 0x1e00; - gScreen.bg1.unk = 0x1c01; - gScreen.bg2.unk = 0x1d02; - gScreen.affine.unk2 = 0x1e0b; - gScreen.bg2.bg0xOffset = 1; - gScreen.affine.bg2xOffset = 1; - gScreen.affine.bg3xOffset = 1; + gScreen.bg2.bg0Control = 0x1c01; + gScreen.affine.bg2Control = 0x1d02; + gScreen.affine.bg3Control = 0x1e0b; + gScreen.bg2.bg0Updated = 1; + gScreen.affine.unk = 1; + gScreen.affine.unk4 = 1; sub_080A4528(); sub_080A4398(); sub_0801E738(0);