diff options
-rw-r--r-- | asm/rom3.s | 23 | ||||
-rw-r--r-- | asm/rom4.s | 22 | ||||
-rw-r--r-- | asm/rom5.s | 33 | ||||
-rw-r--r-- | asm/rom_8074BAC.s | 19 | ||||
-rw-r--r-- | data/data2.s | 79 |
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 |