mirror of
https://github.com/zeldaret/tmc
synced 2026-08-04 01:03:49 -04:00
Decompile manager1D
This commit is contained in:
+36
-3
@@ -1,7 +1,40 @@
|
||||
#include "manager.h"
|
||||
#include "room.h"
|
||||
#include "screen.h"
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager1D/Manager1D_Main.inc", void Manager1D_Main())
|
||||
extern void (*const gUnk_08108C80[])(Manager*);
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager1D/sub_0805B5E0.inc", void sub_0805B5E0())
|
||||
extern u16 gUnk_08108C88[];
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager1D/sub_0805B638.inc", void sub_0805B638())
|
||||
void Manager1D_Main(Manager* this) {
|
||||
gUnk_08108C80[this->action](this);
|
||||
}
|
||||
|
||||
void sub_0805B5E0(Manager* this) {
|
||||
this->action = 1;
|
||||
|
||||
gScreen.lcd.displayControl |= 0x800;
|
||||
gScreen.affine.bg3Control = 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;
|
||||
break;
|
||||
case 1:
|
||||
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
|
||||
gScreen.affine.bg3yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
#include "manager.h"
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager33/Manager33_Main.inc", void Manager33_Main())
|
||||
ASM_FUNC("asm/non_matching/manager33/Manager33_Main.inc", void Manager33_Main(Manager* this))
|
||||
Reference in New Issue
Block a user