diff options
author | GriffinR <griffin.g.richards@gmail.com> | 2020-03-23 17:34:12 -0400 |
---|---|---|
committer | GriffinR <griffin.g.richards@gmail.com> | 2020-03-23 17:34:12 -0400 |
commit | b607821bf693e49612afd3580d13e9734f13c5a1 (patch) | |
tree | 80ae9f958c27299efd57dacca17b2feeaae614f6 | |
parent | b76d8f569cf2a83387a41c9acbd4cdfc15d3ed0f (diff) |
Move evobjmv data up to movement type func tables to src
-rw-r--r-- | data/event_object_movement.s | 501 | ||||
-rw-r--r-- | include/constants/global.h | 4 | ||||
-rw-r--r-- | src/event_object_movement.c | 519 |
3 files changed, 523 insertions, 501 deletions
diff --git a/data/event_object_movement.s b/data/event_object_movement.s index c298c4e85..84277cc03 100644 --- a/data/event_object_movement.s +++ b/data/event_object_movement.s @@ -7666,504 +7666,3 @@ gUnknown_83A63FC:: @ 83A63FC gUnknown_83A6404:: @ 83A6404 .4byte sub_80633D4 .4byte sub_80633F4 - -gFaceDirectionAnimNums:: @ 83A640C - .byte 0x00 @ DIR_NONE - .byte 0x00 @ DIR_SOUTH - .byte 0x01 @ DIR_NORTH - .byte 0x02 @ DIR_WEST - .byte 0x03 @ DIR_EAST - .byte 0x00 @ DIR_SOUTHWEST - .byte 0x00 @ DIR_SOUTHEAST - .byte 0x01 @ DIR_NORTHWEST - .byte 0x01 @ DIR_NORTHEAST - -gMoveDirectionAnimNums:: @ 83A6415 - .byte 0x4 @ DIR_NONE - .byte 0x4 @ DIR_SOUTH - .byte 0x5 @ DIR_NORTH - .byte 0x6 @ DIR_WEST - .byte 0x7 @ DIR_EAST - .byte 0x4 @ DIR_SOUTHWEST - .byte 0x4 @ DIR_SOUTHEAST - .byte 0x5 @ DIR_NORTHWEST - .byte 0x5 @ DIR_NORTHEAST - -gMoveDirectionFastAnimNums:: @ 83A641E - .byte 0x8 @ DIR_NONE - .byte 0x8 @ DIR_SOUTH - .byte 0x9 @ DIR_NORTH - .byte 0xA @ DIR_WEST - .byte 0xB @ DIR_EAST - .byte 0x8 @ DIR_SOUTHWEST - .byte 0x8 @ DIR_SOUTHEAST - .byte 0x9 @ DIR_NORTHWEST - .byte 0x9 @ DIR_NORTHEAST - -gMoveDirectionFasterAnimNums:: @ 83A6427 - .byte 0xC @ DIR_NONE - .byte 0xC @ DIR_SOUTH - .byte 0xD @ DIR_NORTH - .byte 0xE @ DIR_WEST - .byte 0xF @ DIR_EAST - .byte 0xC @ DIR_SOUTHWEST - .byte 0xC @ DIR_SOUTHEAST - .byte 0xD @ DIR_NORTHWEST - .byte 0xD @ DIR_NORTHEAST - -gMoveDirectionFastestAnimNums:: @ 83A6430 - .byte 0x10 @ DIR_NONE - .byte 0x10 @ DIR_SOUTH - .byte 0x11 @ DIR_NORTH - .byte 0x12 @ DIR_WEST - .byte 0x13 @ DIR_EAST - .byte 0x10 @ DIR_SOUTHWEST - .byte 0x10 @ DIR_SOUTHEAST - .byte 0x11 @ DIR_NORTHWEST - .byte 0x11 @ DIR_NORTHEAST - -gJumpSpecialDirectionAnimNums:: @ 83A6439 - .byte 0x14 @ DIR_NONE - .byte 0x14 @ DIR_SOUTH - .byte 0x15 @ DIR_NORTH - .byte 0x16 @ DIR_WEST - .byte 0x17 @ DIR_EAST - .byte 0x14 @ DIR_SOUTHWEST - .byte 0x14 @ DIR_SOUTHEAST - .byte 0x15 @ DIR_NORTHWEST - .byte 0x15 @ DIR_NORTHEAST - -gAcroWheelieDirectionAnimNums:: @ 83A6442 - .byte 0x14 @ DIR_NONE - .byte 0x14 @ DIR_SOUTH - .byte 0x15 @ DIR_NORTH - .byte 0x16 @ DIR_WEST - .byte 0x17 @ DIR_EAST - .byte 0x14 @ DIR_SOUTHWEST - .byte 0x14 @ DIR_SOUTHEAST - .byte 0x15 @ DIR_NORTHWEST - .byte 0x15 @ DIR_NORTHEAST - -gUnrefAnimNums_080634A0:: @ 83A644B - .byte 0x18 @ DIR_NONE - .byte 0x18 @ DIR_SOUTH - .byte 0x19 @ DIR_NORTH - .byte 0x1A @ DIR_WEST - .byte 0x1B @ DIR_EAST - .byte 0x18 @ DIR_SOUTHWEST - .byte 0x18 @ DIR_SOUTHEAST - .byte 0x19 @ DIR_NORTHWEST - .byte 0x19 @ DIR_NORTHEAST - -gAcroEndWheelieDirectionAnimNums:: @ 83A6454 - .byte 0x1C @ DIR_NONE - .byte 0x1C @ DIR_SOUTH - .byte 0x1D @ DIR_NORTH - .byte 0x1E @ DIR_WEST - .byte 0x1F @ DIR_EAST - .byte 0x1C @ DIR_SOUTHWEST - .byte 0x1C @ DIR_SOUTHEAST - .byte 0x1D @ DIR_NORTHWEST - .byte 0x1D @ DIR_NORTHEAST - -@ gAcroUnusedActionDirectionAnimNums? -gAcroUnusedActionDirectionAnimNums:: @ 83A645D - .byte 0x18 @ DIR_NONE - .byte 0x18 @ DIR_SOUTH - .byte 0x19 @ DIR_NORTH - .byte 0x1A @ DIR_WEST - .byte 0x1B @ DIR_EAST - .byte 0x18 @ DIR_SOUTHWEST - .byte 0x19 @ DIR_SOUTHEAST - .byte 0x1A @ DIR_NORTHWEST - .byte 0x1B @ DIR_NORTHEAST - -@ gAcroWheeliePedalDirectionAnimNums? -gAcroWheeliePedalDirectionAnimNums:: @ 83A6466 - .byte 0x20 @ DIR_NONE - .byte 0x20 @ DIR_SOUTH - .byte 0x21 @ DIR_NORTH - .byte 0x22 @ DIR_WEST - .byte 0x23 @ DIR_EAST - .byte 0x20 @ DIR_SOUTHWEST - .byte 0x20 @ DIR_SOUTHEAST - .byte 0x21 @ DIR_NORTHWEST - .byte 0x21 @ DIR_NORTHEAST - -@ ??? -gFishingDirectionAnimNums:: @ 83A646F - .byte 0x24 @ DIR_NONE - .byte 0x24 @ DIR_SOUTH - .byte 0x25 @ DIR_NORTH - .byte 0x26 @ DIR_WEST - .byte 0x27 @ DIR_EAST - .byte 0x24 @ DIR_SOUTHWEST - .byte 0x24 @ DIR_SOUTHEAST - .byte 0x25 @ DIR_NORTHWEST - .byte 0x25 @ DIR_NORTHEAST - -@ gFishingDirectionAnimNums? -gFishingNoCatchDirectionAnimNums:: @ 83A6478 - .byte 0x0 @ DIR_NONE - .byte 0x0 @ DIR_SOUTH - .byte 0x1 @ DIR_NORTH - .byte 0x2 @ DIR_WEST - .byte 0x3 @ DIR_EAST - .byte 0x0 @ DIR_SOUTHWEST - .byte 0x0 @ DIR_SOUTHEAST - .byte 0x1 @ DIR_NORTHWEST - .byte 0x1 @ DIR_NORTHEAST - -@ gFishingNoCatchDirectionAnimNums? -gFishingBiteDirectionAnimNums:: @ 83A6481 - .byte 0x4 @ DIR_NONE - .byte 0x4 @ DIR_SOUTH - .byte 0x5 @ DIR_NORTH - .byte 0x6 @ DIR_WEST - .byte 0x7 @ DIR_EAST - .byte 0x4 @ DIR_SOUTHWEST - .byte 0x4 @ DIR_SOUTHEAST - .byte 0x5 @ DIR_NORTHWEST - .byte 0x5 @ DIR_NORTHEAST - -@ gFishingBiteDirectionAnimNums? -gUnknown_83A648A:: @ 83A648A - .byte 0x8 @ DIR_NONE - .byte 0x8 @ DIR_SOUTH - .byte 0x9 @ DIR_NORTH - .byte 0xA @ DIR_WEST - .byte 0xB @ DIR_EAST - .byte 0x8 @ DIR_SOUTHWEST - .byte 0x8 @ DIR_SOUTHEAST - .byte 0x9 @ DIR_NORTHWEST - .byte 0x9 @ DIR_NORTHEAST - -@ gRunningDirectionAnimNums? -gRunningDirectionAnimNums:: @ 83A6493 - .byte 0x14 @ DIR_NONE - .byte 0x14 @ DIR_SOUTH - .byte 0x15 @ DIR_NORTH - .byte 0x16 @ DIR_WEST - .byte 0x17 @ DIR_EAST - .byte 0x14 @ DIR_SOUTHWEST - .byte 0x14 @ DIR_SOUTHEAST - .byte 0x15 @ DIR_NORTHWEST - .byte 0x15 @ DIR_NORTHEAST - -gTrainerFacingDirectionMovementTypes:: @ 83A649C - .byte 0x08 @ DIR_NONE - .byte 0x08 @ DIR_SOUTH - .byte 0x07 @ DIR_NORTH - .byte 0x09 @ DIR_WEST - .byte 0x0A @ DIR_EAST - .byte 0x08 @ DIR_SOUTHWEST - .byte 0x08 @ DIR_SOUTHEAST - .byte 0x07 @ DIR_NORTHWEST - .byte 0x07 @ DIR_NORTHEAST - - .align 2 -gOppositeDirectionBlockedMetatileFuncs:: @ 83A64A8 - .4byte MetatileBehavior_IsSouthBlocked - .4byte MetatileBehavior_IsNorthBlocked - .4byte MetatileBehavior_IsWestBlocked - .4byte MetatileBehavior_IsEastBlocked - -gDirectionBlockedMetatileFuncs:: @ 83A64B8 - .4byte MetatileBehavior_IsNorthBlocked - .4byte MetatileBehavior_IsSouthBlocked - .4byte MetatileBehavior_IsEastBlocked - .4byte MetatileBehavior_IsWestBlocked - -@ sDirectionToVectors -sDirectionToVectors:: @ 83A64C8 - .2byte 0, 0 @ DIR_NONE - .2byte 0, 1 @ DIR_SOUTH - .2byte 0, -1 @ DIR_NORTH - .2byte -1, 0 @ DIR_WEST - .2byte 1, 0 @ DIR_EAST - .2byte -1, 1 @ DIR_SOUTHWEST - .2byte 1, 1 @ DIR_SOUTHEAST - .2byte -1, -1 @ DIR_NORTHWEST - .2byte 1, -1 @ DIR_NORTHEAST - -@ gFaceDirectionMovementActions -gFaceDirectionMovementActions:: @ 83A64EC - .byte 0x0 @ DIR_NONE - .byte 0x0 @ DIR_SOUTH - .byte 0x1 @ DIR_NORTH - .byte 0x2 @ DIR_WEST - .byte 0x3 @ DIR_EAST - -gWalkSlowMovementActions:: @ 83A64F1 - .byte 0x4 @ DIR_NONE - .byte 0x4 @ DIR_SOUTH - .byte 0x5 @ DIR_NORTH - .byte 0x6 @ DIR_WEST - .byte 0x7 @ DIR_EAST - -gUnknown_83A64F6:: @ 83A64F6 - .byte 0x9B @ DIR_NONE - .byte 0x9B @ DIR_SOUTH - .byte 0x9C @ DIR_NORTH - .byte 0x9D @ DIR_WEST - .byte 0x9E @ DIR_EAST - -gUnknown_83A64FB:: @ 83A64FB - .byte 0x8 @ DIR_NONE - .byte 0x8 @ DIR_SOUTH - .byte 0x9 @ DIR_NORTH - .byte 0xA @ DIR_WEST - .byte 0xB @ DIR_EAST - -gUnknown_83A6500:: @ 83A6500 - .byte 0xC @ DIR_NONE - .byte 0xC @ DIR_SOUTH - .byte 0xD @ DIR_NORTH - .byte 0xE @ DIR_WEST - .byte 0xF @ DIR_EAST - -gUnknown_83A6505:: @ 83A6505 - .byte 0x10 @ DIR_NONE - .byte 0x10 @ DIR_SOUTH - .byte 0x11 @ DIR_NORTH - .byte 0x12 @ DIR_WEST - .byte 0x13 @ DIR_EAST - -gUnknown_83A650A:: @ 83A650A - .byte 0x1D @ DIR_NONE - .byte 0x1D @ DIR_SOUTH - .byte 0x1E @ DIR_NORTH - .byte 0x1F @ DIR_WEST - .byte 0x20 @ DIR_EAST - -gUnknown_83A650F:: @ 83A650F - .byte 0xA0 @ DIR_NONE - .byte 0xA0 @ DIR_SOUTH - .byte 0xA1 @ DIR_NORTH - .byte 0xA2 @ DIR_WEST - .byte 0xA3 @ DIR_EAST - -gUnknown_83A6514:: @ 83A6514 - .byte 0x31 @ DIR_NONE - .byte 0x31 @ DIR_SOUTH - .byte 0x32 @ DIR_NORTH - .byte 0x33 @ DIR_WEST - .byte 0x34 @ DIR_EAST - -gUnknown_83A6519:: @ 83A6519 - .byte 0x35 @ DIR_NONE - .byte 0x35 @ DIR_SOUTH - .byte 0x36 @ DIR_NORTH - .byte 0x37 @ DIR_WEST - .byte 0x38 @ DIR_EAST - -gUnknown_83A651E:: @ 83A651E - .byte 0x39 @ DIR_NONE - .byte 0x39 @ DIR_SOUTH - .byte 0x3A @ DIR_NORTH - .byte 0x3B @ DIR_WEST - .byte 0x3C @ DIR_EAST - -gUnknown_83A6523:: @ 83A6523 - .byte 0x3D @ DIR_NONE - .byte 0x3D @ DIR_SOUTH - .byte 0x3E @ DIR_NORTH - .byte 0x3F @ DIR_WEST - .byte 0x40 @ DIR_EAST - -gUnknown_83A6528:: @ 83A6528 - .byte 0x41 @ DIR_NONE - .byte 0x41 @ DIR_SOUTH - .byte 0x42 @ DIR_NORTH - .byte 0x43 @ DIR_WEST - .byte 0x44 @ DIR_EAST - -gUnknown_83A652D:: @ 83A652D - .byte 0x94 @ DIR_NONE - .byte 0x94 @ DIR_SOUTH - .byte 0x95 @ DIR_NORTH - .byte 0x96 @ DIR_WEST - .byte 0x97 @ DIR_EAST - -gUnknown_83A6532:: @ 83A6532 - .byte 0x14 @ DIR_NONE - .byte 0x14 @ DIR_SOUTH - .byte 0x15 @ DIR_NORTH - .byte 0x16 @ DIR_WEST - .byte 0x17 @ DIR_EAST - -gUnknown_83A6537:: @ 83A6537 - .byte 0x52 @ DIR_NONE - .byte 0x52 @ DIR_SOUTH - .byte 0x53 @ DIR_NORTH - .byte 0x54 @ DIR_WEST - .byte 0x55 @ DIR_EAST - -gUnknown_83A653C:: @ 83A653C - .byte 0x57 @ DIR_NONE - .byte 0x57 @ DIR_SOUTH - .byte 0x56 @ DIR_NORTH - .byte 0x59 @ DIR_WEST - .byte 0x58 @ DIR_EAST - -gUnknown_83A6541:: @ 83A6541 - .byte 0x4E @ DIR_NONE - .byte 0x4E @ DIR_SOUTH - .byte 0x4F @ DIR_NORTH - .byte 0x50 @ DIR_WEST - .byte 0x51 @ DIR_EAST - -gUnknown_83A6546:: @ 83A6546 - .byte 0x46 @ DIR_NONE - .byte 0x46 @ DIR_SOUTH - .byte 0x47 @ DIR_NORTH - .byte 0x48 @ DIR_WEST - .byte 0x49 @ DIR_EAST - -gUnknown_83A654B:: @ 83A654B - .byte 0xA6 @ DIR_NONE - .byte 0xA6 @ DIR_SOUTH - .byte 0xA7 @ DIR_NORTH - .byte 0xA8 @ DIR_WEST - .byte 0xA9 @ DIR_EAST - -gUnknown_83A6550:: @ 83A6550 - .byte 0x21 @ DIR_NONE - .byte 0x21 @ DIR_SOUTH - .byte 0x22 @ DIR_NORTH - .byte 0x23 @ DIR_WEST - .byte 0x24 @ DIR_EAST - -gUnknown_83A6555:: @ 83A6555 - .byte 0x25 @ DIR_NONE - .byte 0x25 @ DIR_SOUTH - .byte 0x26 @ DIR_NORTH - .byte 0x27 @ DIR_WEST - .byte 0x28 @ DIR_EAST - -gUnknown_83A655A:: @ 83A655A - .byte 0x29 @ DIR_NONE - .byte 0x29 @ DIR_SOUTH - .byte 0x2A @ DIR_NORTH - .byte 0x2B @ DIR_WEST - .byte 0x2C @ DIR_EAST - -gUnknown_83A655F:: @ 83A655F - .byte 0x2D @ DIR_NONE - .byte 0x2D @ DIR_SOUTH - .byte 0x2E @ DIR_NORTH - .byte 0x2F @ DIR_WEST - .byte 0x30 @ DIR_EAST - -gUnknown_83A6564:: @ 83A6564 - .byte 0x70 @ DIR_NONE - .byte 0x70 @ DIR_SOUTH - .byte 0x71 @ DIR_NORTH - .byte 0x72 @ DIR_WEST - .byte 0x73 @ DIR_EAST - -gUnknown_83A6569:: @ 83A6569 - .byte 0x74 @ DIR_NONE - .byte 0x74 @ DIR_SOUTH - .byte 0x75 @ DIR_NORTH - .byte 0x76 @ DIR_WEST - .byte 0x77 @ DIR_EAST - -gUnknown_83A656E:: @ 83A656E - .byte 0x78 @ DIR_NONE - .byte 0x78 @ DIR_SOUTH - .byte 0x79 @ DIR_NORTH - .byte 0x7A @ DIR_WEST - .byte 0x7B @ DIR_EAST - -gUnknown_83A6573:: @ 83A6573 - .byte 0x7C @ DIR_NONE - .byte 0x7C @ DIR_SOUTH - .byte 0x7D @ DIR_NORTH - .byte 0x7E @ DIR_WEST - .byte 0x7F @ DIR_EAST - -gUnknown_83A6578:: @ 83A6578 - .byte 0x80 @ DIR_NONE - .byte 0x80 @ DIR_SOUTH - .byte 0x81 @ DIR_NORTH - .byte 0x82 @ DIR_WEST - .byte 0x83 @ DIR_EAST - -gUnknown_83A657D:: @ 83A657D - .byte 0x84 @ DIR_NONE - .byte 0x84 @ DIR_SOUTH - .byte 0x85 @ DIR_NORTH - .byte 0x86 @ DIR_WEST - .byte 0x87 @ DIR_EAST - -gUnknown_83A6582:: @ 83A6582 - .byte 0x88 @ DIR_NONE - .byte 0x88 @ DIR_SOUTH - .byte 0x89 @ DIR_NORTH - .byte 0x8A @ DIR_WEST - .byte 0x8B @ DIR_EAST - -gUnknown_83A6587:: @ 83A6587 - .byte 0x8C @ DIR_NONE - .byte 0x8C @ DIR_SOUTH - .byte 0x8D @ DIR_NORTH - .byte 0x8E @ DIR_WEST - .byte 0x8F @ DIR_EAST - -gUnknown_83A658C:: @ 83A658C - .byte 0x90 @ DIR_NONE - .byte 0x90 @ DIR_SOUTH - .byte 0x91 @ DIR_NORTH - .byte 0x92 @ DIR_WEST - .byte 0x93 @ DIR_EAST - -@ gOppositeDirections ? -gOppositeDirections:: @ 83A6591 - .byte 0x02 - .byte 0x01 - .byte 0x04 - .byte 0x03 - .byte 0x08 - .byte 0x07 - .byte 0x06 - .byte 0x05 - -gUnknown_83A6599:: @ 83A6599 - .byte 0x02 - .byte 0x01 - .byte 0x04 - .byte 0x03 - .byte 0x01 - .byte 0x02 - .byte 0x03 - .byte 0x04 - .byte 0x03 - .byte 0x04 - .byte 0x02 - .byte 0x01 - .byte 0x04 - .byte 0x03 - .byte 0x01 - .byte 0x02 - -gUnknown_83A65A9:: @ 83A65A9 - .byte 0x02 - .byte 0x01 - .byte 0x04 - .byte 0x03 - .byte 0x01 - .byte 0x02 - .byte 0x03 - .byte 0x04 - .byte 0x04 - .byte 0x03 - .byte 0x01 - .byte 0x02 - .byte 0x03 - .byte 0x04 - .byte 0x02 - .byte 0x01 - .byte 0x00 - .byte 0x00 - .byte 0x00 diff --git a/include/constants/global.h b/include/constants/global.h index 28fe660e3..f8cfaa4b0 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -78,5 +78,9 @@ #define DIR_NORTH 2 #define DIR_WEST 3 #define DIR_EAST 4 +#define DIR_SOUTHWEST 5 +#define DIR_SOUTHEAST 6 +#define DIR_NORTHWEST 7 +#define DIR_NORTHEAST 8 #endif //GUARD_CONSTANTS_GLOBAL_H diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 42e203ada..c9d02470b 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -291,6 +291,525 @@ extern const s16 gUnknown_83A695E[3]; #define OBJ_EVENT_PAL_TAG_NONE 0x11FF +const u8 gFaceDirectionAnimNums[] = { + [DIR_NONE] = 0x00, + [DIR_SOUTH] = 0x00, + [DIR_NORTH] = 0x01, + [DIR_WEST] = 0x02, + [DIR_EAST] = 0x03, + [DIR_SOUTHWEST] = 0x00, + [DIR_SOUTHEAST] = 0x00, + [DIR_NORTHWEST] = 0x01, + [DIR_NORTHEAST] = 0x01, +}; + +const u8 gMoveDirectionAnimNums[] = { + [DIR_NONE] = 0x4, + [DIR_SOUTH] = 0x4, + [DIR_NORTH] = 0x5, + [DIR_WEST] = 0x6, + [DIR_EAST] = 0x7, + [DIR_SOUTHWEST] = 0x4, + [DIR_SOUTHEAST] = 0x4, + [DIR_NORTHWEST] = 0x5, + [DIR_NORTHEAST] = 0x5, +}; + +const u8 gMoveDirectionFastAnimNums[] = { + [DIR_NONE] = 0x8, + [DIR_SOUTH] = 0x8, + [DIR_NORTH] = 0x9, + [DIR_WEST] = 0xA, + [DIR_EAST] = 0xB, + [DIR_SOUTHWEST] = 0x8, + [DIR_SOUTHEAST] = 0x8, + [DIR_NORTHWEST] = 0x9, + [DIR_NORTHEAST] = 0x9, +}; + +const u8 gMoveDirectionFasterAnimNums[] = { + [DIR_NONE] = 0xC, + [DIR_SOUTH] = 0xC, + [DIR_NORTH] = 0xD, + [DIR_WEST] = 0xE, + [DIR_EAST] = 0xF, + [DIR_SOUTHWEST] = 0xC, + [DIR_SOUTHEAST] = 0xC, + [DIR_NORTHWEST] = 0xD, + [DIR_NORTHEAST] = 0xD, +}; + +const u8 gMoveDirectionFastestAnimNums[] = { + [DIR_NONE] = 0x10, + [DIR_SOUTH] = 0x10, + [DIR_NORTH] = 0x11, + [DIR_WEST] = 0x12, + [DIR_EAST] = 0x13, + [DIR_SOUTHWEST] = 0x10, + [DIR_SOUTHEAST] = 0x10, + [DIR_NORTHWEST] = 0x11, + [DIR_NORTHEAST] = 0x11, +}; + +const u8 gJumpSpecialDirectionAnimNums[] = { + [DIR_NONE] = 0x14, + [DIR_SOUTH] = 0x14, + [DIR_NORTH] = 0x15, + [DIR_WEST] = 0x16, + [DIR_EAST] = 0x17, + [DIR_SOUTHWEST] = 0x14, + [DIR_SOUTHEAST] = 0x14, + [DIR_NORTHWEST] = 0x15, + [DIR_NORTHEAST] = 0x15, +}; + +const u8 gAcroWheelieDirectionAnimNums[] = { + [DIR_NONE] = 0x14, + [DIR_SOUTH] = 0x14, + [DIR_NORTH] = 0x15, + [DIR_WEST] = 0x16, + [DIR_EAST] = 0x17, + [DIR_SOUTHWEST] = 0x14, + [DIR_SOUTHEAST] = 0x14, + [DIR_NORTHWEST] = 0x15, + [DIR_NORTHEAST] = 0x15, +}; + +const u8 gUnrefAnimNums_080634A0[] = { + [DIR_NONE] = 0x18, + [DIR_SOUTH] = 0x18, + [DIR_NORTH] = 0x19, + [DIR_WEST] = 0x1A, + [DIR_EAST] = 0x1B, + [DIR_SOUTHWEST] = 0x18, + [DIR_SOUTHEAST] = 0x18, + [DIR_NORTHWEST] = 0x19, + [DIR_NORTHEAST] = 0x19, +}; + +const u8 gAcroEndWheelieDirectionAnimNums[] = { + [DIR_NONE] = 0x1C, + [DIR_SOUTH] = 0x1C, + [DIR_NORTH] = 0x1D, + [DIR_WEST] = 0x1E, + [DIR_EAST] = 0x1F, + [DIR_SOUTHWEST] = 0x1C, + [DIR_SOUTHEAST] = 0x1C, + [DIR_NORTHWEST] = 0x1D, + [DIR_NORTHEAST] = 0x1D, +}; + +const u8 gAcroUnusedActionDirectionAnimNums[] = { + [DIR_NONE] = 0x18, + [DIR_SOUTH] = 0x18, + [DIR_NORTH] = 0x19, + [DIR_WEST] = 0x1A, + [DIR_EAST] = 0x1B, + [DIR_SOUTHWEST] = 0x18, + [DIR_SOUTHEAST] = 0x19, + [DIR_NORTHWEST] = 0x1A, + [DIR_NORTHEAST] = 0x1B, +}; + +const u8 gAcroWheeliePedalDirectionAnimNums[] = { + [DIR_NONE] = 0x20, + [DIR_SOUTH] = 0x20, + [DIR_NORTH] = 0x21, + [DIR_WEST] = 0x22, + [DIR_EAST] = 0x23, + [DIR_SOUTHWEST] = 0x20, + [DIR_SOUTHEAST] = 0x20, + [DIR_NORTHWEST] = 0x21, + [DIR_NORTHEAST] = 0x21, +}; + +const u8 gFishingDirectionAnimNums[] = { + [DIR_NONE] = 0x24, + [DIR_SOUTH] = 0x24, + [DIR_NORTH] = 0x25, + [DIR_WEST] = 0x26, + [DIR_EAST] = 0x27, + [DIR_SOUTHWEST] = 0x24, + [DIR_SOUTHEAST] = 0x24, + [DIR_NORTHWEST] = 0x25, + [DIR_NORTHEAST] = 0x25, +}; + +const u8 gFishingNoCatchDirectionAnimNums[] = { + [DIR_NONE] = 0x0, + [DIR_SOUTH] = 0x0, + [DIR_NORTH] = 0x1, + [DIR_WEST] = 0x2, + [DIR_EAST] = 0x3, + [DIR_SOUTHWEST] = 0x0, + [DIR_SOUTHEAST] = 0x0, + [DIR_NORTHWEST] = 0x1, + [DIR_NORTHEAST] = 0x1, +}; + +const u8 gFishingBiteDirectionAnimNums[] = { + [DIR_NONE] = 0x4, + [DIR_SOUTH] = 0x4, + [DIR_NORTH] = 0x5, + [DIR_WEST] = 0x6, + [DIR_EAST] = 0x7, + [DIR_SOUTHWEST] = 0x4, + [DIR_SOUTHEAST] = 0x4, + [DIR_NORTHWEST] = 0x5, + [DIR_NORTHEAST] = 0x5, +}; + +const u8 gUnknown_83A648A[] = { + [DIR_NONE] = 0x8, + [DIR_SOUTH] = 0x8, + [DIR_NORTH] = 0x9, + [DIR_WEST] = 0xA, + [DIR_EAST] = 0xB, + [DIR_SOUTHWEST] = 0x8, + [DIR_SOUTHEAST] = 0x8, + [DIR_NORTHWEST] = 0x9, + [DIR_NORTHEAST] = 0x9, +}; + +const u8 gRunningDirectionAnimNums[] = { + [DIR_NONE] = 0x14, + [DIR_SOUTH] = 0x14, + [DIR_NORTH] = 0x15, + [DIR_WEST] = 0x16, + [DIR_EAST] = 0x17, + [DIR_SOUTHWEST] = 0x14, + [DIR_SOUTHEAST] = 0x14, + [DIR_NORTHWEST] = 0x15, + [DIR_NORTHEAST] = 0x15, +}; + +const u8 gTrainerFacingDirectionMovementTypes[] = { + [DIR_NONE] = 0x08, + [DIR_SOUTH] = 0x08, + [DIR_NORTH] = 0x07, + [DIR_WEST] = 0x09, + [DIR_EAST] = 0x0A, + [DIR_SOUTHWEST] = 0x08, + [DIR_SOUTHEAST] = 0x08, + [DIR_NORTHWEST] = 0x07, + [DIR_NORTHEAST] = 0x07, +}; + +bool8 (*const gOppositeDirectionBlockedMetatileFuncs[])(u8) = { + MetatileBehavior_IsSouthBlocked, + MetatileBehavior_IsNorthBlocked, + MetatileBehavior_IsWestBlocked, + MetatileBehavior_IsEastBlocked +}; + +bool8 (*const gDirectionBlockedMetatileFuncs[])(u8) = { + MetatileBehavior_IsNorthBlocked, + MetatileBehavior_IsSouthBlocked, + MetatileBehavior_IsEastBlocked, + MetatileBehavior_IsWestBlocked +}; + +static const struct Coords16 sDirectionToVectors[] = { + [DIR_NONE] = { 0, 0}, + [DIR_SOUTH] = { 0, 1}, + [DIR_NORTH] = { 0, -1}, + [DIR_WEST] = {-1, 0}, + [DIR_EAST] = { 1, 0}, + [DIR_SOUTHWEST] = {-1, 1}, + [DIR_SOUTHEAST] = { 1, 1}, + [DIR_NORTHWEST] = {-1, -1}, + [DIR_NORTHEAST] = { 1, -1}, +}; + +const u8 gFaceDirectionMovementActions[] = { + [DIR_NONE] = 0x0, + [DIR_SOUTH] = 0x0, + [DIR_NORTH] = 0x1, + [DIR_WEST] = 0x2, + [DIR_EAST] = 0x3, +}; + +const u8 gWalkSlowMovementActions[] = { + [DIR_NONE] = 0x4, + [DIR_SOUTH] = 0x4, + [DIR_NORTH] = 0x5, + [DIR_WEST] = 0x6, + [DIR_EAST] = 0x7, +}; + +const u8 gUnknown_83A64F6[] = { + [DIR_NONE] = 0x9B, + [DIR_SOUTH] = 0x9B, + [DIR_NORTH] = 0x9C, + [DIR_WEST] = 0x9D, + [DIR_EAST] = 0x9E, +}; + +const u8 gUnknown_83A64FB[] = { + [DIR_NONE] = 0x8, + [DIR_SOUTH] = 0x8, + [DIR_NORTH] = 0x9, + [DIR_WEST] = 0xA, + [DIR_EAST] = 0xB, +}; + +const u8 gUnknown_83A6500[] = { + [DIR_NONE] = 0xC, + [DIR_SOUTH] = 0xC, + [DIR_NORTH] = 0xD, + [DIR_WEST] = 0xE, + [DIR_EAST] = 0xF, +}; + +const u8 gUnknown_83A6505[] = { + [DIR_NONE] = 0x10, + [DIR_SOUTH] = 0x10, + [DIR_NORTH] = 0x11, + [DIR_WEST] = 0x12, + [DIR_EAST] = 0x13, +}; + +const u8 gUnknown_83A650A[] = { + [DIR_NONE] = 0x1D, + [DIR_SOUTH] = 0x1D, + [DIR_NORTH] = 0x1E, + [DIR_WEST] = 0x1F, + [DIR_EAST] = 0x20, +}; + +const u8 gUnknown_83A650F[] = { + [DIR_NONE] = 0xA0, + [DIR_SOUTH] = 0xA0, + [DIR_NORTH] = 0xA1, + [DIR_WEST] = 0xA2, + [DIR_EAST] = 0xA3, +}; + +const u8 gUnknown_83A6514[] = { + [DIR_NONE] = 0x31, + [DIR_SOUTH] = 0x31, + [DIR_NORTH] = 0x32, + [DIR_WEST] = 0x33, + [DIR_EAST] = 0x34, +}; + +const u8 gUnknown_83A6519[] = { + [DIR_NONE] = 0x35, + [DIR_SOUTH] = 0x35, + [DIR_NORTH] = 0x36, + [DIR_WEST] = 0x37, + [DIR_EAST] = 0x38, +}; + +const u8 gUnknown_83A651E[] = { + [DIR_NONE] = 0x39, + [DIR_SOUTH] = 0x39, + [DIR_NORTH] = 0x3A, + [DIR_WEST] = 0x3B, + [DIR_EAST] = 0x3C, +}; + +const u8 gUnknown_83A6523[] = { + [DIR_NONE] = 0x3D, + [DIR_SOUTH] = 0x3D, + [DIR_NORTH] = 0x3E, + [DIR_WEST] = 0x3F, + [DIR_EAST] = 0x40, +}; + +const u8 gUnknown_83A6528[] = { + [DIR_NONE] = 0x41, + [DIR_SOUTH] = 0x41, + [DIR_NORTH] = 0x42, + [DIR_WEST] = 0x43, + [DIR_EAST] = 0x44, +}; + +const u8 gUnknown_83A652D[] = { + [DIR_NONE] = 0x94, + [DIR_SOUTH] = 0x94, + [DIR_NORTH] = 0x95, + [DIR_WEST] = 0x96, + [DIR_EAST] = 0x97, +}; + +const u8 gUnknown_83A6532[] = { + [DIR_NONE] = 0x14, + [DIR_SOUTH] = 0x14, + [DIR_NORTH] = 0x15, + [DIR_WEST] = 0x16, + [DIR_EAST] = 0x17, +}; + +const u8 gUnknown_83A6537[] = { + [DIR_NONE] = 0x52, + [DIR_SOUTH] = 0x52, + [DIR_NORTH] = 0x53, + [DIR_WEST] = 0x54, + [DIR_EAST] = 0x55, +}; + +const u8 gUnknown_83A653C[] = { + [DIR_NONE] = 0x57, + [DIR_SOUTH] = 0x57, + [DIR_NORTH] = 0x56, + [DIR_WEST] = 0x59, + [DIR_EAST] = 0x58, +}; + +const u8 gUnknown_83A6541[] = { + [DIR_NONE] = 0x4E, + [DIR_SOUTH] = 0x4E, + [DIR_NORTH] = 0x4F, + [DIR_WEST] = 0x50, + [DIR_EAST] = 0x51, +}; + +const u8 gUnknown_83A6546[] = { + [DIR_NONE] = 0x46, + [DIR_SOUTH] = 0x46, + [DIR_NORTH] = 0x47, + [DIR_WEST] = 0x48, + [DIR_EAST] = 0x49, +}; + +const u8 gUnknown_83A654B[] = { + [DIR_NONE] = 0xA6, + [DIR_SOUTH] = 0xA6, + [DIR_NORTH] = 0xA7, + [DIR_WEST] = 0xA8, + [DIR_EAST] = 0xA9, +}; + +const u8 gUnknown_83A6550[] = { + [DIR_NONE] = 0x21, + [DIR_SOUTH] = 0x21, + [DIR_NORTH] = 0x22, + [DIR_WEST] = 0x23, + [DIR_EAST] = 0x24, +}; + +const u8 gUnknown_83A6555[] = { + [DIR_NONE] = 0x25, + [DIR_SOUTH] = 0x25, + [DIR_NORTH] = 0x26, + [DIR_WEST] = 0x27, + [DIR_EAST] = 0x28, +}; + +const u8 gUnknown_83A655A[] = { + [DIR_NONE] = 0x29, + [DIR_SOUTH] = 0x29, + [DIR_NORTH] = 0x2A, + [DIR_WEST] = 0x2B, + [DIR_EAST] = 0x2C, +}; + +const u8 gUnknown_83A655F[] = { + [DIR_NONE] = 0x2D, + [DIR_SOUTH] = 0x2D, + [DIR_NORTH] = 0x2E, + [DIR_WEST] = 0x2F, + [DIR_EAST] = 0x30, +}; + +const u8 gUnknown_83A6564[] = { + [DIR_NONE] = 0x70, + [DIR_SOUTH] = 0x70, + [DIR_NORTH] = 0x71, + [DIR_WEST] = 0x72, + [DIR_EAST] = 0x73, +}; + +const u8 gUnknown_83A6569[] = { + [DIR_NONE] = 0x74, + [DIR_SOUTH] = 0x74, + [DIR_NORTH] = 0x75, + [DIR_WEST] = 0x76, + [DIR_EAST] = 0x77, +}; + +const u8 gUnknown_83A656E[] = { + [DIR_NONE] = 0x78, + [DIR_SOUTH] = 0x78, + [DIR_NORTH] = 0x79, + [DIR_WEST] = 0x7A, + [DIR_EAST] = 0x7B, +}; + +const u8 gUnknown_83A6573[] = { + [DIR_NONE] = 0x7C, + [DIR_SOUTH] = 0x7C, + [DIR_NORTH] = 0x7D, + [DIR_WEST] = 0x7E, + [DIR_EAST] = 0x7F, +}; + +const u8 gUnknown_83A6578[] = { + [DIR_NONE] = 0x80, + [DIR_SOUTH] = 0x80, + [DIR_NORTH] = 0x81, + [DIR_WEST] = 0x82, + [DIR_EAST] = 0x83, +}; + +const u8 gUnknown_83A657D[] = { + [DIR_NONE] = 0x84, + [DIR_SOUTH] = 0x84, + [DIR_NORTH] = 0x85, + [DIR_WEST] = 0x86, + [DIR_EAST] = 0x87, +}; + +const u8 gUnknown_83A6582[] = { + [DIR_NONE] = 0x88, + [DIR_SOUTH] = 0x88, + [DIR_NORTH] = 0x89, + [DIR_WEST] = 0x8A, + [DIR_EAST] = 0x8B, +}; + +const u8 gUnknown_83A6587[] = { + [DIR_NONE] = 0x8C, + [DIR_SOUTH] = 0x8C, + [DIR_NORTH] = 0x8D, + [DIR_WEST] = 0x8E, + [DIR_EAST] = 0x8F, +}; + +const u8 gUnknown_83A658C[] = { + [DIR_NONE] = 0x90, + [DIR_SOUTH] = 0x90, + [DIR_NORTH] = 0x91, + [DIR_WEST] = 0x92, + [DIR_EAST] = 0x93, +}; + +const u8 gOppositeDirections[] = { + DIR_NORTH, + DIR_SOUTH, + DIR_EAST, + DIR_WEST, + DIR_NORTHEAST, + DIR_NORTHWEST, + DIR_SOUTHEAST, + DIR_SOUTHWEST, +}; + +const u8 gUnknown_83A6599[][4] = { + {2, 1, 4, 3}, + {1, 2, 3, 4}, + {3, 4, 2, 1}, + {4, 3, 1, 2} +}; + +const u8 gUnknown_83A65A9[][4] = { + {2, 1, 4, 3}, + {1, 2, 3, 4}, + {4, 3, 1, 2}, + {3, 4, 2, 1} +}; + #include "data/object_events/movement_action_func_tables.h" static void ClearObjectEvent(struct ObjectEvent *objectEvent) |