through sub_80598CC
This commit is contained in:
@@ -884,7 +884,7 @@ sub_806CF38: @ 806CF38
|
||||
ldrh r1, [r4, 0x2]
|
||||
b _0806CF7E
|
||||
_0806CF60:
|
||||
ldr r1, _0806CFA4 @ =gUnknown_826D2D8
|
||||
ldr r1, _0806CFA4 @ =gDirectionToVectors
|
||||
lsls r2, r6, 3
|
||||
adds r0, r2, r1
|
||||
ldr r3, [r0]
|
||||
@@ -919,7 +919,7 @@ _0806CF9E:
|
||||
movs r0, 0
|
||||
b _0806CFDE
|
||||
.align 2, 0
|
||||
_0806CFA4: .4byte gUnknown_826D2D8
|
||||
_0806CFA4: .4byte gDirectionToVectors
|
||||
_0806CFA8: .4byte gMapObjects
|
||||
_0806CFAC:
|
||||
movs r4, 0
|
||||
@@ -994,7 +994,7 @@ _0806D02A:
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _0806D092
|
||||
ldr r1, _0806D09C @ =gUnknown_826D2D8
|
||||
ldr r1, _0806D09C @ =gDirectionToVectors
|
||||
mov r0, r8
|
||||
lsls r2, r0, 3
|
||||
adds r0, r2, r1
|
||||
@@ -1042,7 +1042,7 @@ _0806D092:
|
||||
b _0806D0C8
|
||||
.align 2, 0
|
||||
_0806D098: .4byte gMapObjects
|
||||
_0806D09C: .4byte gUnknown_826D2D8
|
||||
_0806D09C: .4byte gDirectionToVectors
|
||||
_0806D0A0:
|
||||
ldr r0, _0806D0D4 @ =gSelectedEventObject
|
||||
strb r5, [r0]
|
||||
|
||||
@@ -845,7 +845,7 @@ unc_grass_normal: @ 80DB3EC
|
||||
lsrs r4, r0, 8
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
ldr r3, _080DB498 @ =gUnknown_2036E18
|
||||
ldr r3, _080DB498 @ =gCamera
|
||||
ldrb r1, [r3]
|
||||
movs r0, 0x1
|
||||
ands r0, r1
|
||||
@@ -921,7 +921,7 @@ _080DB48C:
|
||||
bl FieldEffectStop
|
||||
b _080DB4E4
|
||||
.align 2, 0
|
||||
_080DB498: .4byte gUnknown_2036E18
|
||||
_080DB498: .4byte gCamera
|
||||
_080DB49C: .4byte gSaveBlock1Ptr
|
||||
_080DB4A0:
|
||||
mov r0, sp
|
||||
@@ -1196,7 +1196,7 @@ unc_grass_tall: @ 80DB69C
|
||||
lsrs r7, r0, 8
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
ldr r3, _080DB748 @ =gUnknown_2036E18
|
||||
ldr r3, _080DB748 @ =gCamera
|
||||
ldrb r1, [r3]
|
||||
movs r0, 0x1
|
||||
ands r0, r1
|
||||
@@ -1272,7 +1272,7 @@ _080DB73C:
|
||||
bl FieldEffectStop
|
||||
b _080DB786
|
||||
.align 2, 0
|
||||
_080DB748: .4byte gUnknown_2036E18
|
||||
_080DB748: .4byte gCamera
|
||||
_080DB74C: .4byte gSaveBlock1Ptr
|
||||
_080DB750:
|
||||
mov r0, sp
|
||||
|
||||
+2
-2
@@ -3516,7 +3516,7 @@ npc_coords_shift_still: @ 805F818
|
||||
thumb_func_start UpdateFieldObjectCoordsForCameraUpdate
|
||||
UpdateFieldObjectCoordsForCameraUpdate: @ 805F82C
|
||||
push {r4,r5,lr}
|
||||
ldr r2, _0805F88C @ =gUnknown_2036E18
|
||||
ldr r2, _0805F88C @ =gCamera
|
||||
ldrb r1, [r2]
|
||||
movs r0, 0x1
|
||||
ands r0, r1
|
||||
@@ -3566,7 +3566,7 @@ _0805F884:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805F88C: .4byte gUnknown_2036E18
|
||||
_0805F88C: .4byte gCamera
|
||||
_0805F890: .4byte gMapObjects
|
||||
thumb_func_end UpdateFieldObjectCoordsForCameraUpdate
|
||||
|
||||
|
||||
-718
@@ -3,724 +3,6 @@
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start GetPostCameraMoveMapBorderId
|
||||
GetPostCameraMoveMapBorderId: @ 805943C
|
||||
push {r4,lr}
|
||||
adds r3, r1, 0
|
||||
ldr r1, _08059460 @ =gSaveBlock1Ptr
|
||||
ldr r1, [r1]
|
||||
movs r4, 0
|
||||
ldrsh r2, [r1, r4]
|
||||
adds r0, 0x7
|
||||
adds r2, r0
|
||||
movs r0, 0x2
|
||||
ldrsh r1, [r1, r0]
|
||||
adds r3, 0x7
|
||||
adds r1, r3
|
||||
adds r0, r2, 0
|
||||
bl GetMapBorderIdAt
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08059460: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end GetPostCameraMoveMapBorderId
|
||||
|
||||
thumb_func_start CanCameraMoveInDirection
|
||||
CanCameraMoveInDirection: @ 8059464
|
||||
push {r4,r5,lr}
|
||||
ldr r1, _0805949C @ =gSaveBlock1Ptr
|
||||
ldr r4, [r1]
|
||||
movs r1, 0
|
||||
ldrsh r3, [r4, r1]
|
||||
ldr r2, _080594A0 @ =gUnknown_826D2D8
|
||||
lsls r0, 3
|
||||
adds r1, r0, r2
|
||||
ldr r1, [r1]
|
||||
adds r1, 0x7
|
||||
adds r3, r1
|
||||
movs r5, 0x2
|
||||
ldrsh r1, [r4, r5]
|
||||
adds r2, 0x4
|
||||
adds r0, r2
|
||||
ldr r0, [r0]
|
||||
adds r0, 0x7
|
||||
adds r1, r0
|
||||
adds r0, r3, 0
|
||||
bl GetMapBorderIdAt
|
||||
movs r1, 0x1
|
||||
negs r1, r1
|
||||
cmp r0, r1
|
||||
beq _080594A4
|
||||
movs r0, 0x1
|
||||
b _080594A6
|
||||
.align 2, 0
|
||||
_0805949C: .4byte gSaveBlock1Ptr
|
||||
_080594A0: .4byte gUnknown_826D2D8
|
||||
_080594A4:
|
||||
movs r0, 0
|
||||
_080594A6:
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end CanCameraMoveInDirection
|
||||
|
||||
thumb_func_start sub_80594AC
|
||||
sub_80594AC: @ 80594AC
|
||||
push {r4-r7,lr}
|
||||
adds r5, r0, 0
|
||||
adds r4, r1, 0
|
||||
adds r6, r2, 0
|
||||
adds r7, r3, 0
|
||||
bl mapconnection_get_mapheader
|
||||
adds r3, r0, 0
|
||||
cmp r4, 0x2
|
||||
beq _08059514
|
||||
cmp r4, 0x2
|
||||
bgt _080594CA
|
||||
cmp r4, 0x1
|
||||
beq _08059500
|
||||
b _08059526
|
||||
_080594CA:
|
||||
cmp r4, 0x3
|
||||
beq _080594E8
|
||||
cmp r4, 0x4
|
||||
bne _08059526
|
||||
ldr r0, _080594E4 @ =gSaveBlock1Ptr
|
||||
ldr r1, [r0]
|
||||
negs r0, r6
|
||||
strh r0, [r1]
|
||||
ldr r2, [r5, 0x4]
|
||||
ldrh r0, [r1, 0x2]
|
||||
subs r0, r2
|
||||
b _08059524
|
||||
.align 2, 0
|
||||
_080594E4: .4byte gSaveBlock1Ptr
|
||||
_080594E8:
|
||||
ldr r0, _080594FC @ =gSaveBlock1Ptr
|
||||
ldr r1, [r0]
|
||||
ldr r0, [r3]
|
||||
ldr r0, [r0]
|
||||
strh r0, [r1]
|
||||
ldr r2, [r5, 0x4]
|
||||
ldrh r0, [r1, 0x2]
|
||||
subs r0, r2
|
||||
b _08059524
|
||||
.align 2, 0
|
||||
_080594FC: .4byte gSaveBlock1Ptr
|
||||
_08059500:
|
||||
ldr r0, _08059510 @ =gSaveBlock1Ptr
|
||||
ldr r1, [r0]
|
||||
ldr r2, [r5, 0x4]
|
||||
ldrh r0, [r1]
|
||||
subs r0, r2
|
||||
strh r0, [r1]
|
||||
negs r0, r7
|
||||
b _08059524
|
||||
.align 2, 0
|
||||
_08059510: .4byte gSaveBlock1Ptr
|
||||
_08059514:
|
||||
ldr r0, _0805952C @ =gSaveBlock1Ptr
|
||||
ldr r1, [r0]
|
||||
ldr r2, [r5, 0x4]
|
||||
ldrh r0, [r1]
|
||||
subs r0, r2
|
||||
strh r0, [r1]
|
||||
ldr r0, [r3]
|
||||
ldr r0, [r0, 0x4]
|
||||
_08059524:
|
||||
strh r0, [r1, 0x2]
|
||||
_08059526:
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805952C: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end sub_80594AC
|
||||
|
||||
thumb_func_start CameraMove
|
||||
CameraMove: @ 8059530
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
mov r10, r0
|
||||
mov r9, r1
|
||||
ldr r1, _08059570 @ =gUnknown_2036E18
|
||||
ldrb r0, [r1]
|
||||
movs r1, 0x2
|
||||
negs r1, r1
|
||||
ands r1, r0
|
||||
ldr r2, _08059570 @ =gUnknown_2036E18
|
||||
strb r1, [r2]
|
||||
mov r0, r10
|
||||
mov r1, r9
|
||||
bl GetPostCameraMoveMapBorderId
|
||||
adds r7, r0, 0
|
||||
adds r0, r7, 0x1
|
||||
cmp r0, 0x1
|
||||
bhi _08059578
|
||||
ldr r0, _08059574 @ =gSaveBlock1Ptr
|
||||
ldr r1, [r0]
|
||||
ldrh r0, [r1]
|
||||
add r0, r10
|
||||
strh r0, [r1]
|
||||
ldrh r0, [r1, 0x2]
|
||||
add r0, r9
|
||||
strh r0, [r1, 0x2]
|
||||
b _080595E2
|
||||
.align 2, 0
|
||||
_08059570: .4byte gUnknown_2036E18
|
||||
_08059574: .4byte gSaveBlock1Ptr
|
||||
_08059578:
|
||||
bl save_serialize_map
|
||||
ldr r1, _080595F8 @ =gSaveBlock1Ptr
|
||||
ldr r0, [r1]
|
||||
movs r2, 0
|
||||
ldrsh r5, [r0, r2]
|
||||
movs r1, 0x2
|
||||
ldrsh r6, [r0, r1]
|
||||
lsls r2, r7, 24
|
||||
lsrs r2, 24
|
||||
mov r8, r2
|
||||
mov r0, r8
|
||||
adds r1, r5, 0
|
||||
adds r2, r6, 0
|
||||
bl sub_8059600
|
||||
adds r4, r0, 0
|
||||
adds r1, r7, 0
|
||||
mov r2, r10
|
||||
mov r3, r9
|
||||
bl sub_80594AC
|
||||
ldrb r0, [r4, 0x8]
|
||||
ldrb r1, [r4, 0x9]
|
||||
bl sub_8055864
|
||||
ldr r1, _080595FC @ =gUnknown_2036E18
|
||||
ldrb r0, [r1]
|
||||
movs r1, 0x1
|
||||
orrs r0, r1
|
||||
ldr r2, _080595FC @ =gUnknown_2036E18
|
||||
strb r0, [r2]
|
||||
ldr r0, _080595F8 @ =gSaveBlock1Ptr
|
||||
ldr r1, [r0]
|
||||
movs r2, 0
|
||||
ldrsh r0, [r1, r2]
|
||||
subs r5, r0
|
||||
ldr r0, _080595FC @ =gUnknown_2036E18
|
||||
str r5, [r0, 0x4]
|
||||
movs r2, 0x2
|
||||
ldrsh r0, [r1, r2]
|
||||
subs r6, r0
|
||||
ldr r0, _080595FC @ =gUnknown_2036E18
|
||||
str r6, [r0, 0x8]
|
||||
ldrh r0, [r1]
|
||||
add r0, r10
|
||||
strh r0, [r1]
|
||||
ldrh r0, [r1, 0x2]
|
||||
add r0, r9
|
||||
strh r0, [r1, 0x2]
|
||||
mov r0, r8
|
||||
bl sub_8059250
|
||||
_080595E2:
|
||||
ldr r0, _080595FC @ =gUnknown_2036E18
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 31
|
||||
lsrs r0, 31
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080595F8: .4byte gSaveBlock1Ptr
|
||||
_080595FC: .4byte gUnknown_2036E18
|
||||
thumb_func_end CameraMove
|
||||
|
||||
thumb_func_start sub_8059600
|
||||
sub_8059600: @ 8059600
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
mov r9, r1
|
||||
mov r8, r2
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
ldr r0, _0805963C @ =gMapHeader
|
||||
ldr r0, [r0, 0xC]
|
||||
ldr r7, [r0]
|
||||
ldr r4, [r0, 0x4]
|
||||
movs r5, 0
|
||||
cmp r5, r7
|
||||
bge _08059648
|
||||
_0805961E:
|
||||
ldrb r0, [r4]
|
||||
cmp r0, r6
|
||||
bne _08059640
|
||||
adds r0, r6, 0
|
||||
mov r1, r9
|
||||
mov r2, r8
|
||||
adds r3, r4, 0
|
||||
bl sub_8059658
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _08059640
|
||||
adds r0, r4, 0
|
||||
b _0805964A
|
||||
.align 2, 0
|
||||
_0805963C: .4byte gMapHeader
|
||||
_08059640:
|
||||
adds r5, 0x1
|
||||
adds r4, 0xC
|
||||
cmp r5, r7
|
||||
blt _0805961E
|
||||
_08059648:
|
||||
movs r0, 0
|
||||
_0805964A:
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8059600
|
||||
|
||||
thumb_func_start sub_8059658
|
||||
sub_8059658: @ 8059658
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r7, r1, 0
|
||||
mov r8, r2
|
||||
adds r5, r3, 0
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
adds r6, r4, 0
|
||||
adds r0, r5, 0
|
||||
bl mapconnection_get_mapheader
|
||||
adds r2, r0, 0
|
||||
cmp r4, 0x1
|
||||
blt _080596B0
|
||||
cmp r4, 0x2
|
||||
bgt _08059690
|
||||
ldr r0, _0805968C @ =gMapHeader
|
||||
ldr r0, [r0]
|
||||
ldr r1, [r0]
|
||||
ldr r0, [r2]
|
||||
ldr r2, [r0]
|
||||
ldr r3, [r5, 0x4]
|
||||
adds r0, r7, 0
|
||||
b _080596A2
|
||||
.align 2, 0
|
||||
_0805968C: .4byte gMapHeader
|
||||
_08059690:
|
||||
cmp r6, 0x4
|
||||
bgt _080596B0
|
||||
ldr r0, _080596AC @ =gMapHeader
|
||||
ldr r0, [r0]
|
||||
ldr r1, [r0, 0x4]
|
||||
ldr r0, [r2]
|
||||
ldr r2, [r0, 0x4]
|
||||
ldr r3, [r5, 0x4]
|
||||
mov r0, r8
|
||||
_080596A2:
|
||||
bl sub_80596BC
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
b _080596B2
|
||||
.align 2, 0
|
||||
_080596AC: .4byte gMapHeader
|
||||
_080596B0:
|
||||
movs r0, 0
|
||||
_080596B2:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8059658
|
||||
|
||||
thumb_func_start sub_80596BC
|
||||
sub_80596BC: @ 80596BC
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
adds r0, r2, 0
|
||||
adds r2, r3, 0
|
||||
cmp r3, 0
|
||||
bge _080596CA
|
||||
movs r3, 0
|
||||
_080596CA:
|
||||
adds r2, r0, r2
|
||||
cmp r2, r1
|
||||
bge _080596D2
|
||||
adds r1, r2, 0
|
||||
_080596D2:
|
||||
cmp r3, r4
|
||||
bgt _080596DE
|
||||
cmp r4, r1
|
||||
bgt _080596DE
|
||||
movs r0, 0x1
|
||||
b _080596E0
|
||||
_080596DE:
|
||||
movs r0, 0
|
||||
_080596E0:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80596BC
|
||||
|
||||
thumb_func_start sub_80596E8
|
||||
sub_80596E8: @ 80596E8
|
||||
push {lr}
|
||||
cmp r0, 0
|
||||
blt _080596F6
|
||||
cmp r0, r1
|
||||
bge _080596F6
|
||||
movs r0, 0x1
|
||||
b _080596F8
|
||||
_080596F6:
|
||||
movs r0, 0
|
||||
_080596F8:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80596E8
|
||||
|
||||
thumb_func_start sub_80596FC
|
||||
sub_80596FC: @ 80596FC
|
||||
push {r4-r6,lr}
|
||||
adds r4, r0, 0
|
||||
adds r5, r1, 0
|
||||
adds r6, r2, 0
|
||||
bl mapconnection_get_mapheader
|
||||
adds r1, r0, 0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0x1
|
||||
blt _08059734
|
||||
cmp r0, 0x2
|
||||
bgt _08059722
|
||||
ldr r0, [r4, 0x4]
|
||||
subs r0, r5, r0
|
||||
ldr r1, [r1]
|
||||
ldr r1, [r1]
|
||||
bl sub_80596E8
|
||||
b _08059736
|
||||
_08059722:
|
||||
cmp r0, 0x4
|
||||
bgt _08059734
|
||||
ldr r0, [r4, 0x4]
|
||||
subs r0, r6, r0
|
||||
ldr r1, [r1]
|
||||
ldr r1, [r1, 0x4]
|
||||
bl sub_80596E8
|
||||
b _08059736
|
||||
_08059734:
|
||||
movs r0, 0
|
||||
_08059736:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80596FC
|
||||
|
||||
thumb_func_start sub_805973C
|
||||
sub_805973C: @ 805973C
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
mov r8, r0
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
ldr r2, _0805975C @ =gMapHeader
|
||||
ldr r0, [r2, 0xC]
|
||||
cmp r0, 0
|
||||
bne _08059764
|
||||
b _080597DA
|
||||
.align 2, 0
|
||||
_0805975C: .4byte gMapHeader
|
||||
_08059760:
|
||||
adds r0, r4, 0
|
||||
b _080597DC
|
||||
_08059764:
|
||||
ldr r7, [r0]
|
||||
ldr r4, [r0, 0x4]
|
||||
movs r6, 0
|
||||
cmp r6, r7
|
||||
bge _080597DA
|
||||
lsls r0, r1, 16
|
||||
asrs r5, r0, 16
|
||||
mov r9, r2
|
||||
mov r1, r8
|
||||
lsls r0, r1, 16
|
||||
asrs r0, 16
|
||||
mov r10, r0
|
||||
_0805977C:
|
||||
ldrb r1, [r4]
|
||||
adds r3, r1, 0
|
||||
subs r0, r1, 0x5
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bls _080597D2
|
||||
cmp r1, 0x2
|
||||
bne _08059792
|
||||
cmp r5, 0x6
|
||||
bgt _080597D2
|
||||
_08059792:
|
||||
cmp r1, 0x1
|
||||
bne _080597A2
|
||||
mov r2, r9
|
||||
ldr r0, [r2]
|
||||
ldr r0, [r0, 0x4]
|
||||
adds r0, 0x7
|
||||
cmp r5, r0
|
||||
blt _080597D2
|
||||
_080597A2:
|
||||
mov r0, r8
|
||||
lsls r2, r0, 16
|
||||
cmp r1, 0x3
|
||||
bne _080597B0
|
||||
mov r1, r10
|
||||
cmp r1, 0x6
|
||||
bgt _080597D2
|
||||
_080597B0:
|
||||
cmp r3, 0x4
|
||||
bne _080597C2
|
||||
asrs r1, r2, 16
|
||||
mov r3, r9
|
||||
ldr r0, [r3]
|
||||
ldr r0, [r0]
|
||||
adds r0, 0x7
|
||||
cmp r1, r0
|
||||
blt _080597D2
|
||||
_080597C2:
|
||||
asrs r1, r2, 16
|
||||
subs r1, 0x7
|
||||
adds r0, r4, 0
|
||||
subs r2, r5, 0x7
|
||||
bl sub_80596FC
|
||||
cmp r0, 0x1
|
||||
beq _08059760
|
||||
_080597D2:
|
||||
adds r6, 0x1
|
||||
adds r4, 0xC
|
||||
cmp r6, r7
|
||||
blt _0805977C
|
||||
_080597DA:
|
||||
movs r0, 0
|
||||
_080597DC:
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_805973C
|
||||
|
||||
thumb_func_start sub_80597EC
|
||||
sub_80597EC: @ 80597EC
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
ldr r2, _08059804 @ =gSaveBlock1Ptr
|
||||
ldr r2, [r2]
|
||||
subs r0, 0x7
|
||||
strh r0, [r2]
|
||||
subs r1, 0x7
|
||||
strh r1, [r2, 0x2]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08059804: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end sub_80597EC
|
||||
|
||||
thumb_func_start sav1_camera_get_focus_coords
|
||||
sav1_camera_get_focus_coords: @ 8059808
|
||||
ldr r2, _0805981C @ =gSaveBlock1Ptr
|
||||
ldr r3, [r2]
|
||||
ldrh r2, [r3]
|
||||
adds r2, 0x7
|
||||
strh r2, [r0]
|
||||
ldrh r0, [r3, 0x2]
|
||||
adds r0, 0x7
|
||||
strh r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0805981C: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end sav1_camera_get_focus_coords
|
||||
|
||||
thumb_func_start SetCameraCoords
|
||||
SetCameraCoords: @ 8059820
|
||||
ldr r2, _0805982C @ =gSaveBlock1Ptr
|
||||
ldr r2, [r2]
|
||||
strh r0, [r2]
|
||||
strh r1, [r2, 0x2]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0805982C: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end SetCameraCoords
|
||||
|
||||
thumb_func_start GetCameraCoords
|
||||
GetCameraCoords: @ 8059830
|
||||
ldr r2, _08059840 @ =gSaveBlock1Ptr
|
||||
ldr r3, [r2]
|
||||
ldrh r2, [r3]
|
||||
strh r2, [r0]
|
||||
ldrh r0, [r3, 0x2]
|
||||
strh r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08059840: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end GetCameraCoords
|
||||
|
||||
thumb_func_start copy_tileset_patterns_to_vram
|
||||
copy_tileset_patterns_to_vram: @ 8059844
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x4
|
||||
adds r3, r0, 0
|
||||
lsls r1, 16
|
||||
lsrs r4, r1, 16
|
||||
adds r6, r4, 0
|
||||
lsls r2, 16
|
||||
lsrs r5, r2, 16
|
||||
adds r7, r5, 0
|
||||
cmp r3, 0
|
||||
beq _08059880
|
||||
ldrb r0, [r3]
|
||||
cmp r0, 0
|
||||
bne _08059870
|
||||
ldr r1, [r3, 0x4]
|
||||
lsls r2, r4, 21
|
||||
lsrs r2, 16
|
||||
movs r0, 0x2
|
||||
adds r3, r5, 0
|
||||
bl LoadBgTiles
|
||||
b _08059880
|
||||
_08059870:
|
||||
ldr r1, [r3, 0x4]
|
||||
lsls r2, r6, 5
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
movs r0, 0x2
|
||||
adds r3, r7, 0
|
||||
bl sub_80F68F0
|
||||
_08059880:
|
||||
add sp, 0x4
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end copy_tileset_patterns_to_vram
|
||||
|
||||
thumb_func_start copy_tileset_patterns_to_vram2
|
||||
copy_tileset_patterns_to_vram2: @ 8059888
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x4
|
||||
adds r3, r0, 0
|
||||
lsls r1, 16
|
||||
lsrs r4, r1, 16
|
||||
adds r6, r4, 0
|
||||
lsls r2, 16
|
||||
lsrs r5, r2, 16
|
||||
adds r7, r5, 0
|
||||
cmp r3, 0
|
||||
beq _080598C4
|
||||
ldrb r0, [r3]
|
||||
cmp r0, 0
|
||||
bne _080598B4
|
||||
ldr r1, [r3, 0x4]
|
||||
lsls r2, r4, 21
|
||||
lsrs r2, 16
|
||||
movs r0, 0x2
|
||||
adds r3, r5, 0
|
||||
bl LoadBgTiles
|
||||
b _080598C4
|
||||
_080598B4:
|
||||
ldr r1, [r3, 0x4]
|
||||
lsls r2, r6, 5
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
movs r0, 0x2
|
||||
adds r3, r7, 0
|
||||
bl sub_80F69E8
|
||||
_080598C4:
|
||||
add sp, 0x4
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end copy_tileset_patterns_to_vram2
|
||||
|
||||
thumb_func_start sub_80598CC
|
||||
sub_80598CC: @ 80598CC
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
lsls r1, 16
|
||||
lsrs r5, r1, 16
|
||||
ldr r0, _080598EC @ =gUnknown_2036E28
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x1
|
||||
beq _080598F0
|
||||
cmp r0, 0x1
|
||||
ble _0805993A
|
||||
cmp r0, 0x2
|
||||
beq _08059904
|
||||
cmp r0, 0x3
|
||||
beq _08059918
|
||||
b _0805993A
|
||||
.align 2, 0
|
||||
_080598EC: .4byte gUnknown_2036E28
|
||||
_080598F0:
|
||||
lsls r4, 1
|
||||
ldr r0, _08059900 @ =gPlttBufferUnfaded
|
||||
adds r0, r4, r0
|
||||
adds r1, r5, 0
|
||||
bl TintPalette_GrayScale
|
||||
b _0805992C
|
||||
.align 2, 0
|
||||
_08059900: .4byte gPlttBufferUnfaded
|
||||
_08059904:
|
||||
lsls r4, 1
|
||||
ldr r0, _08059914 @ =gPlttBufferUnfaded
|
||||
adds r0, r4, r0
|
||||
adds r1, r5, 0
|
||||
bl TintPalette_SepiaTone
|
||||
b _0805992C
|
||||
.align 2, 0
|
||||
_08059914: .4byte gPlttBufferUnfaded
|
||||
_08059918:
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
bl sub_8111F38
|
||||
lsls r4, 1
|
||||
ldr r0, _08059940 @ =gPlttBufferUnfaded
|
||||
adds r0, r4, r0
|
||||
adds r1, r5, 0
|
||||
bl TintPalette_GrayScale
|
||||
_0805992C:
|
||||
ldr r0, _08059940 @ =gPlttBufferUnfaded
|
||||
adds r0, r4, r0
|
||||
ldr r1, _08059944 @ =gPlttBufferFaded
|
||||
adds r1, r4, r1
|
||||
adds r2, r5, 0
|
||||
bl CpuSet
|
||||
_0805993A:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08059940: .4byte gPlttBufferUnfaded
|
||||
_08059944: .4byte gPlttBufferFaded
|
||||
thumb_func_end sub_80598CC
|
||||
|
||||
thumb_func_start sub_8059948
|
||||
sub_8059948: @ 8059948
|
||||
push {r4-r6,lr}
|
||||
|
||||
+6
-6
@@ -4690,7 +4690,7 @@ mli4_mapscripts_and_other: @ 805709C
|
||||
adds r4, 0x2
|
||||
mov r0, sp
|
||||
adds r1, r4, 0
|
||||
bl sav1_camera_get_focus_coords
|
||||
bl GetCameraFocusCoords
|
||||
bl sub_8055A6C
|
||||
adds r5, r0, 0
|
||||
mov r0, sp
|
||||
@@ -4792,7 +4792,7 @@ sub_8057178: @ 8057178
|
||||
adds r4, 0x2
|
||||
mov r0, sp
|
||||
adds r1, r4, 0
|
||||
bl sav1_camera_get_focus_coords
|
||||
bl GetCameraFocusCoords
|
||||
mov r2, sp
|
||||
ldr r0, _080571A4 @ =gUnknown_300502C
|
||||
ldrb r1, [r0]
|
||||
@@ -4801,7 +4801,7 @@ sub_8057178: @ 8057178
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
ldrh r1, [r4]
|
||||
bl sub_80597EC
|
||||
bl SetCameraFocusCoords
|
||||
add sp, 0x4
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
@@ -4820,7 +4820,7 @@ sub_80571A8: @ 80571A8
|
||||
adds r4, 0x2
|
||||
mov r0, sp
|
||||
adds r1, r4, 0
|
||||
bl sav1_camera_get_focus_coords
|
||||
bl GetCameraFocusCoords
|
||||
mov r3, sp
|
||||
mov r2, sp
|
||||
ldr r0, _08057224 @ =gUnknown_300502C
|
||||
@@ -6748,7 +6748,7 @@ _08058074:
|
||||
ldr r1, [r4, 0x8]
|
||||
str r0, [sp]
|
||||
str r1, [sp, 0x4]
|
||||
ldr r3, _080580E4 @ =gUnknown_826D2D8
|
||||
ldr r3, _080580E4 @ =gDirectionToVectors
|
||||
ldrb r0, [r4, 0x3]
|
||||
lsls r0, 3
|
||||
adds r0, r3
|
||||
@@ -6801,7 +6801,7 @@ _080580E0:
|
||||
ldr r0, _080580F8 @ =gUnknown_81BB9A3
|
||||
b _08058122
|
||||
.align 2, 0
|
||||
_080580E4: .4byte gUnknown_826D2D8
|
||||
_080580E4: .4byte gDirectionToVectors
|
||||
_080580E8: .4byte 0xffff0000
|
||||
_080580EC: .4byte 0x0000ffff
|
||||
_080580F0: .4byte 0xffffff00
|
||||
|
||||
+1
-1
@@ -908,7 +908,7 @@ gUnknown_826D29E:: @ 826D29E
|
||||
gUnknown_826D2B0:: @ 826D2B0
|
||||
.incbin "baserom.gba", 0x26D2B0, 0x28
|
||||
|
||||
gUnknown_826D2D8:: @ 826D2D8
|
||||
gDirectionToVectors:: @ 826D2D8
|
||||
.incbin "baserom.gba", 0x26D2D8, 0x48
|
||||
|
||||
gUnknown_826D320:: @ 826D320
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ void MapGridSetMetatileEntryAt(int, int, u16);
|
||||
void GetCameraCoords(u16*, u16*);
|
||||
bool8 MapGridIsImpassableAt(s32, s32);
|
||||
s32 GetMapBorderIdAt(s32, s32);
|
||||
bool32 CanCameraMoveInDirection(u8);
|
||||
bool32 CanCameraMoveInDirection(s32);
|
||||
u32 GetBehaviorByMetatileIdAndMapData(struct MapData *mapData, u16 metatile, u8 attr);
|
||||
|
||||
#endif //GUARD_FIELDMAP_H
|
||||
|
||||
@@ -37,5 +37,6 @@ void clear_scheduled_bg_copies_to_vram(void);
|
||||
void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str);
|
||||
void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3);
|
||||
void sub_810F4D8(u8 windowId, bool32 someBool);
|
||||
void *sub_80F68F0(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
|
||||
|
||||
#endif // GUARD_MENU_H
|
||||
|
||||
@@ -22,5 +22,6 @@ void sub_80F6EE4(u8 windowId, bool8 transfer);
|
||||
void sub_80F7974(const u8 *);
|
||||
u8 GetStartMenuWindowId(void);
|
||||
void sub_80F7998(void);
|
||||
void sub_80F69E8(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
|
||||
|
||||
#endif // GUARD_NEW_MENU_HELPERS_H
|
||||
|
||||
@@ -24,6 +24,8 @@ struct UCoords32
|
||||
u32 x, y;
|
||||
};
|
||||
|
||||
extern struct UCoords32 gDirectionToVectors[];
|
||||
|
||||
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4];
|
||||
extern MainCallback gFieldCallback;
|
||||
|
||||
@@ -96,5 +98,6 @@ extern u8 gUnknown_2036E28;
|
||||
|
||||
extern bool8 (* gUnknown_3005024)(void);
|
||||
void SetLastHealLocationWarp(u8 healLocaionId);
|
||||
void sub_8055864(u8 mapGroup, u8 mapNum);
|
||||
|
||||
#endif //GUARD_ROM4_H
|
||||
|
||||
@@ -70,6 +70,8 @@ void BeginHardwarePaletteFade(u8, u8, u8, u8, u8);
|
||||
void BlendPalettes(u32, u8, u16);
|
||||
void BlendPalettesUnfaded(u32, u8, u16);
|
||||
void sub_80716F8(const u16 *, u16 *, u16, u8);
|
||||
void TintPalette_GrayScale(u16 *, u16);
|
||||
void TintPalette_SepiaTone(u16 *, u16);
|
||||
|
||||
extern struct PaletteFadeControl gPaletteFade;
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ void sub_8113550(u16, const u16 *);
|
||||
void sub_8115748(u16);
|
||||
u8 sub_8112CAC(void);
|
||||
bool8 sub_81119D4(void (*func)(void));
|
||||
void sub_8111F38(u16, u16);
|
||||
|
||||
extern u8 gUnknown_203ADFA;
|
||||
|
||||
|
||||
+254
-1
@@ -1,6 +1,11 @@
|
||||
#include "global.h"
|
||||
#include "bg.h"
|
||||
#include "palette.h"
|
||||
#include "overworld.h"
|
||||
#include "script.h"
|
||||
#include "menu.h"
|
||||
#include "new_menu_helpers.h"
|
||||
#include "quest_log.h"
|
||||
#include "fieldmap.h"
|
||||
|
||||
struct ConnectionFlags
|
||||
@@ -19,6 +24,9 @@ void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader con
|
||||
void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset);
|
||||
void fillEastConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset);
|
||||
void LoadSavedMapView(void);
|
||||
struct MapConnection *sub_8059600(u8 direction, s32 x, s32 y);
|
||||
bool8 sub_8059658(u8 direction, s32 x, s32 y, struct MapConnection *connection);
|
||||
bool8 sub_80596BC(s32 x, s32 src_width, s32 dest_width, s32 offset);
|
||||
|
||||
struct BackupMapData VMap;
|
||||
EWRAM_DATA u16 gBackupMapData[VIRTUAL_MAP_SIZE] = {};
|
||||
@@ -395,7 +403,9 @@ union Block
|
||||
block; \
|
||||
})
|
||||
|
||||
#define MapGridGetTileAt(x, y) ((x >= 0 && x < VMap.Xsize && y >= 0 && y < VMap.Ysize) ? VMap.map[x + VMap.Xsize * y] : MapGridGetBorderTileAt2(x, y))
|
||||
#define AreCoordsWithinMapGridBounds(x, y) (x >= 0 && x < VMap.Xsize && y >= 0 && y < VMap.Ysize)
|
||||
|
||||
#define MapGridGetTileAt(x, y) (AreCoordsWithinMapGridBounds(x, y) ? VMap.map[x + VMap.Xsize * y] : MapGridGetBorderTileAt2(x, y))
|
||||
|
||||
u8 MapGridGetZCoordAt(s32 x, s32 y)
|
||||
{
|
||||
@@ -679,3 +689,246 @@ s32 GetMapBorderIdAt(s32 x, s32 y)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 GetPostCameraMoveMapBorderId(s32 x, s32 y)
|
||||
{
|
||||
return GetMapBorderIdAt(7 + gSaveBlock1Ptr->pos.x + x, 7 + gSaveBlock1Ptr->pos.y + y);
|
||||
}
|
||||
|
||||
bool32 CanCameraMoveInDirection(s32 direction)
|
||||
{
|
||||
s32 x, y;
|
||||
|
||||
x = gSaveBlock1Ptr->pos.x + 7 + gDirectionToVectors[direction].x;
|
||||
y = gSaveBlock1Ptr->pos.y + 7 + gDirectionToVectors[direction].y;
|
||||
if (GetMapBorderIdAt(x, y) == -1)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_80594AC(struct MapConnection *connection, int direction, s32 x, s32 y)
|
||||
{
|
||||
struct MapHeader const *mapHeader;
|
||||
mapHeader = mapconnection_get_mapheader(connection);
|
||||
switch (direction)
|
||||
{
|
||||
case CONNECTION_EAST:
|
||||
gSaveBlock1Ptr->pos.x = -x;
|
||||
gSaveBlock1Ptr->pos.y -= connection->offset;
|
||||
break;
|
||||
case CONNECTION_WEST:
|
||||
gSaveBlock1Ptr->pos.x = mapHeader->mapData->width;
|
||||
gSaveBlock1Ptr->pos.y -= connection->offset;
|
||||
break;
|
||||
case CONNECTION_SOUTH:
|
||||
gSaveBlock1Ptr->pos.x -= connection->offset;
|
||||
gSaveBlock1Ptr->pos.y = -y;
|
||||
break;
|
||||
case CONNECTION_NORTH:
|
||||
gSaveBlock1Ptr->pos.x -= connection->offset;
|
||||
gSaveBlock1Ptr->pos.y = mapHeader->mapData->height;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
bool8 CameraMove(s32 x, s32 y)
|
||||
{
|
||||
u32 direction;
|
||||
struct MapConnection *connection;
|
||||
s32 old_x, old_y;
|
||||
gCamera.active = FALSE;
|
||||
direction = GetPostCameraMoveMapBorderId(x, y);
|
||||
if (direction + 1 <= 1)
|
||||
{
|
||||
gSaveBlock1Ptr->pos.x += x;
|
||||
gSaveBlock1Ptr->pos.y += y;
|
||||
}
|
||||
else
|
||||
{
|
||||
save_serialize_map();
|
||||
old_x = gSaveBlock1Ptr->pos.x;
|
||||
old_y = gSaveBlock1Ptr->pos.y;
|
||||
connection = sub_8059600(direction, gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y);
|
||||
sub_80594AC(connection, direction, x, y);
|
||||
sub_8055864(connection->mapGroup, connection->mapNum);
|
||||
gCamera.active = TRUE;
|
||||
gCamera.x = old_x - gSaveBlock1Ptr->pos.x;
|
||||
gCamera.y = old_y - gSaveBlock1Ptr->pos.y;
|
||||
gSaveBlock1Ptr->pos.x += x;
|
||||
gSaveBlock1Ptr->pos.y += y;
|
||||
sub_8059250(direction);
|
||||
}
|
||||
return gCamera.active;
|
||||
}
|
||||
|
||||
struct MapConnection *sub_8059600(u8 direction, s32 x, s32 y)
|
||||
{
|
||||
s32 count;
|
||||
struct MapConnection *connection;
|
||||
s32 i;
|
||||
count = gMapHeader.connections->count;
|
||||
connection = gMapHeader.connections->connections;
|
||||
for (i = 0; i < count; i++, connection++)
|
||||
{
|
||||
if (connection->direction == direction && sub_8059658(direction, x, y, connection) == TRUE)
|
||||
return connection;
|
||||
}
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
bool8 sub_8059658(u8 direction, s32 x, s32 y, struct MapConnection *connection)
|
||||
{
|
||||
struct MapHeader const *mapHeader;
|
||||
mapHeader = mapconnection_get_mapheader(connection);
|
||||
switch (direction)
|
||||
{
|
||||
case CONNECTION_SOUTH:
|
||||
case CONNECTION_NORTH:
|
||||
return sub_80596BC(x, gMapHeader.mapData->width, mapHeader->mapData->width, connection->offset);
|
||||
case CONNECTION_WEST:
|
||||
case CONNECTION_EAST:
|
||||
return sub_80596BC(y, gMapHeader.mapData->height, mapHeader->mapData->height, connection->offset);
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 sub_80596BC(s32 x, s32 src_width, s32 dest_width, s32 offset)
|
||||
{
|
||||
s32 offset2 = max(offset, 0);
|
||||
|
||||
if (dest_width + offset < src_width)
|
||||
src_width = dest_width + offset;
|
||||
|
||||
if (offset2 <= x && x <= src_width)
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool32 sub_80596E8(s32 x, s32 width)
|
||||
{
|
||||
if (x >= 0 && x < width)
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
s32 sub_80596FC(struct MapConnection *connection, s32 x, s32 y)
|
||||
{
|
||||
struct MapHeader const *mapHeader;
|
||||
mapHeader = mapconnection_get_mapheader(connection);
|
||||
switch (connection->direction)
|
||||
{
|
||||
case CONNECTION_SOUTH:
|
||||
case CONNECTION_NORTH:
|
||||
return sub_80596E8(x - connection->offset, mapHeader->mapData->width);
|
||||
case CONNECTION_WEST:
|
||||
case CONNECTION_EAST:
|
||||
return sub_80596E8(y - connection->offset, mapHeader->mapData->height);
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
struct MapConnection *sub_805973C(s16 x, s16 y)
|
||||
{
|
||||
s32 count;
|
||||
struct MapConnection *connection;
|
||||
s32 i;
|
||||
u8 direction;
|
||||
if (!gMapHeader.connections)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
count = gMapHeader.connections->count;
|
||||
connection = gMapHeader.connections->connections;
|
||||
for (i = 0; i < count; i++, connection++)
|
||||
{
|
||||
direction = connection->direction;
|
||||
if ((direction == CONNECTION_DIVE || direction == CONNECTION_EMERGE)
|
||||
|| (direction == CONNECTION_NORTH && y > 6)
|
||||
|| (direction == CONNECTION_SOUTH && y < gMapHeader.mapData->height + 7)
|
||||
|| (direction == CONNECTION_WEST && x > 6)
|
||||
|| (direction == CONNECTION_EAST && x < gMapHeader.mapData->width + 7))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (sub_80596FC(connection, x - 7, y - 7) == TRUE)
|
||||
{
|
||||
return connection;
|
||||
}
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void SetCameraFocusCoords(u16 x, u16 y)
|
||||
{
|
||||
gSaveBlock1Ptr->pos.x = x - 7;
|
||||
gSaveBlock1Ptr->pos.y = y - 7;
|
||||
}
|
||||
|
||||
void GetCameraFocusCoords(u16 *x, u16 *y)
|
||||
{
|
||||
*x = gSaveBlock1Ptr->pos.x + 7;
|
||||
*y = gSaveBlock1Ptr->pos.y + 7;
|
||||
}
|
||||
|
||||
void SetCameraCoords(u16 x, u16 y)
|
||||
{
|
||||
gSaveBlock1Ptr->pos.x = x;
|
||||
gSaveBlock1Ptr->pos.y = y;
|
||||
}
|
||||
|
||||
void GetCameraCoords(u16 *x, u16 *y)
|
||||
{
|
||||
*x = gSaveBlock1Ptr->pos.x;
|
||||
*y = gSaveBlock1Ptr->pos.y;
|
||||
}
|
||||
void copy_tileset_patterns_to_vram(struct Tileset const *tileset, u16 numTiles, u16 offset)
|
||||
{
|
||||
if (tileset)
|
||||
{
|
||||
if (!tileset->isCompressed)
|
||||
LoadBgTiles(2, tileset->tiles, numTiles * 32, offset);
|
||||
else
|
||||
sub_80F68F0(2, tileset->tiles, numTiles * 32, offset, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void copy_tileset_patterns_to_vram2(struct Tileset const *tileset, u16 numTiles, u16 offset)
|
||||
{
|
||||
if (tileset)
|
||||
{
|
||||
if (!tileset->isCompressed)
|
||||
LoadBgTiles(2, tileset->tiles, numTiles * 32, offset);
|
||||
else
|
||||
sub_80F69E8(2, tileset->tiles, numTiles * 32, offset, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80598CC(u16 a0, u16 a1)
|
||||
{
|
||||
switch (gUnknown_2036E28)
|
||||
{
|
||||
case 0:
|
||||
return;
|
||||
case 1:
|
||||
TintPalette_GrayScale(gPlttBufferUnfaded + a0, a1);
|
||||
break;
|
||||
case 2:
|
||||
TintPalette_SepiaTone(gPlttBufferUnfaded + a0, a1);
|
||||
break;
|
||||
case 3:
|
||||
sub_8111F38(a0, a1);
|
||||
TintPalette_GrayScale(gPlttBufferUnfaded + a0, a1);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
CpuCopy16(gPlttBufferUnfaded + a0, gPlttBufferFaded + a0, a1 * sizeof(u16));
|
||||
}
|
||||
|
||||
+1
-1
@@ -599,7 +599,7 @@ gBackupMapData: @ 2031DFC
|
||||
gMapHeader: @ 2036DFC
|
||||
.space 0x1C
|
||||
|
||||
gUnknown_2036E18: @ 2036E18
|
||||
gCamera: @ 2036E18
|
||||
.space 0xC
|
||||
|
||||
gMapConnectionFlags: @ 2036E24
|
||||
|
||||
Reference in New Issue
Block a user