initial work on ground_map_1

This commit is contained in:
Seth Barberee 2025-07-26 12:12:04 -07:00
parent a0ddf35f3d
commit 061f1efaea
11 changed files with 769 additions and 855 deletions

View File

@ -5,827 +5,6 @@
.text
thumb_func_start sub_80A5204
sub_80A5204:
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x18
str r0, [sp]
mov r8, r1
str r2, [sp, 0x4]
str r3, [sp, 0x8]
movs r1, 0x8
ldrsh r0, [r2, r1]
cmp r0, 0
bgt _080A5222
b _080A53EA
_080A5222:
mov r5, r8
ldr r2, [sp]
mov r12, r2
movs r0, 0
ldr r3, [sp, 0x4]
ldrb r3, [r3, 0x1]
str r3, [sp, 0x10]
ldr r1, [sp, 0x4]
ldrh r2, [r1, 0xA]
mov r1, sp
strh r2, [r1, 0xC]
movs r1, 0xFF
_080A523A:
adds r0, 0x1
mov r10, r0
movs r3, 0xFF
mov r9, r3
_080A5242:
mov r0, r12
strb r1, [r0]
movs r2, 0x1
add r12, r2
movs r3, 0x1
negs r3, r3
add r9, r3
mov r0, r9
cmp r0, 0
bge _080A5242
mov r0, r10
cmp r0, 0x3
ble _080A523A
movs r1, 0
ldr r2, [sp, 0x10]
cmp r1, r2
blt _080A5266
b _080A53BA
_080A5266:
ldr r3, [sp, 0x4]
ldrb r7, [r3]
_080A526A:
adds r0, 0x1
mov r10, r0
adds r0, r1, 0x1
str r0, [sp, 0x14]
movs r0, 0xFF
movs r2, 0x4
mov r9, r2
_080A5278:
mov r3, r12
strb r0, [r3]
movs r2, 0x1
add r12, r2
movs r3, 0x1
negs r3, r3
add r9, r3
mov r2, r9
cmp r2, 0
bge _080A5278
movs r3, 0x5
mov r9, r3
movs r0, 0
cmp r1, 0
bne _080A5308
cmp r1, r7
bge _080A5394
_080A529A:
ldrb r1, [r5]
adds r5, 0x1
cmp r1, 0xBF
ble _080A52C2
adds r6, r0, 0
subs r6, 0xBF
cmp r1, 0xBF
ble _080A5300
adds r2, r1, 0
subs r2, 0xBF
_080A52AE:
ldrb r0, [r5]
mov r3, r12
strb r0, [r3]
adds r5, 0x1
movs r0, 0x1
add r12, r0
subs r2, 0x1
cmp r2, 0
bne _080A52AE
b _080A5300
_080A52C2:
cmp r1, 0x7F
ble _080A52E6
ldrb r4, [r5]
adds r5, 0x1
adds r6, r0, 0
subs r6, 0x7F
cmp r1, 0x7F
ble _080A5300
adds r2, r1, 0
subs r2, 0x7F
_080A52D6:
mov r3, r12
strb r4, [r3]
movs r0, 0x1
add r12, r0
subs r2, 0x1
cmp r2, 0
bne _080A52D6
b _080A5300
_080A52E6:
movs r2, 0
adds r6, r0, 0x1
cmp r2, r1
bgt _080A5300
movs r0, 0
adds r2, r1, 0x1
_080A52F2:
mov r3, r12
strb r0, [r3]
movs r3, 0x1
add r12, r3
subs r2, 0x1
cmp r2, 0
bne _080A52F2
_080A5300:
adds r0, r6, r1
cmp r0, r7
blt _080A529A
b _080A5394
_080A5308:
ldr r4, _080A5340
add r4, r12
cmp r0, r7
bge _080A5394
_080A5310:
ldrb r3, [r5]
adds r5, 0x1
cmp r3, 0xBF
ble _080A5344
adds r6, r0, 0
subs r6, 0xBF
cmp r3, 0xBF
ble _080A538E
adds r2, r3, 0
subs r2, 0xBF
_080A5324:
ldrb r1, [r5]
ldrb r0, [r4]
eors r1, r0
mov r0, r12
strb r1, [r0]
adds r4, 0x1
adds r5, 0x1
movs r1, 0x1
add r12, r1
subs r2, 0x1
cmp r2, 0
bne _080A5324
b _080A538E
.align 2, 0
_080A5340: .4byte 0xffffff00
_080A5344:
cmp r3, 0x7F
ble _080A5372
ldrb r2, [r5]
mov r8, r2
adds r5, 0x1
adds r6, r0, 0
subs r6, 0x7F
cmp r3, 0x7F
ble _080A538E
adds r2, r3, 0
subs r2, 0x7F
_080A535A:
ldrb r1, [r4]
mov r0, r8
eors r0, r1
mov r1, r12
strb r0, [r1]
adds r4, 0x1
movs r0, 0x1
add r12, r0
subs r2, 0x1
cmp r2, 0
bne _080A535A
b _080A538E
_080A5372:
movs r2, 0
adds r6, r0, 0x1
cmp r2, r3
bgt _080A538E
adds r2, r3, 0x1
_080A537C:
ldrb r0, [r4]
mov r1, r12
strb r0, [r1]
adds r4, 0x1
movs r0, 0x1
add r12, r0
subs r2, 0x1
cmp r2, 0
bne _080A537C
_080A538E:
adds r0, r6, r3
cmp r0, r7
blt _080A5310
_080A5394:
add r9, r7
mov r1, r9
cmp r1, 0xFF
bgt _080A53AE
movs r0, 0xFF
_080A539E:
mov r2, r12
strb r0, [r2]
movs r3, 0x1
add r12, r3
add r9, r3
mov r1, r9
cmp r1, 0xFF
ble _080A539E
_080A53AE:
ldr r1, [sp, 0x14]
mov r0, r10
ldr r2, [sp, 0x10]
cmp r1, r2
bge _080A53BA
b _080A526A
_080A53BA:
ldr r3, [sp, 0x8]
cmp r0, r3
bge _080A53E6
movs r1, 0xFF
_080A53C2:
adds r0, 0x1
mov r10, r0
movs r0, 0xFF
mov r9, r0
_080A53CA:
mov r2, r12
strb r1, [r2]
movs r3, 0x1
add r12, r3
movs r0, 0x1
negs r0, r0
add r9, r0
mov r2, r9
cmp r2, 0
bge _080A53CA
mov r0, r10
ldr r3, [sp, 0x8]
cmp r0, r3
blt _080A53C2
_080A53E6:
mov r8, r5
b _080A547E
_080A53EA:
ldr r1, [sp]
movs r0, 0
ldr r2, [sp, 0x4]
ldrb r2, [r2, 0x1]
str r2, [sp, 0x10]
ldr r3, [sp, 0x4]
ldrh r2, [r3, 0xA]
mov r3, sp
strh r2, [r3, 0xC]
movs r6, 0xFF
_080A53FE:
adds r5, r0, 0x1
movs r4, 0xFF
_080A5402:
strb r6, [r1]
adds r1, 0x1
subs r4, 0x1
cmp r4, 0
bge _080A5402
adds r0, r5, 0
cmp r0, 0x3
ble _080A53FE
movs r4, 0
ldr r3, [sp, 0x10]
cmp r4, r3
bge _080A5460
ldr r2, [sp, 0x4]
ldrb r7, [r2]
movs r3, 0xFF
_080A5420:
adds r5, r0, 0x1
adds r2, r4, 0x1
movs r4, 0x4
_080A5426:
strb r3, [r1]
adds r1, 0x1
subs r4, 0x1
cmp r4, 0
bge _080A5426
movs r4, 0x5
cmp r7, 0
beq _080A5444
movs r6, 0
adds r0, r7, 0
_080A543A:
strb r6, [r1]
adds r1, 0x1
subs r0, 0x1
cmp r0, 0
bne _080A543A
_080A5444:
adds r4, r7
cmp r4, 0xFF
bgt _080A5456
movs r0, 0xFF
_080A544C:
strb r0, [r1]
adds r1, 0x1
adds r4, 0x1
cmp r4, 0xFF
ble _080A544C
_080A5456:
adds r4, r2, 0
adds r0, r5, 0
ldr r2, [sp, 0x10]
cmp r4, r2
blt _080A5420
_080A5460:
ldr r3, [sp, 0x8]
cmp r0, r3
bge _080A547E
movs r6, 0xFF
_080A5468:
adds r5, r0, 0x1
movs r4, 0xFF
_080A546C:
strb r6, [r1]
adds r1, 0x1
subs r4, 0x1
cmp r4, 0
bge _080A546C
adds r0, r5, 0
ldr r2, [sp, 0x8]
cmp r0, r2
blt _080A5468
_080A547E:
mov r3, sp
ldrh r3, [r3, 0xC]
lsls r0, r3, 16
cmp r0, 0
bgt _080A548A
b _080A5590
_080A548A:
mov r6, r8
ldr r0, [sp]
movs r1, 0x80
lsls r1, 3
adds r2, r0, r1
movs r0, 0
ldr r3, [sp, 0x10]
cmp r0, r3
bge _080A5586
movs r1, 0xFB
mov r10, r1
_080A54A0:
adds r2, 0x5
movs r4, 0
cmp r0, 0
bne _080A54EC
ldr r3, [sp, 0x4]
ldrb r7, [r3]
movs r1, 0x1
mov r9, r1
cmp r0, r7
bge _080A5574
_080A54B4:
ldrb r1, [r6]
adds r6, 0x1
cmp r1, 0x7F
ble _080A54DE
subs r4, 0x7F
cmp r1, 0x7F
ble _080A54D6
movs r5, 0x80
adds r3, r1, 0
subs r3, 0x7F
_080A54C8:
ldrb r0, [r2]
orrs r0, r5
strb r0, [r2]
adds r2, 0x1
subs r3, 0x1
cmp r3, 0
bne _080A54C8
_080A54D6:
adds r4, r1
ldr r3, [sp, 0x4]
ldrb r7, [r3]
b _080A54E6
_080A54DE:
adds r0, r1, 0x1
adds r2, r0
adds r0, r4, 0x1
adds r4, r0, r1
_080A54E6:
cmp r4, r7
blt _080A54B4
b _080A5574
_080A54EC:
ldr r1, _080A5538
adds r1, r2
mov r12, r1
ldr r3, [sp, 0x4]
ldrb r7, [r3]
adds r0, 0x1
mov r9, r0
cmp r4, r7
bge _080A5574
_080A54FE:
ldrb r5, [r6]
adds r6, 0x1
cmp r5, 0x7F
ble _080A553C
subs r4, 0x7F
cmp r5, 0x7F
ble _080A556A
movs r7, 0x80
movs r0, 0x80
mov r8, r0
adds r3, r5, 0
subs r3, 0x7F
_080A5516:
mov r0, r12
ldrb r1, [r0]
mov r0, r8
ands r0, r1
movs r1, 0x1
add r12, r1
cmp r0, 0
bne _080A552C
ldrb r0, [r2]
orrs r0, r7
strb r0, [r2]
_080A552C:
adds r2, 0x1
subs r3, 0x1
cmp r3, 0
bne _080A5516
b _080A556A
.align 2, 0
_080A5538: .4byte 0xffffff00
_080A553C:
movs r3, 0
adds r4, 0x1
cmp r3, r5
bgt _080A556A
movs r7, 0x80
movs r3, 0x80
mov r8, r3
adds r3, r5, 0x1
_080A554C:
mov r0, r12
ldrb r1, [r0]
mov r0, r8
ands r0, r1
movs r1, 0x1
add r12, r1
cmp r0, 0
beq _080A5562
ldrb r0, [r2]
orrs r0, r7
strb r0, [r2]
_080A5562:
adds r2, 0x1
subs r3, 0x1
cmp r3, 0
bne _080A554C
_080A556A:
adds r4, r5
ldr r3, [sp, 0x4]
ldrb r7, [r3]
cmp r4, r7
blt _080A54FE
_080A5574:
mov r1, r10
subs r0, r1, r7
adds r2, r0
mov r0, r9
ldr r3, [sp, 0x4]
ldrb r3, [r3, 0x1]
str r3, [sp, 0x10]
cmp r0, r3
blt _080A54A0
_080A5586:
mov r8, r6
ldr r0, [sp, 0x4]
ldrh r1, [r0, 0xA]
mov r0, sp
strh r1, [r0, 0xC]
_080A5590:
mov r2, sp
ldrh r2, [r2, 0xC]
lsls r0, r2, 16
asrs r0, 16
cmp r0, 0x1
ble _080A568C
mov r6, r8
ldr r3, [sp]
movs r0, 0x80
lsls r0, 3
adds r2, r3, r0
movs r0, 0
b _080A5684
_080A55AA:
adds r2, 0x5
movs r4, 0
cmp r0, 0
bne _080A55F2
ldr r3, [sp, 0x4]
ldrb r7, [r3]
movs r1, 0x1
mov r10, r1
cmp r0, r7
bge _080A567C
_080A55BE:
ldrb r1, [r6]
adds r6, 0x1
cmp r1, 0x7F
ble _080A55E4
subs r4, 0x7F
cmp r1, 0x7F
ble _080A55E0
movs r5, 0x40
adds r3, r1, 0
subs r3, 0x7F
_080A55D2:
ldrb r0, [r2]
orrs r0, r5
strb r0, [r2]
adds r2, 0x1
subs r3, 0x1
cmp r3, 0
bne _080A55D2
_080A55E0:
adds r4, r1
b _080A55EC
_080A55E4:
adds r0, r1, 0x1
adds r2, r0
adds r0, r4, 0x1
adds r4, r0, r1
_080A55EC:
cmp r4, r7
blt _080A55BE
b _080A567C
_080A55F2:
ldr r3, _080A5640
adds r3, r2
mov r12, r3
ldr r1, [sp, 0x4]
ldrb r7, [r1]
adds r0, 0x1
mov r10, r0
cmp r4, r7
bge _080A567C
_080A5604:
ldrb r5, [r6]
adds r6, 0x1
cmp r5, 0x7F
ble _080A5644
subs r4, 0x7F
cmp r5, 0x7F
ble _080A5676
movs r3, 0x40
mov r8, r3
movs r0, 0x40
mov r9, r0
adds r3, r5, 0
subs r3, 0x7F
_080A561E:
mov r0, r12
ldrb r1, [r0]
mov r0, r9
ands r0, r1
movs r1, 0x1
add r12, r1
cmp r0, 0
bne _080A5636
ldrb r0, [r2]
mov r1, r8
orrs r0, r1
strb r0, [r2]
_080A5636:
adds r2, 0x1
subs r3, 0x1
cmp r3, 0
bne _080A561E
b _080A5676
.align 2, 0
_080A5640: .4byte 0xffffff00
_080A5644:
movs r3, 0
adds r4, 0x1
cmp r3, r5
bgt _080A5676
movs r3, 0x40
mov r8, r3
movs r0, 0x40
mov r9, r0
adds r3, r5, 0x1
_080A5656:
mov r0, r12
ldrb r1, [r0]
mov r0, r9
ands r0, r1
movs r1, 0x1
add r12, r1
cmp r0, 0
beq _080A566E
ldrb r0, [r2]
mov r1, r8
orrs r0, r1
strb r0, [r2]
_080A566E:
adds r2, 0x1
subs r3, 0x1
cmp r3, 0
bne _080A5656
_080A5676:
adds r4, r5
cmp r4, r7
blt _080A5604
_080A567C:
movs r3, 0xFB
subs r0, r3, r7
adds r2, r0
mov r0, r10
_080A5684:
ldr r1, [sp, 0x10]
cmp r0, r1
blt _080A55AA
mov r8, r6
_080A568C:
mov r0, r8
add sp, 0x18
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_80A5204
thumb_func_start sub_80A56A0
sub_80A56A0:
push {lr}
adds r3, r0, 0
adds r2, r1, 0
lsls r3, 24
lsrs r3, 24
lsls r2, 24
lsrs r2, 24
ldr r0, _080A56BC
ldr r0, [r0]
adds r1, r3, 0
bl sub_80A3B80
pop {r0}
bx r0
.align 2, 0
_080A56BC: .4byte gGroundMapDungeon_3001B70
thumb_func_end sub_80A56A0
thumb_func_start sub_80A56C0
sub_80A56C0:
push {lr}
adds r2, r0, 0
ldr r0, _080A56D4
ldr r0, [r0]
movs r1, 0
bl sub_80A4558
pop {r0}
bx r0
.align 2, 0
_080A56D4: .4byte gGroundMapDungeon_3001B70
thumb_func_end sub_80A56C0
thumb_func_start sub_80A56D8
sub_80A56D8:
push {lr}
adds r2, r0, 0
ldr r0, _080A56EC
ldr r0, [r0]
movs r1, 0
bl sub_80A456C
pop {r0}
bx r0
.align 2, 0
_080A56EC: .4byte gGroundMapDungeon_3001B70
thumb_func_end sub_80A56D8
thumb_func_start sub_80A56F0
sub_80A56F0:
ldr r1, _080A5700
ldr r2, [r1]
adds r2, 0xE8
ldr r1, [r0, 0x4]
ldr r0, [r0]
str r0, [r2]
str r1, [r2, 0x4]
bx lr
.align 2, 0
_080A5700: .4byte gGroundMapAction
thumb_func_end sub_80A56F0
thumb_func_start sub_80A5704
sub_80A5704:
ldr r1, _080A5724
ldr r3, [r1]
adds r2, r3, 0
adds r2, 0xF8
ldr r1, [r0, 0x4]
ldr r0, [r0]
str r0, [r2]
str r1, [r2, 0x4]
adds r0, r3, 0
adds r0, 0xF0
movs r1, 0
str r1, [r0]
adds r0, 0x4
str r1, [r0]
bx lr
.align 2, 0
_080A5724: .4byte gGroundMapAction
thumb_func_end sub_80A5704
thumb_func_start sub_80A5728
sub_80A5728:
ldr r0, _080A5734
ldr r0, [r0]
adds r0, 0xE4
movs r1, 0
ldrsh r0, [r0, r1]
bx lr
.align 2, 0
_080A5734: .4byte gGroundMapAction
thumb_func_end sub_80A5728
thumb_func_start sub_80A5738
sub_80A5738:
ldr r0, _080A5750
ldr r0, [r0]
adds r0, 0xE4
movs r2, 0
ldrsh r1, [r0, r2]
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
ldr r1, _080A5754
adds r0, r1
bx lr
.align 2, 0
_080A5750: .4byte gGroundMapAction
_080A5754: .4byte gGroundMapConversionTable
thumb_func_end sub_80A5738
thumb_func_start sub_80A5758
sub_80A5758:
push {lr}
adds r1, r0, 0
ldr r0, _080A5768
ldr r0, [r0]
cmp r0, 0
bne _080A576C
movs r0, 0
b _080A5772
.align 2, 0
_080A5768: .4byte gGroundMapDungeon_3001B70
_080A576C:
bl sub_80A4608
movs r0, 0x1
_080A5772:
pop {r1}
bx r1
thumb_func_end sub_80A5758
thumb_func_start GetCurrentDungeonBounds
GetCurrentDungeonBounds:
push {lr}
adds r3, r0, 0
adds r2, r1, 0
ldr r0, _080A578C
ldr r0, [r0]
cmp r0, 0
bne _080A5790
movs r0, 0
b _080A5798
.align 2, 0
_080A578C: .4byte gGroundMapDungeon_3001B70
_080A5790:
adds r1, r3, 0
bl GetDungeonBounds
movs r0, 0x1
_080A5798:
pop {r1}
bx r1
thumb_func_end GetCurrentDungeonBounds
thumb_func_start sub_80A579C
sub_80A579C:
push {r4-r7,lr}

View File

@ -10,5 +10,8 @@ void sub_80A2FBC(GroundBg *groundBg, s32 mapFileId_);
void sub_80A3440(GroundBg *groundBg, s32 mapFileId_, const DungeonLocation *dungLoc, s32 a3);
void sub_80A3B80(GroundBg *groundBg, u8 a1, u8 a2);
void sub_80A3BB0(GroundBg *groundBg, s32 a0_);
void sub_80A4558(GroundBg *groundBg, s32 id, PixelPos *dstPos);
void sub_80A4608(GroundBg *groundBg, PixelPos *dstPos);
void GetDungeonBounds(GroundBg *groundBg, PixelPos *dstPos1, PixelPos *dstPos2);
#endif // GUARD_GROUND_BG_H

View File

@ -7,5 +7,6 @@ void FreeGroundMapAction(void);
void sub_80A4B38(void);
void sub_80A4B54(void);
s16 GetAdjustedGroundMap(s32 mapId);
s16 GetGroundMapID(void);
#endif // GUARD_GROUND_MAP_H

View File

@ -8,7 +8,4 @@ void GroundMap_ExecuteStation(s32 _map, s32 _group, s32 _sector, bool32 _setScri
bool8 GroundMapNotifyAll(s16);
bool8 sub_80A4D48(s16 index);
// ground_map_1.s
extern s16 sub_80A5728(void);
#endif // GUARD_GROUND_MAP_1_H

View File

@ -117,8 +117,7 @@ typedef struct GroundMapAction
/* 0x00 */ Action action;
/* 0xE4 */ s16 groundMapId;
u16 fillE6;
u32 unkE8;
u32 unkEC;
PixelPos unkE8;
s32 unkF0;
s32 unkF4;
PixelPos unkF8;

View File

@ -16,7 +16,7 @@
#include "friend_list_menu.h"
#include "ground_lives.h"
#include "ground_main.h"
#include "ground_map_1.h"
#include "ground_map.h"
#include "input.h"
#include "iq_skill_menu.h"
#include "memory.h"
@ -82,7 +82,7 @@ bool8 sub_801D014(Pokemon *a0)
else
sUnknown_203B250->index = NUM_MONSTERS;
sUnknown_203B250->currFriendAreaLocation = MapIdToFriendAreaId(sub_80A5728());
sUnknown_203B250->currFriendAreaLocation = MapIdToFriendAreaId(GetGroundMapID());
sUnknown_203B250->unk8 = 0;
sUnknown_203B250->unk9 = 0;
sUnknown_203B250->unkC = GetPlayerPokemonStruct();

View File

@ -14,7 +14,7 @@
#include "rescue_team_info.h"
#include "input.h"
#include "memory.h"
#include "ground_map_1.h"
#include "ground_map.h"
#include "constants/input.h"
extern bool8 sub_808D750(s32 index_);
@ -95,7 +95,7 @@ bool8 FriendList_Init(u32 r5, u32 windowId, DungeonPos *pos, u32 r10)
}
if (sFriendList->unk0 == 4) {
sFriendList->unk354 = MapIdToFriendAreaId(sub_80A5728());
sFriendList->unk354 = MapIdToFriendAreaId(GetGroundMapID());
}
else {
sFriendList->unk354 = 0;

View File

@ -12,7 +12,7 @@
#include "common_strings.h"
#include "event_flag.h"
#include "friend_list_menu.h"
#include "ground_map_1.h"
#include "ground_map.h"
#include "input.h"
#include "iq_skill_menu.h"
#include "items.h"
@ -62,7 +62,7 @@ bool8 CreateFriendListMenu(s32 param_1)
gUnknown_203B2B4 = MemoryAlloc(sizeof(unkStruct_203B2B4),8);
gUnknown_203B2B4->menuAction1 = 0;
gUnknown_203B2B4->unk0 = param_1;
gUnknown_203B2B4->unkC = MapIdToFriendAreaId(sub_80A5728());
gUnknown_203B2B4->unkC = MapIdToFriendAreaId(GetGroundMapID());
gUnknown_203B2B4->unkD = 0;
if (gUnknown_203B2B4->unk0 == 2) {
SetFriendListMenuState(0);

View File

@ -220,11 +220,11 @@ extern const u8 gUnknown_81176DC[];
extern const u8 gUnknown_8117740[];
extern const DebugLocation gUnknown_81176D0;
extern const DebugLocation gUnknown_8117734;
extern const u32 gUnknown_81176F8[];
extern const u32 gUnknown_8117754[];
extern const PixelPos gUnknown_81176F8;
extern const PixelPos gUnknown_8117754;
void GroundMap_SelectDungeon(s32 mapId, const DungeonLocation *loc, u32 param_2);
void sub_80A56D8(const void *);
void sub_80A56D8(const PixelPos*);
void GroundMap_Select(s32 mapId_)
{
@ -277,8 +277,8 @@ void GroundMap_Select(s32 mapId_)
}
sub_80A2FBC(gGroundMapDungeon_3001B70, ptr->mapFileTableId);
gGroundMapAction->unkE8 = 0;
gGroundMapAction->unkEC = 0;
gGroundMapAction->unkE8.x = 0;
gGroundMapAction->unkE8.y = 0;
gGroundMapAction->unkF0 = 0;
gGroundMapAction->unkF4 = 0;
gGroundMapAction->unkF8.x = 0;
@ -368,8 +368,8 @@ void GroundMap_SelectDungeon(s32 mapId_, const DungeonLocation *loc, u32 param_2
GroundBg_Init(gGroundMapDungeon_3001B70, &gUnknown_8117354);
sub_80A5EDC(1);
sub_80A3440(gGroundMapDungeon_3001B70, ptr->mapFileTableId, loc, param_2);
gGroundMapAction->unkE8 = 0;
gGroundMapAction->unkEC = 0;
gGroundMapAction->unkE8.x = 0;
gGroundMapAction->unkE8.y = 0;
gGroundMapAction->unkF0 = 0;
gGroundMapAction->unkF4 = 0;
gGroundMapAction->unkF8.x = 0;
@ -378,3 +378,738 @@ void GroundMap_SelectDungeon(s32 mapId_, const DungeonLocation *loc, u32 param_2
sub_80A56D8(&gUnknown_8117754);
}
NAKED
void sub_80A5204(void)
{
asm_unified(
" push {r4-r7,lr} \n"
" mov r7, r10 \n"
" mov r6, r9 \n"
" mov r5, r8 \n"
" push {r5-r7} \n"
" sub sp, 0x18 \n"
" str r0, [sp] \n"
" mov r8, r1 \n"
" str r2, [sp, 0x4] \n"
" str r3, [sp, 0x8] \n"
" movs r1, 0x8 \n"
" ldrsh r0, [r2, r1] \n"
" cmp r0, 0 \n"
" bgt _080A5222 \n"
" b _080A53EA \n"
"_080A5222: \n"
" mov r5, r8 \n"
" ldr r2, [sp] \n"
" mov r12, r2 \n"
" movs r0, 0 \n"
" ldr r3, [sp, 0x4] \n"
" ldrb r3, [r3, 0x1] \n"
" str r3, [sp, 0x10] \n"
" ldr r1, [sp, 0x4] \n"
" ldrh r2, [r1, 0xA] \n"
" mov r1, sp \n"
" strh r2, [r1, 0xC] \n"
" movs r1, 0xFF \n"
"_080A523A: \n"
" adds r0, 0x1 \n"
" mov r10, r0 \n"
" movs r3, 0xFF \n"
" mov r9, r3 \n"
"_080A5242: \n"
" mov r0, r12 \n"
" strb r1, [r0] \n"
" movs r2, 0x1 \n"
" add r12, r2 \n"
" movs r3, 0x1 \n"
" negs r3, r3 \n"
" add r9, r3 \n"
" mov r0, r9 \n"
" cmp r0, 0 \n"
" bge _080A5242 \n"
" mov r0, r10 \n"
" cmp r0, 0x3 \n"
" ble _080A523A \n"
" movs r1, 0 \n"
" ldr r2, [sp, 0x10] \n"
" cmp r1, r2 \n"
" blt _080A5266 \n"
" b _080A53BA \n"
"_080A5266: \n"
" ldr r3, [sp, 0x4] \n"
" ldrb r7, [r3] \n"
"_080A526A: \n"
" adds r0, 0x1 \n"
" mov r10, r0 \n"
" adds r0, r1, 0x1 \n"
" str r0, [sp, 0x14] \n"
" movs r0, 0xFF \n"
" movs r2, 0x4 \n"
" mov r9, r2 \n"
"_080A5278: \n"
" mov r3, r12 \n"
" strb r0, [r3] \n"
" movs r2, 0x1 \n"
" add r12, r2 \n"
" movs r3, 0x1 \n"
" negs r3, r3 \n"
" add r9, r3 \n"
" mov r2, r9 \n"
" cmp r2, 0 \n"
" bge _080A5278 \n"
" movs r3, 0x5 \n"
" mov r9, r3 \n"
" movs r0, 0 \n"
" cmp r1, 0 \n"
" bne _080A5308 \n"
" cmp r1, r7 \n"
" bge _080A5394 \n"
"_080A529A: \n"
" ldrb r1, [r5] \n"
" adds r5, 0x1 \n"
" cmp r1, 0xBF \n"
" ble _080A52C2 \n"
" adds r6, r0, 0 \n"
" subs r6, 0xBF \n"
" cmp r1, 0xBF \n"
" ble _080A5300 \n"
" adds r2, r1, 0 \n"
" subs r2, 0xBF \n"
"_080A52AE: \n"
" ldrb r0, [r5] \n"
" mov r3, r12 \n"
" strb r0, [r3] \n"
" adds r5, 0x1 \n"
" movs r0, 0x1 \n"
" add r12, r0 \n"
" subs r2, 0x1 \n"
" cmp r2, 0 \n"
" bne _080A52AE \n"
" b _080A5300 \n"
"_080A52C2: \n"
" cmp r1, 0x7F \n"
" ble _080A52E6 \n"
" ldrb r4, [r5] \n"
" adds r5, 0x1 \n"
" adds r6, r0, 0 \n"
" subs r6, 0x7F \n"
" cmp r1, 0x7F \n"
" ble _080A5300 \n"
" adds r2, r1, 0 \n"
" subs r2, 0x7F \n"
"_080A52D6: \n"
" mov r3, r12 \n"
" strb r4, [r3] \n"
" movs r0, 0x1 \n"
" add r12, r0 \n"
" subs r2, 0x1 \n"
" cmp r2, 0 \n"
" bne _080A52D6 \n"
" b _080A5300 \n"
"_080A52E6: \n"
" movs r2, 0 \n"
" adds r6, r0, 0x1 \n"
" cmp r2, r1 \n"
" bgt _080A5300 \n"
" movs r0, 0 \n"
" adds r2, r1, 0x1 \n"
"_080A52F2: \n"
" mov r3, r12 \n"
" strb r0, [r3] \n"
" movs r3, 0x1 \n"
" add r12, r3 \n"
" subs r2, 0x1 \n"
" cmp r2, 0 \n"
" bne _080A52F2 \n"
"_080A5300: \n"
" adds r0, r6, r1 \n"
" cmp r0, r7 \n"
" blt _080A529A \n"
" b _080A5394 \n"
"_080A5308: \n"
" ldr r4, _080A5340 \n"
" add r4, r12 \n"
" cmp r0, r7 \n"
" bge _080A5394 \n"
"_080A5310: \n"
" ldrb r3, [r5] \n"
" adds r5, 0x1 \n"
" cmp r3, 0xBF \n"
" ble _080A5344 \n"
" adds r6, r0, 0 \n"
" subs r6, 0xBF \n"
" cmp r3, 0xBF \n"
" ble _080A538E \n"
" adds r2, r3, 0 \n"
" subs r2, 0xBF \n"
"_080A5324: \n"
" ldrb r1, [r5] \n"
" ldrb r0, [r4] \n"
" eors r1, r0 \n"
" mov r0, r12 \n"
" strb r1, [r0] \n"
" adds r4, 0x1 \n"
" adds r5, 0x1 \n"
" movs r1, 0x1 \n"
" add r12, r1 \n"
" subs r2, 0x1 \n"
" cmp r2, 0 \n"
" bne _080A5324 \n"
" b _080A538E \n"
" .align 2, 0 \n"
"_080A5340: .4byte 0xffffff00\n"
"_080A5344: \n"
" cmp r3, 0x7F \n"
" ble _080A5372 \n"
" ldrb r2, [r5] \n"
" mov r8, r2 \n"
" adds r5, 0x1 \n"
" adds r6, r0, 0 \n"
" subs r6, 0x7F \n"
" cmp r3, 0x7F \n"
" ble _080A538E \n"
" adds r2, r3, 0 \n"
" subs r2, 0x7F \n"
"_080A535A: \n"
" ldrb r1, [r4] \n"
" mov r0, r8 \n"
" eors r0, r1 \n"
" mov r1, r12 \n"
" strb r0, [r1] \n"
" adds r4, 0x1 \n"
" movs r0, 0x1 \n"
" add r12, r0 \n"
" subs r2, 0x1 \n"
" cmp r2, 0 \n"
" bne _080A535A \n"
" b _080A538E \n"
"_080A5372: \n"
" movs r2, 0 \n"
" adds r6, r0, 0x1 \n"
" cmp r2, r3 \n"
" bgt _080A538E \n"
" adds r2, r3, 0x1 \n"
"_080A537C: \n"
" ldrb r0, [r4] \n"
" mov r1, r12 \n"
" strb r0, [r1] \n"
" adds r4, 0x1 \n"
" movs r0, 0x1 \n"
" add r12, r0 \n"
" subs r2, 0x1 \n"
" cmp r2, 0 \n"
" bne _080A537C \n"
"_080A538E: \n"
" adds r0, r6, r3 \n"
" cmp r0, r7 \n"
" blt _080A5310 \n"
"_080A5394: \n"
" add r9, r7 \n"
" mov r1, r9 \n"
" cmp r1, 0xFF \n"
" bgt _080A53AE \n"
" movs r0, 0xFF \n"
"_080A539E: \n"
" mov r2, r12 \n"
" strb r0, [r2] \n"
" movs r3, 0x1 \n"
" add r12, r3 \n"
" add r9, r3 \n"
" mov r1, r9 \n"
" cmp r1, 0xFF \n"
" ble _080A539E \n"
"_080A53AE: \n"
" ldr r1, [sp, 0x14] \n"
" mov r0, r10 \n"
" ldr r2, [sp, 0x10] \n"
" cmp r1, r2 \n"
" bge _080A53BA \n"
" b _080A526A \n"
"_080A53BA: \n"
" ldr r3, [sp, 0x8] \n"
" cmp r0, r3 \n"
" bge _080A53E6 \n"
" movs r1, 0xFF \n"
"_080A53C2: \n"
" adds r0, 0x1 \n"
" mov r10, r0 \n"
" movs r0, 0xFF \n"
" mov r9, r0 \n"
"_080A53CA: \n"
" mov r2, r12 \n"
" strb r1, [r2] \n"
" movs r3, 0x1 \n"
" add r12, r3 \n"
" movs r0, 0x1 \n"
" negs r0, r0 \n"
" add r9, r0 \n"
" mov r2, r9 \n"
" cmp r2, 0 \n"
" bge _080A53CA \n"
" mov r0, r10 \n"
" ldr r3, [sp, 0x8] \n"
" cmp r0, r3 \n"
" blt _080A53C2 \n"
"_080A53E6: \n"
" mov r8, r5 \n"
" b _080A547E \n"
"_080A53EA: \n"
" ldr r1, [sp] \n"
" movs r0, 0 \n"
" ldr r2, [sp, 0x4] \n"
" ldrb r2, [r2, 0x1] \n"
" str r2, [sp, 0x10] \n"
" ldr r3, [sp, 0x4] \n"
" ldrh r2, [r3, 0xA] \n"
" mov r3, sp \n"
" strh r2, [r3, 0xC] \n"
" movs r6, 0xFF \n"
"_080A53FE: \n"
" adds r5, r0, 0x1 \n"
" movs r4, 0xFF \n"
"_080A5402: \n"
" strb r6, [r1] \n"
" adds r1, 0x1 \n"
" subs r4, 0x1 \n"
" cmp r4, 0 \n"
" bge _080A5402 \n"
" adds r0, r5, 0 \n"
" cmp r0, 0x3 \n"
" ble _080A53FE \n"
" movs r4, 0 \n"
" ldr r3, [sp, 0x10] \n"
" cmp r4, r3 \n"
" bge _080A5460 \n"
" ldr r2, [sp, 0x4] \n"
" ldrb r7, [r2] \n"
" movs r3, 0xFF \n"
"_080A5420: \n"
" adds r5, r0, 0x1 \n"
" adds r2, r4, 0x1 \n"
" movs r4, 0x4 \n"
"_080A5426: \n"
" strb r3, [r1] \n"
" adds r1, 0x1 \n"
" subs r4, 0x1 \n"
" cmp r4, 0 \n"
" bge _080A5426 \n"
" movs r4, 0x5 \n"
" cmp r7, 0 \n"
" beq _080A5444 \n"
" movs r6, 0 \n"
" adds r0, r7, 0 \n"
"_080A543A: \n"
" strb r6, [r1] \n"
" adds r1, 0x1 \n"
" subs r0, 0x1 \n"
" cmp r0, 0 \n"
" bne _080A543A \n"
"_080A5444: \n"
" adds r4, r7 \n"
" cmp r4, 0xFF \n"
" bgt _080A5456 \n"
" movs r0, 0xFF \n"
"_080A544C: \n"
" strb r0, [r1] \n"
" adds r1, 0x1 \n"
" adds r4, 0x1 \n"
" cmp r4, 0xFF \n"
" ble _080A544C \n"
"_080A5456: \n"
" adds r4, r2, 0 \n"
" adds r0, r5, 0 \n"
" ldr r2, [sp, 0x10] \n"
" cmp r4, r2 \n"
" blt _080A5420 \n"
"_080A5460: \n"
" ldr r3, [sp, 0x8] \n"
" cmp r0, r3 \n"
" bge _080A547E \n"
" movs r6, 0xFF \n"
"_080A5468: \n"
" adds r5, r0, 0x1 \n"
" movs r4, 0xFF \n"
"_080A546C: \n"
" strb r6, [r1] \n"
" adds r1, 0x1 \n"
" subs r4, 0x1 \n"
" cmp r4, 0 \n"
" bge _080A546C \n"
" adds r0, r5, 0 \n"
" ldr r2, [sp, 0x8] \n"
" cmp r0, r2 \n"
" blt _080A5468 \n"
"_080A547E: \n"
" mov r3, sp \n"
" ldrh r3, [r3, 0xC] \n"
" lsls r0, r3, 16 \n"
" cmp r0, 0 \n"
" bgt _080A548A \n"
" b _080A5590 \n"
"_080A548A: \n"
" mov r6, r8 \n"
" ldr r0, [sp] \n"
" movs r1, 0x80 \n"
" lsls r1, 3 \n"
" adds r2, r0, r1 \n"
" movs r0, 0 \n"
" ldr r3, [sp, 0x10] \n"
" cmp r0, r3 \n"
" bge _080A5586 \n"
" movs r1, 0xFB \n"
" mov r10, r1 \n"
"_080A54A0: \n"
" adds r2, 0x5 \n"
" movs r4, 0 \n"
" cmp r0, 0 \n"
" bne _080A54EC \n"
" ldr r3, [sp, 0x4] \n"
" ldrb r7, [r3] \n"
" movs r1, 0x1 \n"
" mov r9, r1 \n"
" cmp r0, r7 \n"
" bge _080A5574 \n"
"_080A54B4: \n"
" ldrb r1, [r6] \n"
" adds r6, 0x1 \n"
" cmp r1, 0x7F \n"
" ble _080A54DE \n"
" subs r4, 0x7F \n"
" cmp r1, 0x7F \n"
" ble _080A54D6 \n"
" movs r5, 0x80 \n"
" adds r3, r1, 0 \n"
" subs r3, 0x7F \n"
"_080A54C8: \n"
" ldrb r0, [r2] \n"
" orrs r0, r5 \n"
" strb r0, [r2] \n"
" adds r2, 0x1 \n"
" subs r3, 0x1 \n"
" cmp r3, 0 \n"
" bne _080A54C8 \n"
"_080A54D6: \n"
" adds r4, r1 \n"
" ldr r3, [sp, 0x4] \n"
" ldrb r7, [r3] \n"
" b _080A54E6 \n"
"_080A54DE: \n"
" adds r0, r1, 0x1 \n"
" adds r2, r0 \n"
" adds r0, r4, 0x1 \n"
" adds r4, r0, r1 \n"
"_080A54E6: \n"
" cmp r4, r7 \n"
" blt _080A54B4 \n"
" b _080A5574 \n"
"_080A54EC: \n"
" ldr r1, _080A5538 \n"
" adds r1, r2 \n"
" mov r12, r1 \n"
" ldr r3, [sp, 0x4] \n"
" ldrb r7, [r3] \n"
" adds r0, 0x1 \n"
" mov r9, r0 \n"
" cmp r4, r7 \n"
" bge _080A5574 \n"
"_080A54FE: \n"
" ldrb r5, [r6] \n"
" adds r6, 0x1 \n"
" cmp r5, 0x7F \n"
" ble _080A553C \n"
" subs r4, 0x7F \n"
" cmp r5, 0x7F \n"
" ble _080A556A \n"
" movs r7, 0x80 \n"
" movs r0, 0x80 \n"
" mov r8, r0 \n"
" adds r3, r5, 0 \n"
" subs r3, 0x7F \n"
"_080A5516: \n"
" mov r0, r12 \n"
" ldrb r1, [r0] \n"
" mov r0, r8 \n"
" ands r0, r1 \n"
" movs r1, 0x1 \n"
" add r12, r1 \n"
" cmp r0, 0 \n"
" bne _080A552C \n"
" ldrb r0, [r2] \n"
" orrs r0, r7 \n"
" strb r0, [r2] \n"
"_080A552C: \n"
" adds r2, 0x1 \n"
" subs r3, 0x1 \n"
" cmp r3, 0 \n"
" bne _080A5516 \n"
" b _080A556A \n"
" .align 2, 0 \n"
"_080A5538: .4byte 0xffffff00\n"
"_080A553C: \n"
" movs r3, 0 \n"
" adds r4, 0x1 \n"
" cmp r3, r5 \n"
" bgt _080A556A \n"
" movs r7, 0x80 \n"
" movs r3, 0x80 \n"
" mov r8, r3 \n"
" adds r3, r5, 0x1 \n"
"_080A554C: \n"
" mov r0, r12 \n"
" ldrb r1, [r0] \n"
" mov r0, r8 \n"
" ands r0, r1 \n"
" movs r1, 0x1 \n"
" add r12, r1 \n"
" cmp r0, 0 \n"
" beq _080A5562 \n"
" ldrb r0, [r2] \n"
" orrs r0, r7 \n"
" strb r0, [r2] \n"
"_080A5562: \n"
" adds r2, 0x1 \n"
" subs r3, 0x1 \n"
" cmp r3, 0 \n"
" bne _080A554C \n"
"_080A556A: \n"
" adds r4, r5 \n"
" ldr r3, [sp, 0x4] \n"
" ldrb r7, [r3] \n"
" cmp r4, r7 \n"
" blt _080A54FE \n"
"_080A5574: \n"
" mov r1, r10 \n"
" subs r0, r1, r7 \n"
" adds r2, r0 \n"
" mov r0, r9 \n"
" ldr r3, [sp, 0x4] \n"
" ldrb r3, [r3, 0x1] \n"
" str r3, [sp, 0x10] \n"
" cmp r0, r3 \n"
" blt _080A54A0 \n"
"_080A5586: \n"
" mov r8, r6 \n"
" ldr r0, [sp, 0x4] \n"
" ldrh r1, [r0, 0xA] \n"
" mov r0, sp \n"
" strh r1, [r0, 0xC] \n"
"_080A5590: \n"
" mov r2, sp \n"
" ldrh r2, [r2, 0xC] \n"
" lsls r0, r2, 16 \n"
" asrs r0, 16 \n"
" cmp r0, 0x1 \n"
" ble _080A568C \n"
" mov r6, r8 \n"
" ldr r3, [sp] \n"
" movs r0, 0x80 \n"
" lsls r0, 3 \n"
" adds r2, r3, r0 \n"
" movs r0, 0 \n"
" b _080A5684 \n"
"_080A55AA: \n"
" adds r2, 0x5 \n"
" movs r4, 0 \n"
" cmp r0, 0 \n"
" bne _080A55F2 \n"
" ldr r3, [sp, 0x4] \n"
" ldrb r7, [r3] \n"
" movs r1, 0x1 \n"
" mov r10, r1 \n"
" cmp r0, r7 \n"
" bge _080A567C \n"
"_080A55BE: \n"
" ldrb r1, [r6] \n"
" adds r6, 0x1 \n"
" cmp r1, 0x7F \n"
" ble _080A55E4 \n"
" subs r4, 0x7F \n"
" cmp r1, 0x7F \n"
" ble _080A55E0 \n"
" movs r5, 0x40 \n"
" adds r3, r1, 0 \n"
" subs r3, 0x7F \n"
"_080A55D2: \n"
" ldrb r0, [r2] \n"
" orrs r0, r5 \n"
" strb r0, [r2] \n"
" adds r2, 0x1 \n"
" subs r3, 0x1 \n"
" cmp r3, 0 \n"
" bne _080A55D2 \n"
"_080A55E0: \n"
" adds r4, r1 \n"
" b _080A55EC \n"
"_080A55E4: \n"
" adds r0, r1, 0x1 \n"
" adds r2, r0 \n"
" adds r0, r4, 0x1 \n"
" adds r4, r0, r1 \n"
"_080A55EC: \n"
" cmp r4, r7 \n"
" blt _080A55BE \n"
" b _080A567C \n"
"_080A55F2: \n"
" ldr r3, _080A5640 \n"
" adds r3, r2 \n"
" mov r12, r3 \n"
" ldr r1, [sp, 0x4] \n"
" ldrb r7, [r1] \n"
" adds r0, 0x1 \n"
" mov r10, r0 \n"
" cmp r4, r7 \n"
" bge _080A567C \n"
"_080A5604: \n"
" ldrb r5, [r6] \n"
" adds r6, 0x1 \n"
" cmp r5, 0x7F \n"
" ble _080A5644 \n"
" subs r4, 0x7F \n"
" cmp r5, 0x7F \n"
" ble _080A5676 \n"
" movs r3, 0x40 \n"
" mov r8, r3 \n"
" movs r0, 0x40 \n"
" mov r9, r0 \n"
" adds r3, r5, 0 \n"
" subs r3, 0x7F \n"
"_080A561E: \n"
" mov r0, r12 \n"
" ldrb r1, [r0] \n"
" mov r0, r9 \n"
" ands r0, r1 \n"
" movs r1, 0x1 \n"
" add r12, r1 \n"
" cmp r0, 0 \n"
" bne _080A5636 \n"
" ldrb r0, [r2] \n"
" mov r1, r8 \n"
" orrs r0, r1 \n"
" strb r0, [r2] \n"
"_080A5636: \n"
" adds r2, 0x1 \n"
" subs r3, 0x1 \n"
" cmp r3, 0 \n"
" bne _080A561E \n"
" b _080A5676 \n"
" .align 2, 0 \n"
"_080A5640: .4byte 0xffffff00\n"
"_080A5644: \n"
" movs r3, 0 \n"
" adds r4, 0x1 \n"
" cmp r3, r5 \n"
" bgt _080A5676 \n"
" movs r3, 0x40 \n"
" mov r8, r3 \n"
" movs r0, 0x40 \n"
" mov r9, r0 \n"
" adds r3, r5, 0x1 \n"
"_080A5656: \n"
" mov r0, r12 \n"
" ldrb r1, [r0] \n"
" mov r0, r9 \n"
" ands r0, r1 \n"
" movs r1, 0x1 \n"
" add r12, r1 \n"
" cmp r0, 0 \n"
" beq _080A566E \n"
" ldrb r0, [r2] \n"
" mov r1, r8 \n"
" orrs r0, r1 \n"
" strb r0, [r2] \n"
"_080A566E: \n"
" adds r2, 0x1 \n"
" subs r3, 0x1 \n"
" cmp r3, 0 \n"
" bne _080A5656 \n"
"_080A5676: \n"
" adds r4, r5 \n"
" cmp r4, r7 \n"
" blt _080A5604 \n"
"_080A567C: \n"
" movs r3, 0xFB \n"
" subs r0, r3, r7 \n"
" adds r2, r0 \n"
" mov r0, r10 \n"
"_080A5684: \n"
" ldr r1, [sp, 0x10] \n"
" cmp r0, r1 \n"
" blt _080A55AA \n"
" mov r8, r6 \n"
"_080A568C: \n"
" mov r0, r8 \n"
" add sp, 0x18 \n"
" pop {r3-r5} \n"
" mov r8, r3 \n"
" mov r9, r4 \n"
" mov r10, r5 \n"
" pop {r4-r7} \n"
" pop {r1} \n"
" bx r1 ");
}
void sub_80A56A0(u8 param_1, u8 param_2)
{
sub_80A3B80(gGroundMapDungeon_3001B70, param_1, param_2);
}
void sub_80A56C0(PixelPos *pos)
{
sub_80A4558(gGroundMapDungeon_3001B70, 0, pos);
}
void sub_80A456C(GroundBg *groundBg, s32 id, const PixelPos *srcPos);
void sub_80A56D8(const PixelPos *pos)
{
sub_80A456C(gGroundMapDungeon_3001B70, 0, pos);
}
void sub_80A56F0(PixelPos *pos)
{
gGroundMapAction->unkE8 = *pos;
}
void sub_80A5704(PixelPos *pos)
{
gGroundMapAction->unkF8 = *pos;
gGroundMapAction->unkF0 = 0;
gGroundMapAction->unkF4 = 0;
}
s16 GetGroundMapID(void)
{
return gGroundMapAction->groundMapId;
}
UNUSED static const GroundConversionStruct *GetGroundConversionStruct(void)
{
return &gGroundMapConversionTable[gGroundMapAction->groundMapId];
}
bool8 sub_80A5758(PixelPos *pos)
{
if(gGroundMapDungeon_3001B70 != NULL)
{
sub_80A4608(gGroundMapDungeon_3001B70, pos);
return TRUE;
}
else {
return FALSE;
}
}
bool8 GetCurrentDungeonBounds(PixelPos *pos1, PixelPos *pos2)
{
if(gGroundMapDungeon_3001B70 != NULL)
{
GetDungeonBounds(gGroundMapDungeon_3001B70, pos1, pos2);
return TRUE;
}
else {
return FALSE;
}
}

View File

@ -82,7 +82,7 @@ void sub_80A59DC(void)
case 0xAA: {
PixelPos pixPos2;
gGroundMapAction->unkF0 += gGroundMapAction->unkE8;
gGroundMapAction->unkF0 += gGroundMapAction->unkE8.x;
gGroundMapAction->unkF8.x += gGroundMapAction->unkF0 / 8;
gGroundMapAction->unkF0 %= 8;
sub_80A4580(gGroundMapDungeon_3001B70, 0, &gGroundMapAction->unkF8);
@ -94,7 +94,7 @@ void sub_80A59DC(void)
case 0xAE: {
PixelPos pixPos2;
gGroundMapAction->unkF0 += gGroundMapAction->unkE8;
gGroundMapAction->unkF0 += gGroundMapAction->unkE8.x;
gGroundMapAction->unkF8.x += gGroundMapAction->unkF0 / 8;
gGroundMapAction->unkF0 %= 8;
sub_80A4580(gGroundMapDungeon_3001B70, 0, &gGroundMapAction->unkF8);
@ -115,8 +115,8 @@ void sub_80A59DC(void)
PixelPos pixPos2;
sub_80A456C(gGroundMapDungeon_3001B70, 0, &pixPos);
gGroundMapAction->unkF0 += gGroundMapAction->unkE8;
gGroundMapAction->unkF4 += gGroundMapAction->unkEC;
gGroundMapAction->unkF0 += gGroundMapAction->unkE8.x;
gGroundMapAction->unkF4 += gGroundMapAction->unkE8.y;
gGroundMapAction->unkF8.x += gGroundMapAction->unkF0 / 8;
gGroundMapAction->unkF8.y += gGroundMapAction->unkF4 / 8;
gGroundMapAction->unkF0 %= 8;
@ -130,8 +130,8 @@ void sub_80A59DC(void)
case 0xB0: {
PixelPos pixPos2;
gGroundMapAction->unkF0 += gGroundMapAction->unkE8;
gGroundMapAction->unkF4 += gGroundMapAction->unkEC;
gGroundMapAction->unkF0 += gGroundMapAction->unkE8.x;
gGroundMapAction->unkF4 += gGroundMapAction->unkE8.y;
gGroundMapAction->unkF8.x += gGroundMapAction->unkF0 / 8;
gGroundMapAction->unkF8.y += gGroundMapAction->unkF4 / 8;
gGroundMapAction->unkF0 %= 8;

View File

@ -160,8 +160,8 @@ bool8 sub_80A87E0();
s16 sub_80A8BFC(s16);
void sub_80A8F50(const u8 *buffer, s32, s32 size);
void sub_80A56A0(s32, s32);
void sub_80A56F0(s32 *);
void sub_80A5704(s32 *);
void sub_80A56F0(PixelPos *);
void sub_80A5704(PixelPos *);
void sub_80A86C8(s16, s32);
void sub_80AC1B0(s16, s32);
void sub_80AD0C8(s16, s32);
@ -3720,17 +3720,17 @@ s32 sub_80A14E8(Action *action, u8 idx, u32 r2, s32 r3)
sub_80A56A0(0, 1);
return 0;
case 0x36: {
s32 sp_328[2];
sp_328[0] = r2;
sp_328[1] = r3;
sub_80A56F0(sp_328);
PixelPos sp_328;
sp_328.x = r2;
sp_328.y = r3;
sub_80A56F0(&sp_328);
return 0;
}
case 0x37: {
s32 sp_330[2];
sp_330[0] = r2;
sp_330[1] = r3;
sub_80A5704(sp_330);
PixelPos sp_330;
sp_330.x = r2;
sp_330.y = r3;
sub_80A5704(&sp_330);
return 0;
}
case 0x39: