First few functions in code_08049CD4.c OK

This commit is contained in:
21aslade 2020-08-23 12:29:02 -06:00
parent 10033aabe9
commit f065af482d
3 changed files with 27 additions and 53 deletions

View File

@ -6,58 +6,6 @@
.text
thumb_func_start sub_08049CD4
sub_08049CD4: @ 0x08049CD4
push {r4, lr}
movs r0, #1
rsbs r0, r0, #0
ldr r4, _08049CEC @ =gUnk_02024050
adds r1, r4, #0
movs r2, #0x40
bl _DmaFill32
ldr r0, _08049CF0 @ =gUnk_020354B0
str r4, [r0]
pop {r4, pc}
.align 2, 0
_08049CEC: .4byte gUnk_02024050
_08049CF0: .4byte gUnk_020354B0
thumb_func_start sub_08049CF4
sub_08049CF4: @ 0x08049CF4
push {lr}
adds r0, #0x6c
ldrb r3, [r0]
movs r0, #0x80
ands r0, r3
cmp r0, #0
beq _08049D14
ldr r0, _08049D18 @ =gUnk_020354B0
ldr r2, [r0]
movs r0, #0x1f
ands r3, r0
movs r1, #1
lsls r1, r3
ldr r0, [r2, #4]
orrs r0, r1
str r0, [r2, #4]
_08049D14:
pop {pc}
.align 2, 0
_08049D18: .4byte gUnk_020354B0
thumb_func_start sub_08049D1C
sub_08049D1C: @ 0x08049D1C
ldr r1, _08049D2C @ =gUnk_020354B0
ldr r1, [r1]
ldr r1, [r1, #4]
lsrs r1, r0
movs r0, #1
bics r0, r1
bx lr
.align 2, 0
_08049D2C: .4byte gUnk_020354B0
thumb_func_start sub_08049D30
sub_08049D30: @ 0x08049D30
push {r4, r5, r6, lr}

View File

@ -430,7 +430,8 @@ SECTIONS {
asm/treeItem.o(.text);
asm/enemy66.o(.text);
/* END enemies */
asm/code_08049CD4.o(.text);
src/code_08049CD4.o(.text);
asm/code_08049D30.o(.text);
asm/sub_0804AA30.o(.text);
src/createEnemy.o(.text);
src/sub_0804AA84.o(.text);

25
src/code_08049CD4.c Normal file
View File

@ -0,0 +1,25 @@
#include "global.h"
extern u32* gUnk_020354B0;
extern u32 gUnk_02024050;
extern void _DmaFill32(u32, void*, u32);
void sub_08049CD4() {
_DmaFill32(0xFFFFFFFF, &gUnk_02024050, 0x40);
gUnk_020354B0 = &gUnk_02024050;
}
void sub_08049CF4(u8* arg0) {
u8 field_0x6c = *(arg0 + 0x6c);
if (field_0x6c & 0x80) {
*(gUnk_020354B0 + 1) |= 1 << (field_0x6c & 0x1f);
}
}
u32 sub_08049D1C(u32 arg0) {
u32 bitmask = *(gUnk_020354B0 + 1) >> arg0;
u32 output = 1;
output &= ~bitmask;
return output;
}