shithub: pokecrystal

Download patch

ref: ef98c44edd40d28f56afb271d0a64e52ee59fc96
parent: 700321a7fb2d6c852ffc91cc0b8867526cb76813
author: PikalaxALT <[email protected]>
date: Tue Sep 27 05:37:10 EDT 2016

Person action and facing labels, part 1

--- a/audio/engine.asm
+++ b/audio/engine.asm
@@ -258,21 +258,21 @@
 .asm_e8159
 	bit NOTE_REST, [hl] ; rest
 	jr nz, .ch1rest
-	bit NOTE_UNKN_4, [hl]
+	bit NOTE_NOISE_SAMPLING, [hl]
 	jr nz, .asm_e81a2
-	bit NOTE_UNKN_1, [hl]
-	jr nz, .asm_e816b
-	bit NOTE_UNKN_6, [hl]
+	bit NOTE_FREQ_OVERRIDE, [hl]
+	jr nz, .frequency_override
+	bit NOTE_VIBRATO_OVERRIDE, [hl]
 	jr nz, .asm_e8184
-	jr .asm_e8175
+	jr .check_duty_override
 
-.asm_e816b
+.frequency_override
 	ld a, [wCurTrackFrequency]
 	ld [rNR13], a
 	ld a, [wCurTrackFrequency + 1]
 	ld [rNR14], a
-.asm_e8175
-	bit NOTE_UNKN_0, [hl]
+.check_duty_override
+	bit NOTE_DUTY_OVERRIDE, [hl]
 	ret z
 	ld a, [wCurTrackDuty]
 	ld d, a
@@ -321,11 +321,11 @@
 	add hl, bc
 	bit NOTE_REST, [hl] ; rest
 	jr nz, .ch2rest
-	bit NOTE_UNKN_4, [hl]
+	bit NOTE_NOISE_SAMPLING, [hl]
 	jr nz, .asm_e8204
-	bit NOTE_UNKN_6, [hl]
+	bit NOTE_VIBRATO_OVERRIDE, [hl]
 	jr nz, .asm_e81e6
-	bit NOTE_UNKN_0, [hl]
+	bit NOTE_DUTY_OVERRIDE, [hl]
 	ret z
 	ld a, [wCurTrackDuty]
 	ld d, a
@@ -381,9 +381,9 @@
 	add hl, bc
 	bit NOTE_REST, [hl] ; rest
 	jr nz, .ch3rest
-	bit NOTE_UNKN_4, [hl]
+	bit NOTE_NOISE_SAMPLING, [hl]
 	jr nz, .asm_e824d
-	bit NOTE_UNKN_6, [hl]
+	bit NOTE_VIBRATO_OVERRIDE, [hl]
 	jr nz, .asm_e823a
 	ret
 
@@ -482,7 +482,7 @@
 	add hl, bc
 	bit NOTE_REST, [hl] ; rest
 	jr nz, .ch4rest
-	bit NOTE_UNKN_4, [hl]
+	bit NOTE_NOISE_SAMPLING, [hl]
 	jr nz, .asm_e82d4
 	ret
 
@@ -853,7 +853,7 @@
 	ld [wCurTrackDuty], a
 	ld hl, Channel1NoteFlags - Channel1
 	add hl, bc
-	set NOTE_UNKN_0, [hl]
+	set NOTE_DUTY_OVERRIDE, [hl]
 .next
 	ld hl, Channel1Flags2 - Channel1
 	add hl, bc
@@ -930,9 +930,9 @@
 	ld d, a
 	ld a, e
 	sub d
-	jr nc, .asm_e84ef
+	jr nc, .no_carry
 	ld a, 0
-	jr .asm_e84ef
+	jr .no_carry
 
 .down
 	; vibrato up
@@ -943,14 +943,14 @@
 	swap a ; move it to lo
 	;
 	add e
-	jr nc, .asm_e84ef
+	jr nc, .no_carry
 	ld a, $ff
-.asm_e84ef
+.no_carry
 	ld [wCurTrackFrequency], a
 	;
 	ld hl, Channel1NoteFlags - Channel1
 	add hl, bc
-	set NOTE_UNKN_6, [hl]
+	set NOTE_VIBRATO_OVERRIDE, [hl]
 .quit
 	ret
 
@@ -1067,8 +1067,8 @@
 	ld [hl], d
 	ld hl, Channel1NoteFlags - Channel1
 	add hl, bc
-	set NOTE_UNKN_1, [hl]
-	set NOTE_UNKN_0, [hl]
+	set NOTE_FREQ_OVERRIDE, [hl]
+	set NOTE_DUTY_OVERRIDE, [hl]
 	ret
 
 ; e858c
@@ -1145,7 +1145,7 @@
 
 	ld hl, Channel1NoteFlags - Channel1
 	add hl, bc
-	set NOTE_UNKN_4, [hl]
+	set NOTE_NOISE_SAMPLING, [hl]
 	ret
 
 .quit
@@ -1206,7 +1206,7 @@
 	; ????
 	ld hl, Channel1NoteFlags - Channel1
 	add hl, bc
-	set NOTE_UNKN_4, [hl]
+	set NOTE_NOISE_SAMPLING, [hl]
 	jp LoadNote
 
 .rest
@@ -1288,7 +1288,7 @@
 	; turn noise sampling on
 	ld hl, Channel1NoteFlags - Channel1
 	add hl, bc
-	set NOTE_UNKN_4, [hl] ; noise sample
+	set NOTE_NOISE_SAMPLING, [hl] ; noise sample
 	; update note duration
 	ld a, [CurMusicByte]
 	call SetNoteDuration ; top nybble doesnt matter?
--- a/constants/audio_constants.asm
+++ b/constants/audio_constants.asm
@@ -55,9 +55,9 @@
 SOUND_PITCH_WHEEL_DIR EQU 1
 
 ; NoteFlags
-NOTE_UNKN_0 EQU 0
-NOTE_UNKN_1 EQU 1
+NOTE_DUTY_OVERRIDE EQU 0
+NOTE_FREQ_OVERRIDE EQU 1
 NOTE_UNKN_3 EQU 3
-NOTE_UNKN_4 EQU 4
+NOTE_NOISE_SAMPLING EQU 4
 NOTE_REST EQU 5
-NOTE_UNKN_6 EQU 6
+NOTE_VIBRATO_OVERRIDE EQU 6
--- a/constants/sprite_constants.asm
+++ b/constants/sprite_constants.asm
@@ -311,30 +311,30 @@
 	const PERSON_ACTION_0C
 	const PERSON_ACTION_0D
 	const PERSON_ACTION_0E
-	const PERSON_ACTION_0F
+	const PERSON_ACTION_GRASS_SHAKE
 	const PERSON_ACTION_10
 
 	const_def
-	const FACING_00
-	const FACING_01
-	const FACING_02
-	const FACING_03
-	const FACING_04
-	const FACING_05
-	const FACING_06
-	const FACING_07
-	const FACING_08
-	const FACING_09
-	const FACING_0A
-	const FACING_0B
-	const FACING_0C
-	const FACING_0D
-	const FACING_0E
-	const FACING_0F
-	const FACING_10
-	const FACING_11
-	const FACING_12
-	const FACING_13
+	const FACING_STEP_DOWN_0
+	const FACING_STEP_DOWN_1
+	const FACING_STEP_DOWN_2
+	const FACING_STEP_DOWN_3
+	const FACING_STEP_UP_0
+	const FACING_STEP_UP_1
+	const FACING_STEP_UP_2
+	const FACING_STEP_UP_3
+	const FACING_STEP_LEFT_0
+	const FACING_STEP_LEFT_1
+	const FACING_STEP_LEFT_2
+	const FACING_STEP_LEFT_3
+	const FACING_STEP_RIGHT_0
+	const FACING_STEP_RIGHT_1
+	const FACING_STEP_RIGHT_2
+	const FACING_STEP_RIGHT_3
+	const FACING_FISH_DOWN
+	const FACING_FISH_UP
+	const FACING_FISH_LEFT
+	const FACING_FISH_RIGHT
 	const FACING_EMOTE
 	const FACING_15
 	const FACING_16
@@ -345,8 +345,8 @@
 	const FACING_1B
 	const FACING_1C
 	const FACING_1D
-	const FACING_1E
-	const FACING_1F
+	const FACING_GRASS_1
+	const FACING_GRASS_2
 
 	const_def
 	const SPRITEANIMSTRUCT_INDEX           ; 0
--- a/data/map_objects.asm
+++ b/data/map_objects.asm
@@ -3,42 +3,42 @@
 	dn \6, 0
 endm
 
-	; function,                                              facing, action,              flags1, flags2, palette flags
-	sprite_movement_data SPRITEMOVEFN_00,                    DOWN,   PERSON_ACTION_STAND,    $02,    $00,    %0000 ; 00
-	sprite_movement_data SPRITEMOVEFN_STANDING,              DOWN,   PERSON_ACTION_STAND,    $0c,    $00,    %0000 ; 01
-	sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_XY,        DOWN,   PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 02
-	sprite_movement_data SPRITEMOVEFN_SLOW_RANDOM_SPIN,      DOWN,   PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 03
-	sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_Y,         DOWN,   PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 04
-	sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_X,         DOWN,   PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 05
-	sprite_movement_data SPRITEMOVEFN_STANDING,              DOWN,   PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 06
-	sprite_movement_data SPRITEMOVEFN_STANDING,              UP,     PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 07
-	sprite_movement_data SPRITEMOVEFN_STANDING,              LEFT,   PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 08
-	sprite_movement_data SPRITEMOVEFN_STANDING,              RIGHT,  PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 09
-	sprite_movement_data SPRITEMOVEFN_FAST_RANDOM_SPIN,      DOWN,   PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 0a
-	sprite_movement_data SPRITEMOVEFN_OBEY_DPAD,             DOWN,   PERSON_ACTION_STAND,    $02,    $00,    %0000 ; 0b
-	sprite_movement_data SPRITEMOVEFN_08,                    DOWN,   PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 0c
-	sprite_movement_data SPRITEMOVEFN_09,                    DOWN,   PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 0d
-	sprite_movement_data SPRITEMOVEFN_0A,                    DOWN,   PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 0e
-	sprite_movement_data SPRITEMOVEFN_0B,                    DOWN,   PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 0f
-	sprite_movement_data SPRITEMOVEFN_0C,                    DOWN,   PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 10
-	sprite_movement_data SPRITEMOVEFN_0D,                    DOWN,   PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 11
-	sprite_movement_data SPRITEMOVEFN_0E,                    DOWN,   PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 12
-	sprite_movement_data SPRITEMOVEFN_FOLLOW,                DOWN,   PERSON_ACTION_STAND,    $02,    $00,    %0000 ; 13
-	sprite_movement_data SPRITEMOVEFN_SCRIPTED,              DOWN,   PERSON_ACTION_STAND,    $02,    $00,    %0000 ; 14
-	sprite_movement_data SPRITEMOVEFN_BIG_SNORLAX,           DOWN,   PERSON_ACTION_09,       $2e,    $01,    %1100 ; 15
-	sprite_movement_data SPRITEMOVEFN_BOUNCE,                DOWN,   PERSON_ACTION_0A,       $2e,    $00,    %0000 ; 16
-	sprite_movement_data SPRITEMOVEFN_STANDING,              DOWN,   PERSON_ACTION_STAND,    $0c,    $00,    %0000 ; 17
-	sprite_movement_data SPRITEMOVEFN_STANDING,              DOWN,   PERSON_ACTION_STAND,    $2e,    $10,    %0000 ; 18
-	sprite_movement_data SPRITEMOVEFN_STRENGTH,              DOWN,   PERSON_ACTION_STAND,    $2e,    $00,    %0100 ; 19
-	sprite_movement_data SPRITEMOVEFN_FOLLOWNOTEXACT,        DOWN,   PERSON_ACTION_STAND,    $02,    $00,    %0000 ; 1a
-	sprite_movement_data SPRITEMOVEFN_SHADOW,                DOWN,   PERSON_ACTION_00,       $8e,    $01,    %0000 ; 1b
-	sprite_movement_data SPRITEMOVEFN_EMOTE,                 DOWN,   PERSON_ACTION_EMOTE,    $8e,    $02,    %0000 ; 1c
-	sprite_movement_data SPRITEMOVEFN_SCREENSHAKE,           DOWN,   PERSON_ACTION_00,       $82,    $00,    %0000 ; 1d
-	sprite_movement_data SPRITEMOVEFN_SPIN_COUNTERCLOCKWISE, LEFT,   PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 1e
-	sprite_movement_data SPRITEMOVEFN_SPIN_CLOCKWISE,        RIGHT,  PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 1f
-	sprite_movement_data SPRITEMOVEFN_STRENGTH,              DOWN,   PERSON_ACTION_0C,       $2e,    $01,    %1100 ; 20
-	sprite_movement_data SPRITEMOVEFN_STRENGTH,              DOWN,   PERSON_ACTION_0D,       $2e,    $01,    %1100 ; 21
-	sprite_movement_data SPRITEMOVEFN_BOULDERDUST,           DOWN,   PERSON_ACTION_0E,       $8e,    $01,    %0000 ; 22
-	sprite_movement_data SPRITEMOVEFN_GRASS,                 DOWN,   PERSON_ACTION_0F,       $8e,    $02,    %0000 ; 23
-	sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_XY,        DOWN,   PERSON_ACTION_STAND,    $00,    $00,    %0010 ; 24
-	sprite_movement_data SPRITEMOVEFN_00,                    DOWN,   PERSON_ACTION_STAND,    $00,    $00,    %0000 ; 25
\ No newline at end of file
+	; function,                                              facing, action,                 flags1, flags2, palette flags
+	sprite_movement_data SPRITEMOVEFN_00,                    DOWN,   PERSON_ACTION_STAND,       $02,    $00,    %0000 ; 00
+	sprite_movement_data SPRITEMOVEFN_STANDING,              DOWN,   PERSON_ACTION_STAND,       $0c,    $00,    %0000 ; 01
+	sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_XY,        DOWN,   PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 02
+	sprite_movement_data SPRITEMOVEFN_SLOW_RANDOM_SPIN,      DOWN,   PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 03
+	sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_Y,         DOWN,   PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 04
+	sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_X,         DOWN,   PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 05
+	sprite_movement_data SPRITEMOVEFN_STANDING,              DOWN,   PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 06
+	sprite_movement_data SPRITEMOVEFN_STANDING,              UP,     PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 07
+	sprite_movement_data SPRITEMOVEFN_STANDING,              LEFT,   PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 08
+	sprite_movement_data SPRITEMOVEFN_STANDING,              RIGHT,  PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 09
+	sprite_movement_data SPRITEMOVEFN_FAST_RANDOM_SPIN,      DOWN,   PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 0a
+	sprite_movement_data SPRITEMOVEFN_OBEY_DPAD,             DOWN,   PERSON_ACTION_STAND,       $02,    $00,    %0000 ; 0b
+	sprite_movement_data SPRITEMOVEFN_08,                    DOWN,   PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 0c
+	sprite_movement_data SPRITEMOVEFN_09,                    DOWN,   PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 0d
+	sprite_movement_data SPRITEMOVEFN_0A,                    DOWN,   PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 0e
+	sprite_movement_data SPRITEMOVEFN_0B,                    DOWN,   PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 0f
+	sprite_movement_data SPRITEMOVEFN_0C,                    DOWN,   PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 10
+	sprite_movement_data SPRITEMOVEFN_0D,                    DOWN,   PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 11
+	sprite_movement_data SPRITEMOVEFN_0E,                    DOWN,   PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 12
+	sprite_movement_data SPRITEMOVEFN_FOLLOW,                DOWN,   PERSON_ACTION_STAND,       $02,    $00,    %0000 ; 13
+	sprite_movement_data SPRITEMOVEFN_SCRIPTED,              DOWN,   PERSON_ACTION_STAND,       $02,    $00,    %0000 ; 14
+	sprite_movement_data SPRITEMOVEFN_BIG_SNORLAX,           DOWN,   PERSON_ACTION_09,          $2e,    $01,    %1100 ; 15
+	sprite_movement_data SPRITEMOVEFN_BOUNCE,                DOWN,   PERSON_ACTION_0A,          $2e,    $00,    %0000 ; 16
+	sprite_movement_data SPRITEMOVEFN_STANDING,              DOWN,   PERSON_ACTION_STAND,       $0c,    $00,    %0000 ; 17
+	sprite_movement_data SPRITEMOVEFN_STANDING,              DOWN,   PERSON_ACTION_STAND,       $2e,    $10,    %0000 ; 18
+	sprite_movement_data SPRITEMOVEFN_STRENGTH,              DOWN,   PERSON_ACTION_STAND,       $2e,    $00,    %0100 ; 19
+	sprite_movement_data SPRITEMOVEFN_FOLLOWNOTEXACT,        DOWN,   PERSON_ACTION_STAND,       $02,    $00,    %0000 ; 1a
+	sprite_movement_data SPRITEMOVEFN_SHADOW,                DOWN,   PERSON_ACTION_00,          $8e,    $01,    %0000 ; 1b
+	sprite_movement_data SPRITEMOVEFN_EMOTE,                 DOWN,   PERSON_ACTION_EMOTE,       $8e,    $02,    %0000 ; 1c
+	sprite_movement_data SPRITEMOVEFN_SCREENSHAKE,           DOWN,   PERSON_ACTION_00,          $82,    $00,    %0000 ; 1d
+	sprite_movement_data SPRITEMOVEFN_SPIN_COUNTERCLOCKWISE, LEFT,   PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 1e
+	sprite_movement_data SPRITEMOVEFN_SPIN_CLOCKWISE,        RIGHT,  PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 1f
+	sprite_movement_data SPRITEMOVEFN_STRENGTH,              DOWN,   PERSON_ACTION_0C,          $2e,    $01,    %1100 ; 20
+	sprite_movement_data SPRITEMOVEFN_STRENGTH,              DOWN,   PERSON_ACTION_0D,          $2e,    $01,    %1100 ; 21
+	sprite_movement_data SPRITEMOVEFN_BOULDERDUST,           DOWN,   PERSON_ACTION_0E,          $8e,    $01,    %0000 ; 22
+	sprite_movement_data SPRITEMOVEFN_GRASS,                 DOWN,   PERSON_ACTION_GRASS_SHAKE, $8e,    $02,    %0000 ; 23
+	sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_XY,        DOWN,   PERSON_ACTION_STAND,       $00,    $00,    %0010 ; 24
+	sprite_movement_data SPRITEMOVEFN_00,                    DOWN,   PERSON_ACTION_STAND,       $00,    $00,    %0000 ; 25
--- a/engine/facings.asm
+++ b/engine/facings.asm
@@ -1,25 +1,25 @@
 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 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 Facing21
 	dw Facing22
 	dw Facing23
@@ -29,8 +29,8 @@
 	dw Facing27
 	dw Facing28
 	dw Facing29
-	dw Facing30
-	dw Facing31
+	dw FacingGrass1
+	dw FacingGrass2
 FacingsEnd: dw 0
 
 NUM_FACINGS EQU (FacingsEnd - Facings) / 2
@@ -47,8 +47,8 @@
 BEHIND_BG EQU 1 << OAM_PRIORITY
 
 
-Facing00:
-Facing02:
+FacingStepDown0:
+FacingStepDown2:
 Facing24:
 Facing26: ; standing down
 	db 4 ; #
@@ -58,7 +58,7 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	db  5, 16, 4, $fd
 ; 4189
 
-Facing20: ; emote
+FacingEmote: ; emote
 	db 4 ; #
 	db  0,  0, 4, $f8
 	db  0,  8, 4, $f9
@@ -255,13 +255,13 @@
 	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
--- 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 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 SetFacingGrassShake,            SetFacingStanding ; 0f
+	dw Function44e4,                   SetFacingCurrent ; 10
 ; 44a3
 
 SetFacingStanding: ; 44a3
@@ -49,16 +49,16 @@
 	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]
@@ -112,7 +112,7 @@
 	ret
 ; 4508
 
-Function4508: ; 4508
+SetFacingBumpAction: ; 4508
 	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	bit SLIDING, [hl]
@@ -138,8 +138,8 @@
 	ret
 ; 4529
 
-Function4529: ; 4529
-	call Function453f
+SetFacingCounterclockwiseSpin: ; 4529
+	call CounterclockwiseSpinAction
 	ld hl, OBJECT_FACING
 	add hl, bc
 	ld a, [hl]
@@ -150,12 +150,16 @@
 	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,11 +199,11 @@
 	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
@@ -238,7 +242,7 @@
 	jr z, Function45a4
 	ld hl, OBJECT_FACING_STEP
 	add hl, bc
-	ld [hl], FACING_04
+	ld [hl], FACING_STEP_UP_0
 	ret
 ; 45a4
 
@@ -305,7 +309,7 @@
 	ret
 ; 45ed
 
-Function45ed: ; 45ed
+SetFacingGrassShake: ; 45ed
 	ld hl, OBJECT_STEP_FRAME
 	add hl, bc
 	inc [hl]
@@ -313,9 +317,9 @@
 	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
--- a/engine/map_objects.asm
+++ b/engine/map_objects.asm
@@ -965,7 +965,7 @@
 	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]
binary files a/gfx/credits/ditto.png b/gfx/credits/ditto.png differ
binary files a/gfx/credits/igglybuff.png b/gfx/credits/igglybuff.png differ
binary files a/gfx/credits/smoochum.png b/gfx/credits/smoochum.png differ
binary files a/gfx/misc/badges.png b/gfx/misc/badges.png differ
binary files a/gfx/misc/font.png b/gfx/misc/font.png differ
binary files a/gfx/misc/font_inversed.png b/gfx/misc/font_inversed.png differ
binary files a/gfx/misc/footprints.png b/gfx/misc/footprints.png differ
binary files a/gfx/misc/pack_f.png b/gfx/misc/pack_f.png differ