Move rotating tile puzzle data to src

This commit is contained in:
GriffinR 2020-02-07 22:08:59 -05:00 committed by huderlem
parent f92b03f266
commit 85dc8a528c
3 changed files with 68 additions and 65 deletions

View File

@ -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

View File

@ -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);

View File

@ -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: