move entity update functions

This commit is contained in:
theo3
2021-11-11 21:18:48 -08:00
parent 313cc336f2
commit fddb4abd53
37 changed files with 430 additions and 415 deletions
+2 -2
View File
@@ -32,7 +32,7 @@ void sub_080570B8(Entity* this) {
this->height.WORD = 0;
pbVar1 = ((u8*)&this->hVelocity + 1);
if (*pbVar1 == 3) {
gScreen.affine.bg3Updated = 1;
gScreen.bg3.updated = 1;
} else {
gUnk_08107C48[*pbVar1](this);
}
@@ -50,7 +50,7 @@ void sub_08057118(Entity* this) {
((u8*)&this->hVelocity)[1] = 0;
((u8*)&this->hVelocity)[2] = 0;
this->action = 1;
gScreen.affine.bg3Control = 0x1e04;
gScreen.bg3.control = 0x1e04;
gScreen.lcd.displayControl |= 0x800;
gScreen.controls.layerFXControl = 0x3648;
gScreen.controls.alphaBlend = 0x1000;
+3 -3
View File
@@ -97,8 +97,8 @@ void sub_08059690(Manager10* this) {
void sub_080596E0(Manager10* this) {
if ((gScreenTransition.frameCount & 7) == 0) {
gScreen.bg.bg1xOffset += 8;
gScreen.bg.bg1xOffset &= 0x1F;
gScreen.bg1.xOffset += 8;
gScreen.bg1.xOffset &= 0x1F;
}
if (sub_0805986C()) {
if (this->unk_21 == 0 && this->unk_22 != 2) {
@@ -142,7 +142,7 @@ void sub_080596E0(Manager10* this) {
LoadResourceAsync(gBG3Buffer, 0x600e800, 0x800);
break;
case 5:
gUnk_0200B650 = &gScreen.bg.bg1Control;
gUnk_0200B650 = &gScreen.bg1.control;
gScreen.lcd.displayControl |= 0x200;
break;
}
+14 -14
View File
@@ -397,9 +397,9 @@ void sub_0805A8EC(Manager15* this) {
void sub_0805A94C(Manager15* this) {
int tmp1, tmp2;
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX - this->unk_24 + this->unk_34;
gScreen.affine.bg3yOffset = gRoomControls.roomScrollY - this->unk_26 + this->unk_36;
tmp1 = -gScreen.affine.bg3xOffset;
gScreen.bg3.xOffset = gRoomControls.roomScrollX - this->unk_24 + this->unk_34;
gScreen.bg3.yOffset = gRoomControls.roomScrollY - this->unk_26 + this->unk_36;
tmp1 = -gScreen.bg3.xOffset;
tmp2 = tmp1 + 0x100;
if (tmp1 < 0)
tmp1 = 0;
@@ -410,7 +410,7 @@ void sub_0805A94C(Manager15* this) {
if (tmp2 > 0xF0)
tmp2 = 0xF0;
gScreen.controls.window1HorizontalDimensions = (tmp1 << 8 | tmp2);
tmp1 = -gScreen.affine.bg3yOffset;
tmp1 = -gScreen.bg3.yOffset;
tmp2 = tmp1 + 0x100;
if (tmp1 < 0)
tmp1 = 0;
@@ -426,8 +426,8 @@ void sub_0805A94C(Manager15* this) {
void sub_0805A9CC(Manager15* this) {
int tmp1, tmp2;
void* tmp3;
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX - this->unk_24 + this->unk_34;
tmp1 = -gScreen.affine.bg3xOffset;
gScreen.bg3.xOffset = gRoomControls.roomScrollX - this->unk_24 + this->unk_34;
tmp1 = -gScreen.bg3.xOffset;
tmp2 = tmp1 + 0x100;
if (tmp1 < 0)
tmp1 = 0;
@@ -439,14 +439,14 @@ void sub_0805A9CC(Manager15* this) {
tmp2 = 0xF0;
gScreen.controls.window1HorizontalDimensions = tmp1 << 8 | tmp2;
tmp1 = gRoomControls.roomScrollY - this->unk_26 + this->unk_36;
gScreen.affine.bg3yOffset = tmp1 & 0x3F;
gScreen.bg3.yOffset = tmp1 & 0x3F;
tmp3 = (&gBG3Buffer[((tmp1 / 0x40) << 8)]);
gScreen.affine.bg3Tilemap = (u32*)tmp3;
gScreen.bg3.tilemap = (u32*)tmp3;
gScreen.controls.window1VerticalDimensions = 0xa0;
if (this->unk_28 == tmp3)
return;
this->unk_28 = tmp3;
gScreen.affine.bg3Updated = 1;
gScreen.bg3.updated = 1;
}
extern struct { u8 unk_00[0x20]; } gUnk_085A97A0[];
@@ -483,11 +483,11 @@ void sub_0805AAF0(u32 unk0) {
sub_0805AADC(unk0);
gScreen.controls.layerFXControl = 0x3E48;
gScreen.controls.alphaBlend = 0x1008;
gScreen.affine.bg3Control = 0x1E04;
gScreen.affine.bg3Tilemap = &gBG3Buffer;
gScreen.affine.bg3xOffset = 0;
gScreen.affine.bg3yOffset = 0;
gScreen.affine.bg3Updated = 1;
gScreen.bg3.control = 0x1E04;
gScreen.bg3.tilemap = &gBG3Buffer;
gScreen.bg3.xOffset = 0;
gScreen.bg3.yOffset = 0;
gScreen.bg3.updated = 1;
gScreen.controls.windowInsideControl = 0x3F3F;
gScreen.controls.windowOutsideControl = 0x37;
gScreen.controls.window1HorizontalDimensions = 0xF0;
+5 -5
View File
@@ -40,19 +40,19 @@ void Manager18_Main(Manager18* this) {
}
gRoomControls.bg3OffsetX.WORD -= 0x2000;
gRoomControls.bg3OffsetY.WORD -= 0x1000;
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
gScreen.affine.bg3yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
gScreen.bg3.xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
gScreen.bg3.yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
}
}
}
void sub_0805AEDC(Manager18* this) {
gScreen.affine.bg3Control = 0x1e05;
gScreen.bg3.control = 0x1e05;
gScreen.lcd.displayControl |= 0x800;
gScreen.controls.layerFXControl = 0x3648;
gScreen.controls.alphaBlend = (this != NULL) ? this->field_0x20 : 0x1000;
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
gScreen.affine.bg3yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
gScreen.bg3.xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
gScreen.bg3.yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
if (this != NULL) {
Manager18_Main(this);
}
+5 -5
View File
@@ -23,15 +23,15 @@ void Manager19_Main(Manager* this) {
}
} else {
gRoomControls.bg3OffsetX.WORD = gRoomControls.bg3OffsetX.WORD - 0x2000;
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
gScreen.affine.bg3yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
gScreen.bg3.xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
gScreen.bg3.yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
}
}
}
void sub_0805AFFC(Manager* this) {
gScreen.affine.bg3Control = 0x1e03;
gScreen.bg3.control = 0x1e03;
gScreen.lcd.displayControl |= 0x800;
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
gScreen.affine.bg3yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
gScreen.bg3.xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
gScreen.bg3.yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
}
+5 -5
View File
@@ -199,9 +199,9 @@ void sub_0805B2B0(Manager1A* this) {
}
gScreen.lcd.displayControl |= 0x800;
gRoomControls.bg3OffsetX.HALF.HI = gRoomControls.roomScrollX + this->unk_34 + tmp;
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX + this->unk_34 + tmp;
gScreen.bg3.xOffset = gRoomControls.roomScrollX + this->unk_34 + tmp;
gRoomControls.bg3OffsetY.HALF.HI = gRoomControls.roomScrollY + this->unk_36 + tmp2;
gScreen.affine.bg3yOffset = gRoomControls.roomScrollY + this->unk_36 + tmp2;
gScreen.bg3.yOffset = gRoomControls.roomScrollY + this->unk_36 + tmp2;
}
void sub_0805B328(Manager1A* this) {
@@ -210,10 +210,10 @@ void sub_0805B328(Manager1A* this) {
return;
tmp = &gUnk_08108764[this->manager.unk_0a];
LoadResourceAsync(&gGlobalGfxAndPalettes[tmp->unk_0c->unk_00], 0x0600F000, 0x800);
gScreen.affine.bg3Control = 0x1E07;
gScreen.bg3.control = 0x1E07;
gScreen.lcd.displayControl |= 0x800;
gScreen.affine.bg3xOffset = gRoomControls.bg3OffsetX.HALF.HI;
gScreen.affine.bg3yOffset = gRoomControls.bg3OffsetY.HALF.HI;
gScreen.bg3.xOffset = gRoomControls.bg3OffsetX.HALF.HI;
gScreen.bg3.yOffset = gRoomControls.bg3OffsetY.HALF.HI;
gScreen.controls.layerFXControl &= ~0x8;
}
+7 -7
View File
@@ -46,14 +46,14 @@ void Manager1B_Main(Manager1B* this) {
}
void sub_0805B448(Manager1B* this) {
gScreen.affine.bg3xOffset = (gRoomControls.roomScrollX - gRoomControls.roomOriginX) >> 2;
gScreen.affine.bg3yOffset = ((gRoomControls.roomScrollY - gRoomControls.roomOriginY) >> 1) + this->field_0x20;
gScreen.bg3.xOffset = (gRoomControls.roomScrollX - gRoomControls.roomOriginX) >> 2;
gScreen.bg3.yOffset = ((gRoomControls.roomScrollY - gRoomControls.roomOriginY) >> 1) + this->field_0x20;
}
void sub_0805B474(Manager1B* this) {
s32 tmp = ((gRoomControls.roomScrollY - gRoomControls.roomOriginY) * 0x60) / (gRoomControls.height - 0xa0);
gScreen.affine.bg3yOffset = gRoomControls.roomOriginY + tmp;
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX - ((gRoomControls.width - 0x100) / 2);
gScreen.bg3.yOffset = gRoomControls.roomOriginY + tmp;
gScreen.bg3.xOffset = gRoomControls.roomScrollX - ((gRoomControls.width - 0x100) / 2);
}
void sub_0805B4B4(Manager1B* this) {
@@ -69,14 +69,14 @@ void sub_0805B4D0(u32 param_1) {
u32 uVar2;
LoadGfxGroup(gUnk_08108C5C[param_1]);
gScreen.affine.bg3Control = 0x1e07;
gScreen.bg3.control = 0x1e07;
gScreen.lcd.displayControl |= 0x800;
gScreen.affine.bg3xOffset = (gRoomControls.roomScrollX - gRoomControls.roomOriginX) >> 2;
gScreen.bg3.xOffset = (gRoomControls.roomScrollX - gRoomControls.roomOriginX) >> 2;
uVar2 = (gRoomControls.roomScrollY - gRoomControls.roomOriginY) >> 1;
iVar1 = 0x100 - gRoomControls.height;
if (iVar1 < 0) {
iVar1 = 0;
}
gScreen.affine.bg3yOffset = uVar2 + iVar1 + gUnk_08108C44[param_1];
gScreen.bg3.yOffset = uVar2 + iVar1 + gUnk_08108C44[param_1];
}
+7 -7
View File
@@ -14,19 +14,19 @@ void sub_0805B5E0(Manager* this) {
this->action = 1;
gScreen.lcd.displayControl |= 0x800;
gScreen.affine.bg3Control = gUnk_08108C88[this->unk_0a];
gScreen.bg3.control = gUnk_08108C88[this->unk_0a];
gRoomControls.bg3OffsetY.WORD = 0;
gRoomControls.bg3OffsetX.WORD = 0;
switch (this->unk_0a) {
case 0:
default:
gScreen.affine.bg3yOffset = 0;
gScreen.affine.bg3xOffset = 0;
gScreen.bg3.yOffset = 0;
gScreen.bg3.xOffset = 0;
break;
case 1:
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
gScreen.affine.bg3yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
gScreen.bg3.xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
gScreen.bg3.yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
break;
}
}
@@ -34,7 +34,7 @@ void sub_0805B5E0(Manager* this) {
void sub_0805B638(Manager* this) {
if (this->unk_0a == 1) {
gRoomControls.bg3OffsetX.WORD = gRoomControls.bg3OffsetX.WORD + 0x2000;
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
gScreen.affine.bg3yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
gScreen.bg3.xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
gScreen.bg3.yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
}
}
+24 -24
View File
@@ -21,8 +21,8 @@ extern u32 gUnk_0200B650;
void Manager2_Main(Manager2* this) {
if (this->manager.action == 0) {
this->manager.action = 1;
gScreen.affine.bg3Updated = 0;
gScreen.bg.bg1Updated = 0;
gScreen.bg3.updated = 0;
gScreen.bg1.updated = 0;
sub_08052D74(this, sub_080576A0, 0);
}
sub_0805754C(this);
@@ -33,19 +33,19 @@ void sub_0805754C(Manager2* this) {
bgOffset = (gRoomControls.roomScrollY - gRoomControls.roomOriginY);
bgOffset += bgOffset >> 3;
gScreen.affine.bg3yOffset = bgOffset & 0x3f;
gScreen.affine.bg3Tilemap = gMapDataTopSpecial + (bgOffset / 0x40) * 0x200;
if (this->field_0x38 != gScreen.affine.bg3Tilemap) {
this->field_0x38 = gScreen.affine.bg3Tilemap;
gScreen.affine.bg3Updated = 1;
gScreen.bg3.yOffset = bgOffset & 0x3f;
gScreen.bg3.tilemap = gMapDataTopSpecial + (bgOffset / 0x40) * 0x200;
if (this->field_0x38 != gScreen.bg3.tilemap) {
this->field_0x38 = gScreen.bg3.tilemap;
gScreen.bg3.updated = 1;
}
bgOffset = (gRoomControls.roomScrollY - gRoomControls.roomOriginY);
bgOffset += bgOffset >> 2;
gScreen.bg.bg1yOffset = bgOffset & 0x3f;
gScreen.bg.bg1Tilemap = gMapDataTopSpecial + 0x2000 + (bgOffset / 0x40) * 0x200;
if (this->field_0x3c != gScreen.bg.bg1Tilemap) {
this->field_0x3c = gScreen.bg.bg1Tilemap;
gScreen.bg.bg1Updated = 1;
gScreen.bg1.yOffset = bgOffset & 0x3f;
gScreen.bg1.tilemap = gMapDataTopSpecial + 0x2000 + (bgOffset / 0x40) * 0x200;
if (this->field_0x3c != gScreen.bg1.tilemap) {
this->field_0x3c = gScreen.bg1.tilemap;
gScreen.bg1.updated = 1;
}
}
@@ -59,27 +59,27 @@ void sub_080575C8(u32 param) {
bgOffset = (gRoomControls.roomScrollY - gRoomControls.roomOriginY);
bgOffset += bgOffset >> 3;
gScreen.affine.bg3yOffset = bgOffset & 0x3f;
gScreen.affine.bg3xOffset = 0;
gScreen.affine.bg3Tilemap = &gMapDataTopSpecial[(bgOffset / 0x40) * 0x200];
gScreen.affine.bg3Control = 0x1d49;
gScreen.affine.bg3Updated = 1;
gScreen.bg3.yOffset = bgOffset & 0x3f;
gScreen.bg3.xOffset = 0;
gScreen.bg3.tilemap = &gMapDataTopSpecial[(bgOffset / 0x40) * 0x200];
gScreen.bg3.control = 0x1d49;
gScreen.bg3.updated = 1;
bgOffset = (gRoomControls.roomScrollY - gRoomControls.roomOriginY);
bgOffset += bgOffset >> 2;
gScreen.bg.bg1yOffset = bgOffset & 0x3f;
gScreen.bg.bg1xOffset = 0;
gScreen.bg.bg1Tilemap = &gMapDataTopSpecial[0x2000 + (bgOffset / 0x40) * 0x200];
gScreen.bg.bg1Control = 0x1e49;
gScreen.bg.bg1Updated = 1;
gScreen.bg1.yOffset = bgOffset & 0x3f;
gScreen.bg1.xOffset = 0;
gScreen.bg1.tilemap = &gMapDataTopSpecial[0x2000 + (bgOffset / 0x40) * 0x200];
gScreen.bg1.control = 0x1e49;
gScreen.bg1.updated = 1;
gScreen.controls.layerFXControl = 0x3c48;
gScreen.controls.alphaBlend = 0x609;
gScreen.lcd.displayControl |= 0xa00;
}
void sub_08057688(void) {
gScreen.affine.bg3Control = 0x1d48;
gScreen.bg.bg1Control = 0x1e48;
gScreen.bg3.control = 0x1d48;
gScreen.bg1.control = 0x1e48;
}
void sub_080576A0(Manager2* this) {
+5 -5
View File
@@ -25,16 +25,16 @@ void Manager2F_Main(Manager* this) {
} else {
gRoomControls.bg3OffsetX.WORD -= 0x4000;
gRoomControls.bg3OffsetY.WORD -= 0x2000;
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
gScreen.affine.bg3yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
gScreen.bg3.xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
gScreen.bg3.yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
}
}
}
void sub_0805D470(Manager* this) {
LoadGfxGroup(0x4c);
gScreen.affine.bg3Control = 0x1e07;
gScreen.bg3.control = 0x1e07;
gScreen.lcd.displayControl |= 0x800;
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
gScreen.affine.bg3yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
gScreen.bg3.xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
gScreen.bg3.yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
}
+4 -4
View File
@@ -65,7 +65,7 @@ void sub_0805D7DC(Manager32* this) {
}
LoadGfxGroup(gUnk_08108D74[index]);
gScreen.affine.bg3Control = 0x1e04;
gScreen.bg3.control = 0x1e04;
}
void sub_0805D860(Manager32* this) {
@@ -152,8 +152,8 @@ void sub_0805D9D8(Manager32* this) {
// TODO find out the actual type of the parent of this manager.
Manager* pMVar1 = this->manager.parent;
if (pMVar1 != NULL) {
gScreen.affine.bg3xOffset = 0x80 - (*(s16*)&pMVar1[1].unk_0e - gRoomControls.roomScrollX);
gScreen.affine.bg3yOffset = 0x8c - (*(s16*)(pMVar1[1].unk_11 + 1) - gRoomControls.roomScrollY);
gScreen.bg3.xOffset = 0x80 - (*(s16*)&pMVar1[1].unk_0e - gRoomControls.roomScrollX);
gScreen.bg3.yOffset = 0x8c - (*(s16*)(pMVar1[1].unk_11 + 1) - gRoomControls.roomScrollY);
}
}
@@ -161,7 +161,7 @@ void sub_0805DA08(u32 x, u32 y, u32 param_3) {
u32 i;
struct BgAffineDstData* affineDstData = &gUnk_02017AA0[gUnk_03003DE4[0] * 0xa0];
for (i = 0; i < 0xa0; ++i, y += 0x17) {
affineDstData->pa = ((gSineTable[(param_3 + i + y) & 0xff] * x) >> 8) + gScreen.affine.bg3xOffset;
affineDstData->pa = ((gSineTable[(param_3 + i + y) & 0xff] * x) >> 8) + gScreen.bg3.xOffset;
affineDstData = (struct BgAffineDstData*)&affineDstData->pb;
}
sub_0805622C(&gUnk_02017AA0[gUnk_03003DE4[0] * 0xa0], 0x400001c, 0xa2600001);
+2 -2
View File
@@ -69,7 +69,7 @@ void sub_0805E18C(Manager39* this) {
void sub_0805E1D8(Manager39* this) {
MemClear(&gUnk_02034DF0, 0x80);
gScreen.bg.bg0Updated = 1;
gScreen.bg0.updated = 1;
DeleteThisEntity();
}
@@ -89,5 +89,5 @@ void sub_0805E1F8(u32 unk0, u32 unk1) {
if (!unk1)
tmp2 = gUnk_08108E30;
sub_0805F46C(&tmp, tmp2);
gScreen.bg.bg0Updated = 1;
gScreen.bg0.updated = 1;
}
+20 -20
View File
@@ -23,8 +23,8 @@ void Manager8_Main(Manager8* this) {
sub_08057F20(this);
if (!this->manager.action) {
this->manager.action = 1;
gScreen.bg.bg1Updated = 0;
gScreen.affine.bg3Updated = 0;
gScreen.bg1.updated = 0;
gScreen.bg3.updated = 0;
sub_08052D74(this, sub_08057EFC, 0);
}
}
@@ -45,25 +45,25 @@ void sub_08057F20(Manager8* this) {
u32 tmp;
tmp = gRoomControls.roomScrollX - gRoomControls.roomOriginX;
tmp = tmp + (tmp >> 3) + ((0x400 - gRoomControls.width) / 2);
gScreen.affine.bg3xOffset = tmp & 0xF;
gScreen.affine.bg3yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 2);
gScreen.affine.bg3Tilemap = gBG3Buffer;
gScreen.bg3.xOffset = tmp & 0xF;
gScreen.bg3.yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 2);
gScreen.bg3.tilemap = gBG3Buffer;
sub_08058004(tmp, gUnk_02006F00, gBG3Buffer);
tmp = ((tmp >> 4) << 1);
if (this->unk_38 != tmp) {
this->unk_38 = tmp;
gScreen.affine.bg3Updated = 1;
gScreen.bg3.updated = 1;
}
tmp = (gRoomControls.roomScrollX - gRoomControls.roomOriginX);
tmp = tmp + (tmp >> 2) + ((0x400 - gRoomControls.width) / 2);
gScreen.bg.bg1xOffset = tmp & 0xF;
gScreen.bg.bg1yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 1);
gScreen.bg.bg1Tilemap = gBG3Buffer + 0x400;
gScreen.bg1.xOffset = tmp & 0xF;
gScreen.bg1.yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 1);
gScreen.bg1.tilemap = gBG3Buffer + 0x400;
sub_08058004(tmp, gUnk_02006F00 + 0x2000, gBG3Buffer + 0x400);
tmp = ((tmp >> 4) << 1);
if (this->unk_3c != tmp) {
this->unk_3c = tmp;
gScreen.bg.bg1Updated = 1;
gScreen.bg1.updated = 1;
}
}
@@ -115,19 +115,19 @@ void sub_080580B0(u32 unk1) {
tmp = gRoomControls.roomScrollX - gRoomControls.roomOriginX; // r7
tmp = tmp + (tmp >> 3) + (0x400 - gRoomControls.width) / 2;
sub_08058004(tmp, gUnk_02006F00, gBG3Buffer);
gScreen.affine.bg3xOffset = tmp & 0xF;
gScreen.affine.bg3yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 1); //?
gScreen.affine.bg3Control = 0x1D09;
gScreen.affine.bg3Tilemap = gBG3Buffer;
gScreen.affine.bg3Updated = 1;
gScreen.bg3.xOffset = tmp & 0xF;
gScreen.bg3.yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 1); //?
gScreen.bg3.control = 0x1D09;
gScreen.bg3.tilemap = gBG3Buffer;
gScreen.bg3.updated = 1;
tmp = gRoomControls.roomScrollX - gRoomControls.roomOriginX; // r7
tmp = tmp + (tmp >> 2) + (0x400 - gRoomControls.width) / 2;
sub_08058004(tmp, gUnk_02006F00 + 0x2000, gBG3Buffer + 0x400);
gScreen.bg.bg1xOffset = tmp & 0xF;
gScreen.bg.bg1yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 1); //?
gScreen.bg.bg1Control = 0x1E09;
gScreen.bg.bg1Tilemap = gBG3Buffer + 0x400;
gScreen.bg.bg1Updated = 1;
gScreen.bg1.xOffset = tmp & 0xF;
gScreen.bg1.yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 1); //?
gScreen.bg1.control = 0x1E09;
gScreen.bg1.tilemap = gBG3Buffer + 0x400;
gScreen.bg1.updated = 1;
gScreen.controls.layerFXControl = 0x3C48;
gScreen.controls.alphaBlend = 0x609;
gScreen.lcd.displayControl |= 0xa00;
+7 -7
View File
@@ -24,7 +24,7 @@ void Manager9_Main(Manager9* this) {
sub_08058210(this);
if (!this->manager.action) {
this->manager.action = 1;
gScreen.bg.bg1Updated = 0;
gScreen.bg1.updated = 0;
sub_08052D74(this, sub_08058204, NULL);
}
}
@@ -39,7 +39,7 @@ void sub_08058210(Manager9* this) {
return;
this->unk_3c = tmp;
sub_080582A0(tmp, gUnk_02006F00, gBG3Buffer);
gScreen.bg.bg1Updated = 1;
gScreen.bg1.updated = 1;
}
u32 sub_08058244(int i) {
@@ -48,9 +48,9 @@ u32 sub_08058244(int i) {
u32 tmp3;
s32 tmp4;
tmp = ((gRoomControls.roomScrollY - gRoomControls.roomOriginY) * 0x20) / (gRoomControls.height - 0xa0);
gScreen.bg.bg1yOffset = gRoomControls.roomOriginY + tmp;
gScreen.bg1.yOffset = gRoomControls.roomOriginY + tmp;
tmp = (((gRoomControls.roomScrollX - gRoomControls.roomOriginX) * gUnk_081081EC[i]) / (gRoomControls.width - 0xf0));
gScreen.bg.bg1xOffset = tmp & 0xf;
gScreen.bg1.xOffset = tmp & 0xf;
return tmp;
}
@@ -90,8 +90,8 @@ void sub_08058324(u32 unk) {
LoadGfxGroup(unk + 0x36);
sub_080582D0();
sub_080582A0(sub_08058244(unk), gUnk_02006F00, gBG3Buffer);
gScreen.bg.bg1Control = 0x1D47;
gScreen.bg.bg1Tilemap = gBG3Buffer;
gScreen.bg.bg1Updated = 1;
gScreen.bg1.control = 0x1D47;
gScreen.bg1.tilemap = gBG3Buffer;
gScreen.bg1.updated = 1;
gScreen.lcd.displayControl |= 0x200;
}
+4 -4
View File
@@ -287,10 +287,10 @@ void sub_08058D34() {
tmp = gScreen.lcd.displayControl;
tmp2 = 0;
gScreen.lcd.displayControl |= 1;
gScreen.affine.bg2Control = 0xBC82;
gScreen.bg.bg1Control = 0x5E86;
gScreen.bg.bg1xOffset = 0;
gScreen.bg.bg1yOffset = tmp2;
gScreen.bg2.control = 0xBC82;
gScreen.bg1.control = 0x5E86;
gScreen.bg1.xOffset = 0;
gScreen.bg1.yOffset = tmp2;
gScreen.controls.layerFXControl = 0x3456;
gScreen.controls.alphaBlend = 0x909;
gArea.musicIndex = gArea.pMusicIndex;