mirror of https://github.com/zeldaret/tmc.git
poggers
This commit is contained in:
parent
e0e05b1728
commit
bf919c8006
2
Makefile
2
Makefile
|
@ -38,7 +38,7 @@ MID_BUILDDIR = $(OBJ_DIR)/$(MID_SUBDIR)
|
|||
ASFLAGS := -mcpu=arm7tdmi --defsym $(GAME_VERSION)=1 --defsym REVISION=$(REVISION) --defsym $(GAME_LANGUAGE)=1
|
||||
|
||||
CC1 := tools/agbcc/bin/agbcc
|
||||
override CFLAGS += -Wimplicit -Wparentheses -Werror -O2
|
||||
override CFLAGS += -Wimplicit -Wparentheses -Werror -O2
|
||||
# -fhex-asm
|
||||
|
||||
ifeq ($(DINFO),1)
|
||||
|
|
|
@ -18,7 +18,7 @@ InitializeLink: @ 0x080524A8
|
|||
adds r1, r6, #0
|
||||
adds r1, #0x40
|
||||
movs r2, #0x40
|
||||
bl sub_0801D610
|
||||
bl _DmaFill32
|
||||
ldr r4, _08052518 @ =gLinkEntity
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x88
|
||||
|
|
|
@ -0,0 +1,295 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_080041E8
|
||||
sub_080041E8: @ 0x080041E8
|
||||
subs r0, r0, r2
|
||||
subs r1, r1, r3
|
||||
|
||||
thumb_func_start sub_080041EC
|
||||
sub_080041EC: @ 0x080041EC
|
||||
adds r2, r0, #0
|
||||
muls r0, r2, r0
|
||||
adds r3, r1, #0
|
||||
muls r1, r3, r1
|
||||
push {lr}
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #8
|
||||
bl Sqrt
|
||||
pop {r3}
|
||||
bx r3
|
||||
|
||||
non_word_aligned_thumb_func_start sub_08004202
|
||||
sub_08004202: @ 0x08004202
|
||||
push {r1, lr}
|
||||
ldrb r1, [r0, #0x14]
|
||||
bl sub_08004212
|
||||
pop {r0}
|
||||
str r1, [r0]
|
||||
adds r0, r2, #0
|
||||
pop {pc}
|
||||
|
||||
non_word_aligned_thumb_func_start sub_08004212
|
||||
sub_08004212: @ 0x08004212
|
||||
push {r4}
|
||||
adds r4, r1, #0
|
||||
movs r3, #3
|
||||
tst r4, r3
|
||||
beq _08004226
|
||||
movs r3, #2
|
||||
lsrs r4, r4, #3
|
||||
blo _08004224
|
||||
rsbs r3, r3, #0
|
||||
_08004224:
|
||||
adds r2, r2, r3
|
||||
_08004226:
|
||||
adds r4, r1, #0
|
||||
movs r3, #3
|
||||
ands r4, r3
|
||||
cmp r4, #2
|
||||
beq _0800423C
|
||||
movs r3, #0x80
|
||||
adds r1, #1
|
||||
lsrs r1, r1, #3
|
||||
bhs _0800423A
|
||||
rsbs r3, r3, #0
|
||||
_0800423A:
|
||||
adds r2, r2, r3
|
||||
_0800423C:
|
||||
ldr r3, _08004390 @ =0x00001FFF
|
||||
ands r2, r3
|
||||
movs r4, #0x38
|
||||
ldrb r4, [r0, r4]
|
||||
lsls r4, r4, #3
|
||||
ldr r3, _08004394 @ =gUnk_08000228
|
||||
adds r3, r3, r4
|
||||
ldr r4, [r3]
|
||||
ldrh r1, [r4, r2]
|
||||
ldr r4, _08004398 @ =0x00004000
|
||||
tst r1, r4
|
||||
bne _0800425C
|
||||
lsls r1, r1, #0x11
|
||||
lsrs r1, r1, #0x10
|
||||
ldr r4, [r3, #4]
|
||||
ldrh r1, [r4, r1]
|
||||
_0800425C:
|
||||
pop {r4}
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_08004260
|
||||
sub_08004260: @ 0x08004260
|
||||
movs r2, #0x58
|
||||
strb r1, [r0, r2]
|
||||
ldrh r3, [r0, #0x12]
|
||||
lsls r3, r3, #4
|
||||
ldr r2, _0800439C @ =gUnk_080029B4
|
||||
ldr r2, [r2, r3]
|
||||
lsls r1, r1, #2
|
||||
ldr r1, [r2, r1]
|
||||
str r1, [r0, #0x5c]
|
||||
b _0800432A
|
||||
|
||||
thumb_func_start sub_08004274
|
||||
sub_08004274: @ 0x08004274
|
||||
movs r1, #1
|
||||
|
||||
non_word_aligned_thumb_func_start sub_08004276
|
||||
sub_08004276: @ 0x08004276
|
||||
movs r3, #0x59
|
||||
ldrb r2, [r0, r3]
|
||||
subs r2, r2, r1
|
||||
beq _0800432A
|
||||
ble _08004284
|
||||
strb r2, [r0, r3]
|
||||
bx lr
|
||||
_08004284:
|
||||
ldr r1, [r0, #0x5c]
|
||||
_08004286:
|
||||
ldrb r3, [r1, #1]
|
||||
adds r2, r2, r3
|
||||
bgt _0800429C
|
||||
ldrb r3, [r1, #3]
|
||||
adds r1, #4
|
||||
lsrs r3, r3, #8
|
||||
blo _08004286
|
||||
ldrb r3, [r1]
|
||||
lsls r3, r3, #2
|
||||
subs r1, r1, r3
|
||||
b _08004286
|
||||
_0800429C:
|
||||
str r1, [r0, #0x5c]
|
||||
push {r2, lr}
|
||||
bl _0800432A
|
||||
pop {r2, r3}
|
||||
movs r1, #0x59
|
||||
strb r2, [r0, r1]
|
||||
bx r3
|
||||
|
||||
thumb_func_start sub_080042AC
|
||||
sub_080042AC: @ 0x080042AC
|
||||
push {lr}
|
||||
bl sub_08004260
|
||||
movs r2, #0xff
|
||||
strb r2, [r0, #0x1f]
|
||||
b _080042C0
|
||||
|
||||
thumb_func_start sub_080042B8
|
||||
sub_080042B8: @ 0x080042B8
|
||||
movs r1, #1
|
||||
|
||||
non_word_aligned_thumb_func_start sub_080042BA
|
||||
sub_080042BA: @ 0x080042BA
|
||||
push {lr}
|
||||
bl sub_08004276
|
||||
_080042C0:
|
||||
pop {r1}
|
||||
mov lr, r1
|
||||
ldrb r1, [r0, #0x1e]
|
||||
ldrb r3, [r0, #0x1f]
|
||||
strb r1, [r0, #0x1f]
|
||||
cmp r1, r3
|
||||
beq _08004328
|
||||
ldrh r2, [r0, #0x12]
|
||||
|
||||
thumb_func_start sub_080042D0
|
||||
sub_080042D0: @ 0x080042D0
|
||||
cmp r1, #0xff
|
||||
beq _08004328
|
||||
lsls r2, r2, #4
|
||||
lsls r3, r1, #2
|
||||
ldr r1, _080043A0 @ =gUnk_080029B4
|
||||
adds r1, r1, r2
|
||||
ldr r2, [r1, #4]
|
||||
cmp r2, #0
|
||||
beq _08004328
|
||||
ldr r1, [r1, #8]
|
||||
adds r2, r2, r3
|
||||
ldrb r3, [r2]
|
||||
cmp r3, #0
|
||||
beq _08004328
|
||||
push {r4, r5}
|
||||
movs r3, #0x26
|
||||
ldrb r3, [r0, r3]
|
||||
movs r4, #0xc
|
||||
muls r3, r4, r3
|
||||
ldr r4, _080043A4 @ =gUnk_02024494
|
||||
adds r4, r4, r3
|
||||
ldrb r3, [r4]
|
||||
movs r5, #0xf
|
||||
ands r3, r5
|
||||
cmp r3, #5
|
||||
blo _08004326
|
||||
ldrb r5, [r4, #6]
|
||||
ldrb r3, [r2]
|
||||
strb r3, [r4, #6]
|
||||
subs r5, r5, r3
|
||||
ldrh r3, [r2, #2]
|
||||
lsls r3, r3, #5
|
||||
adds r1, r1, r3
|
||||
ldr r2, [r4, #8]
|
||||
str r1, [r4, #8]
|
||||
subs r2, r2, r1
|
||||
orrs r5, r2
|
||||
beq _08004326
|
||||
movs r2, #0xf0
|
||||
ldrb r1, [r4]
|
||||
bics r1, r2
|
||||
adds r1, #0x30
|
||||
strb r1, [r4]
|
||||
_08004326:
|
||||
pop {r4, r5}
|
||||
_08004328:
|
||||
bx lr
|
||||
_0800432A:
|
||||
ldrb r3, [r0, #0x1e]
|
||||
strb r3, [r0, #0x1f]
|
||||
ldr r1, [r0, #0x5c]
|
||||
ldrb r3, [r1]
|
||||
strb r3, [r0, #0x1e]
|
||||
ldrb r3, [r1, #1]
|
||||
movs r2, #0x59
|
||||
strb r3, [r0, r2]
|
||||
ldrb r3, [r1, #2]
|
||||
movs r2, #0x5b
|
||||
strb r3, [r0, r2]
|
||||
ldrb r3, [r1, #3]
|
||||
movs r2, #0x5a
|
||||
strb r3, [r0, r2]
|
||||
adds r1, #4
|
||||
lsrs r3, r3, #8
|
||||
blo _08004352
|
||||
ldrb r3, [r1]
|
||||
lsls r3, r3, #2
|
||||
subs r1, r1, r3
|
||||
_08004352:
|
||||
str r1, [r0, #0x5c]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08004358: .4byte gUnk_081326EC
|
||||
_0800435C: .4byte gUnk_02024048
|
||||
_08004360: .4byte gUnk_02021F20
|
||||
_08004364: .4byte gUnk_02024048
|
||||
_08004368: .4byte gUnk_03000BF0
|
||||
_0800436C: .4byte 0x0000016E
|
||||
_08004370: .4byte 0x0000011E
|
||||
_08004374: .4byte gUnk_03000BF6
|
||||
_08004378: .4byte gUnk_03000BF8
|
||||
_0800437C: .4byte 0x000003F0
|
||||
_08004380: .4byte gUnk_08000248
|
||||
_08004384: .4byte 0x000FFFFF
|
||||
_08004388: .4byte 0x00080000
|
||||
_0800438C: .4byte 0x0000EE00
|
||||
_08004390: .4byte 0x00001FFF
|
||||
_08004394: .4byte gUnk_08000228
|
||||
_08004398: .4byte 0x00004000
|
||||
_0800439C: .4byte gUnk_080029B4
|
||||
_080043A0: .4byte gUnk_080029B4
|
||||
_080043A4: .4byte gUnk_02024494
|
||||
|
||||
thumb_func_start sub_080043A8
|
||||
sub_080043A8: @ 0x080043A8
|
||||
movs r1, #0xb
|
||||
b _080043B6
|
||||
|
||||
thumb_func_start sub_080043AC
|
||||
sub_080043AC: @ 0x080043AC
|
||||
movs r1, #0xc
|
||||
b _080043B6
|
||||
|
||||
thumb_func_start sub_080043B0
|
||||
sub_080043B0: @ 0x080043AC
|
||||
movs r1, #0x52
|
||||
b _080043B6
|
||||
|
||||
thumb_func_start sub_080043B4
|
||||
sub_080043B4: @ 0x080043B4
|
||||
movs r1, #0
|
||||
_080043B6:
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #0xf
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
cmp r0, #0
|
||||
beq _080043E0
|
||||
movs r1, #0x48
|
||||
ldr r1, [r4, r1]
|
||||
ldrh r3, [r4, #0x2e]
|
||||
strh r3, [r0, #0x2e]
|
||||
ldrh r3, [r4, #0x32]
|
||||
strh r3, [r0, #0x32]
|
||||
ldrh r3, [r4, #0x36]
|
||||
strh r3, [r0, #0x36]
|
||||
ldrb r3, [r4, #8]
|
||||
cmp r3, #3
|
||||
bne _080043E0
|
||||
movs r1, #1
|
||||
strb r1, [r0, #0xb]
|
||||
_080043E0:
|
||||
adds r0, r4, #0
|
||||
bl sub_0805E7BC
|
||||
pop {r4, pc}
|
|
@ -1425,7 +1425,7 @@ _080178AE:
|
|||
movs r1, #1
|
||||
_080178B4:
|
||||
rsbs r0, r1, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
adds r5, r0, #0
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x7a
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_08018500
|
||||
|
@ -7308,7 +7308,7 @@ _0801BC7A:
|
|||
bl sub_080A3268
|
||||
_0801BC98:
|
||||
adds r0, r5, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x68
|
||||
ldrb r1, [r0]
|
||||
|
@ -7386,7 +7386,7 @@ _0801BD40:
|
|||
movs r3, #2
|
||||
bl sub_080A2988
|
||||
movs r0, #0x20
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
b _0801BD6C
|
||||
_0801BD54:
|
||||
ldr r1, _0801BD88 @ =gUnk_02002A40
|
||||
|
|
96413
asm/code_0801D714.s
96413
asm/code_0801D714.s
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -7841,7 +7841,7 @@ sub_0804E864: @ 0x0804E864
|
|||
movs r1, #6
|
||||
bl sub_080751E8
|
||||
movs r0, #0xa0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0804E888: .4byte gLinkEntity
|
||||
|
|
7219
asm/code_08052620.s
7219
asm/code_08052620.s
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1594,7 +1594,7 @@ sub_08056BDC: @ 0x08056BDC
|
|||
ldr r1, _08056C28 @ =gUnk_02000D00
|
||||
movs r2, #0xd0
|
||||
lsls r2, r2, #4
|
||||
bl sub_0801D610
|
||||
bl _DmaFill32
|
||||
bl sub_08056F70
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x9e
|
||||
|
@ -17052,26 +17052,3 @@ _0805E364: .4byte 0x00000275
|
|||
_0805E368: .4byte 0x0000026F
|
||||
_0805E36C: .4byte 0x00000272
|
||||
_0805E370: .4byte gUnk_02000070
|
||||
|
||||
thumb_func_start sub_0805E374
|
||||
sub_0805E374: @ 0x0805E374
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r0, _0805E394 @ =gUnk_030010A0
|
||||
adds r0, #0x2c
|
||||
ldrb r0, [r0]
|
||||
ldr r1, _0805E398 @ =gUnk_081091F8
|
||||
cmp r0, #2
|
||||
beq _0805E386
|
||||
ldr r1, _0805E39C @ =gUnk_081091EE
|
||||
_0805E386:
|
||||
ldrb r0, [r2, #8]
|
||||
adds r0, r1, r0
|
||||
ldrb r1, [r0]
|
||||
adds r0, r2, #0
|
||||
bl sub_0805E3A0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805E394: .4byte gUnk_030010A0
|
||||
_0805E398: .4byte gUnk_081091F8
|
||||
_0805E39C: .4byte gUnk_081091EE
|
|
@ -2001,7 +2001,7 @@ sub_0805F5CC: @ 0x0805F5CC
|
|||
lsls r3, r3, #1
|
||||
ands r2, r3
|
||||
lsls r2, r2, #3
|
||||
bl sub_0801D610
|
||||
bl _DmaFill32
|
||||
adds r0, r6, #0
|
||||
movs r1, #0
|
||||
bl sub_0805F324
|
||||
|
@ -2444,7 +2444,7 @@ sub_0805F918: @ 0x0805F918
|
|||
bl sub_0805F8F8
|
||||
ldr r1, _0805F990 @ =gUnk_02036AD8
|
||||
movs r2, #0xe0
|
||||
bl sub_0801D610
|
||||
bl _DmaFill32
|
||||
ldr r0, _0805F994 @ =gUnk_081092AC
|
||||
lsls r4, r4, #2
|
||||
adds r4, r4, r0
|
||||
|
@ -22362,16 +22362,16 @@ sub_08068F14: @ 0x08068F14
|
|||
cmp r0, #5
|
||||
bne _08068F24
|
||||
movs r0, #0xa0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
_08068F24:
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #6
|
||||
bne _08068F38
|
||||
movs r0, #0xa0
|
||||
rsbs r0, r0, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
movs r0, #2
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
_08068F38:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
@ -22383,7 +22383,7 @@ sub_08068F3C: @ 0x08068F3C
|
|||
cmp r0, #6
|
||||
bne _08068F4A
|
||||
movs r0, #0xa0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
_08068F4A:
|
||||
pop {pc}
|
||||
|
||||
|
@ -36607,47 +36607,3 @@ _0806F9E6:
|
|||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806F9EC
|
||||
sub_0806F9EC: @ 0x0806F9EC
|
||||
push {lr}
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
lsls r1, r1, #0x10
|
||||
asrs r1, r1, #0x10
|
||||
muls r0, r1, r0
|
||||
cmp r0, #0
|
||||
bge _0806F9FE
|
||||
adds r0, #0xff
|
||||
_0806F9FE:
|
||||
lsls r0, r0, #8
|
||||
asrs r0, r0, #0x10
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0806FA04
|
||||
sub_0806FA04: @ 0x0806FA04
|
||||
push {lr}
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
lsls r1, r1, #0x10
|
||||
asrs r1, r1, #0x10
|
||||
cmp r1, #0
|
||||
beq _0806FA20
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #8
|
||||
bl __divsi3
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
b _0806FA22
|
||||
_0806FA20:
|
||||
movs r0, #0
|
||||
_0806FA22:
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0806FA24
|
||||
sub_0806FA24: @ 0x0806FA24
|
||||
push {lr}
|
||||
movs r2, #0
|
||||
movs r3, #0
|
||||
bl PositionRelative
|
||||
pop {pc}
|
||||
|
||||
|
|
|
@ -2458,7 +2458,7 @@ _08070CFC:
|
|||
movs r0, #0x20
|
||||
strb r0, [r1]
|
||||
subs r0, #0x22
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
_08070D1A:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
@ -4574,7 +4574,7 @@ _08071D3A:
|
|||
cmp r4, #0
|
||||
beq _08071D74
|
||||
adds r0, r4, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
movs r2, #0
|
||||
movs r0, #3
|
||||
strb r0, [r5, #0xd]
|
||||
|
@ -5458,7 +5458,7 @@ sub_080723D0: @ 0x080723D0
|
|||
movs r0, #0x14
|
||||
strb r0, [r1]
|
||||
subs r0, #0x16
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
bl sub_08079458
|
||||
_0807240A:
|
||||
pop {r4, pc}
|
||||
|
@ -5491,7 +5491,7 @@ sub_0807240C: @ 0x0807240C
|
|||
str r0, [r2, #0x30]
|
||||
movs r0, #2
|
||||
rsbs r0, r0, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
bl sub_08079458
|
||||
_08072448:
|
||||
pop {pc}
|
||||
|
@ -5553,7 +5553,7 @@ _080724AE:
|
|||
strb r1, [r0]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
bl sub_080791D0
|
||||
_080724C2:
|
||||
pop {pc}
|
||||
|
@ -8930,7 +8930,7 @@ _08073E9E:
|
|||
strb r0, [r1]
|
||||
movs r0, #2
|
||||
rsbs r0, r0, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
movs r0, #0x7a
|
||||
bl sub_080A3268
|
||||
_08073EDC:
|
||||
|
@ -9798,7 +9798,7 @@ sub_0807450C: @ 0x0807450C
|
|||
bne _08074568
|
||||
movs r0, #2
|
||||
rsbs r0, r0, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
movs r0, #0x7a
|
||||
bl sub_080A3268
|
||||
movs r0, #0x18
|
||||
|
@ -10107,7 +10107,7 @@ _0807476C:
|
|||
movs r0, #0x20
|
||||
strb r0, [r1]
|
||||
subs r0, #0x24
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
bl sub_08079458
|
||||
_08074792:
|
||||
pop {r4, pc}
|
||||
|
@ -17430,7 +17430,7 @@ _08077F20: .4byte gUnk_03003F80
|
|||
thumb_func_start sub_08077F24
|
||||
sub_08077F24: @ 0x08077F24
|
||||
push {lr}
|
||||
ldr r2, _08077F34 @ =gUnk_02002AE8
|
||||
ldr r2, _08077F34 @ =gStats
|
||||
ldrb r3, [r0, #1]
|
||||
ldrb r0, [r2, #0xc]
|
||||
cmp r0, r3
|
||||
|
@ -17438,7 +17438,7 @@ sub_08077F24: @ 0x08077F24
|
|||
movs r2, #1
|
||||
b _08077F42
|
||||
.align 2, 0
|
||||
_08077F34: .4byte gUnk_02002AE8
|
||||
_08077F34: .4byte gStats
|
||||
_08077F38:
|
||||
ldrb r0, [r2, #0xd]
|
||||
movs r2, #0
|
||||
|
@ -19183,7 +19183,7 @@ sub_08078C24: @ 0x08078C24
|
|||
rsbs r0, r0, #0
|
||||
adds r1, #4
|
||||
movs r2, #0x40
|
||||
bl sub_0801D610
|
||||
bl _DmaFill32
|
||||
ldr r0, _08078CB0 @ =gUnk_03003DF0
|
||||
movs r1, #0xc4
|
||||
lsls r1, r1, #1
|
||||
|
@ -19799,7 +19799,7 @@ sub_080790E4: @ 0x080790E4
|
|||
strb r0, [r1]
|
||||
movs r0, #2
|
||||
rsbs r0, r0, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
movs r0, #0x7a
|
||||
bl sub_080A3268
|
||||
b _08079182
|
||||
|
@ -23733,7 +23733,7 @@ _0807AE74:
|
|||
strb r0, [r1]
|
||||
movs r0, #2
|
||||
rsbs r0, r0, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
movs r0, #0x7a
|
||||
bl sub_080A3268
|
||||
_0807AEA8:
|
||||
|
@ -27149,117 +27149,4 @@ _0807C98C:
|
|||
bl LZ77UnCompWram
|
||||
_0807C994:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0807C998
|
||||
sub_0807C998: @ 0x0807C998
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r4, _0807C9CC @ =gUnk_0202CEB4
|
||||
ldr r1, [r5]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807C960
|
||||
ldr r0, _0807C9D0 @ =0xFFFFE000
|
||||
adds r4, r4, r0
|
||||
ldr r1, [r5, #4]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807C960
|
||||
ldr r4, _0807C9D4 @ =gUnk_02012654
|
||||
ldr r1, [r5, #8]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807C960
|
||||
ldr r0, _0807C9D0 @ =0xFFFFE000
|
||||
adds r4, r4, r0
|
||||
ldr r1, [r5, #0xc]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807C960
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0807C9CC: .4byte gUnk_0202CEB4
|
||||
_0807C9D0: .4byte 0xFFFFE000
|
||||
_0807C9D4: .4byte gUnk_02012654
|
||||
|
||||
thumb_func_start sub_0807C9D8
|
||||
sub_0807C9D8: @ 0x0807C9D8
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r0, _0807CA0C @ =0x06004000
|
||||
ldr r1, [r5]
|
||||
bl sub_0807C960
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #0x13
|
||||
ldr r1, [r5, #4]
|
||||
bl sub_0807C960
|
||||
ldr r0, _0807CA10 @ =0x06008000
|
||||
ldr r1, [r5, #8]
|
||||
bl sub_0807C960
|
||||
ldr r4, _0807CA14 @ =gUnk_020176E0
|
||||
ldr r1, [r5, #0xc]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807C960
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
movs r2, #0xd
|
||||
bl sub_0801D754
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0807CA0C: .4byte 0x06004000
|
||||
_0807CA10: .4byte 0x06008000
|
||||
_0807CA14: .4byte gUnk_020176E0
|
||||
|
||||
thumb_func_start sub_0807CA18
|
||||
sub_0807CA18: @ 0x0807CA18
|
||||
push {lr}
|
||||
ldr r0, _0807CA7C @ =gUnk_02002A40
|
||||
mov ip, r0
|
||||
ldrh r1, [r0]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
cmp r1, r0
|
||||
beq _0807CA66
|
||||
movs r2, #0
|
||||
mov r0, ip
|
||||
strb r2, [r0]
|
||||
movs r3, #1
|
||||
strb r3, [r0, #1]
|
||||
strb r3, [r0, #8]
|
||||
mov r1, ip
|
||||
adds r1, #0xaa
|
||||
movs r0, #0x18
|
||||
strb r0, [r1]
|
||||
adds r1, #1
|
||||
strb r0, [r1]
|
||||
subs r1, #0x23
|
||||
movs r0, #0x22
|
||||
strb r0, [r1]
|
||||
adds r1, #1
|
||||
movs r0, #0x15
|
||||
strb r0, [r1]
|
||||
mov r0, ip
|
||||
adds r0, #0x8a
|
||||
strb r2, [r0]
|
||||
adds r0, #1
|
||||
strb r2, [r0]
|
||||
adds r0, #5
|
||||
strb r3, [r0]
|
||||
adds r1, #3
|
||||
movs r0, #0x90
|
||||
strh r0, [r1]
|
||||
adds r1, #2
|
||||
movs r0, #0x38
|
||||
strh r0, [r1]
|
||||
_0807CA66:
|
||||
mov r1, ip
|
||||
adds r1, #0x80
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #0
|
||||
bne _0807CA78
|
||||
ldr r0, _0807CA80 @ =gUnk_0811E470
|
||||
movs r2, #5
|
||||
bl sub_0801D66C
|
||||
_0807CA78:
|
||||
movs r0, #1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0807CA7C: .4byte gUnk_02002A40
|
||||
_0807CA80: .4byte gUnk_0811E470
|
||||
.align 2, 0
|
|
@ -5069,7 +5069,7 @@ sub_0807F004: @ 0x0807F004
|
|||
push {lr}
|
||||
ldr r0, [r1]
|
||||
ldrh r0, [r0, #2]
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0807F010
|
||||
|
@ -7152,7 +7152,7 @@ sub_0807FEC8: @ 0x0807FEC8
|
|||
ldr r4, _0807FEEC @ =gUnk_03003FC0
|
||||
adds r1, r4, #0
|
||||
movs r2, #0x40
|
||||
bl sub_0801D610
|
||||
bl _DmaFill32
|
||||
subs r4, #0x40
|
||||
ldr r1, [r5, #0x30]
|
||||
ldrh r0, [r1, #0x2e]
|
||||
|
@ -15301,7 +15301,7 @@ _08083D60:
|
|||
cmp r0, #0x63
|
||||
bne _08083DD0
|
||||
movs r0, #0xa0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
ldr r0, _08083DA8 @ =gUnk_02002A40
|
||||
adds r1, r0, #0
|
||||
adds r1, #0xa9
|
||||
|
@ -15329,7 +15329,7 @@ _08083D88:
|
|||
strb r0, [r1]
|
||||
_08083DA0:
|
||||
movs r0, #0xa0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
b _08083DD0
|
||||
.align 2, 0
|
||||
_08083DA8: .4byte gUnk_02002A40
|
||||
|
@ -67832,7 +67832,7 @@ _0809CD56:
|
|||
strb r0, [r4, #0xf]
|
||||
movs r0, #2
|
||||
rsbs r0, r0, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
adds r0, r5, #0
|
||||
movs r1, #0x7a
|
||||
bl sub_0800449C
|
||||
|
@ -79691,161 +79691,4 @@ _080A2820:
|
|||
_080A2828: .4byte gLinkEntity
|
||||
_080A282C: .4byte gUnk_03003DC0
|
||||
_080A2830: .4byte gUnk_02034490
|
||||
_080A2834: .4byte gUnk_03003F80
|
||||
|
||||
thumb_func_start sub_080A2838
|
||||
sub_080A2838: @ 0x080A2838
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r2, [r4, #9]
|
||||
lsls r2, r2, #3
|
||||
ldr r0, _080A2858 @ =gUnk_08126798
|
||||
adds r2, r2, r0
|
||||
ldrb r1, [r4, #0xa]
|
||||
adds r0, r4, #0
|
||||
bl sub_080A285C
|
||||
cmp r0, #2
|
||||
bne _080A2856
|
||||
adds r0, r4, #0
|
||||
bl sub_08016A04
|
||||
_080A2856:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080A2858: .4byte gUnk_08126798
|
||||
|
||||
thumb_func_start sub_080A285C
|
||||
sub_080A285C: @ 0x080A285C
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r2, #0
|
||||
ldrb r3, [r4, #0x10]
|
||||
movs r0, #1
|
||||
ands r0, r3
|
||||
cmp r0, #0
|
||||
beq _080A2870
|
||||
movs r0, #1
|
||||
b _080A2958
|
||||
_080A2870:
|
||||
ldrb r2, [r5]
|
||||
movs r0, #3
|
||||
ands r0, r2
|
||||
cmp r0, #0
|
||||
bne _080A288C
|
||||
lsls r0, r2, #0x1c
|
||||
lsrs r0, r0, #0x1e
|
||||
lsls r0, r0, #2
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
orrs r0, r3
|
||||
strb r0, [r4, #0x10]
|
||||
movs r0, #1
|
||||
b _080A2958
|
||||
_080A288C:
|
||||
subs r0, #2
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #1
|
||||
bhi _080A289C
|
||||
lsls r1, r1, #3
|
||||
ldr r0, [r5, #4]
|
||||
adds r5, r0, r1
|
||||
_080A289C:
|
||||
ldrh r0, [r5, #2]
|
||||
lsls r0, r0, #0x16
|
||||
lsrs r2, r0, #0x16
|
||||
adds r1, r2, #0
|
||||
ldrb r0, [r5, #3]
|
||||
lsls r0, r0, #0x1c
|
||||
lsrs r0, r0, #0x1e
|
||||
cmp r0, #1
|
||||
beq _080A28BA
|
||||
cmp r0, #2
|
||||
bne _080A28C4
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x60
|
||||
strh r2, [r0]
|
||||
b _080A28D2
|
||||
_080A28BA:
|
||||
adds r0, r4, #0
|
||||
movs r2, #0
|
||||
bl sub_080AE008
|
||||
b _080A28CA
|
||||
_080A28C4:
|
||||
adds r0, r4, #0
|
||||
bl sub_080ADF80
|
||||
_080A28CA:
|
||||
cmp r0, #0
|
||||
bne _080A28D2
|
||||
movs r0, #0
|
||||
b _080A2958
|
||||
_080A28D2:
|
||||
ldrh r0, [r5, #4]
|
||||
lsls r0, r0, #0x16
|
||||
lsrs r1, r0, #0x16
|
||||
adds r0, r4, #0
|
||||
bl sub_0801D040
|
||||
movs r1, #0xff
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
strb r1, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x40
|
||||
movs r0, #0x48
|
||||
strb r0, [r1]
|
||||
ldrh r0, [r5, #6]
|
||||
lsls r0, r0, #0x16
|
||||
lsrs r0, r0, #0x16
|
||||
strh r0, [r4, #0x12]
|
||||
ldrb r0, [r5, #5]
|
||||
movs r3, #3
|
||||
movs r1, #0x30
|
||||
ands r1, r0
|
||||
ldrb r2, [r4, #0x18]
|
||||
movs r0, #0x31
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
ldrb r1, [r5, #7]
|
||||
lsls r1, r1, #0x1b
|
||||
movs r0, #0x29
|
||||
adds r0, r0, r4
|
||||
mov ip, r0
|
||||
lsrs r1, r1, #0x1d
|
||||
lsls r1, r1, #3
|
||||
ldrb r2, [r0]
|
||||
movs r0, #0x39
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
mov r1, ip
|
||||
strb r0, [r1]
|
||||
ldrb r1, [r5, #7]
|
||||
lsrs r1, r1, #5
|
||||
ands r1, r3
|
||||
ldrb r2, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
ldr r1, _080A295C @ =gUnk_08125104
|
||||
ldrb r0, [r5, #1]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
str r0, [r4, #0x48]
|
||||
ldrb r0, [r5]
|
||||
lsls r0, r0, #0x1c
|
||||
lsrs r0, r0, #0x1e
|
||||
lsls r0, r0, #2
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
ldrb r1, [r4, #0x10]
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
movs r0, #2
|
||||
_080A2958:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_080A295C: .4byte gUnk_08125104
|
||||
_080A2834: .4byte gUnk_03003F80
|
|
@ -12219,7 +12219,7 @@ sub_080A881C: @ 0x080A881C
|
|||
strb r1, [r0, #0xf]
|
||||
movs r0, #2
|
||||
rsbs r0, r0, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
_080A884A:
|
||||
bl sub_0805E780
|
||||
b _080A8866
|
||||
|
@ -13676,7 +13676,7 @@ sub_080A9334: @ 0x080A9334
|
|||
beq _080A9368
|
||||
movs r0, #2
|
||||
rsbs r0, r0, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
adds r0, r4, #0
|
||||
bl sub_080A9488
|
||||
adds r0, r4, #0
|
||||
|
@ -15038,7 +15038,7 @@ sub_080A9D2C: @ 0x080A9D2C
|
|||
bne _080A9D56
|
||||
movs r0, #2
|
||||
rsbs r0, r0, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
ldr r0, _080A9D68 @ =gLinkEntity
|
||||
movs r1, #0x7a
|
||||
bl sub_0800449C
|
||||
|
@ -15252,7 +15252,7 @@ sub_080A9EBC: @ 0x080A9EBC
|
|||
movs r0, #0
|
||||
strb r0, [r4, #0xf]
|
||||
subs r0, #2
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
adds r0, r4, #0
|
||||
bl sub_080AF090
|
||||
adds r0, r4, #0
|
||||
|
@ -17487,7 +17487,7 @@ _080AAF94:
|
|||
movs r0, #8
|
||||
strb r0, [r1]
|
||||
subs r0, #0xc
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x7a
|
||||
bl sub_0800449C
|
||||
|
@ -17935,7 +17935,7 @@ sub_080AB2DC: @ 0x080AB2DC
|
|||
bne _080AB314
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
_080AB314:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
@ -19169,7 +19169,7 @@ _080ABC24:
|
|||
_080ABC2A:
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
_080ABC32:
|
||||
adds r0, r4, #0
|
||||
bl sub_080A29BC
|
||||
|
@ -19182,7 +19182,7 @@ _080ABC3E:
|
|||
bne _080ABC52
|
||||
movs r0, #2
|
||||
rsbs r0, r0, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
bl sub_0805E780
|
||||
_080ABC52:
|
||||
pop {r4, pc}
|
||||
|
@ -19232,7 +19232,7 @@ sub_080ABC90: @ 0x080ABC90
|
|||
beq _080ABCBE
|
||||
movs r0, #2
|
||||
rsbs r0, r0, #0
|
||||
bl sub_080526A0
|
||||
bl ModHealth
|
||||
ldr r0, _080ABCC0 @ =gLinkEntity
|
||||
movs r1, #0x7a
|
||||
bl sub_0800449C
|
||||
|
|
|
@ -23,7 +23,7 @@ sub_0801D630: @ 0x0801D630
|
|||
_0801D64A:
|
||||
movs r0, #0
|
||||
adds r1, r3, #0
|
||||
bl sub_0801D610
|
||||
bl _DmaFill32
|
||||
b _0801D668
|
||||
_0801D654:
|
||||
movs r0, #0
|
||||
|
@ -38,4 +38,5 @@ _0801D65E:
|
|||
bne _0801D65E
|
||||
_0801D668:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
.align 2, 0
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0804AA30
|
||||
sub_0804AA30: @ 0x0804AA30
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r1, #0
|
||||
adds r6, r4, #0
|
||||
adds r6, #0x41
|
||||
ldrb r1, [r6]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r6]
|
||||
adds r0, r4, #0
|
||||
bl sub_0800279C
|
||||
ldrb r2, [r6]
|
||||
movs r1, #0x80
|
||||
orrs r1, r2
|
||||
strb r1, [r6]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r5
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
|
@ -0,0 +1,63 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0807CA18
|
||||
sub_0807CA18: @ 0x0807CA18
|
||||
push {lr}
|
||||
ldr r0, _0807CA7C @ =gUnk_02002A40
|
||||
mov ip, r0
|
||||
ldrh r1, [r0]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
cmp r1, r0
|
||||
beq _0807CA66
|
||||
movs r2, #0
|
||||
mov r0, ip
|
||||
strb r2, [r0]
|
||||
movs r3, #1
|
||||
strb r3, [r0, #1]
|
||||
strb r3, [r0, #8]
|
||||
mov r1, ip
|
||||
adds r1, #0xaa
|
||||
movs r0, #0x18
|
||||
strb r0, [r1]
|
||||
adds r1, #1
|
||||
strb r0, [r1]
|
||||
subs r1, #0x23
|
||||
movs r0, #0x22
|
||||
strb r0, [r1]
|
||||
adds r1, #1
|
||||
movs r0, #0x15
|
||||
strb r0, [r1]
|
||||
mov r0, ip
|
||||
adds r0, #0x8a
|
||||
strb r2, [r0]
|
||||
adds r0, #1
|
||||
strb r2, [r0]
|
||||
adds r0, #5
|
||||
strb r3, [r0]
|
||||
adds r1, #3
|
||||
movs r0, #0x90
|
||||
strh r0, [r1]
|
||||
adds r1, #2
|
||||
movs r0, #0x38
|
||||
strh r0, [r1]
|
||||
_0807CA66:
|
||||
mov r1, ip
|
||||
adds r1, #0x80
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #0
|
||||
bne _0807CA78
|
||||
ldr r0, _0807CA80 @ =gUnk_0811E470
|
||||
movs r2, #5
|
||||
bl sub_0801D66C
|
||||
_0807CA78:
|
||||
movs r0, #1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0807CA7C: .4byte gUnk_02002A40
|
||||
_0807CA80: .4byte gUnk_0811E470
|
|
@ -0,0 +1,27 @@
|
|||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_080A2838
|
||||
sub_080A2838: @ 0x080A2838
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r2, [r4, #9]
|
||||
lsls r2, r2, #3
|
||||
ldr r0, _080A2858 @ =gUnk_08126798
|
||||
adds r2, r2, r0
|
||||
ldrb r1, [r4, #0xa]
|
||||
adds r0, r4, #0
|
||||
bl sub_080A285C
|
||||
cmp r0, #2
|
||||
bne _080A2856
|
||||
adds r0, r4, #0
|
||||
bl sub_08016A04
|
||||
_080A2856:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080A2858: .4byte gUnk_08126798
|
|
@ -0,0 +1,144 @@
|
|||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_080A285C
|
||||
sub_080A285C: @ 0x080A285C
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r2, #0
|
||||
ldrb r3, [r4, #0x10]
|
||||
movs r0, #1
|
||||
ands r0, r3
|
||||
cmp r0, #0
|
||||
beq _080A2870
|
||||
movs r0, #1
|
||||
b _080A2958
|
||||
_080A2870:
|
||||
ldrb r2, [r5]
|
||||
movs r0, #3
|
||||
ands r0, r2
|
||||
cmp r0, #0
|
||||
bne _080A288C
|
||||
lsls r0, r2, #0x1c
|
||||
lsrs r0, r0, #0x1e
|
||||
lsls r0, r0, #2
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
orrs r0, r3
|
||||
strb r0, [r4, #0x10]
|
||||
movs r0, #1
|
||||
b _080A2958
|
||||
_080A288C:
|
||||
subs r0, #2
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #1
|
||||
bhi _080A289C
|
||||
lsls r1, r1, #3
|
||||
ldr r0, [r5, #4]
|
||||
adds r5, r0, r1
|
||||
_080A289C:
|
||||
ldrh r0, [r5, #2]
|
||||
lsls r0, r0, #0x16
|
||||
lsrs r2, r0, #0x16
|
||||
adds r1, r2, #0
|
||||
ldrb r0, [r5, #3]
|
||||
lsls r0, r0, #0x1c
|
||||
lsrs r0, r0, #0x1e
|
||||
cmp r0, #1
|
||||
beq _080A28BA
|
||||
cmp r0, #2
|
||||
bne _080A28C4
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x60
|
||||
strh r2, [r0]
|
||||
b _080A28D2
|
||||
_080A28BA:
|
||||
adds r0, r4, #0
|
||||
movs r2, #0
|
||||
bl sub_080AE008
|
||||
b _080A28CA
|
||||
_080A28C4:
|
||||
adds r0, r4, #0
|
||||
bl sub_080ADF80
|
||||
_080A28CA:
|
||||
cmp r0, #0
|
||||
bne _080A28D2
|
||||
movs r0, #0
|
||||
b _080A2958
|
||||
_080A28D2:
|
||||
ldrh r0, [r5, #4]
|
||||
lsls r0, r0, #0x16
|
||||
lsrs r1, r0, #0x16
|
||||
adds r0, r4, #0
|
||||
bl sub_0801D040
|
||||
movs r1, #0xff
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
strb r1, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x40
|
||||
movs r0, #0x48
|
||||
strb r0, [r1]
|
||||
ldrh r0, [r5, #6]
|
||||
lsls r0, r0, #0x16
|
||||
lsrs r0, r0, #0x16
|
||||
strh r0, [r4, #0x12]
|
||||
ldrb r0, [r5, #5]
|
||||
movs r3, #3
|
||||
movs r1, #0x30
|
||||
ands r1, r0
|
||||
ldrb r2, [r4, #0x18]
|
||||
movs r0, #0x31
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
ldrb r1, [r5, #7]
|
||||
lsls r1, r1, #0x1b
|
||||
movs r0, #0x29
|
||||
adds r0, r0, r4
|
||||
mov ip, r0
|
||||
lsrs r1, r1, #0x1d
|
||||
lsls r1, r1, #3
|
||||
ldrb r2, [r0]
|
||||
movs r0, #0x39
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
mov r1, ip
|
||||
strb r0, [r1]
|
||||
ldrb r1, [r5, #7]
|
||||
lsrs r1, r1, #5
|
||||
ands r1, r3
|
||||
ldrb r2, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
ldr r1, _080A295C @ =gUnk_08125104
|
||||
ldrb r0, [r5, #1]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
str r0, [r4, #0x48]
|
||||
ldrb r0, [r5]
|
||||
lsls r0, r0, #0x1c
|
||||
lsrs r0, r0, #0x1e
|
||||
lsls r0, r0, #2
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
ldrb r1, [r4, #0x10]
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
movs r0, #2
|
||||
_080A2958:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_080A295C: .4byte gUnk_08125104
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
#ifndef ITEM_H
|
||||
#define ITEM_H
|
||||
enum ItemType
|
||||
enum
|
||||
{
|
||||
Untyped,
|
||||
SmithSword = 0x01,
|
||||
|
@ -122,5 +122,5 @@
|
|||
FastSpin = 0x73,
|
||||
FastSplit = 0x74,
|
||||
LongSpin = 0x75
|
||||
}
|
||||
} ItemType;
|
||||
#endif
|
|
@ -0,0 +1,20 @@
|
|||
#ifndef STATS_H
|
||||
#define STATS_H
|
||||
|
||||
#include "global.h"
|
||||
#include "item.h"
|
||||
|
||||
typedef struct {
|
||||
u8 walletType;
|
||||
u8 heartPieces;
|
||||
u8 health;
|
||||
u8 maxHealth;
|
||||
u8 filler[8];
|
||||
u8 itemOnA;
|
||||
u8 itemonB;
|
||||
u8 filler2[10];
|
||||
u16 rupees;
|
||||
u8 filler3[12];
|
||||
} Stats;
|
||||
|
||||
#endif
|
18
linker.ld
18
linker.ld
|
@ -30,7 +30,7 @@ SECTIONS {
|
|||
. = 0x00002AA0; gUnk_02002AA0 = .;
|
||||
. = 0x00002AC0; gUnk_02002AC0 = .;
|
||||
. = 0x00002AC8; gUnk_02002AC8 = .;
|
||||
. = 0x00002AE8; gUnk_02002AE8 = .;
|
||||
. = 0x00002AE8; gStats = .;
|
||||
. = 0x00002B0E; gUnk_02002B0E = .;
|
||||
. = 0x00002B32; gUnk_02002B32 = .;
|
||||
. = 0x00002B54; gUnk_02002B54 = .;
|
||||
|
@ -299,11 +299,13 @@ SECTIONS {
|
|||
/* C source compiled without interworking */
|
||||
asm/code_08018500.o(.text);
|
||||
src/sub_0801D5EC.o(.text);
|
||||
src/sub_0801D610.o(.text);
|
||||
src/_dmaFill32.o(.text);
|
||||
asm/sub_0801D630.o(.text);
|
||||
asm/sub_0801D66C.o(.text);
|
||||
asm/readKeyInput.o(.text);
|
||||
asm/code_0801D714.o(.text);
|
||||
asm/code_0801D79C.o(.text);
|
||||
asm/sub_0804AA30.o(.text);
|
||||
src/createEnemy.o(.text);
|
||||
src/sub_0804AA84.o(.text); /* wip */
|
||||
asm/code_0804AA84.o(.text);
|
||||
|
@ -320,22 +322,34 @@ SECTIONS {
|
|||
asm/code_08050038.o(.text);
|
||||
asm/initializeLink.o(.text);
|
||||
asm/code_08052620.o(.text);
|
||||
src/bitGetters.o(.text);
|
||||
src/modHealth.o(.text);
|
||||
asm/code_080526CC.o(.text);
|
||||
src/sub_08055E08.o(.text);
|
||||
asm/sub_08055E24.o(.text);
|
||||
asm/mainLoop.o(.text);
|
||||
asm/sub_08055F70.o(.text);
|
||||
asm/code_08055FF4.o(.text);
|
||||
src/sub_0805E374.o(.text);
|
||||
src/sub_0805E3A0.o(.text);
|
||||
asm/code_0805E3B0.o(.text);
|
||||
asm/getEmptyEntity.o(.text);
|
||||
asm/code_0805E744.o(.text);
|
||||
src/sub_0806F9EC.o(.text);
|
||||
src/sub_0806FA04.o(.text);
|
||||
src/sub_0806FA24.o(.text);
|
||||
src/sub_0806FA30.o(.text);
|
||||
src/positionRelative.o(.text);
|
||||
asm/code_0806FA6C.o(.text);
|
||||
src/sub_0807C998.o(.text);
|
||||
src/sub_0801D754.o(.text);
|
||||
asm/sub_0807CA18.o(.text);
|
||||
asm/getInventoryValue.o(.text);
|
||||
asm/code_0807CAA0.o(.text);
|
||||
src/getProgressFlag.o(.text);
|
||||
asm/code_0807CC3C.o(.text);
|
||||
asm/sub_080A2838.o(.text);
|
||||
asm/sub_080A285C.o(.text);
|
||||
src/createObject.o(.text);
|
||||
asm/sub_080A2988.o(.text);
|
||||
asm/createFx.o(.text);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "global.h"
|
||||
|
||||
void sub_0801D610(u32 a1, u32 a2, u32 a3)
|
||||
void _DmaFill32(u32 a1, u32 a2, u32 a3)
|
||||
{
|
||||
DmaFill32(3, a1, a2, a3);
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
#include "global.h"
|
||||
|
||||
extern u8 gUnk_02033A90;
|
||||
#include "global.h"
|
||||
|
||||
extern u8 gUnk_02033A90;
|
||||
|
||||
u32 sub_08052654()
|
||||
{
|
||||
return (gUnk_02033A90 >> 7) & 1;
|
||||
}
|
||||
|
||||
u32 sub_08052660()
|
||||
{
|
||||
return (gUnk_02033A90 >> 2) & 1;
|
||||
}
|
||||
|
||||
u32 sub_08052670()
|
||||
{
|
||||
return (gUnk_02033A90 >> 4) & 1;
|
||||
}
|
||||
|
||||
u32 sub_08052680()
|
||||
{
|
||||
return (gUnk_02033A90 >> 6) & 1;
|
||||
}
|
||||
|
||||
u32 sub_08052690()
|
||||
|
||||
{
|
||||
return (gUnk_02033A90 >> 3) & 1;
|
||||
}
|
|
@ -1,8 +1,8 @@
|
|||
#include "global.h"
|
||||
/* called when loading any room */
|
||||
|
||||
extern void LoadRoomEntityList();
|
||||
extern s32 GetProgressFlag(u32 flag);
|
||||
void LoadRoomEntityList();
|
||||
s32 GetProgressFlag(u32 flag);
|
||||
extern s32* sub_0804B128(u8 unk);
|
||||
extern void sub_0804B058(s32 *unk);
|
||||
extern void sub_0804B1AC();
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "stats.h"
|
||||
|
||||
extern Stats gStats;
|
||||
extern Entity gLinkEntity;
|
||||
s32 ModHealth(s32 deltaHealth)
|
||||
|
||||
{
|
||||
s32 newHealth;
|
||||
|
||||
newHealth = gStats.health + deltaHealth;
|
||||
if (newHealth < 0) {
|
||||
newHealth = 0;
|
||||
}
|
||||
if (gStats.maxHealth < newHealth) {
|
||||
newHealth = (u32)gStats.maxHealth;
|
||||
}
|
||||
gStats.health = newHealth;
|
||||
gLinkEntity.currentHealth = newHealth;
|
||||
return newHealth;
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
#include "global.h"
|
||||
|
||||
extern void sub_0807C960();
|
||||
extern u32 sub_0801D754(u32, u8, u8);
|
||||
|
||||
u32 sub_0807C9D8(u32 *a1)
|
||||
{
|
||||
u32 *v1; // r5@1
|
||||
|
||||
v1 = a1;
|
||||
sub_0807C960(0x6004000, *a1);
|
||||
sub_0807C960(0x6000000, v1[1]);
|
||||
sub_0807C960(0x6008000, v1[2]);
|
||||
sub_0807C960(0x20176E0, v1[3]);
|
||||
return sub_0801D754(0x20176E0, 2, 13);
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
#include "entity.h"
|
||||
extern Entity * sub_0805E3A0(Entity *, u32);
|
||||
extern u8 gUnk_030010A0[];
|
||||
extern u8 gUnk_081091F8[];
|
||||
extern u8 gUnk_081091EE[];
|
||||
Entity * sub_0805E374(Entity *param_1)
|
||||
{
|
||||
u8 r3 = gUnk_030010A0[0x2C];
|
||||
u8 *array = gUnk_081091F8;
|
||||
|
||||
if ( r3 != '\x02') {
|
||||
array = gUnk_081091EE;
|
||||
}
|
||||
return sub_0805E3A0(param_1,array[(param_1->entityType).type]);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
#include "global.h"
|
||||
|
||||
s32 sub_0806F9EC(s16 param_1,s16 param_2)
|
||||
|
||||
{
|
||||
int iVar1;
|
||||
|
||||
iVar1 = (s32)param_1 * (s32)param_2;
|
||||
if (iVar1 < 0) {
|
||||
iVar1 = iVar1 + 255;
|
||||
}
|
||||
return (iVar1 << 8) >> 16;
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
#include "global.h"
|
||||
|
||||
extern s32 __divsi3(s32, s32);
|
||||
|
||||
s16 sub_0806FA04(s16 param_1,s16 param_2)
|
||||
|
||||
{
|
||||
s16 sVar1;
|
||||
s32 iVar2;
|
||||
|
||||
if (param_2 != 0) {
|
||||
sVar1 = __divsi3( (param_1 << 16) >> 8 ,param_2);
|
||||
iVar2 = sVar1;
|
||||
}
|
||||
else {
|
||||
iVar2 = 0;
|
||||
}
|
||||
return iVar2;
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
void PositionRelative(Entity *, Entity *, s32, s32);
|
||||
|
||||
void sub_0806FA24(Entity *param_1,Entity *param_2)
|
||||
|
||||
{
|
||||
PositionRelative(param_1, param_2, 0, 0);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
#include "global.h"
|
||||
|
||||
extern void sub_0807C960();
|
||||
extern u32 gUnk_0202CEB4;
|
||||
extern u32 gUnk_02012654;
|
||||
|
||||
void sub_0807C998(u32 *a1)
|
||||
{
|
||||
sub_0807C960(&gUnk_0202CEB4, a1[0]);
|
||||
sub_0807C960(&gUnk_0202CEB4 - 0x800, a1[1]);
|
||||
sub_0807C960(&gUnk_02012654, a1[2]);
|
||||
sub_0807C960(&gUnk_02012654 - 0x800, a1[3]);
|
||||
}
|
Loading…
Reference in New Issue