summaryrefslogtreecommitdiff
path: root/src/rotating_tile_puzzle.c
diff options
context:
space:
mode:
authorGriffinR <griffin.g.richards@gmail.com>2020-02-07 22:08:59 -0500
committerhuderlem <huderlem@gmail.com>2020-02-08 14:22:53 -0600
commit85dc8a528cff3fa35c2c23c25098367b21affb0e (patch)
tree4493ba40c7db39c8829f78b4dd52f68dd6f01ea1 /src/rotating_tile_puzzle.c
parentf92b03f266d0e38e9ff35b05bf8686e9c34d2dc5 (diff)
Move rotating tile puzzle data to src
Diffstat (limited to 'src/rotating_tile_puzzle.c')
-rw-r--r--src/rotating_tile_puzzle.c89
1 files changed, 68 insertions, 21 deletions
diff --git a/src/rotating_tile_puzzle.c b/src/rotating_tile_puzzle.c
index 7238ec751..c19e3abf9 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: