diff --git a/data/rotating_tile_puzzle.s b/data/rotating_tile_puzzle.s deleted file mode 100644 index f9cf208db5..0000000000 --- a/data/rotating_tile_puzzle.s +++ /dev/null @@ -1,43 +0,0 @@ - .include "asm/macros.inc" - - .section .rodata - -RotatingTilePuzzle_Movement_ShiftRight:: @ 8612698 - store_lock_anim - walk_right - free_unlock_anim - step_end - -RotatingTilePuzzle_Movement_ShiftDown:: @ 861269C - store_lock_anim - walk_down - free_unlock_anim - step_end - -RotatingTilePuzzle_Movement_ShiftLeft:: @ 86126A0 - store_lock_anim - walk_left - free_unlock_anim - step_end - -RotatingTilePuzzle_Movement_ShiftUp:: @ 86126A4 - store_lock_anim - walk_up - free_unlock_anim - step_end - -RotatingTilePuzzle_Movement_FaceRight:: @ 86126A8 - face_right - step_end - -RotatingTilePuzzle_Movement_FaceDown:: @ 86126AA - face_down - step_end - -RotatingTilePuzzle_Movement_FaceLeft:: @ 86126AC - face_left - step_end - -RotatingTilePuzzle_Movement_FaceUp:: @ 86126AE - face_up - step_end diff --git a/ld_script.txt b/ld_script.txt index a4f2bc3dc3..0d2a940c83 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -644,7 +644,6 @@ SECTIONS { src/battle_factory.o(.rodata); src/battle_pike.o(.rodata); src/rotating_tile_puzzle.o(.rodata); - data/rotating_tile_puzzle.o(.rodata); src/battle_pyramid.o(.rodata); src/item_menu.o(.rodata); src/list_menu.o(.rodata); diff --git a/src/rotating_tile_puzzle.c b/src/rotating_tile_puzzle.c index 7238ec751b..c19e3abf9a 100644 --- a/src/rotating_tile_puzzle.c +++ b/src/rotating_tile_puzzle.c @@ -8,15 +8,6 @@ #include "constants/event_objects.h" #include "constants/metatile_labels.h" -extern const u8 RotatingTilePuzzle_Movement_ShiftRight[]; -extern const u8 RotatingTilePuzzle_Movement_ShiftDown[]; -extern const u8 RotatingTilePuzzle_Movement_ShiftLeft[]; -extern const u8 RotatingTilePuzzle_Movement_ShiftUp[]; -extern const u8 RotatingTilePuzzle_Movement_FaceRight[]; -extern const u8 RotatingTilePuzzle_Movement_FaceDown[]; -extern const u8 RotatingTilePuzzle_Movement_FaceLeft[]; -extern const u8 RotatingTilePuzzle_Movement_FaceUp[]; - #define ROTATE_COUNTERCLOCKWISE 0 #define ROTATE_CLOCKWISE 1 #define ROTATE_NONE 2 @@ -34,6 +25,62 @@ struct RotatingTilePuzzle bool8 isTrickHouse; }; +static const u8 sMovement_ShiftRight[] = +{ + MOVEMENT_ACTION_STORE_AND_LOCK_ANIM, + MOVEMENT_ACTION_WALK_NORMAL_RIGHT, + MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM, + MOVEMENT_ACTION_STEP_END +}; + +static const u8 sMovement_ShiftDown[] = +{ + MOVEMENT_ACTION_STORE_AND_LOCK_ANIM, + MOVEMENT_ACTION_WALK_NORMAL_DOWN, + MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM, + MOVEMENT_ACTION_STEP_END +}; + +static const u8 sMovement_ShiftLeft[] = +{ + MOVEMENT_ACTION_STORE_AND_LOCK_ANIM, + MOVEMENT_ACTION_WALK_NORMAL_LEFT, + MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM, + MOVEMENT_ACTION_STEP_END +}; + +static const u8 sMovement_ShiftUp[] = +{ + MOVEMENT_ACTION_STORE_AND_LOCK_ANIM, + MOVEMENT_ACTION_WALK_NORMAL_UP, + MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM, + MOVEMENT_ACTION_STEP_END +}; + +static const u8 sMovement_FaceRight[] = +{ + MOVEMENT_ACTION_FACE_RIGHT, + MOVEMENT_ACTION_STEP_END +}; + +static const u8 sMovement_FaceDown[] = +{ + MOVEMENT_ACTION_FACE_DOWN, + MOVEMENT_ACTION_STEP_END +}; + +static const u8 sMovement_FaceLeft[] = +{ + MOVEMENT_ACTION_FACE_LEFT, + MOVEMENT_ACTION_STEP_END +}; + +static const u8 sMovement_FaceUp[] = +{ + MOVEMENT_ACTION_FACE_UP, + MOVEMENT_ACTION_STEP_END +}; + // This file's functions. static void SaveRotatingTileObject(u8 eventTemplateId, u8 arg1); static void TurnUnsavedRotatingTileObject(u8 eventTemplateId, u8 arg1); @@ -106,19 +153,19 @@ u16 MoveRotatingTileObjects(u8 puzzleNumber) switch (puzzleTileNum) { case 0: // Right Arrow - movementScript = RotatingTilePuzzle_Movement_ShiftRight; + movementScript = sMovement_ShiftRight; x = 1; break; case 1: // Down Arrow - movementScript = RotatingTilePuzzle_Movement_ShiftDown; + movementScript = sMovement_ShiftDown; y = 1; break; case 2: // Left Arrow - movementScript = RotatingTilePuzzle_Movement_ShiftLeft; + movementScript = sMovement_ShiftLeft; x = -1; break; case 3: // Up Arrow - movementScript = RotatingTilePuzzle_Movement_ShiftUp; + movementScript = sMovement_ShiftUp; y = -1; break; default: @@ -204,19 +251,19 @@ void TurnRotatingTileObjects(void) switch (direction) { case DIR_EAST: - movementScript = RotatingTilePuzzle_Movement_FaceUp; + movementScript = sMovement_FaceUp; eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; break; case DIR_SOUTH: - movementScript = RotatingTilePuzzle_Movement_FaceRight; + movementScript = sMovement_FaceRight; eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; break; case DIR_WEST: - movementScript = RotatingTilePuzzle_Movement_FaceDown; + movementScript = sMovement_FaceDown; eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; break; case DIR_NORTH: - movementScript = RotatingTilePuzzle_Movement_FaceLeft; + movementScript = sMovement_FaceLeft; eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; break; default: @@ -233,19 +280,19 @@ void TurnRotatingTileObjects(void) switch (direction) { case DIR_EAST: - movementScript = RotatingTilePuzzle_Movement_FaceDown; + movementScript = sMovement_FaceDown; eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; break; case DIR_SOUTH: - movementScript = RotatingTilePuzzle_Movement_FaceLeft; + movementScript = sMovement_FaceLeft; eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; break; case DIR_WEST: - movementScript = RotatingTilePuzzle_Movement_FaceUp; + movementScript = sMovement_FaceUp; eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; break; case DIR_NORTH: - movementScript = RotatingTilePuzzle_Movement_FaceRight; + movementScript = sMovement_FaceRight; eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; break; default: