mirror of https://github.com/zeldaret/tmc.git
Decompiler manager34
This commit is contained in:
parent
14323b92be
commit
29d7c7bd6b
|
|
@ -1,16 +0,0 @@
|
|||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r1, _0805DBB0 @ =gUnk_08108D8C
|
||||
ldrb r0, [r4, #0xc]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
adds r0, r4, #0
|
||||
bl sub_0805DBF0
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805DBB0: .4byte gUnk_08108D8C
|
||||
.syntax divided
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
.syntax unified
|
||||
bx lr
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
.syntax unified
|
||||
movs r1, #1
|
||||
strb r1, [r0, #0xc]
|
||||
ldr r1, _0805DBC8 @ =gScreenTransition
|
||||
adds r1, #0x3d
|
||||
ldrb r2, [r1]
|
||||
lsls r1, r2, #4
|
||||
subs r1, r1, r2
|
||||
lsls r1, r1, #2
|
||||
strh r1, [r0, #0x20]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0805DBC8: .4byte gScreenTransition
|
||||
.syntax divided
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
.syntax unified
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldr r0, [r1, #0x14]
|
||||
ldr r0, [r0, #4]
|
||||
cmp r0, #0
|
||||
bne _0805DBE6
|
||||
movs r0, #2
|
||||
strb r0, [r1, #0xc]
|
||||
ldrh r0, [r1, #0x20]
|
||||
ldr r2, _0805DBE8 @ =0x0000012D
|
||||
cmp r0, r2
|
||||
bls _0805DBE6
|
||||
strh r2, [r1, #0x20]
|
||||
_0805DBE6:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805DBE8: .4byte 0x0000012D
|
||||
.syntax divided
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
.syntax unified
|
||||
push {lr}
|
||||
bl sub_0805E5A8
|
||||
ldr r0, _0805DC80 @ =gUnk_0813AC48
|
||||
bl DoExitTransition
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805DC80: .4byte gUnk_0813AC48
|
||||
.syntax divided
|
||||
|
|
@ -1,13 +1,39 @@
|
|||
#include "manager.h"
|
||||
#include "structures.h"
|
||||
#include "functions.h"
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager34/Manager34_Main.inc", void Manager34_Main())
|
||||
typedef struct {
|
||||
Manager manager;
|
||||
u16 field_0x20;
|
||||
} Manager34;
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager34/sub_0805DBB4.inc", void sub_0805DBB4())
|
||||
extern void (*const gUnk_08108D8C[])(Manager34*);
|
||||
void sub_0805DBF0(Manager34*);
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager34/sub_0805DBCC.inc", void sub_0805DBCC())
|
||||
extern ScreenTransitionData gUnk_0813AC48;
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager34/nullsub_498.inc", void nullsub_498())
|
||||
void Manager34_Main(Manager34* this) {
|
||||
gUnk_08108D8C[this->manager.action](this);
|
||||
sub_0805DBF0(this);
|
||||
}
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager34/sub_0805DBF0.inc", void sub_0805DBF0())
|
||||
void sub_0805DBB4(Manager34* this) {
|
||||
this->manager.action = 1;
|
||||
this->field_0x20 = gScreenTransition.filler[0] * 0x3c;
|
||||
}
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager34/sub_0805DC70.inc", void sub_0805DC70())
|
||||
void sub_0805DBCC(Manager34* this) {
|
||||
if (((this->manager.parent)->next == NULL) && (this->manager.action = 2, 0x12d < this->field_0x20)) {
|
||||
this->field_0x20 = 0x12d;
|
||||
}
|
||||
}
|
||||
|
||||
void nullsub_498(Manager34* this) {
|
||||
}
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager34/sub_0805DBF0.inc", void sub_0805DBF0(Manager34* this))
|
||||
|
||||
void sub_0805DC70(Manager34* this) {
|
||||
sub_0805E5A8();
|
||||
DoExitTransition(&gUnk_0813AC48);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue