diff options
Diffstat (limited to 'engine')
| -rw-r--r-- | engine/facings.asm | 128 | ||||
| -rwxr-xr-x | engine/map_object_action.asm | 118 | ||||
| -rw-r--r-- | engine/map_objects.asm | 12 | ||||
| -rw-r--r-- | engine/movement.asm | 2 | 
4 files changed, 132 insertions, 128 deletions
| diff --git a/engine/facings.asm b/engine/facings.asm index f807e77f8..ee9efec3f 100644 --- a/engine/facings.asm +++ b/engine/facings.asm @@ -1,36 +1,36 @@  Facings: ; 4049 -	dw Facing00 -	dw Facing01 -	dw Facing02 -	dw Facing03 -	dw Facing04 -	dw Facing05 -	dw Facing06 -	dw Facing07 -	dw Facing08 -	dw Facing09 -	dw Facing10 -	dw Facing11 -	dw Facing12 -	dw Facing13 -	dw Facing14 -	dw Facing15 -	dw Facing16 -	dw Facing17 -	dw Facing18 -	dw Facing19 -	dw Facing20 -	dw Facing21 -	dw Facing22 -	dw Facing23 -	dw Facing24 -	dw Facing25 -	dw Facing26 -	dw Facing27 -	dw Facing28 -	dw Facing29 -	dw Facing30 -	dw Facing31 +	dw FacingStepDown0 +	dw FacingStepDown1 +	dw FacingStepDown2 +	dw FacingStepDown3 +	dw FacingStepUp0 +	dw FacingStepUp1 +	dw FacingStepUp2 +	dw FacingStepUp3 +	dw FacingStepLeft0 +	dw FacingStepLeft1 +	dw FacingStepLeft2 +	dw FacingStepLeft3 +	dw FacingStepRight0 +	dw FacingStepRight1 +	dw FacingStepRight2 +	dw FacingStepRight3 +	dw FacingFishDown +	dw FacingFishUp +	dw FacingFishLeft +	dw FacingFishRight +	dw FacingEmote +	dw FacingShadow +	dw FacingBigDollAsymmetric +	dw FacingBigDollSymmetric +	dw FacingWeirdTree0 +	dw FacingWeirdTree1 +	dw FacingWeirdTree2 +	dw FacingWeirdTree3 +	dw FacingBoulderDust1 +	dw FacingBoulderDust2 +	dw FacingGrass1 +	dw FacingGrass2  FacingsEnd: dw 0  NUM_FACINGS EQU (FacingsEnd - Facings) / 2 @@ -47,10 +47,10 @@ Y_FLIP    EQU 1 << OAM_Y_FLIP  BEHIND_BG EQU 1 << OAM_PRIORITY -Facing00: -Facing02: -Facing24: -Facing26: ; standing down +FacingStepDown0: +FacingStepDown2: +FacingWeirdTree0: +FacingWeirdTree2: ; standing down  	db 4 ; #  	db  0,  0, 0, $00  	db  0,  8, 0, $01 @@ -58,7 +58,7 @@ Facing26: ; standing down  	db  8,  8, 2, $03  ; 409c -Facing01: ; walking down 1 +FacingStepDown1: ; walking down 1  	db 4 ; #  	db  0,  0, 0, $80  	db  0,  8, 0, $81 @@ -66,7 +66,7 @@ Facing01: ; walking down 1  	db  8,  8, 2, $83  ; 40ad -Facing03: ; walking down 2 +FacingStepDown3: ; walking down 2  	db 4 ; #  	db  0,  8, X_FLIP, $80  	db  0,  0, X_FLIP, $81 @@ -74,8 +74,8 @@ Facing03: ; walking down 2  	db  8,  0, 2 | X_FLIP, $83  ; 40be -Facing04: -Facing06: ; standing up +FacingStepUp0: +FacingStepUp2: ; standing up  	db 4 ; #  	db  0,  0, 0, $04  	db  0,  8, 0, $05 @@ -83,7 +83,7 @@ Facing06: ; standing up  	db  8,  8, 2, $07  ; 40cf -Facing05: ; walking up 1 +FacingStepUp1: ; walking up 1  	db 4 ; #  	db  0,  0, 0, $84  	db  0,  8, 0, $85 @@ -91,7 +91,7 @@ Facing05: ; walking up 1  	db  8,  8, 2, $87  ; 40e0 -Facing07: ; walking up 2 +FacingStepUp3: ; walking up 2  	db 4 ; #  	db  0,  8, X_FLIP, $84  	db  0,  0, X_FLIP, $85 @@ -99,8 +99,8 @@ Facing07: ; walking up 2  	db  8,  0, 2 | X_FLIP, $87  ; 40f1 -Facing08: -Facing10: ; standing left +FacingStepLeft0: +FacingStepLeft2: ; standing left  	db 4 ; #  	db  0,  0, 0, $08  	db  0,  8, 0, $09 @@ -108,8 +108,8 @@ Facing10: ; standing left  	db  8,  8, 2, $0b  ; 4102 -Facing12: -Facing14: ; standing right +FacingStepRight0: +FacingStepRight2: ; standing right  	db 4 ; #  	db  0,  8, X_FLIP, $08  	db  0,  0, X_FLIP, $09 @@ -117,8 +117,8 @@ Facing14: ; standing right  	db  8,  0, 2 | X_FLIP, $0b  ; 4113 -Facing09: -Facing11: ; walking left +FacingStepLeft1: +FacingStepLeft3: ; walking left  	db 4 ; #  	db  0,  0, 0, $88  	db  0,  8, 0, $89 @@ -126,8 +126,8 @@ Facing11: ; walking left  	db  8,  8, 2, $8b  ; 4124 -Facing13: -Facing15: ; walking right +FacingStepRight1: +FacingStepRight3: ; walking right  	db 4 ; #  	db  0,  8, X_FLIP, $88  	db  0,  0, X_FLIP, $89 @@ -135,7 +135,7 @@ Facing15: ; walking right  	db  8,  0, 2 | X_FLIP, $8b  ; 4135 -Facing16: ; fishing down +FacingFishDown: ; fishing down  	db 5 ; #  	db  0,  0, 0, $00  	db  0,  8, 0, $01 @@ -144,7 +144,7 @@ Facing16: ; fishing down  	db 16,  0, 4, $fc  ; 414a -Facing17: ; fishing up +FacingFishUp: ; fishing up  	db 5 ; #  	db  0,  0, 0, $04  	db  0,  8, 0, $05 @@ -153,7 +153,7 @@ Facing17: ; fishing up  	db -8,  0, 4, $fc  ; 415f -Facing18: ; fishing left +FacingFishLeft: ; fishing left  	db 5 ; #  	db  0,  0, 0, $08  	db  0,  8, 0, $09 @@ -162,7 +162,7 @@ Facing18: ; fishing left  	db  5, -8, 4 | X_FLIP, $fd  ; 4174 -Facing19: ; fishing right +FacingFishRight: ; fishing right  	db 5 ; #  	db  0,  8, X_FLIP, $08  	db  0,  0, X_FLIP, $09 @@ -171,7 +171,7 @@ Facing19: ; fishing right  	db  5, 16, 4, $fd  ; 4189 -Facing20: ; emote +FacingEmote: ; emote  	db 4 ; #  	db  0,  0, 4, $f8  	db  0,  8, 4, $f9 @@ -179,13 +179,13 @@ Facing20: ; emote  	db  8,  8, 4, $fb  ; 419a -Facing21: ; shadow +FacingShadow: ; shadow  	db 2 ; #  	db  0,  0, 4, $fc  	db  0,  8, 4 | X_FLIP, $fc  ; 41a3 -Facing23: ; big snorlax or lapras doll +FacingBigDollSymmetric: ; big snorlax or lapras doll  	db 16 ; #  	db  0,  0, 0, $00  	db  0,  8, 0, $01 @@ -205,7 +205,7 @@ Facing23: ; big snorlax or lapras doll  	db 24, 16, X_FLIP, $07  ; 41e4 -Facing25: ; 41e4 +FacingWeirdTree1: ; 41e4  	db 4 ; #  	db  0,  0, 0, $04  	db  0,  8, 0, $05 @@ -213,7 +213,7 @@ Facing25: ; 41e4  	db  8,  8, 0, $07  ; 41f5 -Facing27: ; 41f5 +FacingWeirdTree3: ; 41f5  	db 4 ; #  	db  0,  8, X_FLIP, $04  	db  0,  0, X_FLIP, $05 @@ -221,7 +221,7 @@ Facing27: ; 41f5  	db  8,  0, X_FLIP, $07  ; 4206 -Facing22: ; big doll other than snorlax or lapras +FacingBigDollAsymmetric: ; big doll other than snorlax or lapras  	db 14 ; #  	db  0,  0, 0, $00  	db  0,  8, 0, $01 @@ -239,7 +239,7 @@ Facing22: ; big doll other than snorlax or lapras  	db 24, 16, 0, $0b  ; 423f -Facing28: ; boulder dust 1 +FacingBoulderDust1: ; boulder dust 1  	db 4 ; #  	db  0,  0, 4, $fe  	db  0,  8, 4, $fe @@ -247,7 +247,7 @@ Facing28: ; boulder dust 1  	db  8,  8, 4, $fe  ; 4250 -Facing29: ; boulder dust 2 +FacingBoulderDust2: ; boulder dust 2  	db 4 ; #  	db  0,  0, 4, $ff  	db  0,  8, 4, $ff @@ -255,13 +255,13 @@ Facing29: ; boulder dust 2  	db  8,  8, 4, $ff  ; 4261 -Facing30: ; 4261 +FacingGrass1: ; 4261  	db 2 ; #  	db  8,  0, 4, $fe  	db  8,  8, 4 | X_FLIP, $fe  ; 426a -Facing31: ; 426a +FacingGrass2: ; 426a  	db 2 ; #  	db  9, -1, 4, $fe  	db  9,  9, 4 | X_FLIP, $fe diff --git a/engine/map_object_action.asm b/engine/map_object_action.asm index 59e0ef7de..a7ab87200 100755 --- a/engine/map_object_action.asm +++ b/engine/map_object_action.asm @@ -14,23 +14,23 @@  ; 445f  Pointers445f: ; 445f -	dw SetFacingStanding, SetFacingStanding ; 00 -	dw Function44b5,      SetFacingCurrent ; 01 standing? -	dw Function44c1,      SetFacingCurrent ; 02 walking? -	dw Function4508,      SetFacingCurrent ; 03 bumping? -	dw Function4529,      SetFacingCurrent ; 04 -	dw Function4539,      SetFacingStanding ; 05 -	dw Function456e,      Function456e ; 06 -	dw Function457b,      SetFacingStanding ; 07 -	dw Function4582,      Function4582 ; 08 -	dw Function4589,      Function4589 ; 09 -	dw Function4590,      Function45a4 ; 0a -	dw Function45ab,      SetFacingCurrent ; 0c -	dw Function45be,      Function45be ; 0b -	dw Function45c5,      Function45c5 ; 0d -	dw Function45da,      SetFacingStanding ; 0e -	dw Function45ed,      SetFacingStanding ; 0f -	dw Function44e4,      SetFacingCurrent ; 10 +	dw SetFacingStanding,              SetFacingStanding ; 00 +	dw SetFacingStandAction,           SetFacingCurrent ; 01 standing? +	dw SetFacingStepAction,            SetFacingCurrent ; 02 walking? +	dw SetFacingBumpAction,            SetFacingCurrent ; 03 bumping? +	dw SetFacingCounterclockwiseSpin,  SetFacingCurrent ; 04 +	dw SetFacingCounterclockwiseSpin2, SetFacingStanding ; 05 +	dw SetFacingFish,                  SetFacingFish ; 06 +	dw SetFacingShadow,                SetFacingStanding ; 07 +	dw SetFacingEmote,                 SetFacingEmote ; 08 +	dw SetFacingBigDollSym,            SetFacingBigDollSym ; 09 +	dw SetFacingBounce,                SetFacingFreezeBounce ; 0a +	dw SetFacingWeirdTree,             SetFacingCurrent ; 0b +	dw SetFacingBigDollAsym,           SetFacingBigDollAsym ; 0c +	dw SetFacingBigDoll,               SetFacingBigDoll ; 0d +	dw SetFacingBoulderDust,           SetFacingStanding ; 0e +	dw SetFacingGrassShake,            SetFacingStanding ; 0f +	dw SetFacingSkyfall,               SetFacingCurrent ; 10  ; 44a3  SetFacingStanding: ; 44a3 @@ -42,23 +42,23 @@ SetFacingStanding: ; 44a3  SetFacingCurrent: ; 44aa  	call GetSpriteDirection -	or 0 ; useless +	or FACING_STEP_DOWN_0 ; useless  	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], a  	ret  ; 44b5 -Function44b5: ; 44b5 +SetFacingStandAction: ; 44b5  	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld a, [hl]  	and 1 -	jr nz, Function44c1 +	jr nz, SetFacingStepAction  	jp SetFacingCurrent  ; 44c1 -Function44c1: ; 44c1 +SetFacingStepAction: ; 44c1  	ld hl, OBJECT_FLAGS1  	add hl, bc  	bit SLIDING, [hl] @@ -77,7 +77,7 @@ Function44c1: ; 44c1  	ld d, a  	call GetSpriteDirection -	or 0 ; useless +	or FACING_STEP_DOWN_0 ; useless  	or d  	ld hl, OBJECT_FACING_STEP  	add hl, bc @@ -85,7 +85,7 @@ Function44c1: ; 44c1  	ret  ; 44e4 -Function44e4: ; 44e4 +SetFacingSkyfall: ; 44e4  	ld hl, OBJECT_FLAGS1  	add hl, bc  	bit SLIDING, [hl] @@ -104,7 +104,7 @@ Function44e4: ; 44e4  	ld d, a  	call GetSpriteDirection -	or 0 ; useless +	or FACING_STEP_DOWN_0 ; useless  	or d  	ld hl, OBJECT_FACING_STEP  	add hl, bc @@ -112,7 +112,7 @@ Function44e4: ; 44e4  	ret  ; 4508 -Function4508: ; 4508 +SetFacingBumpAction: ; 4508  	ld hl, OBJECT_FLAGS1  	add hl, bc  	bit SLIDING, [hl] @@ -130,7 +130,7 @@ Function4508: ; 4508  	ld d, a  	call GetSpriteDirection -	or 0 ; useless +	or FACING_STEP_DOWN_0 ; useless  	or d  	ld hl, OBJECT_FACING_STEP  	add hl, bc @@ -138,24 +138,28 @@ Function4508: ; 4508  	ret  ; 4529 -Function4529: ; 4529 -	call Function453f +SetFacingCounterclockwiseSpin: ; 4529 +	call CounterclockwiseSpinAction  	ld hl, OBJECT_FACING  	add hl, bc  	ld a, [hl] -	or 0 ; useless +	or FACING_STEP_DOWN_0 ; useless  	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], a  	ret  ; 4539 -Function4539: ; 4539 -	call Function453f +SetFacingCounterclockwiseSpin2: ; 4539 +	call CounterclockwiseSpinAction  	jp SetFacingStanding  ; 453f -Function453f: ; 453f +CounterclockwiseSpinAction: ; 453f +; Here, OBJECT_STEP_FRAME consists of two 2-bit components, +; using only bits 0,1 and 4,5. +; bits 0,1 is a timer (4 overworld frames) +; bits 4,5 determines the facing - the direction is counterclockwise.  	ld hl, OBJECT_STEP_FRAME  	add hl, bc  	ld a, [hl] @@ -195,39 +199,39 @@ Function453f: ; 453f  	db OW_DOWN, OW_RIGHT, OW_UP, OW_LEFT  ; 456e -Function456e: ; 456e +SetFacingFish: ; 456e  	call GetSpriteDirection  	rrca  	rrca -	add $10 +	add FACING_FISH_DOWN  	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], a  	ret  ; 457b -Function457b: ; 457b +SetFacingShadow: ; 457b  	ld hl, OBJECT_FACING_STEP  	add hl, bc -	ld [hl], FACING_15 +	ld [hl], FACING_SHADOW  	ret  ; 4582 -Function4582: ; 4582 emote +SetFacingEmote: ; 4582 emote  	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], FACING_EMOTE  	ret  ; 4589 -Function4589: ; 4589 +SetFacingBigDollSym: ; 4589  	ld hl, OBJECT_FACING_STEP  	add hl, bc -	ld [hl], FACING_17 +	ld [hl], FACING_BIG_DOLL_SYM  	ret  ; 4590 -Function4590: ; 4590 +SetFacingBounce: ; 4590  	ld hl, OBJECT_STEP_FRAME  	add hl, bc  	ld a, [hl] @@ -235,21 +239,21 @@ Function4590: ; 4590  	and %00001111  	ld [hl], a  	and %00001000 -	jr z, Function45a4 +	jr z, SetFacingFreezeBounce  	ld hl, OBJECT_FACING_STEP  	add hl, bc -	ld [hl], FACING_04 +	ld [hl], FACING_STEP_UP_0  	ret  ; 45a4 -Function45a4: ; 45a4 +SetFacingFreezeBounce: ; 45a4  	ld hl, OBJECT_FACING_STEP  	add hl, bc -	ld [hl], 0 +	ld [hl], FACING_STEP_DOWN_0  	ret  ; 45ab -Function45ab: ; 45ab +SetFacingWeirdTree: ; 45ab  	ld hl, OBJECT_STEP_FRAME  	add hl, bc  	ld a, [hl] @@ -258,28 +262,28 @@ Function45ab: ; 45ab  	and %00001100  	rrca  	rrca -	add $18 +	add FACING_WEIRD_TREE_0  	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], a  	ret  ; 45be -Function45be: ; 45be +SetFacingBigDollAsym: ; 45be  	ld hl, OBJECT_FACING_STEP  	add hl, bc -	ld [hl], FACING_16 +	ld [hl], FACING_BIG_DOLL_ASYM  	ret  ; 45c5 -Function45c5: ; 45c5 +SetFacingBigDoll: ; 45c5  	ld a, [VariableSprites + SPRITE_BIG_DOLL - SPRITE_VARS] -	ld d, FACING_17 ; symmetric +	ld d, FACING_BIG_DOLL_SYM ; symmetric  	cp SPRITE_BIG_SNORLAX  	jr z, .ok  	cp SPRITE_BIG_LAPRAS  	jr z, .ok -	ld d, FACING_16 ; asymmetric +	ld d, FACING_BIG_DOLL_ASYM ; asymmetric  .ok  	ld hl, OBJECT_FACING_STEP @@ -288,7 +292,7 @@ Function45c5: ; 45c5  	ret  ; 45da -Function45da: ; 45da +SetFacingBoulderDust: ; 45da  	ld hl, OBJECT_STEP_FRAME  	add hl, bc  	inc [hl] @@ -297,15 +301,15 @@ Function45da: ; 45da  	ld hl, OBJECT_FACING_STEP  	add hl, bc  	and 2 -	ld a, FACING_1C +	ld a, FACING_BOULDER_DUST_1  	jr z, .ok -	inc a ; FACING_1D +	inc a ; FACING_BOULDER_DUST_2  .ok  	ld [hl], a  	ret  ; 45ed -Function45ed: ; 45ed +SetFacingGrassShake: ; 45ed  	ld hl, OBJECT_STEP_FRAME  	add hl, bc  	inc [hl] @@ -313,9 +317,9 @@ Function45ed: ; 45ed  	ld hl, OBJECT_FACING_STEP  	add hl, bc  	and 4 -	ld a, FACING_1E +	ld a, FACING_GRASS_1  	jr z, .ok -	inc a ; FACING_1F +	inc a ; FACING_GRASS_2  .ok  	ld [hl], a diff --git a/engine/map_objects.asm b/engine/map_objects.asm index 58c30c8fb..3f63030ec 100644 --- a/engine/map_objects.asm +++ b/engine/map_objects.asm @@ -776,7 +776,7 @@ MapObjectMovementPattern: ; 47dd  	ld [hl], STANDING  	ld hl, OBJECT_ACTION  	add hl, bc -	ld [hl], PERSON_ACTION_09 +	ld [hl], PERSON_ACTION_BIG_SNORLAX  	ld hl, OBJECT_STEP_TYPE  	add hl, bc  	ld [hl], STEP_TYPE_04 @@ -789,7 +789,7 @@ MapObjectMovementPattern: ; 47dd  	ld [hl], STANDING  	ld hl, OBJECT_ACTION  	add hl, bc -	ld [hl], PERSON_ACTION_0A +	ld [hl], PERSON_ACTION_BOUNCE  	ld hl, OBJECT_STEP_TYPE  	add hl, bc  	ld [hl], STEP_TYPE_04 @@ -864,7 +864,7 @@ MapObjectMovementPattern: ; 47dd  	call ._MovementShadow_Grass_Emote_BoulderDust  	ld hl, OBJECT_ACTION  	add hl, bc -	ld [hl], PERSON_ACTION_07 +	ld [hl], PERSON_ACTION_SHADOW  	ld hl, OBJECT_STEP_DURATION  	add hl, de  	ld a, [hl] @@ -921,7 +921,7 @@ MapObjectMovementPattern: ; 47dd  	call ._MovementShadow_Grass_Emote_BoulderDust  	ld hl, OBJECT_ACTION  	add hl, bc -	ld [hl], PERSON_ACTION_0E +	ld [hl], PERSON_ACTION_BOULDER_DUST  	ld hl, OBJECT_STEP_DURATION  	add hl, de  	ld a, [hl] @@ -965,7 +965,7 @@ MapObjectMovementPattern: ; 47dd  	call ._MovementShadow_Grass_Emote_BoulderDust  	ld hl, OBJECT_ACTION  	add hl, bc -	ld [hl], PERSON_ACTION_0F +	ld [hl], PERSON_ACTION_GRASS_SHAKE  	ld hl, OBJECT_STEP_DURATION  	add hl, de  	ld a, [hl] @@ -1804,7 +1804,7 @@ SkyfallTop: ; 4f83  .Init:  	ld hl, OBJECT_ACTION  	add hl, bc -	ld [hl], PERSON_ACTION_10 +	ld [hl], PERSON_ACTION_SKYFALL  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	ld [hl], 16 diff --git a/engine/movement.asm b/engine/movement.asm index 3cc2796db..7b58e4023 100644 --- a/engine/movement.asm +++ b/engine/movement.asm @@ -365,7 +365,7 @@ Movement_tree_shake: ; 5279  	ld hl, OBJECT_ACTION  	add hl, bc -	ld [hl], PERSON_ACTION_0B +	ld [hl], PERSON_ACTION_WEIRD_TREE  	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc | 
