summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/rom3.s23
-rw-r--r--asm/rom4.s22
-rw-r--r--asm/rom5.s33
-rw-r--r--asm/rom_8074BAC.s19
-rw-r--r--data/data2.s79
5 files changed, 107 insertions, 69 deletions
diff --git a/asm/rom3.s b/asm/rom3.s
index 0e7921f3f..0b329b8f7 100644
--- a/asm/rom3.s
+++ b/asm/rom3.s
@@ -1,4 +1,5 @@
.include "constants/gba_constants.s"
+ .include "constants/species_constants.s"
.include "asm/macros.s"
.syntax unified
@@ -7832,7 +7833,7 @@ sub_800D378: @ 800D378
ldr r0, [sp, 0x20]
lsls r0, 24
lsrs r7, r0, 24
- cmp r6, 0xC9
+ cmp r6, SPECIES_UNOWN
bne _0800D3EC
movs r0, 0xC0
lsls r0, 18
@@ -7857,7 +7858,7 @@ sub_800D378: @ 800D378
lsrs r1, r0, 16
cmp r1, 0
bne _0800D3C0
- movs r1, 0xC9
+ movs r1, SPECIES_UNOWN
b _0800D3CA
_0800D3C0:
movs r2, 0xCE
@@ -13755,7 +13756,7 @@ _080103AC:
adds r0, r7
movs r1, 0
bl PokemonGetField
- cmp r4, 0xC9
+ cmp r4, SPECIES_UNOWN
bne _08010430
ldrh r0, [r5]
mov r1, r8
@@ -13788,7 +13789,7 @@ _080103AC:
lsrs r0, 16
cmp r0, 0
bne _0801041C
- movs r0, 0xC9
+ movs r0, SPECIES_UNOWN
b _08010426
.align 2, 0
_08010414: .4byte 0x02024a6a
@@ -13807,7 +13808,7 @@ _08010426:
_0801042C: .4byte gMonFrontPicCoords
_08010430:
ldr r0, _08010448
- cmp r4, r0
+ cmp r4, r0 @ Check if pokemon species is Castform
bne _08010454
ldr r0, _0801044C
ldr r1, _08010450
@@ -13818,8 +13819,8 @@ _08010430:
ldrb r0, [r1, 0x1]
b _0801046C
.align 2, 0
-_08010448: .4byte 0x00000181
-_0801044C: .4byte gUnknown_0837F598
+_08010448: .4byte SPECIES_CASTFORM
+_0801044C: .4byte gUnknownCastformCoords_0837F598
_08010450: .4byte 0x02024e84
_08010454:
movs r0, 0xCE
@@ -29236,7 +29237,7 @@ _0801820A:
b _08018314
.align 2, 0
_08018228: .4byte 0x02024a80
-_0801822C: .4byte 0x00000181
+_0801822C: .4byte SPECIES_CASTFORM
_08018230:
movs r0, 0
str r0, [sp]
@@ -79378,7 +79379,7 @@ _080318CE:
bx r0
.align 2, 0
_080318E0: .4byte 0x02000000
-_080318E4: .4byte 0x00000181
+_080318E4: .4byte SPECIES_CASTFORM
_080318E8: .4byte 0x02024e84
_080318EC: .4byte 0x00007fff
_080318F0: .4byte 0x0202eec8
@@ -79542,7 +79543,7 @@ _08031A36:
bx r0
.align 2, 0
_08031A48: .4byte 0x02000000
-_08031A4C: .4byte 0x00000181
+_08031A4C: .4byte SPECIES_CASTFORM
_08031A50: .4byte 0x02024e84
_08031A54: .4byte 0x00007fff
_08031A58: .4byte 0x0202eec8
@@ -80638,7 +80639,7 @@ _08032328: .4byte 0x06010000
_0803232C: .4byte 0x040000d4
_08032330: .4byte 0x84000200
_08032334: .4byte 0x02000000
-_08032338: .4byte 0x00000181
+_08032338: .4byte SPECIES_CASTFORM
_0803233C: .4byte 0x02024e84
_08032340: .4byte 0x00007fff
_08032344: .4byte 0x0202eec8
diff --git a/asm/rom4.s b/asm/rom4.s
index 5810f7e5b..14fe79e77 100644
--- a/asm/rom4.s
+++ b/asm/rom4.s
@@ -37697,7 +37697,7 @@ GetGroundEffectFlags_JumpLanding: @ 80639E8
ldr r1, _08063A24
ands r0, r1
cmp r0, 0x20
- bne _08063A3A
+ bne _08063A3A @ Is player landing after jumping?
movs r5, 0
ldr r0, _08063A28
mov r8, r0
@@ -37705,7 +37705,7 @@ _08063A02:
lsls r4, r5, 2
mov r0, r8
adds r1, r4, r0
- ldrb r0, [r7, 0x1E]
+ ldrb r0, [r7, 0x1E] @ Load metatile behavior
ldr r1, [r1]
bl _call_via_r1
lsls r0, 24
@@ -37720,8 +37720,8 @@ _08063A02:
b _08063A3A
.align 2, 0
_08063A24: .4byte 0x02000020
-_08063A28: .4byte gUnknown_08376010
-_08063A2C: .4byte gUnknown_08376028
+_08063A28: .4byte gJumpLanding_MetatileFunctionPointers
+_08063A2C: .4byte gJumpLanding_Bitmasks
_08063A30:
adds r0, r5, 0x1
lsls r0, 24
@@ -38106,8 +38106,8 @@ _08063D06:
pop {r0}
bx r0
.align 2, 0
-_08063D0C: .4byte gUnknown_08376070
-_08063D10: .4byte gUnknown_08376060
+_08063D0C: .4byte gFieldObjectPriorities_08376070
+_08063D10: .4byte gFieldObjectPriorities_08376060
thumb_func_end FieldObjectUpdateZCoordAndPriority
thumb_func_start InitObjectPriorityByZCoord
@@ -38147,8 +38147,8 @@ InitObjectPriorityByZCoord: @ 8063D14
pop {r0}
bx r0
.align 2, 0
-_08063D58: .4byte gUnknown_08376070
-_08063D5C: .4byte gUnknown_08376060
+_08063D58: .4byte gFieldObjectPriorities_08376070
+_08063D5C: .4byte gFieldObjectPriorities_08376060
thumb_func_end InitObjectPriorityByZCoord
thumb_func_start ZCoordToPriority
@@ -38160,7 +38160,7 @@ ZCoordToPriority: @ 8063D60
ldrb r0, [r0]
bx lr
.align 2, 0
-_08063D6C: .4byte gUnknown_08376060
+_08063D6C: .4byte gFieldObjectPriorities_08376060
thumb_func_end ZCoordToPriority
thumb_func_start FieldObjectUpdateZCoord
@@ -38558,7 +38558,7 @@ DoTracksGroundEffect_Footprints: @ 8063FFC
pop {r0}
bx r0
.align 2, 0
-_08064044: .4byte gUnknown_0837608C
+_08064044: .4byte gSandFootprints_FieldEffectData
_08064048: .4byte 0x0202ff84
thumb_func_end DoTracksGroundEffect_Footprints
@@ -38602,7 +38602,7 @@ _0806408E:
bx r0
.align 2, 0
_08064094: .4byte 0x0202ff84
-_08064098: .4byte gUnknown_08376090
+_08064098: .4byte gBikeTireTracks_Transitions
thumb_func_end DoTracksGroundEffect_BikeTireTracks
thumb_func_start GroundEffect_Ripple
diff --git a/asm/rom5.s b/asm/rom5.s
index 1cc6fe217..b641e83fe 100644
--- a/asm/rom5.s
+++ b/asm/rom5.s
@@ -1,4 +1,5 @@
.include "constants/gba_constants.s"
+ .include "constants/species_constants.s"
.include "asm/macros.s"
.syntax unified
@@ -20311,8 +20312,8 @@ _08084A34:
bx r1
thumb_func_end sub_8084984
- thumb_func_start sub_8084A44
-sub_8084A44: @ 8084A44
+ thumb_func_start check_feebas
+check_feebas: @ 8084A44
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -20448,7 +20449,7 @@ _08084B3A:
_08084B48: .4byte 0x02025734
_08084B4C: .4byte 0x00002dd6
_08084B50: .4byte 0x000001bf
- thumb_func_end sub_8084A44
+ thumb_func_end check_feebas
thumb_func_start sub_8084B54
sub_8084B54: @ 8084B54
@@ -20725,8 +20726,8 @@ _08084D28:
bx r1
thumb_func_end sub_8084C94
- thumb_func_start sub_8084D30
-sub_8084D30: @ 8084D30
+ thumb_func_start random_number_in_range
+random_number_in_range: @ 8084D30
push {r4,r5,lr}
adds r4, r0, 0
ldrb r0, [r4, 0x1]
@@ -20756,7 +20757,7 @@ _08084D44:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8084D30
+ thumb_func_end random_number_in_range
thumb_func_start sub_8084D6C
sub_8084D6C: @ 8084D6C
@@ -20966,7 +20967,7 @@ _08084EE2:
lsls r4, r0, 2
ldr r0, [r6, 0x4]
adds r0, r4
- bl sub_8084D30
+ bl random_number_in_range
lsls r0, 24
lsrs r5, r0, 24
cmp r7, 0x1
@@ -21003,7 +21004,7 @@ sub_8084F18: @ 8084F18
lsrs r4, 22
ldr r0, [r5, 0x4]
adds r0, r4
- bl sub_8084D30
+ bl random_number_in_range
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -21639,14 +21640,14 @@ sub_808541C: @ 808541C
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- bl sub_8084A44
+ bl check_feebas
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0808544C
ldr r4, _08085448
adds r0, r4, 0
- bl sub_8084D30
+ bl random_number_in_range
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -21655,7 +21656,7 @@ sub_808541C: @ 808541C
bl sub_8084E78
b _0808546C
.align 2, 0
-_08085448: .4byte gUnknown_0839DBFC
+_08085448: .4byte gWildFeebasRoute119Data
_0808544C:
ldr r4, _08085484
bl sub_8084D6C
@@ -46442,7 +46443,7 @@ sub_80918EC: @ 80918EC
adds r0, r7, 0
bl NationalPokedexNumToSpecies
adds r7, r0, 0
- cmp r7, 0xC9
+ cmp r7, SPECIES_UNOWN
beq _0809199C
movs r0, 0x9A
lsls r0, 1
@@ -70242,7 +70243,7 @@ mon_icon_convert_unown_species_id: @ 809D434
push {lr}
lsls r0, 16
lsrs r2, r0, 16
- cmp r2, 0xC9
+ cmp r2, SPECIES_UNOWN
bne _0809D45E
adds r0, r1, 0
bl sub_809D474
@@ -70250,7 +70251,7 @@ mon_icon_convert_unown_species_id: @ 809D434
lsrs r0, 16
cmp r0, 0
bne _0809D450
- movs r0, 0xC9
+ movs r0, SPECIES_UNOWN
b _0809D45A
_0809D450:
movs r1, 0xCE
@@ -70315,14 +70316,14 @@ sub_809D4A8: @ 809D4A8
bl sub_80A2D64
lsls r0, 16
lsrs r0, 16
- cmp r0, 0xC9
+ cmp r0, SPECIES_UNOWN
bne _0809D4DE
mov r0, sp
ldrh r0, [r0]
cmp r0, 0
bne _0809D4CE
mov r1, sp
- adds r0, 0xC9
+ adds r0, SPECIES_UNOWN
b _0809D4D6
_0809D4CE:
mov r1, sp
diff --git a/asm/rom_8074BAC.s b/asm/rom_8074BAC.s
index bddc517c0..c1bba49ea 100644
--- a/asm/rom_8074BAC.s
+++ b/asm/rom_8074BAC.s
@@ -1,4 +1,5 @@
.include "constants/gba_constants.s"
+ .include "constants/species_constants.s"
.include "asm/macros.s"
.syntax unified
@@ -6392,7 +6393,7 @@ _08077CCC:
ldrb r0, [r1]
b _08077DCC
.align 2, 0
-_08077CE0: .4byte 0x00000181
+_08077CE0: .4byte SPECIES_CASTFORM
_08077CE4: .4byte gUnknown_0837F5AC
_08077CE8: .4byte 0x02024e84
_08077CEC:
@@ -6491,8 +6492,8 @@ _08077D90:
ldrb r0, [r1, 0x1]
b _08077DCC
.align 2, 0
-_08077DA8: .4byte 0x00000181
-_08077DAC: .4byte gUnknown_0837F598
+_08077DA8: .4byte SPECIES_CASTFORM
+_08077DAC: .4byte gUnknownCastformCoords_0837F598
_08077DB0: .4byte 0x02024e84
_08077DB4:
movs r0, 0xCE
@@ -6539,7 +6540,7 @@ sub_8077DD8: @ 8077DD8
cmp r0, 0
bne _08077E36
ldr r0, _08077E14
- cmp r4, r0
+ cmp r4, r0 @ check if the given pokemon species is Castform
bne _08077E20
ldr r0, _08077E18
ldr r1, _08077E1C
@@ -6549,8 +6550,8 @@ sub_8077DD8: @ 8077DD8
ldrb r5, [r1]
b _08077E36
.align 2, 0
-_08077E14: .4byte 0x00000181
-_08077E18: .4byte gUnknown_0837F5A8
+_08077E14: .4byte SPECIES_CASTFORM
+_08077E18: .4byte gUnknownCastformData_0837F5A8
_08077E1C: .4byte 0x02024e84
_08077E20:
movs r0, 0xCE
@@ -11370,7 +11371,7 @@ _0807A18C:
ldr r0, _0807A1A0
b _0807A33C
.align 2, 0
-_0807A19C: .4byte 0x00000181
+_0807A19C: .4byte SPECIES_CASTFORM
_0807A1A0: .4byte gMonBackPicCoords
_0807A1A4:
mov r0, r8
@@ -11561,9 +11562,9 @@ _0807A30C:
adds r4, r0, r1
b _0807A33E
.align 2, 0
-_0807A31C: .4byte 0x00000181
+_0807A31C: .4byte SPECIES_CASTFORM
_0807A320: .4byte 0x02024e84
-_0807A324: .4byte gUnknown_0837F598
+_0807A324: .4byte gUnknownCastformCoords_0837F598
_0807A328:
movs r0, 0xCE
lsls r0, 1
diff --git a/data/data2.s b/data/data2.s
index 6999cddaf..ec9fc597c 100644
--- a/data/data2.s
+++ b/data/data2.s
@@ -7043,11 +7043,15 @@ Unknown_8375FFC:
.4byte sub_8063450
.4byte sub_8063474
+ .align 2
gUnknown_08376008:: @ 8376008
- .incbin "baserom.gba", 0x00376008, 0x8
+ .4byte 0x00000020
+ .4byte 0x00000010
+@ Functions used to determine which category of tile the player is landing
+@ on after jumping over a ledge.
.align 2
-gUnknown_08376010:: @ 8376010
+gJumpLanding_MetatileFunctionPointers:: @ 8376010
.4byte MetatileBehavior_IsTallGrass
.4byte MetatileBehavior_IsLongGrass
.4byte MetatileBehavior_IsPuddle
@@ -7055,8 +7059,16 @@ gUnknown_08376010:: @ 8376010
.4byte MetatileBehavior_IsShallowFlowingWater
.4byte sub_8056D9C
-gUnknown_08376028:: @ 8376028
- .incbin "baserom.gba", 0x00376028, 0x18
+@ This table contains bitmasks used for determining the animation that happens when the player lands on
+@ the ground after jumping over a ledge. Each entry corresponds to the gJumpLanding_MetatileFunctionPointers table.
+ .align 2
+gJumpLanding_Bitmasks:: @ 8376028
+ .4byte 0x00001000 @ Landing in tall grass
+ .4byte 0x00002000 @ Landing in long grass
+ .4byte 0x00004000 @ Landing on puddle
+ .4byte 0x00008000 @ Landing on surfable water or underwater
+ .4byte 0x00004000 @ Landing on shallow flowing water
+ .4byte 0x00010000 @ Landing on any other type of ground
.align 2
gUnknown_08376040:: @ 8376040
@@ -7066,17 +7078,19 @@ gUnknown_08376040:: @ 8376040
.4byte MetatileBehavior_IsJumpEast
gUnknown_08376050:: @ 8376050
- .incbin "baserom.gba", 0x00376050, 0x10
+ .byte 0x73, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x00, 0x00, 0x73
- .align 2
-gUnknown_08376060:: @ 8376060
- .4byte 0x02020202 @ are these even pointers?
- .4byte 0x02010201
- .4byte 0x02010201
- .4byte 0x02000001
+@ Each byte corresponds to a sprite priority for a field object.
+@ This is directly the inverse of gFieldObjectPriorities_08376070.
+gFieldObjectPriorities_08376060:: @ 8376060
+ .byte 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 0, 0, 2
-gUnknown_08376070:: @ 8376070
- .incbin "baserom.gba", 0x00376070, 0x10
+@ Each byte corresponds to a sprite priority for a field object.
+@ This is the inverse of gFieldObjectPriorities_08376060.
+@ 1 = Above player sprite
+@ 2 = Below player sprite
+gFieldObjectPriorities_08376070:: @ 8376070
+ .byte 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1
.align 2
gUnknown_08376080:: @ 8376080
@@ -7084,11 +7098,22 @@ gUnknown_08376080:: @ 8376080
.4byte DoTracksGroundEffect_Footprints
.4byte DoTracksGroundEffect_BikeTireTracks
-gUnknown_0837608C:: @ 837608C
- .incbin "baserom.gba", 0x0037608c, 0x4
+@ First byte is a Field Effect script id. (gFieldEffectScriptPointers)
+@ Last three bytes are unknown.
+gSandFootprints_FieldEffectData:: @ 837608C
+ .byte 0xD, 0x0, 0x18, 0x0
-gUnknown_08376090:: @ 8376090
- .incbin "baserom.gba", 0x00376090, 0x10
+@ Specifies which bike track shape to show next.
+@ For example, when the bike turns from up to right, it will show
+@ a track that curves to the right.
+@ Each 4-byte row corresponds to the initial direction of the bike, and
+@ each byte in that row is for the next direction of the bike in the order
+@ of down, up, left, right.
+gBikeTireTracks_Transitions:: @ 8376090
+ .byte 1, 2, 7, 8
+ .byte 1, 2, 6, 5
+ .byte 5, 8, 3, 4
+ .byte 6, 7, 3, 4
.align 2
gUnknown_083760A0:: @ 83760A0
@@ -9328,10 +9353,18 @@ gUnknown_0837F4B8:: @ 837F4B8
gUnknown_0837F578:: @ 837F578
.incbin "baserom.gba", 0x0037f578, 0x20
-gUnknown_0837F598:: @ 837F598
- .incbin "baserom.gba", 0x0037f598, 0x10
+@ One entry for each of the four Castform forms.
+@ Coords are probably front pic coords or back pic coords, but this data does not seem to be
+@ used during battle, party summary, or pokedex screens.
+ .align 2
+gUnknownCastformCoords_0837F598:: @ 837F598
+ .byte 68, 17, 0, 0
+ .byte 102, 9, 0, 0
+ .byte 70, 9, 0, 0
+ .byte 134, 8, 0, 0
-gUnknown_0837F5A8:: @ 837F5A8
+@ One entry for each of the four Castform forms. Probably a palette index.
+gUnknownCastformData_0837F5A8:: @ 837F5A8
.byte 0xD, 0xE, 0xD, 0xD
gUnknown_0837F5AC:: @ 837F5AC
@@ -10681,8 +10714,10 @@ gSpriteTemplate_839B528:: @ 839B528
@ 839B540
.include "data/wild_mons.s"
-gUnknown_0839DBFC:: @ 839DBFC
- .incbin "baserom.gba", 0x0039dbfc, 0x4
+ .align 2
+gWildFeebasRoute119Data:: @ 839DBFC
+ .byte 20, 25 @ Min/Max level
+ .2byte SPECIES_FEEBAS
gUnknown_0839DC00:: @ 839DC00
.incbin "baserom.gba", 0x0039dc00, 0x14