mirror of https://github.com/zeldaret/tmc.git
commit
7abb984cc6
|
@ -1,33 +0,0 @@
|
||||||
.include "asm/macros.inc"
|
|
||||||
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
thumb_func_start sub_080599B8
|
|
||||||
sub_080599B8: @ 0x080599B8
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
ldrb r0, [r4, #0xc]
|
|
||||||
cmp r0, #0
|
|
||||||
bne _080599D6
|
|
||||||
movs r0, #1
|
|
||||||
strb r0, [r4, #0xc]
|
|
||||||
ldrh r0, [r4, #0x3c]
|
|
||||||
bl CheckFlags
|
|
||||||
cmp r0, #0
|
|
||||||
beq _080599EA
|
|
||||||
bl DeleteThisEntity
|
|
||||||
b _080599EA
|
|
||||||
_080599D6:
|
|
||||||
ldrh r0, [r4, #0x3e]
|
|
||||||
bl CheckFlags
|
|
||||||
cmp r0, #0
|
|
||||||
beq _080599EA
|
|
||||||
ldrh r0, [r4, #0x3c]
|
|
||||||
bl SetFlag
|
|
||||||
bl DeleteThisEntity
|
|
||||||
_080599EA:
|
|
||||||
pop {r4, pc}
|
|
|
@ -103,6 +103,13 @@ typedef struct {
|
||||||
u16 unk_3e;
|
u16 unk_3e;
|
||||||
} ManagerE;
|
} ManagerE;
|
||||||
|
|
||||||
|
typedef struct Manager11 {
|
||||||
|
Manager manager;
|
||||||
|
u8 unk_20[0x1C];
|
||||||
|
u16 unk_3c;
|
||||||
|
u16 unk_3e;
|
||||||
|
} Manager11;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
u16 unk_00;
|
u16 unk_00;
|
||||||
u8 source_roomID;
|
u8 source_roomID;
|
||||||
|
@ -149,7 +156,7 @@ extern void sub_08058DD0(Entity*);
|
||||||
extern void sub_08058E60();
|
extern void sub_08058E60();
|
||||||
extern void sub_08058ECC(Entity*);
|
extern void sub_08058ECC(Entity*);
|
||||||
extern void sub_08059570(Entity*);
|
extern void sub_08059570(Entity*);
|
||||||
extern void sub_080599B8(Entity*);
|
extern void sub_080599B8(Manager11*);
|
||||||
extern void sub_080599EC(Entity*);
|
extern void sub_080599EC(Entity*);
|
||||||
extern void sub_08059DAC(Entity*);
|
extern void sub_08059DAC(Entity*);
|
||||||
extern void sub_08059E58(Entity*);
|
extern void sub_08059E58(Entity*);
|
||||||
|
|
|
@ -495,7 +495,7 @@ SECTIONS {
|
||||||
src/manager/managerE.o(.text);
|
src/manager/managerE.o(.text);
|
||||||
asm/managerF.o(.text);
|
asm/managerF.o(.text);
|
||||||
asm/manager10.o(.text);
|
asm/manager10.o(.text);
|
||||||
asm/manager11.o(.text);
|
src/manager/manager11.o(.text);
|
||||||
asm/manager12.o(.text);
|
asm/manager12.o(.text);
|
||||||
asm/manager13.o(.text);
|
asm/manager13.o(.text);
|
||||||
asm/manager14.o(.text);
|
asm/manager14.o(.text);
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
#include "global.h"
|
||||||
|
#include "manager.h"
|
||||||
|
#include "flags.h"
|
||||||
|
|
||||||
|
void sub_080599B8(Manager11* this) {
|
||||||
|
if (!this->manager.action) {
|
||||||
|
this->manager.action = 1;
|
||||||
|
if (CheckFlags(this->unk_3c)) {
|
||||||
|
DeleteThisEntity();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (CheckFlags(this->unk_3e)) {
|
||||||
|
SetFlag(this->unk_3c);
|
||||||
|
DeleteThisEntity();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue