Merge pull request #103 from easyaspi314:movement-data

Improve movement data storage
This commit is contained in:
The Gears of Progress 2026-02-23 22:34:00 -05:00 committed by GitHub
commit 2b85152353
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 218 additions and 213 deletions

View File

@ -55,199 +55,200 @@
#define rlist_r7 0b010000001
#define rlist_lr 0b100000000
#define MOVEMENT_ACTION_FACE_DOWN curr_GBA_rom.is_hoenn() ? 0x0 : 0x0
#define MOVEMENT_ACTION_FACE_UP curr_GBA_rom.is_hoenn() ? 0x1 : 0x1
#define MOVEMENT_ACTION_FACE_LEFT curr_GBA_rom.is_hoenn() ? 0x2 : 0x2
#define MOVEMENT_ACTION_FACE_RIGHT curr_GBA_rom.is_hoenn() ? 0x3 : 0x3
#define MOVEMENT_ACTION_WALK_SLOW_DOWN curr_GBA_rom.is_hoenn() ? 0x4 : 0xC
#define MOVEMENT_ACTION_WALK_SLOW_UP curr_GBA_rom.is_hoenn() ? 0x5 : 0xD
#define MOVEMENT_ACTION_WALK_SLOW_LEFT curr_GBA_rom.is_hoenn() ? 0x6 : 0xE
#define MOVEMENT_ACTION_WALK_SLOW_RIGHT curr_GBA_rom.is_hoenn() ? 0x7 : 0xF
#define MOVEMENT_ACTION_WALK_NORMAL_DOWN curr_GBA_rom.is_hoenn() ? 0x8 : 0x10
#define MOVEMENT_ACTION_WALK_NORMAL_UP curr_GBA_rom.is_hoenn() ? 0x9 : 0x11
#define MOVEMENT_ACTION_WALK_NORMAL_LEFT curr_GBA_rom.is_hoenn() ? 0xA : 0x12
#define MOVEMENT_ACTION_WALK_NORMAL_RIGHT curr_GBA_rom.is_hoenn() ? 0xB : 0x13
#define MOVEMENT_ACTION_JUMP_2_DOWN curr_GBA_rom.is_hoenn() ? 0xC : 0x14
#define MOVEMENT_ACTION_JUMP_2_UP curr_GBA_rom.is_hoenn() ? 0xD : 0x15
#define MOVEMENT_ACTION_JUMP_2_LEFT curr_GBA_rom.is_hoenn() ? 0xE : 0x16
#define MOVEMENT_ACTION_JUMP_2_RIGHT curr_GBA_rom.is_hoenn() ? 0xF : 0x17
#define MOVEMENT_ACTION_DELAY_1 curr_GBA_rom.is_hoenn() ? 0x10 : 0x18
#define MOVEMENT_ACTION_DELAY_2 curr_GBA_rom.is_hoenn() ? 0x11 : 0x19
#define MOVEMENT_ACTION_DELAY_4 curr_GBA_rom.is_hoenn() ? 0x12 : 0x1A
#define MOVEMENT_ACTION_DELAY_8 curr_GBA_rom.is_hoenn() ? 0x13 : 0x1B
#define MOVEMENT_ACTION_DELAY_16 curr_GBA_rom.is_hoenn() ? 0x14 : 0x1C
#define MOVEMENT_ACTION_WALK_FAST_DOWN curr_GBA_rom.is_hoenn() ? 0x15 : 0x1D
#define MOVEMENT_ACTION_WALK_FAST_UP curr_GBA_rom.is_hoenn() ? 0x16 : 0x1E
#define MOVEMENT_ACTION_WALK_FAST_LEFT curr_GBA_rom.is_hoenn() ? 0x17 : 0x1F
#define MOVEMENT_ACTION_WALK_FAST_RIGHT curr_GBA_rom.is_hoenn() ? 0x18 : 0x20
#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN curr_GBA_rom.is_hoenn() ? 0x19 : 0x21
#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP curr_GBA_rom.is_hoenn() ? 0x1A : 0x22
#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT curr_GBA_rom.is_hoenn() ? 0x1B : 0x23
#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT curr_GBA_rom.is_hoenn() ? 0x1C : 0x24
#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN curr_GBA_rom.is_hoenn() ? 0x1D : 0x25
#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP curr_GBA_rom.is_hoenn() ? 0x1E : 0x26
#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT curr_GBA_rom.is_hoenn() ? 0x1F : 0x27
#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT curr_GBA_rom.is_hoenn() ? 0x20 : 0x28
#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN curr_GBA_rom.is_hoenn() ? 0x21 : 0x29
#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP curr_GBA_rom.is_hoenn() ? 0x22 : 0x2A
#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT curr_GBA_rom.is_hoenn() ? 0x23 : 0x2B
#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT curr_GBA_rom.is_hoenn() ? 0x24 : 0x2C
#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_DOWN curr_GBA_rom.is_hoenn() ? 0x25 : 0x2D
#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_UP curr_GBA_rom.is_hoenn() ? 0x26 : 0x2E
#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_LEFT curr_GBA_rom.is_hoenn() ? 0x27 : 0x2F
#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_RIGHT curr_GBA_rom.is_hoenn() ? 0x28 : 0x30
#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN curr_GBA_rom.is_hoenn() ? 0x29 : 0x31
#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP curr_GBA_rom.is_hoenn() ? 0x2A : 0x32
#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT curr_GBA_rom.is_hoenn() ? 0x2B : 0x33
#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT curr_GBA_rom.is_hoenn() ? 0x2C : 0x34
#define MOVEMENT_ACTION_WALK_FASTER_DOWN curr_GBA_rom.is_hoenn() ? 0x2D : 0x35
#define MOVEMENT_ACTION_WALK_FASTER_UP curr_GBA_rom.is_hoenn() ? 0x2E : 0x36
#define MOVEMENT_ACTION_WALK_FASTER_LEFT curr_GBA_rom.is_hoenn() ? 0x2F : 0x37
#define MOVEMENT_ACTION_WALK_FASTER_RIGHT curr_GBA_rom.is_hoenn() ? 0x30 : 0x38
#define MOVEMENT_ACTION_SLIDE_DOWN curr_GBA_rom.is_hoenn() ? 0x31 : 0x39
#define MOVEMENT_ACTION_SLIDE_UP curr_GBA_rom.is_hoenn() ? 0x32 : 0x3A
#define MOVEMENT_ACTION_SLIDE_LEFT curr_GBA_rom.is_hoenn() ? 0x33 : 0x3B
#define MOVEMENT_ACTION_SLIDE_RIGHT curr_GBA_rom.is_hoenn() ? 0x34 : 0x3C
#define MOVEMENT_ACTION_PLAYER_RUN_DOWN curr_GBA_rom.is_hoenn() ? 0x35 : 0x3D
#define MOVEMENT_ACTION_PLAYER_RUN_UP curr_GBA_rom.is_hoenn() ? 0x36 : 0x3E
#define MOVEMENT_ACTION_PLAYER_RUN_LEFT curr_GBA_rom.is_hoenn() ? 0x37 : 0x3F
#define MOVEMENT_ACTION_PLAYER_RUN_RIGHT curr_GBA_rom.is_hoenn() ? 0x38 : 0x40
#define MOVEMENT_ACTION_START_ANIM_IN_DIRECTION curr_GBA_rom.is_hoenn() ? 0x39 : 0x45
#define MOVEMENT_ACTION_JUMP_SPECIAL_DOWN curr_GBA_rom.is_hoenn() ? 0x3A : 0x46
#define MOVEMENT_ACTION_JUMP_SPECIAL_UP curr_GBA_rom.is_hoenn() ? 0x3B : 0x47
#define MOVEMENT_ACTION_JUMP_SPECIAL_LEFT curr_GBA_rom.is_hoenn() ? 0x3C : 0x48
#define MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT curr_GBA_rom.is_hoenn() ? 0x3D : 0x49
#define MOVEMENT_ACTION_FACE_PLAYER curr_GBA_rom.is_hoenn() ? 0x3E : 0x4A
#define MOVEMENT_ACTION_FACE_AWAY_PLAYER curr_GBA_rom.is_hoenn() ? 0x3F : 0x4B
#define MOVEMENT_ACTION_LOCK_FACING_DIRECTION curr_GBA_rom.is_hoenn() ? 0x40 : 0x4C
#define MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION curr_GBA_rom.is_hoenn() ? 0x41 : 0x4D
#define MOVEMENT_ACTION_JUMP_DOWN curr_GBA_rom.is_hoenn() ? 0x42 : 0x4E
#define MOVEMENT_ACTION_JUMP_UP curr_GBA_rom.is_hoenn() ? 0x43 : 0x4F
#define MOVEMENT_ACTION_JUMP_LEFT curr_GBA_rom.is_hoenn() ? 0x44 : 0x50
#define MOVEMENT_ACTION_JUMP_RIGHT curr_GBA_rom.is_hoenn() ? 0x45 : 0x51
#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN curr_GBA_rom.is_hoenn() ? 0x46 : 0x52
#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP curr_GBA_rom.is_hoenn() ? 0x47 : 0x53
#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT curr_GBA_rom.is_hoenn() ? 0x48 : 0x54
#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT curr_GBA_rom.is_hoenn() ? 0x49 : 0x55
#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP curr_GBA_rom.is_hoenn() ? 0x4A : 0x56
#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN curr_GBA_rom.is_hoenn() ? 0x4B : 0x57
#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT curr_GBA_rom.is_hoenn() ? 0x4C : 0x58
#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT curr_GBA_rom.is_hoenn() ? 0x4D : 0x59
#define MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION curr_GBA_rom.is_hoenn() ? 0x4E : 0x5A
#define MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN curr_GBA_rom.is_hoenn() ? 0x4F : 0x5B
#define MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT curr_GBA_rom.is_hoenn() ? 0x50 : 0x5C
#define MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT curr_GBA_rom.is_hoenn() ? 0x51 : 0x5D
#define MOVEMENT_ACTION_DISABLE_ANIMATION curr_GBA_rom.is_hoenn() ? 0x52 : 0x5E
#define MOVEMENT_ACTION_RESTORE_ANIMATION curr_GBA_rom.is_hoenn() ? 0x53 : 0x5F
#define MOVEMENT_ACTION_SET_INVISIBLE curr_GBA_rom.is_hoenn() ? 0x54 : 0x60
#define MOVEMENT_ACTION_SET_VISIBLE curr_GBA_rom.is_hoenn() ? 0x55 : 0x61
#define MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK curr_GBA_rom.is_hoenn() ? 0x56 : 0x62
#define MOVEMENT_ACTION_EMOTE_QUESTION_MARK curr_GBA_rom.is_hoenn() ? 0x57 : 0x63
#define MOVEMENT_ACTION_EMOTE_HEART curr_GBA_rom.is_hoenn() ? 0x58 : 0xFF
#define MOVEMENT_ACTION_REVEAL_TRAINER curr_GBA_rom.is_hoenn() ? 0x59 : 0x67
#define MOVEMENT_ACTION_ROCK_SMASH_BREAK curr_GBA_rom.is_hoenn() ? 0x5A : 0x68
#define MOVEMENT_ACTION_CUT_TREE curr_GBA_rom.is_hoenn() ? 0x5B : 0x69
#define MOVEMENT_ACTION_SET_FIXED_PRIORITY curr_GBA_rom.is_hoenn() ? 0x5C : 0x6A
#define MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY curr_GBA_rom.is_hoenn() ? 0x5D : 0x6B
#define MOVEMENT_ACTION_INIT_AFFINE_ANIM curr_GBA_rom.is_hoenn() ? 0x5E : 0x6C
#define MOVEMENT_ACTION_CLEAR_AFFINE_ANIM curr_GBA_rom.is_hoenn() ? 0x5F : 0x6D
#define MOVEMENT_ACTION_HIDE_REFLECTION curr_GBA_rom.is_hoenn() ? 0x60 : 0xFF
#define MOVEMENT_ACTION_SHOW_REFLECTION curr_GBA_rom.is_hoenn() ? 0x61 : 0xFF
#define MOVEMENT_ACTION_WALK_DOWN_START_AFFINE curr_GBA_rom.is_hoenn() ? 0x62 : 0x6E
#define MOVEMENT_ACTION_WALK_DOWN_AFFINE curr_GBA_rom.is_hoenn() ? 0x63 : 0x6F
#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN curr_GBA_rom.is_hoenn() ? 0x64 : 0x70
#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP curr_GBA_rom.is_hoenn() ? 0x65 : 0x71
#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT curr_GBA_rom.is_hoenn() ? 0x66 : 0x72
#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT curr_GBA_rom.is_hoenn() ? 0x67 : 0x73
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN curr_GBA_rom.is_hoenn() ? 0x68 : 0x74
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP curr_GBA_rom.is_hoenn() ? 0x69 : 0x75
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT curr_GBA_rom.is_hoenn() ? 0x6A : 0x76
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT curr_GBA_rom.is_hoenn() ? 0x6B : 0x77
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN curr_GBA_rom.is_hoenn() ? 0x6C : 0x78
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP curr_GBA_rom.is_hoenn() ? 0x6D : 0x79
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT curr_GBA_rom.is_hoenn() ? 0x6E : 0x7A
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT curr_GBA_rom.is_hoenn() ? 0x6F : 0x7B
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN curr_GBA_rom.is_hoenn() ? 0x70 : 0x7C
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP curr_GBA_rom.is_hoenn() ? 0x71 : 0x7D
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT curr_GBA_rom.is_hoenn() ? 0x72 : 0x7E
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT curr_GBA_rom.is_hoenn() ? 0x73 : 0x7F
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN curr_GBA_rom.is_hoenn() ? 0x74 : 0x80
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP curr_GBA_rom.is_hoenn() ? 0x75 : 0x81
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT curr_GBA_rom.is_hoenn() ? 0x76 : 0x82
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT curr_GBA_rom.is_hoenn() ? 0x77 : 0x83
#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN curr_GBA_rom.is_hoenn() ? 0x78 : 0x84
#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP curr_GBA_rom.is_hoenn() ? 0x79 : 0x85
#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT curr_GBA_rom.is_hoenn() ? 0x7A : 0x86
#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT curr_GBA_rom.is_hoenn() ? 0x7B : 0x87
#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN curr_GBA_rom.is_hoenn() ? 0x7C : 0x88
#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP curr_GBA_rom.is_hoenn() ? 0x7D : 0x89
#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT curr_GBA_rom.is_hoenn() ? 0x7E : 0x8A
#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT curr_GBA_rom.is_hoenn() ? 0x7F : 0x8B
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN curr_GBA_rom.is_hoenn() ? 0x80 : 0x8C
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP curr_GBA_rom.is_hoenn() ? 0x81 : 0x8D
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT curr_GBA_rom.is_hoenn() ? 0x82 : 0x8E
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT curr_GBA_rom.is_hoenn() ? 0x83 : 0x8F
#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN curr_GBA_rom.is_hoenn() ? 0x84 : 0x90
#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP curr_GBA_rom.is_hoenn() ? 0x85 : 0x91
#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT curr_GBA_rom.is_hoenn() ? 0x86 : 0x92
#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT curr_GBA_rom.is_hoenn() ? 0x87 : 0x93
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN curr_GBA_rom.is_hoenn() ? 0x88 : 0xFF
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP curr_GBA_rom.is_hoenn() ? 0x89 : 0xFF
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT curr_GBA_rom.is_hoenn() ? 0x8A : 0xFF
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT curr_GBA_rom.is_hoenn() ? 0x8B : 0xFF
#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_LEFT curr_GBA_rom.is_hoenn() ? 0x8C : 0xFF
#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_RIGHT curr_GBA_rom.is_hoenn() ? 0x8D : 0xFF
#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_LEFT curr_GBA_rom.is_hoenn() ? 0x8E : 0xFF
#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_RIGHT curr_GBA_rom.is_hoenn() ? 0x8F : 0xFF
#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_LEFT curr_GBA_rom.is_hoenn() ? 0x90 : 0xFF
#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT curr_GBA_rom.is_hoenn() ? 0x91 : 0xFF
#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT curr_GBA_rom.is_hoenn() ? 0x92 : 0xFF
#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT curr_GBA_rom.is_hoenn() ? 0x93 : 0xFF
#define MOVEMENT_ACTION_LOCK_ANIM curr_GBA_rom.is_hoenn() ? 0x94 : 0xFF
#define MOVEMENT_ACTION_UNLOCK_ANIM curr_GBA_rom.is_hoenn() ? 0x95 : 0xFF
#define MOVEMENT_ACTION_WALK_LEFT_AFFINE curr_GBA_rom.is_hoenn() ? 0x96 : 0xFF
#define MOVEMENT_ACTION_WALK_RIGHT_AFFINE curr_GBA_rom.is_hoenn() ? 0x97 : 0xFF
#define MOVEMENT_ACTION_LEVITATE curr_GBA_rom.is_hoenn() ? 0x98 : 0xFF
#define MOVEMENT_ACTION_STOP_LEVITATE curr_GBA_rom.is_hoenn() ? 0x99 : 0xFF
#define MOVEMENT_ACTION_STOP_LEVITATE_AT_TOP curr_GBA_rom.is_hoenn() ? 0x9A : 0xFF
#define MOVEMENT_ACTION_FIGURE_8 curr_GBA_rom.is_hoenn() ? 0x9B : 0xFF
#define MOVEMENT_ACTION_FLY_UP curr_GBA_rom.is_hoenn() ? 0x9C : 0xA4
#define MOVEMENT_ACTION_FLY_DOWN curr_GBA_rom.is_hoenn() ? 0x9D : 0xA5
#define MOVEMENT_ACTION_FACE_DOWN_FAST curr_GBA_rom.is_hoenn() ? 0xFF : 0x4
#define MOVEMENT_ACTION_FACE_UP_FAST curr_GBA_rom.is_hoenn() ? 0xFF : 0x5
#define MOVEMENT_ACTION_FACE_LEFT_FAST curr_GBA_rom.is_hoenn() ? 0xFF : 0x6
#define MOVEMENT_ACTION_FACE_RIGHT_FAST curr_GBA_rom.is_hoenn() ? 0xFF : 0x7
#define MOVEMENT_ACTION_WALK_SLOWER_DOWN curr_GBA_rom.is_hoenn() ? 0xFF : 0x8
#define MOVEMENT_ACTION_WALK_SLOWER_UP curr_GBA_rom.is_hoenn() ? 0xFF : 0x9
#define MOVEMENT_ACTION_WALK_SLOWER_LEFT curr_GBA_rom.is_hoenn() ? 0xFF : 0xA
#define MOVEMENT_ACTION_WALK_SLOWER_RIGHT curr_GBA_rom.is_hoenn() ? 0xFF : 0xB
#define MOVEMENT_ACTION_PLAYER_RUN_DOWN_SLOW curr_GBA_rom.is_hoenn() ? 0xFF : 0x41
#define MOVEMENT_ACTION_PLAYER_RUN_UP_SLOW curr_GBA_rom.is_hoenn() ? 0xFF : 0x42
#define MOVEMENT_ACTION_PLAYER_RUN_LEFT_SLOW curr_GBA_rom.is_hoenn() ? 0xFF : 0x43
#define MOVEMENT_ACTION_PLAYER_RUN_RIGHT_SLOW curr_GBA_rom.is_hoenn() ? 0xFF : 0x44
#define MOVEMENT_ACTION_EMOTE_X curr_GBA_rom.is_hoenn() ? 0xFF : 0x64
#define MOVEMENT_ACTION_EMOTE_DOUBLE_EXCL_MARK curr_GBA_rom.is_hoenn() ? 0xFF : 0x65
#define MOVEMENT_ACTION_EMOTE_SMILE curr_GBA_rom.is_hoenn() ? 0xFF : 0x66
#define MOVEMENT_ACTION_SPIN_DOWN curr_GBA_rom.is_hoenn() ? 0xFF : 0x94
#define MOVEMENT_ACTION_SPIN_UP curr_GBA_rom.is_hoenn() ? 0xFF : 0x95
#define MOVEMENT_ACTION_SPIN_LEFT curr_GBA_rom.is_hoenn() ? 0xFF : 0x96
#define MOVEMENT_ACTION_SPIN_RIGHT curr_GBA_rom.is_hoenn() ? 0xFF : 0x97
#define MOVEMENT_ACTION_RAISE_HAND_AND_STOP curr_GBA_rom.is_hoenn() ? 0xFF : 0x98
#define MOVEMENT_ACTION_RAISE_HAND_AND_JUMP curr_GBA_rom.is_hoenn() ? 0xFF : 0x99
#define MOVEMENT_ACTION_RAISE_HAND_AND_SWIM curr_GBA_rom.is_hoenn() ? 0xFF : 0x9A
#define MOVEMENT_ACTION_WALK_SLOWEST_DOWN curr_GBA_rom.is_hoenn() ? 0xFF : 0x9B
#define MOVEMENT_ACTION_WALK_SLOWEST_UP curr_GBA_rom.is_hoenn() ? 0xFF : 0x9C
#define MOVEMENT_ACTION_WALK_SLOWEST_LEFT curr_GBA_rom.is_hoenn() ? 0xFF : 0x9D
#define MOVEMENT_ACTION_WALK_SLOWEST_RIGHT curr_GBA_rom.is_hoenn() ? 0xFF : 0x9E
#define MOVEMENT_ACTION_SHAKE_HEAD_OR_WALK_IN_PLACE curr_GBA_rom.is_hoenn() ? 0xFF : 0x9F
#define MOVEMENT_ACTION_GLIDE_DOWN curr_GBA_rom.is_hoenn() ? 0xFF : 0xA0
#define MOVEMENT_ACTION_GLIDE_UP curr_GBA_rom.is_hoenn() ? 0xFF : 0xA1
#define MOVEMENT_ACTION_GLIDE_LEFT curr_GBA_rom.is_hoenn() ? 0xFF : 0xA2
#define MOVEMENT_ACTION_GLIDE_RIGHT curr_GBA_rom.is_hoenn() ? 0xFF : 0xA3
#define MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_DOWN curr_GBA_rom.is_hoenn() ? 0xFF : 0xA6
#define MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_UP curr_GBA_rom.is_hoenn() ? 0xFF : 0xA7
#define MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_LEFT curr_GBA_rom.is_hoenn() ? 0xFF : 0xA8
#define MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_RIGHT curr_GBA_rom.is_hoenn() ? 0xFF : 0xA9
// Each is two bytes, first is Hoenn, second is FRLG
#define MOVEMENT_ACTION_FACE_DOWN 0x0, 0x0
#define MOVEMENT_ACTION_FACE_UP 0x1, 0x1
#define MOVEMENT_ACTION_FACE_LEFT 0x2, 0x2
#define MOVEMENT_ACTION_FACE_RIGHT 0x3, 0x3
#define MOVEMENT_ACTION_WALK_SLOW_DOWN 0x4, 0xC
#define MOVEMENT_ACTION_WALK_SLOW_UP 0x5, 0xD
#define MOVEMENT_ACTION_WALK_SLOW_LEFT 0x6, 0xE
#define MOVEMENT_ACTION_WALK_SLOW_RIGHT 0x7, 0xF
#define MOVEMENT_ACTION_WALK_NORMAL_DOWN 0x8, 0x10
#define MOVEMENT_ACTION_WALK_NORMAL_UP 0x9, 0x11
#define MOVEMENT_ACTION_WALK_NORMAL_LEFT 0xA, 0x12
#define MOVEMENT_ACTION_WALK_NORMAL_RIGHT 0xB, 0x13
#define MOVEMENT_ACTION_JUMP_2_DOWN 0xC, 0x14
#define MOVEMENT_ACTION_JUMP_2_UP 0xD, 0x15
#define MOVEMENT_ACTION_JUMP_2_LEFT 0xE, 0x16
#define MOVEMENT_ACTION_JUMP_2_RIGHT 0xF, 0x17
#define MOVEMENT_ACTION_DELAY_1 0x10, 0x18
#define MOVEMENT_ACTION_DELAY_2 0x11, 0x19
#define MOVEMENT_ACTION_DELAY_4 0x12, 0x1A
#define MOVEMENT_ACTION_DELAY_8 0x13, 0x1B
#define MOVEMENT_ACTION_DELAY_16 0x14, 0x1C
#define MOVEMENT_ACTION_WALK_FAST_DOWN 0x15, 0x1D
#define MOVEMENT_ACTION_WALK_FAST_UP 0x16, 0x1E
#define MOVEMENT_ACTION_WALK_FAST_LEFT 0x17, 0x1F
#define MOVEMENT_ACTION_WALK_FAST_RIGHT 0x18, 0x20
#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN 0x19, 0x21
#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP 0x1A, 0x22
#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT 0x1B, 0x23
#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT 0x1C, 0x24
#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN 0x1D, 0x25
#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP 0x1E, 0x26
#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT 0x1F, 0x27
#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT 0x20, 0x28
#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN 0x21, 0x29
#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP 0x22, 0x2A
#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT 0x23, 0x2B
#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT 0x24, 0x2C
#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_DOWN 0x25, 0x2D
#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_UP 0x26, 0x2E
#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_LEFT 0x27, 0x2F
#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_RIGHT 0x28, 0x30
#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN 0x29, 0x31
#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP 0x2A, 0x32
#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT 0x2B, 0x33
#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT 0x2C, 0x34
#define MOVEMENT_ACTION_WALK_FASTER_DOWN 0x2D, 0x35
#define MOVEMENT_ACTION_WALK_FASTER_UP 0x2E, 0x36
#define MOVEMENT_ACTION_WALK_FASTER_LEFT 0x2F, 0x37
#define MOVEMENT_ACTION_WALK_FASTER_RIGHT 0x30, 0x38
#define MOVEMENT_ACTION_SLIDE_DOWN 0x31, 0x39
#define MOVEMENT_ACTION_SLIDE_UP 0x32, 0x3A
#define MOVEMENT_ACTION_SLIDE_LEFT 0x33, 0x3B
#define MOVEMENT_ACTION_SLIDE_RIGHT 0x34, 0x3C
#define MOVEMENT_ACTION_PLAYER_RUN_DOWN 0x35, 0x3D
#define MOVEMENT_ACTION_PLAYER_RUN_UP 0x36, 0x3E
#define MOVEMENT_ACTION_PLAYER_RUN_LEFT 0x37, 0x3F
#define MOVEMENT_ACTION_PLAYER_RUN_RIGHT 0x38, 0x40
#define MOVEMENT_ACTION_START_ANIM_IN_DIRECTION 0x39, 0x45
#define MOVEMENT_ACTION_JUMP_SPECIAL_DOWN 0x3A, 0x46
#define MOVEMENT_ACTION_JUMP_SPECIAL_UP 0x3B, 0x47
#define MOVEMENT_ACTION_JUMP_SPECIAL_LEFT 0x3C, 0x48
#define MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT 0x3D, 0x49
#define MOVEMENT_ACTION_FACE_PLAYER 0x3E, 0x4A
#define MOVEMENT_ACTION_FACE_AWAY_PLAYER 0x3F, 0x4B
#define MOVEMENT_ACTION_LOCK_FACING_DIRECTION 0x40, 0x4C
#define MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION 0x41, 0x4D
#define MOVEMENT_ACTION_JUMP_DOWN 0x42, 0x4E
#define MOVEMENT_ACTION_JUMP_UP 0x43, 0x4F
#define MOVEMENT_ACTION_JUMP_LEFT 0x44, 0x50
#define MOVEMENT_ACTION_JUMP_RIGHT 0x45, 0x51
#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN 0x46, 0x52
#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP 0x47, 0x53
#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT 0x48, 0x54
#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT 0x49, 0x55
#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP 0x4A, 0x56
#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN 0x4B, 0x57
#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT 0x4C, 0x58
#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT 0x4D, 0x59
#define MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION 0x4E, 0x5A
#define MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN 0x4F, 0x5B
#define MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT 0x50, 0x5C
#define MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT 0x51, 0x5D
#define MOVEMENT_ACTION_DISABLE_ANIMATION 0x52, 0x5E
#define MOVEMENT_ACTION_RESTORE_ANIMATION 0x53, 0x5F
#define MOVEMENT_ACTION_SET_INVISIBLE 0x54, 0x60
#define MOVEMENT_ACTION_SET_VISIBLE 0x55, 0x61
#define MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK 0x56, 0x62
#define MOVEMENT_ACTION_EMOTE_QUESTION_MARK 0x57, 0x63
#define MOVEMENT_ACTION_EMOTE_HEART 0x58, 0xFF
#define MOVEMENT_ACTION_REVEAL_TRAINER 0x59, 0x67
#define MOVEMENT_ACTION_ROCK_SMASH_BREAK 0x5A, 0x68
#define MOVEMENT_ACTION_CUT_TREE 0x5B, 0x69
#define MOVEMENT_ACTION_SET_FIXED_PRIORITY 0x5C, 0x6A
#define MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY 0x5D, 0x6B
#define MOVEMENT_ACTION_INIT_AFFINE_ANIM 0x5E, 0x6C
#define MOVEMENT_ACTION_CLEAR_AFFINE_ANIM 0x5F, 0x6D
#define MOVEMENT_ACTION_HIDE_REFLECTION 0x60, 0xFF
#define MOVEMENT_ACTION_SHOW_REFLECTION 0x61, 0xFF
#define MOVEMENT_ACTION_WALK_DOWN_START_AFFINE 0x62, 0x6E
#define MOVEMENT_ACTION_WALK_DOWN_AFFINE 0x63, 0x6F
#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN 0x64, 0x70
#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP 0x65, 0x71
#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT 0x66, 0x72
#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT 0x67, 0x73
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN 0x68, 0x74
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP 0x69, 0x75
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT 0x6A, 0x76
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT 0x6B, 0x77
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN 0x6C, 0x78
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP 0x6D, 0x79
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT 0x6E, 0x7A
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT 0x6F, 0x7B
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN 0x70, 0x7C
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP 0x71, 0x7D
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT 0x72, 0x7E
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT 0x73, 0x7F
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN 0x74, 0x80
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP 0x75, 0x81
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT 0x76, 0x82
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT 0x77, 0x83
#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN 0x78, 0x84
#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP 0x79, 0x85
#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT 0x7A, 0x86
#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT 0x7B, 0x87
#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN 0x7C, 0x88
#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP 0x7D, 0x89
#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT 0x7E, 0x8A
#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT 0x7F, 0x8B
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN 0x80, 0x8C
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP 0x81, 0x8D
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT 0x82, 0x8E
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT 0x83, 0x8F
#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN 0x84, 0x90
#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP 0x85, 0x91
#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT 0x86, 0x92
#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT 0x87, 0x93
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN 0x88, 0xFF
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP 0x89, 0xFF
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT 0x8A, 0xFF
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT 0x8B, 0xFF
#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_LEFT 0x8C, 0xFF
#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_RIGHT 0x8D, 0xFF
#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_LEFT 0x8E, 0xFF
#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_RIGHT 0x8F, 0xFF
#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_LEFT 0x90, 0xFF
#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT 0x91, 0xFF
#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT 0x92, 0xFF
#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT 0x93, 0xFF
#define MOVEMENT_ACTION_LOCK_ANIM 0x94, 0xFF
#define MOVEMENT_ACTION_UNLOCK_ANIM 0x95, 0xFF
#define MOVEMENT_ACTION_WALK_LEFT_AFFINE 0x96, 0xFF
#define MOVEMENT_ACTION_WALK_RIGHT_AFFINE 0x97, 0xFF
#define MOVEMENT_ACTION_LEVITATE 0x98, 0xFF
#define MOVEMENT_ACTION_STOP_LEVITATE 0x99, 0xFF
#define MOVEMENT_ACTION_STOP_LEVITATE_AT_TOP 0x9A, 0xFF
#define MOVEMENT_ACTION_FIGURE_8 0x9B, 0xFF
#define MOVEMENT_ACTION_FLY_UP 0x9C, 0xA4
#define MOVEMENT_ACTION_FLY_DOWN 0x9D, 0xA5
#define MOVEMENT_ACTION_FACE_DOWN_FAST 0xFF, 0x4
#define MOVEMENT_ACTION_FACE_UP_FAST 0xFF, 0x5
#define MOVEMENT_ACTION_FACE_LEFT_FAST 0xFF, 0x6
#define MOVEMENT_ACTION_FACE_RIGHT_FAST 0xFF, 0x7
#define MOVEMENT_ACTION_WALK_SLOWER_DOWN 0xFF, 0x8
#define MOVEMENT_ACTION_WALK_SLOWER_UP 0xFF, 0x9
#define MOVEMENT_ACTION_WALK_SLOWER_LEFT 0xFF, 0xA
#define MOVEMENT_ACTION_WALK_SLOWER_RIGHT 0xFF, 0xB
#define MOVEMENT_ACTION_PLAYER_RUN_DOWN_SLOW 0xFF, 0x41
#define MOVEMENT_ACTION_PLAYER_RUN_UP_SLOW 0xFF, 0x42
#define MOVEMENT_ACTION_PLAYER_RUN_LEFT_SLOW 0xFF, 0x43
#define MOVEMENT_ACTION_PLAYER_RUN_RIGHT_SLOW 0xFF, 0x44
#define MOVEMENT_ACTION_EMOTE_X 0xFF, 0x64
#define MOVEMENT_ACTION_EMOTE_DOUBLE_EXCL_MARK 0xFF, 0x65
#define MOVEMENT_ACTION_EMOTE_SMILE 0xFF, 0x66
#define MOVEMENT_ACTION_SPIN_DOWN 0xFF, 0x94
#define MOVEMENT_ACTION_SPIN_UP 0xFF, 0x95
#define MOVEMENT_ACTION_SPIN_LEFT 0xFF, 0x96
#define MOVEMENT_ACTION_SPIN_RIGHT 0xFF, 0x97
#define MOVEMENT_ACTION_RAISE_HAND_AND_STOP 0xFF, 0x98
#define MOVEMENT_ACTION_RAISE_HAND_AND_JUMP 0xFF, 0x99
#define MOVEMENT_ACTION_RAISE_HAND_AND_SWIM 0xFF, 0x9A
#define MOVEMENT_ACTION_WALK_SLOWEST_DOWN 0xFF, 0x9B
#define MOVEMENT_ACTION_WALK_SLOWEST_UP 0xFF, 0x9C
#define MOVEMENT_ACTION_WALK_SLOWEST_LEFT 0xFF, 0x9D
#define MOVEMENT_ACTION_WALK_SLOWEST_RIGHT 0xFF, 0x9E
#define MOVEMENT_ACTION_SHAKE_HEAD_OR_WALK_IN_PLACE 0xFF, 0x9F
#define MOVEMENT_ACTION_GLIDE_DOWN 0xFF, 0xA0
#define MOVEMENT_ACTION_GLIDE_UP 0xFF, 0xA1
#define MOVEMENT_ACTION_GLIDE_LEFT 0xFF, 0xA2
#define MOVEMENT_ACTION_GLIDE_RIGHT 0xFF, 0xA3
#define MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_DOWN 0xFF, 0xA6
#define MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_UP 0xFF, 0xA7
#define MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_LEFT 0xFF, 0xA8
#define MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_RIGHT 0xFF, 0xA9
#define CPU_SET_16BIT 0x00000000
#define CPU_SET_32BIT 0x04000000

View File

@ -59,10 +59,10 @@ class movement_var : public xse_var
{
public:
using xse_var::xse_var;
void set_movement(const int movement[], unsigned int nSize);
void set_movement(const byte movement[], unsigned int nSize);
void insert_movement(u8 mg_array[]);
void set_start();
const int *movement;
const byte *movement;
unsigned int size;
};
@ -84,4 +84,4 @@ public:
int numTracks;
ptgb::vector<u32> trackPointers;
ptgb::vector<ptgb::vector<byte>> trackArrays;
};
};

View File

@ -179,7 +179,8 @@ void mystery_gift_script::build_script(PokeBox *box)
}
}
const int movementSlowSpinArray[16] = {
// Note that each MOVEMENT macro contains TWO bytes, one for Hoenn and one for FRLG.
static const byte movementSlowSpinArray[32] = {
MOVEMENT_ACTION_FACE_LEFT,
MOVEMENT_ACTION_DELAY_8,
MOVEMENT_ACTION_FACE_UP,
@ -199,7 +200,7 @@ void mystery_gift_script::build_script(PokeBox *box)
};
movementSlowSpin.set_movement(movementSlowSpinArray, 16);
const int movementFastSpinArray[30] = {
static const byte movementFastSpinArray[60] = {
MOVEMENT_ACTION_FACE_LEFT,
MOVEMENT_ACTION_DELAY_4,
MOVEMENT_ACTION_FACE_UP,
@ -233,16 +234,16 @@ void mystery_gift_script::build_script(PokeBox *box)
};
movementFastSpin.set_movement(movementFastSpinArray, 30);
const int movementExclaimArray[1] = {MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK};
static const byte movementExclaimArray[2] = {MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK};
movementExclaim.set_movement(movementExclaimArray, 1);
const int movementToBoxesArrayRS[4] = {MOVEMENT_ACTION_WALK_FAST_UP, MOVEMENT_ACTION_WALK_FAST_LEFT, MOVEMENT_ACTION_WALK_FAST_UP, MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK};
const int movementToBoxesArrayFRLG[3] = {MOVEMENT_ACTION_WALK_FAST_UP, MOVEMENT_ACTION_WALK_FAST_UP, MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK};
const int movementToBoxesArrayE[6] = {MOVEMENT_ACTION_WALK_FAST_UP, MOVEMENT_ACTION_WALK_FAST_LEFT, MOVEMENT_ACTION_WALK_FAST_LEFT, MOVEMENT_ACTION_WALK_FAST_LEFT, MOVEMENT_ACTION_FACE_UP, MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK};
static const byte movementToBoxesArrayRS[8] = {MOVEMENT_ACTION_WALK_FAST_UP, MOVEMENT_ACTION_WALK_FAST_LEFT, MOVEMENT_ACTION_WALK_FAST_UP, MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK};
static const byte movementToBoxesArrayFRLG[6] = {MOVEMENT_ACTION_WALK_FAST_UP, MOVEMENT_ACTION_WALK_FAST_UP, MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK};
static const byte movementToBoxesArrayE[12] = {MOVEMENT_ACTION_WALK_FAST_UP, MOVEMENT_ACTION_WALK_FAST_LEFT, MOVEMENT_ACTION_WALK_FAST_LEFT, MOVEMENT_ACTION_WALK_FAST_LEFT, MOVEMENT_ACTION_FACE_UP, MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK};
const int movementWalkBackArrayRS[3] = {MOVEMENT_ACTION_WALK_FAST_DOWN, MOVEMENT_ACTION_WALK_FAST_RIGHT, MOVEMENT_ACTION_WALK_FAST_DOWN};
const int movementWalkBackArrayFRLG[2] = {MOVEMENT_ACTION_WALK_FAST_DOWN, MOVEMENT_ACTION_WALK_FAST_DOWN};
const int movementWalkBackArrayE[4] = {MOVEMENT_ACTION_WALK_FAST_RIGHT, MOVEMENT_ACTION_WALK_FAST_RIGHT, MOVEMENT_ACTION_WALK_FAST_RIGHT, MOVEMENT_ACTION_WALK_FAST_DOWN};
static const byte movementWalkBackArrayRS[6] = {MOVEMENT_ACTION_WALK_FAST_DOWN, MOVEMENT_ACTION_WALK_FAST_RIGHT, MOVEMENT_ACTION_WALK_FAST_DOWN};
static const byte movementWalkBackArrayFRLG[4] = {MOVEMENT_ACTION_WALK_FAST_DOWN, MOVEMENT_ACTION_WALK_FAST_DOWN};
static const byte movementWalkBackArrayE[8] = {MOVEMENT_ACTION_WALK_FAST_RIGHT, MOVEMENT_ACTION_WALK_FAST_RIGHT, MOVEMENT_ACTION_WALK_FAST_RIGHT, MOVEMENT_ACTION_WALK_FAST_DOWN};
switch (curr_GBA_rom.gamecode)
{
@ -262,19 +263,19 @@ void mystery_gift_script::build_script(PokeBox *box)
break;
}
const int movementLookDownArray[1] = {MOVEMENT_ACTION_FACE_DOWN};
static const byte movementLookDownArray[2] = {MOVEMENT_ACTION_FACE_DOWN};
movementLookDown.set_movement(movementLookDownArray, 1);
const int movementOutOfWayArray[2] = {MOVEMENT_ACTION_WALK_FAST_RIGHT, MOVEMENT_ACTION_FACE_LEFT};
static const byte movementOutOfWayArray[4] = {MOVEMENT_ACTION_WALK_FAST_RIGHT, MOVEMENT_ACTION_FACE_LEFT};
movementOutOfWay.set_movement(movementOutOfWayArray, 2);
const int movementInWayArray[2] = {MOVEMENT_ACTION_WALK_FAST_LEFT, MOVEMENT_ACTION_FACE_DOWN};
static const byte movementInWayArray[4] = {MOVEMENT_ACTION_WALK_FAST_LEFT, MOVEMENT_ACTION_FACE_DOWN};
movementInWay.set_movement(movementInWayArray, 2);
const int movementGoUpArray[1] = {MOVEMENT_ACTION_WALK_FAST_UP};
static const byte movementGoUpArray[2] = {MOVEMENT_ACTION_WALK_FAST_UP};
movementGoUp.set_movement(movementGoUpArray, 1);
const int movementGoDownArray[2] = {MOVEMENT_ACTION_WALK_FAST_DOWN, MOVEMENT_ACTION_FACE_UP};
static const byte movementGoDownArray[4] = {MOVEMENT_ACTION_WALK_FAST_DOWN, MOVEMENT_ACTION_FACE_UP};
movementGoDown.set_movement(movementGoDownArray, 2);
// const byte track_1[] = {0xBC, 0x00, 0xBB, 0x38, 0xBD, 0x38, 0xC4, 0x00, 0xBE, 0x60, 0xBF, 0x3D, 0xC0, 0x40, 0xD4, 0x51, 0x70, 0x86, 0xD4, 0x8C, 0x53, 0x86, 0xD4, 0x8C, 0x54, 0x86, 0xD4, 0x92, 0xE8, 0x55, 0x92, 0xBE, 0x64, 0x82, 0x6C, 0x84, 0x74, 0x85, 0xB1};

View File

@ -182,7 +182,7 @@ void textbox_var::insert_text(const u16 *charset, u8 mg_array[], bool should_set
// MOVEMENT VAR
void movement_var::set_movement(const int nMovement[], unsigned int nSize)
void movement_var::set_movement(const byte nMovement[], unsigned int nSize)
{
movement = nMovement;
size = nSize;
@ -196,9 +196,12 @@ void movement_var::set_start()
void movement_var::insert_movement(u8 mg_array[])
{
set_start();
// movement data is { hoenn, frlg, hoenn, frlg, ...}
int offset = curr_GBA_rom.is_hoenn() ? 0 : 1;
for (unsigned int parser = 0; parser < size; parser++)
{
mg_array[*curr_loc_ptr] = movement[parser];
mg_array[*curr_loc_ptr] = movement[parser * 2 + offset];
(*curr_loc_ptr)++;
}
mg_array[*curr_loc_ptr] = 0xFE; // End list
@ -283,4 +286,4 @@ void music_var::insert_music_data(u8 mg_array[], u8 blockCount, u8 priority, u8
mg_array[(*curr_loc_ptr)++] = trackPointers[i] >> 16;
mg_array[(*curr_loc_ptr)++] = trackPointers[i] >> 24;
}
}
}