More SA2 alignment

This commit is contained in:
JaceCear committed 2025-12-05 19:04:35 +01:00
1 parent b1cf1ac0a2
commit 640c7fb7d3
3 files changed
+21 -13

No files matched your search

+2 -2
View File
@@ -278,13 +278,13 @@ extern Background *gBackgroundsCopyQueue[16];
// This is used to buffer the xy-shift for each background scanline
extern void *gBgOffsetsHBlankPrimary;
extern u16 sa2__gUnknown_030017F0;
extern u16 SA2_LABEL(gUnknown_030017F0);
extern Vec2_16 gSpriteOffset;
extern u8 gOamMallocOrders_StartIndex[32];
extern IntrFunc gVBlankCallbacks[4];
extern u8 gOamFreeIndex;
extern u16 sa2__gUnknown_03001944;
extern u16 SA2_LABEL(gUnknown_03001944);
extern u8 gNumVBlankIntrs;
extern s16 sa2__gUnknown_0300194C;
+11 -3
View File
@@ -187,10 +187,12 @@ IntrFunc const gIntrTableTemplate[] = {
// Result of these:
// FALSE: Not currently in vblank
// TRUE: Currently in VBlank /
VBlankFunc const sVblankFuncs[] = {
static VBlankProcessFunc const sVblankFuncs[] = {
ProcessVramGraphicsCopyQueue,
SA2_LABEL(sub_8004010),
#ifndef COLLECT_RINGS_ROM
SA2_LABEL(sub_80039E4),
#endif
SA2_LABEL(sub_8002B20),
};
@@ -203,10 +205,12 @@ void EngineInit(void)
gFlags = 0;
gFlagsPreVBlank = 0;
#ifndef COLLECT_RINGS_ROM
if ((REG_RCNT & 0xC000) != 0x8000) {
gFlags = FLAGS_200;
DmaCopy16(3, (void *)OBJ_VRAM0, EWRAM_START + 0x3B000, 0x5000);
}
#endif
// Skip the intro if these
// 4 buttons are pressed
@@ -216,7 +220,11 @@ void EngineInit(void)
gFlags &= ~FLAGS_SKIP_INTRO;
}
#if COLLECT_RINGS_ROM
DmaCopy16(3, (void *)OBJ_VRAM0, (void *)(EWRAM_START + 0x3b000), 0x5000);
#else
DmaFill32(3, 0, (void *)VRAM, VRAM_SIZE);
#endif
DmaFill32(3, 0, (void *)OAM, OAM_SIZE);
DmaFill32(3, 0, (void *)PLTT, PLTT_SIZE);
@@ -270,8 +278,8 @@ void EngineInit(void)
#if (ENGINE >= ENGINE_3)
gNextFreeAffineIndex = 0;
#endif
sa2__gUnknown_03001944 = 0;
sa2__gUnknown_030017F0 = 0x100;
SA2_LABEL(gUnknown_03001944) = 0;
SA2_LABEL(gUnknown_030017F0) = 0x100;
SA2_LABEL(gUnknown_03005394) = 0x100;
SA2_LABEL(gUnknown_03002A8C) = 0;
SA2_LABEL(gUnknown_03004D58) = 0;
+8 -8
View File
@@ -551,14 +551,14 @@ NONMATCH("asm/non_matching/engine/sa2__sub_8004E14.inc", void SA2_LABEL(sub_8004
// 2D Rotation matrix:
// { +cos(a), -sin(a) }
// { +sin(a), +cos(a) }
us.unk18[0][0] = I((Q(+COS_24_8(SA2_LABEL(gUnknown_03001944)) * SA2_LABEL(gUnknown_030017F0)) >> 16)
* (Q(us.unkC[0] * SA2_LABEL(gUnknown_03005398)) >> 16));
us.unk18[0][1] = I((Q(-SIN_24_8(SA2_LABEL(gUnknown_03001944)) * SA2_LABEL(gUnknown_030017F0)) >> 16)
* (Q(us.unkC[0] * SA2_LABEL(gUnknown_03005398)) >> 16));
us.unk18[1][0] = I((Q(+SIN_24_8(SA2_LABEL(gUnknown_03001944)) * SA2_LABEL(gUnknown_03005394)) >> 16)
* (Q(us.unkC[1] * SA2_LABEL(gUnknown_03005398)) >> 16));
us.unk18[1][1] = I((Q(+COS_24_8(SA2_LABEL(gUnknown_03001944)) * SA2_LABEL(gUnknown_03005394)) >> 16)
* (Q(us.unkC[1] * SA2_LABEL(gUnknown_03005398)) >> 16));
us.unk18[0][0] = I((Q(+COS_24_8(SA2_LABEL(gUnknown_03001944))) * SA2_LABEL(gUnknown_030017F0)) >> 16)
* (Q(us.unkC[0] * SA2_LABEL(gUnknown_03005398) >> 16));
us.unk18[0][1] = I((Q(-SIN_24_8(SA2_LABEL(gUnknown_03001944))) * SA2_LABEL(gUnknown_030017F0)) >> 16)
* (Q(us.unkC[0] * SA2_LABEL(gUnknown_03005398) >> 16));
us.unk18[1][0] = I((Q(+SIN_24_8(SA2_LABEL(gUnknown_03001944))) * SA2_LABEL(gUnknown_03005394)) >> 16)
* (Q(us.unkC[1] * SA2_LABEL(gUnknown_03005398) >> 16));
us.unk18[1][1] = I((Q(+COS_24_8(SA2_LABEL(gUnknown_03001944))) * SA2_LABEL(gUnknown_03005394)) >> 16)
* (Q(us.unkC[1] * SA2_LABEL(gUnknown_03005398) >> 16));
us.posX = I(transform->x * us.unk18[0][0] + transform->y * us.unk18[0][1] + Q(SA2_LABEL(gUnknown_0300194C)));
us.posY = I(transform->x * us.unk18[1][0] + transform->y * us.unk18[1][1] + Q(SA2_LABEL(gUnknown_03002820)));