diff options
Diffstat (limited to 'engine')
-rw-r--r-- | engine/color.asm | 24 | ||||
-rw-r--r-- | engine/events.asm | 8 | ||||
-rw-r--r-- | engine/events_2.asm | 44 | ||||
-rw-r--r-- | engine/map_objects.asm | 330 | ||||
-rw-r--r-- | engine/map_setup.asm | 2 | ||||
-rw-r--r-- | engine/movement.asm | 606 | ||||
-rw-r--r-- | engine/pack.asm | 20 | ||||
-rw-r--r-- | engine/radio2.asm | 2 | ||||
-rw-r--r-- | engine/scripting.asm | 47 | ||||
-rw-r--r-- | engine/specials.asm | 8 |
10 files changed, 551 insertions, 540 deletions
diff --git a/engine/color.asm b/engine/color.asm index ed65f59df..9fde4d77d 100644 --- a/engine/color.asm +++ b/engine/color.asm @@ -1,6 +1,12 @@ INCLUDE "predef/sgb.asm" +SHINY_ATK_BIT EQU 5 +SHINY_DEF_VAL EQU 10 +SHINY_SPD_VAL EQU 10 +SHINY_SPC_VAL EQU 10 +LO_NYBBLE EQU $0f +HI_NYBBLE EQU $f0 CheckShininess: ; 8a68 ; Check if a mon is shiny by DVs at bc. @@ -11,25 +17,25 @@ CheckShininess: ; 8a68 ; Attack ld a, [hl] - and %0010 << 4 + and 1 << SHINY_ATK_BIT jr z, .NotShiny ; Defense ld a, [hli] - and %1111 - cp %1010 + and LO_NYBBLE + cp SHINY_DEF_VAL jr nz, .NotShiny ; Speed ld a, [hl] - and %1111 << 4 - cp %1010 << 4 + and HI_NYBBLE + cp SHINY_SPD_VAL << 4 jr nz, .NotShiny ; Special ld a, [hl] - and %1111 - cp %1010 + and LO_NYBBLE + cp SHINY_SPC_VAL jr nz, .NotShiny .Shiny @@ -53,7 +59,7 @@ CheckContestMon: ; 8a88 ; Defense ld a, [hli] - and $f + and LO_NYBBLE cp 10 jr c, .Bad @@ -64,7 +70,7 @@ CheckContestMon: ; 8a88 ; Special ld a, [hl] - and $f + and LO_NYBBLE cp 10 jr c, .Bad diff --git a/engine/events.asm b/engine/events.asm index 0740da545..20e2bc0dd 100644 --- a/engine/events.asm +++ b/engine/events.asm @@ -396,7 +396,7 @@ CheckTileEvent: ; 96874 ret .return6 - ld a, [StandingTile] + ld a, [PlayerStandingTile] call CheckPitTile jr nz, .pittile ld a, 6 @@ -606,7 +606,7 @@ TryObjectEvent: ; 969b5 .IsObject call PlayTalkObject - ld a, [hConnectedMapWidth] + ld a, [hObjectStructIndexBuffer] call GetObjectStruct ld hl, OBJECT_MAP_OBJECT_INDEX add hl, bc @@ -947,11 +947,11 @@ SelectMenuCallback: ; 96b66 ; 96b72 .Script ; 96b72 - ptjump wd0e8 + ptjump wQueuedScriptBank ; 96b75 .Asm ; 96b75 - ptcallasm wd0e8 + ptcallasm wQueuedScriptBank end ; 96b79 diff --git a/engine/events_2.asm b/engine/events_2.asm index 966fa7d20..9dd604a47 100644 --- a/engine/events_2.asm +++ b/engine/events_2.asm @@ -109,7 +109,7 @@ RandomEncounter:: ; 97cc0 call CanUseSweetScent jr nc, .nope ld hl, StatusFlags2 - bit 2, [hl] + bit 2, [hl] ; bug contest jr nz, .bug_contest callba TryWildEncounter jr nz, .nope @@ -153,15 +153,15 @@ CanUseSweetScent:: ; 97cfd bit 5, [hl] jr nz, .no ld a, [wPermission] - cp $4 + cp CAVE jr z, .ice_check - cp $7 + cp DUNGEON jr z, .ice_check - callba Function149dd + callba CheckGrassCollision jr nc, .no .ice_check - ld a, [StandingTile] + ld a, [PlayerStandingTile] call CheckIceTile jr z, .no scf @@ -235,11 +235,11 @@ ChooseWildEncounter_BugContest:: ; 97d31 ; 97d64 TryWildEncounter_BugContest: ; 97d64 - ld a, [StandingTile] + ld a, [PlayerStandingTile] call CheckSuperTallGrassTile - ld b, $66 + ld b, 40 percent jr z, .ok - ld b, $33 + ld b, 20 percent .ok callba ApplyMusicEffectOnEncounterRate @@ -351,24 +351,24 @@ Function97df9:: ; 97df9 Function97e08:: ; 97e08 ld hl, wd6de xor a -.asm_97e0c - ld [hConnectionStripLength], a +.loop + ld [hMapObjectIndexBuffer], a ld a, [hl] and a - jr z, .asm_97e19 + jr z, .skip push hl ld b, h ld c, l call Function97e79 pop hl -.asm_97e19 +.skip ld de, $0006 add hl, de - ld a, [hConnectionStripLength] + ld a, [hMapObjectIndexBuffer] inc a cp $4 - jr nz, .asm_97e0c + jr nz, .loop ret ; 97e25 @@ -441,14 +441,14 @@ Function97e5c:: ; 97e5c ; 97e72 Function97e72: ; 97e72 - ld hl, $0000 + ld hl, 0 add hl, bc ld [hl], 0 ret ; 97e79 Function97e79: ; 97e79 - ld hl, $0000 + ld hl, 0 add hl, bc ld a, [hl] cp 5 @@ -473,11 +473,11 @@ endr ; 97e94 Table97e94: ; 97e94 - dbw BANK(Function97eb7), Function97eb7 - dbw BANK(Function97eb8), Function97eb8 - dbw BANK(Function97f42), Function97f42 - dbw BANK(Function97ef9), Function97ef9 - dbw BANK(Function97ebc), Function97ebc + dba Function97eb7 + dba Function97eb8 + dba Function97f42 + dba Function97ef9 + dba Function97ebc ; 97ea3 Function97ea3: ; 97ea3 @@ -620,7 +620,7 @@ Function97f42: ; 97f42 .asm_97f47 push af - ld hl, $0000 + ld hl, 0 add hl, de ld a, [hl] and a diff --git a/engine/map_objects.asm b/engine/map_objects.asm index d73ebd142..a5d792204 100644 --- a/engine/map_objects.asm +++ b/engine/map_objects.asm @@ -2,44 +2,45 @@ INCLUDE "engine/facings.asm" ObjectStruct3_Data:: ; 4273 - db $00, $00, $01, $02, $00, $00 ; 00 - db $06, $00, $01, $0c, $00, $00 ; 01 - db $03, $00, $01, $00, $00, $00 ; 02 - db $04, $00, $01, $00, $00, $00 ; 03 - db $01, $00, $01, $00, $00, $00 ; 04 - db $02, $00, $01, $00, $00, $00 ; 05 - db $06, $00, $01, $00, $00, $00 ; 06 - db $06, $01, $01, $00, $00, $00 ; 07 - db $06, $02, $01, $00, $00, $00 ; 08 - db $06, $03, $01, $00, $00, $00 ; 09 - db $05, $00, $01, $00, $00, $00 ; 0a - db $07, $00, $01, $02, $00, $00 ; 0b - db $08, $00, $01, $00, $00, $00 ; 0c - db $09, $00, $01, $00, $00, $00 ; 0d - db $0a, $00, $01, $00, $00, $00 ; 0e - db $0b, $00, $01, $00, $00, $00 ; 0f - db $0c, $00, $01, $00, $00, $00 ; 10 - db $0d, $00, $01, $00, $00, $00 ; 11 - db $0e, $00, $01, $00, $00, $00 ; 12 - db $0f, $00, $01, $02, $00, $00 ; 13 - db $10, $00, $01, $02, $00, $00 ; 14 - db $15, $00, $09, $2e, $01, $c0 ; 15 - db $16, $00, $0a, $2e, $00, $00 ; 16 - db $06, $00, $01, $0c, $00, $00 ; 17 - db $06, $00, $01, $2e, $10, $00 ; 18 - db $11, $00, $01, $2e, $00, $40 ; 19 - db $12, $00, $01, $02, $00, $00 ; 1a - db $13, $00, $00, $8e, $01, $00 ; 1b - db $14, $00, $08, $8e, $02, $00 ; 1c - db $17, $00, $00, $82, $00, $00 ; 1d - db $19, $02, $01, $00, $00, $00 ; 1e - db $18, $03, $01, $00, $00, $00 ; 1f - db $11, $00, $0c, $2e, $01, $c0 ; 20 - db $11, $00, $0d, $2e, $01, $c0 ; 21 - db $1a, $00, $0e, $8e, $01, $00 ; 22 - db $1b, $00, $0f, $8e, $02, $00 ; 23 - db $03, $00, $01, $00, $00, $20 ; 24 - db $00, $00, $01, $00, $00, $00 ; 25 + ; function, facing, ?, ?, ?, ? + db SPRITEMOVEFN_00, DOWN, $01, $02, $00, $00 ; 00 + db SPRITEMOVEFN_06, DOWN, $01, $0c, $00, $00 ; 01 + db SPRITEMOVEFN_03, DOWN, $01, $00, $00, $00 ; 02 + db SPRITEMOVEFN_04, DOWN, $01, $00, $00, $00 ; 03 + db SPRITEMOVEFN_01, DOWN, $01, $00, $00, $00 ; 04 + db SPRITEMOVEFN_02, DOWN, $01, $00, $00, $00 ; 05 + db SPRITEMOVEFN_06, DOWN, $01, $00, $00, $00 ; 06 + db SPRITEMOVEFN_06, UP, $01, $00, $00, $00 ; 07 + db SPRITEMOVEFN_06, LEFT, $01, $00, $00, $00 ; 08 + db SPRITEMOVEFN_06, RIGHT, $01, $00, $00, $00 ; 09 + db SPRITEMOVEFN_05, DOWN, $01, $00, $00, $00 ; 0a + db SPRITEMOVEFN_07, DOWN, $01, $02, $00, $00 ; 0b + db SPRITEMOVEFN_08, DOWN, $01, $00, $00, $00 ; 0c + db SPRITEMOVEFN_09, DOWN, $01, $00, $00, $00 ; 0d + db SPRITEMOVEFN_0A, DOWN, $01, $00, $00, $00 ; 0e + db SPRITEMOVEFN_0B, DOWN, $01, $00, $00, $00 ; 0f + db SPRITEMOVEFN_0C, DOWN, $01, $00, $00, $00 ; 10 + db SPRITEMOVEFN_0D, DOWN, $01, $00, $00, $00 ; 11 + db SPRITEMOVEFN_0E, DOWN, $01, $00, $00, $00 ; 12 + db SPRITEMOVEFN_0F, DOWN, $01, $02, $00, $00 ; 13 + db SPRITEMOVEFN_10, DOWN, $01, $02, $00, $00 ; 14 + db SPRITEMOVEFN_15, DOWN, $09, $2e, $01, $c0 ; 15 + db SPRITEMOVEFN_16, DOWN, $0a, $2e, $00, $00 ; 16 + db SPRITEMOVEFN_06, DOWN, $01, $0c, $00, $00 ; 17 + db SPRITEMOVEFN_06, DOWN, $01, $2e, $10, $00 ; 18 + db SPRITEMOVEFN_11, DOWN, $01, $2e, $00, $40 ; 19 + db SPRITEMOVEFN_12, DOWN, $01, $02, $00, $00 ; 1a + db SPRITEMOVEFN_13, DOWN, $00, $8e, $01, $00 ; 1b + db SPRITEMOVEFN_14, DOWN, $08, $8e, $02, $00 ; 1c + db SPRITEMOVEFN_17, DOWN, $00, $82, $00, $00 ; 1d + db SPRITEMOVEFN_19, LEFT, $01, $00, $00, $00 ; 1e + db SPRITEMOVEFN_18, RIGHT, $01, $00, $00, $00 ; 1f + db SPRITEMOVEFN_11, DOWN, $0c, $2e, $01, $c0 ; 20 + db SPRITEMOVEFN_11, DOWN, $0d, $2e, $01, $c0 ; 21 + db SPRITEMOVEFN_1A, DOWN, $0e, $8e, $01, $00 ; 22 + db SPRITEMOVEFN_1B, DOWN, $0f, $8e, $02, $00 ; 23 + db SPRITEMOVEFN_03, DOWN, $01, $00, $00, $20 ; 24 + db SPRITEMOVEFN_00, DOWN, $01, $00, $00, $00 ; 25 ; 4357 @@ -78,7 +79,7 @@ Function437b: ; 437b ; 4386 Function4386: ; 4386 - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc res 6, [hl] ld a, [XCoord] @@ -104,7 +105,7 @@ Function4386: ; 4386 jr .yes .ok - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc set 6, [hl] ld a, [XCoord] @@ -133,7 +134,7 @@ Function4386: ; 4386 ret .ok2 - ld hl, OBJECT_04 + ld hl, OBJECT_FLAGS1 add hl, bc bit 1, [hl] jr nz, .yes2 @@ -142,7 +143,7 @@ Function4386: ; 4386 ret .yes2 - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc set 6, [hl] and a @@ -155,20 +156,20 @@ Function43f3: ; 43f3 ld a, [hl] and a jr z, .zero - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc bit 5, [hl] - jr nz, .not_bit5 + jr nz, .bit5 cp 1 jr z, .one jr .ok .zero call Function47bc - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc bit 5, [hl] - jr nz, .not_bit5 + jr nz, .bit5 .one call Function47dd @@ -185,17 +186,17 @@ Function43f3: ; 43f3 rst JumpTable ret -.not_bit5 +.bit5 ret ; 4427 Function4427: ; 4427 - ld hl, OBJECT_04 + ld hl, OBJECT_FLAGS1 add hl, bc bit 0, [hl] jr nz, Function44a3 - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc bit 6, [hl] jr nz, Function44a3 @@ -208,7 +209,7 @@ Function4427: ; 4427 ; 4440 Function4440: ; 4440 - ld hl, OBJECT_04 + ld hl, OBJECT_FLAGS1 add hl, bc bit 0, [hl] jr nz, Function44a3 @@ -300,7 +301,7 @@ Function44b5: ; 44b5 ; 44c1 Function44c1: ; 44c1 - ld hl, OBJECT_04 + ld hl, OBJECT_FLAGS1 add hl, bc bit 3, [hl] jp nz, Function44aa @@ -324,7 +325,7 @@ Function44c1: ; 44c1 ; 44e4 Function44e4: ; 44e4 - ld hl, OBJECT_04 + ld hl, OBJECT_FLAGS1 add hl, bc bit 3, [hl] jp nz, Function44aa @@ -348,7 +349,7 @@ Function44e4: ; 44e4 ; 4508 Function4508: ; 4508 - ld hl, OBJECT_04 + ld hl, OBJECT_FLAGS1 add hl, bc bit 3, [hl] jp nz, Function44aa @@ -603,7 +604,7 @@ Function462a: ; 462a ; 463f Function463f: ; 463f - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc bit 3, [hl] jr z, .ok @@ -632,13 +633,13 @@ Function4661: ; 4661 jr c, .reset .set - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc set 3, [hl] ret .reset - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc res 3, [hl] ret @@ -670,7 +671,7 @@ Function4690: ; 4690 ld hl, OBJECT_DIRECTION_WALKING add hl, bc ld [hl], a - ld hl, OBJECT_04 + ld hl, OBJECT_FLAGS1 add hl, bc bit 2, [hl] jr nz, .ok @@ -827,7 +828,7 @@ Function4759: ; 4759 ret ; 4769 -Function4769: ; 4769 +RestoreDefaultMovement: ; 4769 ld hl, OBJECT_MAP_OBJECT_INDEX add hl, bc ld a, [hl] @@ -1028,7 +1029,7 @@ Function4851: ; 4851 jp Function4b26 ; 4869 -Function4869: ; 4869 +Function4869: ; standing? call Function462a call Function467b ld hl, OBJECT_11 @@ -1082,7 +1083,7 @@ Function48a0: ; 48a0 ; 48a6 Function48a6: ; 48a6 - ld hl, Function500e + ld hl, Function500e ; scripted jp Function5041 ; 48ac @@ -1098,7 +1099,7 @@ Function48b3: ; 48b3 ld a, [hl] call CheckPitTile jr z, .on_pit - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc bit 2, [hl] res 2, [hl] @@ -1192,7 +1193,7 @@ Function48ff: ; 48ff and %00001100 or d pop bc - jp Function5412 + jp NormalStep .standing pop bc @@ -1499,7 +1500,7 @@ Function4af0: ; 4af0 add hl, bc ld [hl], 2 ld hl, wd4cf - ld a, [hConnectionStripLength] + ld a, [hMapObjectIndexBuffer] cp [hl] jr z, .ok ld hl, OBJECT_09 @@ -1604,7 +1605,7 @@ Function4b8d: ; 4b8d ret nz call Function4600 call Function46a6 - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc res 3, [hl] call IncrementObjectStructField28 @@ -1648,7 +1649,7 @@ Function4bd2: ; 4bd2 dec [hl] ret nz call Function4600 - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc res 3, [hl] ld hl, wd150 @@ -1723,7 +1724,7 @@ Function4c42: ; 4c42 ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], $10 - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc res 3, [hl] call IncrementObjectStructField28 @@ -2046,7 +2047,7 @@ Function4e0c: ; 4e0c ; 4e13 Function4e13: ; 4e13 - call Function4769 + call RestoreDefaultMovement call Function1a47 ld hl, OBJECT_FACING add hl, bc @@ -2198,7 +2199,7 @@ Function4ecd: ; 4ecd ld b, a callba CopyDECoordsToMapObject pop bc - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc res 2, [hl] call Function4600 @@ -2395,7 +2396,7 @@ UpdateJumpPosition: ; 4fd5 db -11, -10, -9, -8, -6, -4, 0, 0 ; 5000 -Function5000: ; 5000 +Function5000: ; unscripted? ld a, [wc2de] ld hl, wc2df ld [hl], a @@ -2405,8 +2406,8 @@ Function5000: ; 5000 ret ; 500e -Function500e: ; 500e - ld hl, wc2e3 +Function500e: ; scripted + ld hl, wMovementDataPointer call Function1aae ret ; 5015 @@ -2417,7 +2418,7 @@ Function5015: ; 5015 ld e, [hl] inc [hl] ld d, 0 - ld hl, wc2e2 + ld hl, wMovementPerson ld a, [hli] ld h, [hl] ld l, a @@ -2447,7 +2448,7 @@ Function5037: ; 5037 ; 503d Function503d: ; 503d - ld a, [wc2e2] + ld a, [wMovementPerson] ret ; 5041 @@ -2466,14 +2467,14 @@ Function5041: ; 5041 CopyMovementPointer: ; 5055 ld a, l - ld [wc2eb], a + ld [wMovementPointer], a ld a, h - ld [wc2ec], a + ld [wMovementPointer + 1], a ret ; 505e GetMovementByte: ; 505e - ld hl, wc2eb + ld hl, wMovementPointer ld a, [hli] ld h, [hl] ld l, a @@ -2488,7 +2489,7 @@ Function5065: ; 5065 DoMovementFunction: ; 506b push af - call Function54b8 + call ApplyMovementToFollower pop af ld hl, MovementPointers rst JumpTable @@ -2501,14 +2502,14 @@ INCLUDE "engine/movement.asm" ; 54b8 -Function54b8: ; 54b8 +ApplyMovementToFollower: ; 54b8 ld e, a - ld a, [wd4ce] + ld a, [wObjectFollow_Follower] cp -1 ret z - ld a, [wd4cd] + ld a, [wObjectFollow_Leader] ld d, a - ld a, [hConnectionStripLength] + ld a, [hMapObjectIndexBuffer] cp d ret nz ld a, e @@ -2564,7 +2565,7 @@ Function54e6: ; 54e6 ; 550a Function550a: ; 550a - ld a, [wd4cd] + ld a, [wObjectFollow_Leader] cp -1 jr z, .nope push bc @@ -2580,7 +2581,7 @@ Function550a: ; 550a .nope ld a, $ff - ld [wd4ce], a + ld [wObjectFollow_Follower], a ld a, $47 scf ret @@ -2651,7 +2652,7 @@ Function5565: ; 5565 Function5579: ; 5579 push bc - ld a, [hConnectionStripLength] + ld a, [hMapObjectIndexBuffer] ld c, a call Function5582 pop bc @@ -2663,7 +2664,7 @@ Function5582: ; 5582 ld a, NUM_OBJECT_STRUCTS .loop push af - ld hl, OBJECT_04 + ld hl, OBJECT_FLAGS1 add hl, de bit 7, [hl] jr z, .next @@ -2690,7 +2691,7 @@ Function5582: ; 5582 ; 55ac Function55ac: ; 55ac - call Function1a13 + call FindFirstEmptyObjectStruct ret nc ld d, h ld e, l @@ -2712,7 +2713,7 @@ Function55b9: ; 55b9 ld [hli], a ld a, [de] ld [hli], a - ld a, [hConnectionStripLength] + ld a, [hMapObjectIndexBuffer] ld [hli], a push hl ld hl, OBJECT_MAP_X @@ -2737,7 +2738,7 @@ Function55e0:: ; 55e0 ld bc, ObjectStructs xor a .loop - ld [hConnectionStripLength], a + ld [hMapObjectIndexBuffer], a call GetObjectSprite jr z, .ok call Function565c @@ -2747,7 +2748,7 @@ Function55e0:: ; 55e0 add hl, bc ld b, h ld c, l - ld a, [hConnectionStripLength] + ld a, [hMapObjectIndexBuffer] inc a cp NUM_OBJECT_STRUCTS jr nz, .loop @@ -2801,13 +2802,13 @@ Function5645: ; 5645 xor a ld bc, ObjectStructs .loop - ld [hConnectionStripLength], a + ld [hMapObjectIndexBuffer], a call Function5680 ld hl, OBJECT_STRUCT_LENGTH add hl, bc ld b, h ld c, l - ld a, [hConnectionStripLength] + ld a, [hMapObjectIndexBuffer] inc a cp NUM_OBJECT_STRUCTS jr nz, .loop @@ -2927,7 +2928,7 @@ Function56cd: ; 56cd sub $20 .ok3 - ld [$ffbd], a + ld [hUsedSpriteIndex], a ld a, [wd14d] ld e, a ld hl, OBJECT_SPRITE_Y_OFFSET @@ -2959,7 +2960,7 @@ Function56cd: ; 56cd sub $20 .ok6 - ld [$ffbe], a + ld [hUsedSpriteTile], a ld hl, OBJECT_PALETTE add hl, bc bit 7, [hl] @@ -2977,14 +2978,14 @@ Function56cd: ; 56cd .loop ld a, [$ffbf] ld d, a - ld a, [$ffbe] + ld a, [hUsedSpriteTile] add e dec a cp $12 jr nc, .ok9 ld b, a .next - ld a, [$ffbd] + ld a, [hUsedSpriteIndex] add d dec a cp $14 @@ -3032,7 +3033,7 @@ Function5781: ; 5781 ld bc, ObjectStructs xor a .loop - ld [hConnectionStripLength], a + ld [hMapObjectIndexBuffer], a call GetObjectSprite jr z, .next call Function437b @@ -3042,7 +3043,7 @@ Function5781: ; 5781 add hl, bc ld b, h ld c, l - ld a, [hConnectionStripLength] + ld a, [hMapObjectIndexBuffer] inc a cp NUM_OBJECT_STRUCTS jr nz, .loop @@ -3055,7 +3056,7 @@ Function579d: ; 579d ld [wc2df], a xor a ld [wd04e], a - ld [wd4e2], a + ld [PlayerObject12], a call Function57bc callba CheckWarpCollision call c, SpawnInFacingDown @@ -3100,9 +3101,9 @@ Function57db: ; 57db Function57e2: ; 57e2 ld a, d - and $80 + and %10000000 ret z - ld bc, $0000 ; debug? + ld bc, 0 ; debug? ld hl, OBJECT_FACING add hl, bc ld a, [hl] @@ -3122,74 +3123,74 @@ Function57e2: ; 57e2 ret ; 5803 -Function5803:: ; 5803 +StartFollow:: ; 5803 push bc ld a, b - call Function5815 + call SetLeaderIfVisible pop bc ret c ld a, c - call Function582c + call SetFollowerIfVisible callba Function848a ret ; 5815 -Function5815: ; 5815 - call Function18de +SetLeaderIfVisible: ; 5815 + call CheckObjectVisibility ret c - ld a, [hConnectedMapWidth] - ld [wd4cd], a + ld a, [hObjectStructIndexBuffer] + ld [wObjectFollow_Leader], a ret ; 581f -Function581f:: ; 581f - call Function5826 - call Function5847 +StopFollow:: ; 581f + call ResetLeader + call ResetFollower ret ; 5826 -Function5826: ; 5826 +ResetLeader: ; 5826 ld a, -1 - ld [wd4cd], a + ld [wObjectFollow_Leader], a ret ; 582c -Function582c: ; 582c +SetFollowerIfVisible: ; 582c push af - call Function5847 + call ResetFollower pop af - call Function18de + call CheckObjectVisibility ret c - ld hl, OBJECT_03 + ld hl, OBJECT_MOVEMENTTYPE add hl, bc - ld [hl], $13 + ld [hl], SPRITEMOVEDATA_13 ld hl, OBJECT_09 add hl, bc ld [hl], 0 - ld a, [hConnectedMapWidth] - ld [wd4ce], a + ld a, [hObjectStructIndexBuffer] + ld [wObjectFollow_Follower], a ret ; 5847 -Function5847: ; 5847 - ld a, [wd4ce] +ResetFollower: ; 5847 + ld a, [wObjectFollow_Follower] cp -1 ret z call GetObjectStruct callba Function58e3 ld a, -1 - ld [wd4ce], a + ld [wObjectFollow_Follower], a ret ; 585c SetFlagsForMovement_1:: ; 585c ld a, c - call Function18de + call CheckObjectVisibility ret c push bc call Function587a pop bc - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc res 5, [hl] xor a @@ -3197,9 +3198,9 @@ SetFlagsForMovement_1:: ; 585c ; 586e Function586e: ; 586e - call Function18de + call CheckObjectVisibility ret c - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc set 5, [hl] xor a @@ -3213,7 +3214,7 @@ Function587a: ; 587a push af call GetObjectSprite jr z, .next - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc set 5, [hl] @@ -3230,7 +3231,7 @@ Function587a: ; 587a ; 5897 _SetFlagsForMovement_2:: ; 5897 - ld a, [wd4cd] + ld a, [wObjectFollow_Leader] cp -1 ret z push bc @@ -3241,11 +3242,11 @@ _SetFlagsForMovement_2:: ; 5897 pop bc cp c ret nz - ld a, [wd4ce] + ld a, [wObjectFollow_Follower] cp -1 ret z call GetObjectStruct - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc res 5, [hl] ret @@ -3259,7 +3260,7 @@ Function58b9:: ; 58b9 push af call GetObjectSprite jr z, .next - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc res 5, [hl] @@ -3277,9 +3278,9 @@ Function58b9:: ; 58b9 ; 58d8 Function58d8: ; 58d8 - call Function18de + call CheckObjectVisibility ret c - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc res 5, [hl] ret @@ -3297,7 +3298,7 @@ Function58e3: ; 58e3 add hl, bc ld a, [hl] pop bc - ld hl, OBJECT_03 + ld hl, OBJECT_MOVEMENTTYPE add hl, bc ld [hl], a ld hl, OBJECT_09 @@ -3312,10 +3313,10 @@ Function5903: ; 5903 rrca ld e, a ld d, 0 - ld hl, .data_591c + ld hl, .standing_movefns add hl, de ld a, [hl] - ld hl, OBJECT_03 + ld hl, OBJECT_MOVEMENTTYPE add hl, bc ld [hl], a ld hl, OBJECT_09 @@ -3323,8 +3324,11 @@ Function5903: ; 5903 ld [hl], 0 ret -.data_591c - db 6, 7, 8, 9 +.standing_movefns + db SPRITEMOVEDATA_STANDING_DOWN + db SPRITEMOVEDATA_STANDING_UP + db SPRITEMOVEDATA_STANDING_LEFT + db SPRITEMOVEDATA_STANDING_RIGHT ; 5920 RefreshMapAppearDisappear:: ; 5920 @@ -3332,7 +3336,7 @@ RefreshMapAppearDisappear:: ; 5920 bit 0, a ret z xor a - ld [$ffbd], a + ld [hUsedSpriteIndex], a ld a, [hOAMUpdate] push af ld a, 1 @@ -3352,12 +3356,12 @@ Function593a: ; 593a ld b, $70 .ok - ld a, [$ffbd] + ld a, [hUsedSpriteIndex] cp b ret nc ld l, a ld h, $c4 - ld de, OBJECT_04 + ld de, OBJECT_FLAGS1 ld a, b ld c, $a0 .loop @@ -3427,13 +3431,13 @@ Function5991: ; 5991 Function59a4: ; 59a4 xor a - ld hl, wc2eb + ld hl, wMovementPointer ld bc, 13 call ByteFill ld d, 0 ld bc, ObjectStructs - ld hl, wc2eb + ld hl, wMovementPointer .loop push hl call GetObjectSprite @@ -3447,7 +3451,7 @@ Function59a4: ; 59a4 ; Define the sprite priority. ld e, $10 - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc bit 0, [hl] jr nz, .add @@ -3484,7 +3488,7 @@ Function59a4: ; 59a4 ; 59f3 Function59f3: ; 59f3 - ld hl, wc2eb + ld hl, wMovementPointer .next ld a, [hli] ld d, a @@ -3517,7 +3521,7 @@ Function5a0d: ; 5a0d or %00001000 .skip1 - ld hl, OBJECT_FLAGS + ld hl, OBJECT_FLAGS2 add hl, bc ld e, [hl] bit 7, e @@ -3592,11 +3596,11 @@ Function5a0d: ; 5a0d ld h, [hl] ld l, a - ld a, [$ffbd] + ld a, [hUsedSpriteIndex] ld c, a ld b, Sprites / $100 ld a, [hli] - ld [$ffbe], a + ld [hUsedSpriteTile], a add c cp SpritesEnd % $100 jr nc, .full @@ -3641,13 +3645,13 @@ Function5a0d: ; 5a0d ld [bc], a inc c - ld a, [$ffbe] + ld a, [hUsedSpriteTile] dec a - ld [$ffbe], a + ld [hUsedSpriteTile], a jr nz, .addsprite ld a, c - ld [$ffbd], a + ld [hUsedSpriteIndex], a .done xor a @@ -3673,16 +3677,16 @@ endr .Addresses ; 5ace dw PlayerStruct - dw ObjectStruct1 - dw ObjectStruct2 - dw ObjectStruct3 - dw ObjectStruct4 - dw ObjectStruct5 - dw ObjectStruct6 - dw ObjectStruct7 - dw ObjectStruct8 - dw ObjectStruct9 - dw ObjectStruct10 - dw ObjectStruct11 - dw ObjectStruct12 + dw Object1Struct + dw Object2Struct + dw Object3Struct + dw Object4Struct + dw Object5Struct + dw Object6Struct + dw Object7Struct + dw Object8Struct + dw Object9Struct + dw Object10Struct + dw Object11Struct + dw Object12Struct ; 5ae8 diff --git a/engine/map_setup.asm b/engine/map_setup.asm index 8b1e3a7fe..0e391b31c 100644 --- a/engine/map_setup.asm +++ b/engine/map_setup.asm @@ -313,7 +313,7 @@ SuspendMapAnims: ; 154d3 LoadObjectsRunCallback_02: ; 154d7 ld a, $2 call RunMapCallback - callba Function2454f + callba LoadObjectMasks callba Function8177 ret ; 154ea (5:54ea) diff --git a/engine/movement.asm b/engine/movement.asm index d3c570cf5..0a6851ed4 100644 --- a/engine/movement.asm +++ b/engine/movement.asm @@ -1,120 +1,120 @@ MovementPointers: ; 5075 - dw Movement_turn_head_down - dw Movement_turn_head_up - dw Movement_turn_head_left - dw Movement_turn_head_right - dw Movement_half_step_down - dw Movement_half_step_up - dw Movement_half_step_left - dw Movement_half_step_right - dw Movement_slow_step_down - dw Movement_slow_step_up - dw Movement_slow_step_left - dw Movement_slow_step_right - dw Movement_step_down - dw Movement_step_up - dw Movement_step_left - dw Movement_step_right - dw Movement_big_step_down - dw Movement_big_step_up - dw Movement_big_step_left - dw Movement_big_step_right - dw Movement_slow_slide_step_down - dw Movement_slow_slide_step_up - dw Movement_slow_slide_step_left - dw Movement_slow_slide_step_right - dw Movement_slide_step_down - dw Movement_slide_step_up - dw Movement_slide_step_left - dw Movement_slide_step_right - dw Movement_fast_slide_step_down - dw Movement_fast_slide_step_up - dw Movement_fast_slide_step_left - dw Movement_fast_slide_step_right - dw Movement_turn_away_down - dw Movement_turn_away_up - dw Movement_turn_away_left - dw Movement_turn_away_right - dw Movement_turn_in_down - dw Movement_turn_in_up - dw Movement_turn_in_left - dw Movement_turn_in_right - dw Movement_turn_waterfall_down - dw Movement_turn_waterfall_up - dw Movement_turn_waterfall_left - dw Movement_turn_waterfall_right - dw Movement_slow_jump_step_down - dw Movement_slow_jump_step_up - dw Movement_slow_jump_step_left - dw Movement_slow_jump_step_right - dw Movement_jump_step_down - dw Movement_jump_step_up - dw Movement_jump_step_left - dw Movement_jump_step_right - dw Movement_fast_jump_step_down - dw Movement_fast_jump_step_up - dw Movement_fast_jump_step_left - dw Movement_fast_jump_step_right - dw Function5293 - dw Function529c - dw Movement_remove_fixed_facing - dw Movement_fix_facing - dw Function52b7 - dw Movement_hide_person - dw Movement_show_person - dw Function5226 - dw Function522a - dw Function522e - dw Function5232 - dw Function5236 - dw Function523a - dw Movement_accelerate_last - dw Movement_step_sleep - dw Movement_step_end - dw Function51db - dw Movement_remove_person - dw Function51b8 - dw Function5210 - dw Movement_teleport_from - dw Movement_teleport_to - dw Movement_skyfall - dw Movement_step_wait5 - dw Function525f - dw Function5189 - dw Function51ab - dw Movement_hide_emote - dw Movement_show_emote - dw Movement_step_shake - dw Function5279 - dw Function5196 - dw Function516a - dw Function513e + dw Movement_turn_head_down ; 00 + dw Movement_turn_head_up ; 01 + dw Movement_turn_head_left ; 02 + dw Movement_turn_head_right ; 03 + dw Movement_half_step_down ; 04 + dw Movement_half_step_up ; 05 + dw Movement_half_step_left ; 06 + dw Movement_half_step_right ; 07 + dw Movement_slow_step_down ; 08 + dw Movement_slow_step_up ; 09 + dw Movement_slow_step_left ; 0a + dw Movement_slow_step_right ; 0b + dw Movement_step_down ; 0c + dw Movement_step_up ; 0d + dw Movement_step_left ; 0e + dw Movement_step_right ; 0f + dw Movement_big_step_down ; 10 + dw Movement_big_step_up ; 11 + dw Movement_big_step_left ; 12 + dw Movement_big_step_right ; 13 + dw Movement_slow_slide_step_down ; 14 + dw Movement_slow_slide_step_up ; 15 + dw Movement_slow_slide_step_left ; 16 + dw Movement_slow_slide_step_right ; 17 + dw Movement_slide_step_down ; 18 + dw Movement_slide_step_up ; 19 + dw Movement_slide_step_left ; 1a + dw Movement_slide_step_right ; 1b + dw Movement_fast_slide_step_down ; 1c + dw Movement_fast_slide_step_up ; 1d + dw Movement_fast_slide_step_left ; 1e + dw Movement_fast_slide_step_right ; 1f + dw Movement_turn_away_down ; 20 + dw Movement_turn_away_up ; 21 + dw Movement_turn_away_left ; 22 + dw Movement_turn_away_right ; 23 + dw Movement_turn_in_down ; 24 + dw Movement_turn_in_up ; 25 + dw Movement_turn_in_left ; 26 + dw Movement_turn_in_right ; 27 + dw Movement_turn_waterfall_down ; 28 + dw Movement_turn_waterfall_up ; 29 + dw Movement_turn_waterfall_left ; 2a + dw Movement_turn_waterfall_right ; 2b + dw Movement_slow_jump_step_down ; 2c + dw Movement_slow_jump_step_up ; 2d + dw Movement_slow_jump_step_left ; 2e + dw Movement_slow_jump_step_right ; 2f + dw Movement_jump_step_down ; 30 + dw Movement_jump_step_up ; 31 + dw Movement_jump_step_left ; 32 + dw Movement_jump_step_right ; 33 + dw Movement_fast_jump_step_down ; 34 + dw Movement_fast_jump_step_up ; 35 + dw Movement_fast_jump_step_left ; 36 + dw Movement_fast_jump_step_right ; 37 + dw Movement_38 ; 38 + dw Movement_39 ; 39 + dw Movement_remove_fixed_facing ; 3a + dw Movement_fix_facing ; 3b + dw Movement_3c ; 3c + dw Movement_hide_person ; 3d + dw Movement_show_person ; 3e + dw Movement_3f ; 3f + dw Movement_40 ; 40 + dw Movement_41 ; 41 + dw Movement_42 ; 42 + dw Movement_43 ; 43 + dw Movement_44 ; 44 + dw Movement_accelerate_last ; 45 + dw Movement_step_sleep ; 46 + dw Movement_step_end ; 47 + dw Movement_48 ; 48 + dw Movement_remove_person ; 49 + dw Movement_4a ; 4a + dw Movement_4b ; 4b + dw Movement_teleport_from ; 4c + dw Movement_teleport_to ; 4d + dw Movement_skyfall ; 4e + dw Movement_step_wait5 ; 4f + dw Movement_50 ; 50 + dw Movement_51 ; 51 + dw Movement_52 ; 52 + dw Movement_hide_emote ; 53 + dw Movement_show_emote ; 54 + dw Movement_step_shake ; 55 + dw Movement_56 ; 56 + dw Movement_57 ; 57 + dw Movement_58 ; 58 + dw Movement_59 ; 59 ; 5129 Movement_teleport_from: ; 5129 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $c ret ; 5130 Movement_teleport_to: ; 5130 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $d ret ; 5137 Movement_skyfall: ; 5137 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $e ret ; 513e -Function513e: ; 513e - ld hl, $0009 +Movement_59: ; 513e + ld hl, OBJECT_09 add hl, bc ld [hl], $19 ret @@ -124,115 +124,115 @@ Movement_step_wait5: ; 5145 call GetSpriteDirection rlca rlca - ld hl, $000c + ld hl, OBJECT_12 add hl, bc ld [hl], a - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $4 call GetMovementByte - ld hl, $000a + ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], a - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $3 - ld hl, $0007 + ld hl, OBJECT_DIRECTION_WALKING add hl, bc ld [hl], $ff ret ; 516a -Function516a: ; 516a +Movement_58: ; 516a call GetSpriteDirection rlca rlca - ld hl, $000c + ld hl, OBJECT_12 add hl, bc ld [hl], a call GetMovementByte - ld hl, $000a + ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], a - ld hl, $0007 + ld hl, OBJECT_DIRECTION_WALKING add hl, bc ld [hl], $ff - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $12 ret ; 5189 -Function5189: ; 5189 - ld hl, $000b +Movement_51: ; 5189 + ld hl, OBJECT_11 add hl, bc ld [hl], $6 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $10 ret ; 5196 -Function5196: ; 5196 +Movement_57: ; 5196 call GetMovementByte - ld hl, $000a + ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], a - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $1 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $11 ret ; 51ab -Function51ab: ; 51ab - ld hl, $000b +Movement_52: ; 51ab + ld hl, OBJECT_11 add hl, bc ld [hl], $6 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $1 ret ; 51b8 -Function51b8: ; 51b8 - ld hl, $001b +Movement_4a: ; 51b8 + ld hl, OBJECT_27 add hl, bc ld [hl], $0 jp Function5065 ; 51c1 Movement_step_end: ; 51c1 - call Function4769 - ld hl, $0003 + call RestoreDefaultMovement + ld hl, OBJECT_MOVEMENTTYPE add hl, bc ld [hl], a - ld hl, $001b + ld hl, OBJECT_27 add hl, bc ld [hl], $0 ld hl, VramState res 7, [hl] - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $1 ret ; 51db -Function51db: ; 51db - call Function4769 - ld hl, $0003 +Movement_48: ; 51db + call RestoreDefaultMovement + ld hl, OBJECT_MOVEMENTTYPE add hl, bc ld [hl], a - ld hl, $001b + ld hl, OBJECT_27 add hl, bc ld [hl], $0 call GetMovementByte - ld hl, $000a + ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], a - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $3 ld hl, VramState @@ -242,8 +242,8 @@ Function51db: ; 51db Movement_remove_person: ; 51fd call Function4357 - ld hl, wd4cd - ld a, [hConnectionStripLength] + ld hl, wObjectFollow_Leader + ld a, [hMapObjectIndexBuffer] cp [hl] jr nz, .asm_520a ld [hl], $ff @@ -254,11 +254,11 @@ Movement_remove_person: ; 51fd ret ; 5210 -Function5210: ; 5210 - ld hl, $000b +Movement_4b: ; 5210 + ld hl, OBJECT_11 add hl, bc ld [hl], $1 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $4 ld hl, VramState @@ -270,27 +270,27 @@ Movement_show_person: ; 5222 ld a, $1 jr Function5247 -Function5226: ; 5226 +Movement_3f: ; 5226 ld a, $2 jr Function5247 -Function522a: ; 522a +Movement_40: ; 522a ld a, $3 jr Function5247 -Function522e: ; 522e +Movement_41: ; 522e ld a, $4 jr Function5247 -Function5232: ; 5232 +Movement_42: ; 5232 ld a, $5 jr Function5247 -Function5236: ; 5236 +Movement_43: ; 5236 ld a, $6 jr Function5247 -Function523a: ; 523a +Movement_44: ; 523a ld a, $7 jr Function5247 @@ -306,92 +306,92 @@ Movement_step_sleep: ; 5242 jr Function5247 Function5247: ; 5247 - ld hl, $000a + ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], a - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $3 - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $1 - ld hl, $0007 + ld hl, OBJECT_DIRECTION_WALKING add hl, bc ld [hl], $ff ret ; 525f -Function525f: ; 525f +Movement_50: ; 525f ld a, $1 - ld hl, $000a + ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], a - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $b - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $3 - ld hl, $0007 + ld hl, OBJECT_DIRECTION_WALKING add hl, bc ld [hl], $ff ret ; 5279 -Function5279: ; 5279 +Movement_56: ; 5279 ld a, $18 - ld hl, $000a + ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], a - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $3 - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $b - ld hl, $0007 + ld hl, OBJECT_DIRECTION_WALKING add hl, bc ld [hl], $ff ret ; 5293 -Function5293: ; 5293 - ld hl, $0004 +Movement_38: ; 5293 + ld hl, OBJECT_FLAGS1 add hl, bc res 3, [hl] jp Function5065 ; 529c -Function529c: ; 529c - ld hl, $0004 +Movement_39: ; 529c + ld hl, OBJECT_FLAGS1 add hl, bc set 3, [hl] jp Function5065 ; 52a5 Movement_remove_fixed_facing: ; 52a5 - ld hl, $0004 + ld hl, OBJECT_FLAGS1 add hl, bc res 2, [hl] jp Function5065 ; 52ae Movement_fix_facing: ; 52ae - ld hl, $0004 + ld hl, OBJECT_FLAGS1 add hl, bc set 2, [hl] jp Function5065 ; 52b7 -Function52b7: ; 52b7 - ld hl, $0004 +Movement_3c: ; 52b7 + ld hl, OBJECT_FLAGS1 add hl, bc res 0, [hl] jp Function5065 ; 52c0 Movement_hide_person: ; 52c0 - ld hl, $0004 + ld hl, OBJECT_FLAGS1 add hl, bc set 0, [hl] jp Function5065 @@ -417,311 +417,311 @@ Movement_step_shake: ; 52d5 ; 52de Movement_turn_head_down: ; 52de - ld a, $0 - jr Function52ee + ld a, OW_DOWN + jr TurnHead Movement_turn_head_up: ; 52e2 - ld a, $4 - jr Function52ee + ld a, OW_UP + jr TurnHead Movement_turn_head_left: ; 52e6 - ld a, $8 - jr Function52ee + ld a, OW_LEFT + jr TurnHead Movement_turn_head_right: ; 52ea - ld a, $c - jr Function52ee + ld a, OW_RIGHT + jr TurnHead -Function52ee: ; 52ee - ld hl, $0008 +TurnHead: ; 52ee + ld hl, OBJECT_FACING add hl, bc ld [hl], a - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $1 - ld hl, $0007 + ld hl, OBJECT_DIRECTION_WALKING add hl, bc ld [hl], $ff ret ; 5300 Movement_slow_step_down: ; 5300 - ld a, $0 - jp Function5412 + ld a, STEP_SLOW << 2 | DOWN + jp NormalStep ; 5305 Movement_slow_step_up: ; 5305 - ld a, $1 - jp Function5412 + ld a, STEP_SLOW << 2 | UP + jp NormalStep ; 530a Movement_slow_step_left: ; 530a - ld a, $2 - jp Function5412 + ld a, STEP_SLOW << 2 | LEFT + jp NormalStep ; 530f Movement_slow_step_right: ; 530f - ld a, $3 - jp Function5412 + ld a, STEP_SLOW << 2 | RIGHT + jp NormalStep ; 5314 Movement_step_down: ; 5314 - ld a, $4 - jp Function5412 + ld a, STEP_WALK << 2 | DOWN + jp NormalStep ; 5319 Movement_step_up: ; 5319 - ld a, $5 - jp Function5412 + ld a, STEP_WALK << 2 | UP + jp NormalStep ; 531e Movement_step_left: ; 531e - ld a, $6 - jp Function5412 + ld a, STEP_WALK << 2 | LEFT + jp NormalStep ; 5323 Movement_step_right: ; 5323 - ld a, $7 - jp Function5412 + ld a, STEP_WALK << 2 | RIGHT + jp NormalStep ; 5328 Movement_big_step_down: ; 5328 - ld a, $8 - jp Function5412 + ld a, STEP_BIKE << 2 | DOWN + jp NormalStep ; 532d Movement_big_step_up: ; 532d - ld a, $9 - jp Function5412 + ld a, STEP_BIKE << 2 | UP + jp NormalStep ; 5332 Movement_big_step_left: ; 5332 - ld a, $a - jp Function5412 + ld a, STEP_BIKE << 2 | LEFT + jp NormalStep ; 5337 Movement_big_step_right: ; 5337 - ld a, $b - jp Function5412 + ld a, STEP_BIKE << 2 | RIGHT + jp NormalStep ; 533c Movement_turn_away_down: ; 533c - ld a, $0 - jp Function5446 + ld a, STEP_SLOW << 2 | DOWN + jp TurningStep ; 5341 Movement_turn_away_up: ; 5341 - ld a, $1 - jp Function5446 + ld a, STEP_SLOW << 2 | UP + jp TurningStep ; 5346 Movement_turn_away_left: ; 5346 - ld a, $2 - jp Function5446 + ld a, STEP_SLOW << 2 | LEFT + jp TurningStep ; 534b Movement_turn_away_right: ; 534b - ld a, $3 - jp Function5446 + ld a, STEP_SLOW << 2 | RIGHT + jp TurningStep ; 5350 Movement_turn_in_down: ; 5350 - ld a, $4 - jp Function5446 + ld a, STEP_WALK << 2 | DOWN + jp TurningStep ; 5355 Movement_turn_in_up: ; 5355 - ld a, $5 - jp Function5446 + ld a, STEP_WALK << 2 | UP + jp TurningStep ; 535a Movement_turn_in_left: ; 535a - ld a, $6 - jp Function5446 + ld a, STEP_WALK << 2 | LEFT + jp TurningStep ; 535f Movement_turn_in_right: ; 535f - ld a, $7 - jp Function5446 + ld a, STEP_WALK << 2 | RIGHT + jp TurningStep ; 5364 Movement_turn_waterfall_down: ; 5364 - ld a, $8 - jp Function5446 + ld a, STEP_BIKE << 2 | DOWN + jp TurningStep ; 5369 Movement_turn_waterfall_up: ; 5369 - ld a, $9 - jp Function5446 + ld a, STEP_BIKE << 2 | UP + jp TurningStep ; 536e Movement_turn_waterfall_left: ; 536e - ld a, $a - jp Function5446 + ld a, STEP_BIKE << 2 | LEFT + jp TurningStep ; 5373 Movement_turn_waterfall_right: ; 5373 - ld a, $b - jp Function5446 + ld a, STEP_BIKE << 2 | RIGHT + jp TurningStep ; 5378 Movement_slow_slide_step_down: ; 5378 - ld a, $0 - jp Function5468 + ld a, STEP_SLOW << 2 | DOWN + jp SlideStep ; 537d Movement_slow_slide_step_up: ; 537d - ld a, $1 - jp Function5468 + ld a, STEP_SLOW << 2 | UP + jp SlideStep ; 5382 Movement_slow_slide_step_left: ; 5382 - ld a, $2 - jp Function5468 + ld a, STEP_SLOW << 2 | LEFT + jp SlideStep ; 5387 Movement_slow_slide_step_right: ; 5387 - ld a, $3 - jp Function5468 + ld a, STEP_SLOW << 2 | RIGHT + jp SlideStep ; 538c Movement_slide_step_down: ; 538c - ld a, $4 - jp Function5468 + ld a, STEP_WALK << 2 | DOWN + jp SlideStep ; 5391 Movement_slide_step_up: ; 5391 - ld a, $5 - jp Function5468 + ld a, STEP_WALK << 2 | UP + jp SlideStep ; 5396 Movement_slide_step_left: ; 5396 - ld a, $6 - jp Function5468 + ld a, STEP_WALK << 2 | LEFT + jp SlideStep ; 539b Movement_slide_step_right: ; 539b - ld a, $7 - jp Function5468 + ld a, STEP_WALK << 2 | RIGHT + jp SlideStep ; 53a0 Movement_fast_slide_step_down: ; 53a0 - ld a, $8 - jp Function5468 + ld a, STEP_BIKE << 2 | DOWN + jp SlideStep ; 53a5 Movement_fast_slide_step_up: ; 53a5 - ld a, $9 - jp Function5468 + ld a, STEP_BIKE << 2 | UP + jp SlideStep ; 53aa Movement_fast_slide_step_left: ; 53aa - ld a, $a - jp Function5468 + ld a, STEP_BIKE << 2 | LEFT + jp SlideStep ; 53af Movement_fast_slide_step_right: ; 53af - ld a, $b - jp Function5468 + ld a, STEP_BIKE << 2 | RIGHT + jp SlideStep ; 53b4 Movement_slow_jump_step_down: ; 53b4 - ld a, $0 - jp Function548a + ld a, STEP_SLOW << 2 | DOWN + jp JumpStep ; 53b9 Movement_slow_jump_step_up: ; 53b9 - ld a, $1 - jp Function548a + ld a, STEP_SLOW << 2 | UP + jp JumpStep ; 53be Movement_slow_jump_step_left: ; 53be - ld a, $2 - jp Function548a + ld a, STEP_SLOW << 2 | LEFT + jp JumpStep ; 53c3 Movement_slow_jump_step_right: ; 53c3 - ld a, $3 - jp Function548a + ld a, STEP_SLOW << 2 | RIGHT + jp JumpStep ; 53c8 Movement_jump_step_down: ; 53c8 - ld a, $4 - jp Function548a + ld a, STEP_WALK << 2 | DOWN + jp JumpStep ; 53cd Movement_jump_step_up: ; 53cd - ld a, $5 - jp Function548a + ld a, STEP_WALK << 2 | UP + jp JumpStep ; 53d2 Movement_jump_step_left: ; 53d2 - ld a, $6 - jp Function548a + ld a, STEP_WALK << 2 | LEFT + jp JumpStep ; 53d7 Movement_jump_step_right: ; 53d7 - ld a, $7 - jp Function548a + ld a, STEP_WALK << 2 | RIGHT + jp JumpStep ; 53dc Movement_fast_jump_step_down: ; 53dc - ld a, $8 - jp Function548a + ld a, STEP_BIKE << 2 | DOWN + jp JumpStep ; 53e1 Movement_fast_jump_step_up: ; 53e1 - ld a, $9 - jp Function548a + ld a, STEP_BIKE << 2 | UP + jp JumpStep ; 53e6 Movement_fast_jump_step_left: ; 53e6 - ld a, $a - jp Function548a + ld a, STEP_BIKE << 2 | LEFT + jp JumpStep ; 53eb Movement_fast_jump_step_right: ; 53eb - ld a, $b - jp Function548a + ld a, STEP_BIKE << 2 | RIGHT + jp JumpStep ; 53f0 Movement_half_step_down: ; 53f0 - ld a, $0 - jr Function5400 + ld a, OW_DOWN + jr HalfStep Movement_half_step_up: ; 53f4 - ld a, $4 - jr Function5400 + ld a, OW_UP + jr HalfStep Movement_half_step_left: ; 53f8 - ld a, $8 - jr Function5400 + ld a, OW_LEFT + jr HalfStep Movement_half_step_right: ; 53fc - ld a, $c - jr Function5400 + ld a, OW_RIGHT + jr HalfStep -Function5400: ; 5400 - ld hl, $001d +HalfStep: ; 5400 + ld hl, OBJECT_29 add hl, bc ld [hl], a - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $2 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $a ret ; 5412 -Function5412: ; 5412 +NormalStep: ; 5412 call Function4690 call Function463f - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $2 ld hl, OBJECT_STANDING_TILE @@ -738,91 +738,91 @@ Function5412: ; 5412 .asm_5430 ld hl, wd4cf - ld a, [hConnectionStripLength] + ld a, [hMapObjectIndexBuffer] cp [hl] jr z, .asm_543f - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $2 ret .asm_543f - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $6 ret ; 5446 -Function5446: ; 5446 +TurningStep: ; 5446 call Function4690 call Function463f - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $4 ld hl, wd4cf - ld a, [hConnectionStripLength] + ld a, [hMapObjectIndexBuffer] cp [hl] jr z, .asm_5461 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $2 ret .asm_5461 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $6 ret ; 5468 -Function5468: ; 5468 +SlideStep: ; 5468 call Function4690 call Function463f - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $1 ld hl, wd4cf - ld a, [hConnectionStripLength] + ld a, [hMapObjectIndexBuffer] cp [hl] jr z, .asm_5483 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $2 ret .asm_5483 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $6 ret ; 548a -Function548a: ; 548a +JumpStep: ; 548a call Function4690 - ld hl, $001f + ld hl, OBJECT_31 add hl, bc ld [hl], $0 - ld hl, $0005 + ld hl, OBJECT_FLAGS2 add hl, bc res 3, [hl] - ld hl, $000b + ld hl, OBJECT_11 add hl, bc ld [hl], $2 call Function5529 ld hl, wd4cf - ld a, [hConnectionStripLength] + ld a, [hMapObjectIndexBuffer] cp [hl] jr z, .asm_54b1 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $8 ret .asm_54b1 - ld hl, $0009 + ld hl, OBJECT_09 add hl, bc ld [hl], $9 ret diff --git a/engine/pack.asm b/engine/pack.asm index 35126ba16..b753d6ade 100644 --- a/engine/pack.asm +++ b/engine/pack.asm @@ -64,7 +64,7 @@ Function10067: ; 10067 (4:4067) ld hl, MenuDataHeader_0x10a4f call CopyMenuDataHeader ld a, [wItemsPocketCursor] - ld [wPocketCursorBuffer], a + ld [wMenuCursorBuffer], a ld a, [wd0df] ld [wd0e4], a call Function350c @@ -92,7 +92,7 @@ Function100a6: ; 100a6 (4:40a6) ld hl, MenuDataHeader_0x10a7f call CopyMenuDataHeader ld a, [wKeyItemsPocketCursor] - ld [wPocketCursorBuffer], a + ld [wMenuCursorBuffer], a ld a, [wd0e0] ld [wd0e4], a call Function350c @@ -222,7 +222,7 @@ Function10198: ; 10198 (4:4198) ld hl, MenuDataHeader_0x10aaf call CopyMenuDataHeader ld a, [wBallsPocketCursor] - ld [wPocketCursorBuffer], a + ld [wMenuCursorBuffer], a ld a, [wd0e1] ld [wd0e4], a call Function350c @@ -722,7 +722,7 @@ Function104fa: ; 104fa (4:44fa) ld hl, MenuDataHeader_0x10a4f call CopyMenuDataHeader ld a, [wItemsPocketCursor] - ld [wPocketCursorBuffer], a + ld [wMenuCursorBuffer], a ld a, [wd0df] ld [wd0e4], a call Function350c @@ -750,7 +750,7 @@ Function10539: ; 10539 (4:4539) ld hl, MenuDataHeader_0x10a7f call CopyMenuDataHeader ld a, [wKeyItemsPocketCursor] - ld [wPocketCursorBuffer], a + ld [wMenuCursorBuffer], a ld a, [wd0e0] ld [wd0e4], a call Function350c @@ -801,7 +801,7 @@ Function105a6: ; 105a6 (4:45a6) ld hl, MenuDataHeader_0x10aaf call CopyMenuDataHeader ld a, [wBallsPocketCursor] - ld [wPocketCursorBuffer], a + ld [wMenuCursorBuffer], a ld a, [wd0e1] ld [wd0e4], a call Function350c @@ -1007,7 +1007,7 @@ Jumptable_106d1: ; 106d1 (4:46d1) ld hl, MenuDataHeader_0x10a67 call CopyMenuDataHeader ld a, [wItemsPocketCursor] - ld [wPocketCursorBuffer], a + ld [wMenuCursorBuffer], a ld a, [wd0df] ld [wd0e4], a call Function350c @@ -1023,7 +1023,7 @@ Jumptable_106d1: ; 106d1 (4:46d1) ld hl, MenuDataHeader_0x10a97 call CopyMenuDataHeader ld a, [wKeyItemsPocketCursor] - ld [wPocketCursorBuffer], a + ld [wMenuCursorBuffer], a ld a, [wd0e0] ld [wd0e4], a call Function350c @@ -1048,7 +1048,7 @@ Jumptable_106d1: ; 106d1 (4:46d1) ld hl, MenuDataHeader_0x10ac7 call CopyMenuDataHeader ld a, [wBallsPocketCursor] - ld [wPocketCursorBuffer], a + ld [wMenuCursorBuffer], a ld a, [wd0e1] ld [wd0e4], a call Function350c @@ -1411,7 +1411,7 @@ Function10955: ; 10955 ld a, BANK(PackMenuGFX) call FarCopyBytes hlcoord 0, 1 - ld bc, $00dc + ld bc, 220 ld a, $24 call ByteFill hlcoord 5, 1 diff --git a/engine/radio2.asm b/engine/radio2.asm index b843315d4..039631130 100644 --- a/engine/radio2.asm +++ b/engine/radio2.asm @@ -385,7 +385,7 @@ NoRadioName: ; 918a9 (24:58a9) xor a ld [hBGMapMode], a ; $ff00+$d4 hlcoord 1, 8 - ld bc, $312 + lb bc, 3, 18 call ClearBox hlcoord 0, 12 ld bc, $412 diff --git a/engine/scripting.asm b/engine/scripting.asm index 2dadafee1..5a3895038 100644 --- a/engine/scripting.asm +++ b/engine/scripting.asm @@ -529,7 +529,7 @@ Script_interpretmenu: ; 0x96f41 ld a, [ScriptBank] ld hl, InterpretMenu rst FarCall - ld a, [wPocketCursorBuffer] + ld a, [wMenuCursorBuffer] jr nc, .ok xor a .ok @@ -608,7 +608,7 @@ Script_verbosegiveitem2: ; 0x96f8e call GetScriptByte call GetVarAction ld a, [de] - ld [wd10c], a + ld [wItemQuantityChangeBuffer], a ld hl, NumItems call ReceiveItem ld a, 1 @@ -1191,7 +1191,7 @@ endr ApplyPersonFacing: ; 0x9728b ld a, d push de - call Function18de + call CheckObjectVisibility jr c, .not_visible ; 0x97290 $27 ld hl, OBJECT_SPRITE add hl, bc @@ -1200,7 +1200,7 @@ ApplyPersonFacing: ; 0x9728b call Function1836 pop bc jr c, .not_visible ; 0x9729c $1b - ld hl, OBJECT_04 + ld hl, OBJECT_FLAGS1 add hl, bc bit 2, [hl] jr nz, .not_visible ; 0x972a4 $13 @@ -1209,28 +1209,29 @@ ApplyPersonFacing: ; 0x9728b call SetSpriteDirection ld hl, VramState bit 6, [hl] - jr nz, .asm_972b5 ; 0x972b0 $3 - call Function972bc -.asm_972b5 + jr nz, .text_state ; 0x972b0 $3 + call .DisableTextTiles +.text_state call UpdateSprites ret + .not_visible pop de scf ret ; 0x972bc -Function972bc: ; 0x972bc +.DisableTextTiles: ; 0x972bc call Function217a hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT -.asm_972c5 +.loop res 7, [hl] inc hl dec bc ld a, b or c - jr nz, .asm_972c5 ; 0x972cb $f8 + jr nz, .loop ; 0x972cb $f8 ret ; 0x972ce @@ -1258,7 +1259,7 @@ Script_appear: ; 0x972dd call GetScriptByte call GetScriptPerson call _CopyObjectStruct - ld a, [hConnectionStripLength] + ld a, [hMapObjectIndexBuffer] ld b, 0 ; clear call ApplyEventActionAppearDisappear ret @@ -1276,7 +1277,7 @@ Script_disappear: ; 0x972ee ld a, [hLastTalked] .ok call DeleteObjectStruct - ld a, [hConnectionStripLength] + ld a, [hMapObjectIndexBuffer] ld b, 1 ; set call ApplyEventActionAppearDisappear callba RefreshMapAppearDisappear @@ -1316,14 +1317,14 @@ Script_follow: ; 0x97325 call GetScriptByte call GetScriptPerson ld c, a - callba Function5803 + callba StartFollow ret ; 0x9733a Script_stopfollow: ; 0x9733a ; script command 0x71 - callba Function581f + callba StopFollow ret ; 0x97341 @@ -1390,7 +1391,7 @@ Script_loademote: ; 0x97384 ld a, [ScriptVar] .not_var_emote ld c, a - callba Function1442f + callba LoadEmote ret ; 0x97396 @@ -1417,7 +1418,7 @@ Script_showemote: ; 0x97396 ; 0x973b6 ShowEmoteScript: ; 973b6 - loademote -1 + loademote EMOTE_MEM applymovement2 .Show pause 0 applymovement2 .Hide @@ -1446,7 +1447,7 @@ Script_earthquake: ; 0x973c7 call CopyBytes call GetScriptByte ld [wd003], a - and $3f + and (1 << 6) - 1 ld [wd005], a ld b, BANK(.script) ld de, .script @@ -2344,7 +2345,7 @@ Script_giveitem: ; 0x977ca .ok ld [CurItem], a call GetScriptByte - ld [wd10c], a + ld [wItemQuantityChangeBuffer], a ld hl, NumItems call ReceiveItem jr nc, .full ; 0x977e3 $6 @@ -2368,7 +2369,7 @@ Script_takeitem: ; 0x977f0 call GetScriptByte ld [CurItem], a call GetScriptByte - ld [wd10c], a + ld [wItemQuantityChangeBuffer], a ld a, $ff ld [wd107], a ld hl, NumItems @@ -2428,10 +2429,10 @@ Script_checkmoney: ; 0x97843 call GetMoneyAccount call LoadMoneyAmountToMem - callba CheckMoney + callba CompareMoney ; 0x9784f -CheckMoneyAction: ; 0x9784f +CompareMoneyAction: ; 0x9784f jr c, .two jr z, .one ld a, 0 @@ -2497,12 +2498,12 @@ Script_checkcoins: ; 0x97895 call LoadCoinAmountToMem callba CheckCoins - jr CheckMoneyAction + jr CompareMoneyAction ; 978a0 LoadCoinAmountToMem: ; 978a0 call GetScriptByte - ld [$ffc4], a + ld [hMoneyTemp + 1], a call GetScriptByte ld [hMoneyTemp], a ld bc, hMoneyTemp diff --git a/engine/specials.asm b/engine/specials.asm index e9fe2987f..ef53daedc 100644 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -115,7 +115,7 @@ SpecialsPointers:: ; c029 add_special RandomPhoneWildMon add_special RandomPhoneMon add_special RunCallback_04 - add_special Functionfb841 + add_special PlaySlowCry add_special SpecialSnorlaxAwake add_special Special_YoungerHaircutBrother add_special Special_OlderHaircutBrother @@ -333,7 +333,7 @@ Special_GetMysteryGiftItem: ; c309 ld a, [sMysteryGiftItem] ld [CurItem], a ld a, $1 - ld [wd10c], a + ld [wItemQuantityChangeBuffer], a ld hl, NumItems call ReceiveItem jr nc, .asm_c33d @@ -413,9 +413,9 @@ Special_DummyNonfunctionalGameCornerGame: ; c38d ; c39a Special_StartGameCornerGame: ; c39a - call Function31cf + call FarQueueScript call FadeToMenu - ld hl, wd0e8 + ld hl, wQueuedScriptBank ld a, [hli] push af ld a, [hli] |