UpdateSpriteFacingOffsetAndDelayMovement::1ld h, HIGH(wSpriteStateData2)2ldh a, [hCurrentSpriteOffset]3add $84ld l, a5ld a, $7f ; maximum movement delay6ld [hl], a ; x#SPRITESTATEDATA2_MOVEMENTDELAY7dec h ; HIGH(wSpriteStateData1)8ldh a, [hCurrentSpriteOffset]9add $910ld l, a11ld a, [hld] ; x#SPRITESTATEDATA1_FACINGDIRECTION12ld b, a13xor a14ld [hld], a ; x#SPRITESTATEDATA1_ANIMFRAMECOUNTER15ld [hl], a ; x#SPRITESTATEDATA1_INTRAANIMFRAMECOUNTER16ldh a, [hCurrentSpriteOffset]17add SPRITESTATEDATA1_IMAGEINDEX18ld l, a19ld a, [hl] ; x#SPRITESTATEDATA1_IMAGEINDEX20or b ; or in the facing direction21ld [hld], a22ld a, $2 ; delayed movement status23ld [hl], a ; x#SPRITESTATEDATA1_MOVEMENTSTATUS24ret252627