summaryrefslogtreecommitdiff
path: root/src/script.c
diff options
context:
space:
mode:
authoroctorock <79596758+octorock@users.noreply.github.com>2022-12-21 23:40:27 +0100
committeroctorock <79596758+octorock@users.noreply.github.com>2022-12-21 23:40:27 +0100
commitc28018843601b99907ab79ef3fd9e689b078e384 (patch)
tree6314f7b3d36863e0fc9da44e1626fcefc3261848 /src/script.c
parentec0678872fd29522f2b93a73af8a6196dd0fdbe8 (diff)
Fix paths
Diffstat (limited to 'src/script.c')
-rw-r--r--src/script.c55
1 files changed, 29 insertions, 26 deletions
diff --git a/src/script.c b/src/script.c
index 27bea866..78e355b1 100644
--- a/src/script.c
+++ b/src/script.c
@@ -127,11 +127,11 @@ void ScriptCommand_WalkEast(Entity* entity, ScriptExecutionContext* context);
void ScriptCommand_WalkSouth(Entity* entity, ScriptExecutionContext* context);
void ScriptCommand_WalkWest(Entity* entity, ScriptExecutionContext* context);
void ScriptCommand_0807ED24(Entity* entity, ScriptExecutionContext* context);
-void ScriptCommand_0807EDD4(Entity* entity, ScriptExecutionContext* context);
-void ScriptCommand_0807EE04(Entity* entity, ScriptExecutionContext* context);
-void ScriptCommand_0807EE30(Entity* entity, ScriptExecutionContext* context);
-void ScriptCommand_0807EEB4(Entity* entity, ScriptExecutionContext* context);
-void ScriptCommand_0807EEF4(Entity* entity, ScriptExecutionContext* context);
+void ScriptCommand_MoveTo(Entity* entity, ScriptExecutionContext* context);
+void ScriptCommand_LookAt(Entity* entity, ScriptExecutionContext* context);
+void ScriptCommand_MoveTowardsTarget(Entity* entity, ScriptExecutionContext* context);
+void ScriptCommand_MoveToPlayer(Entity* entity, ScriptExecutionContext* context);
+void ScriptCommand_MoveToOffset(Entity* entity, ScriptExecutionContext* context);
void ScriptCommand_0807EF3C(Entity* entity, ScriptExecutionContext* context);
void ScriptCommand_DoPostScriptAction(Entity* entity, ScriptExecutionContext* context);
void ScriptCommand_DoPostScriptAction2(Entity* entity, ScriptExecutionContext* context);
@@ -422,7 +422,7 @@ void sub_0807DE80(Entity* entity) {
sub_080042BA(entity, local1);
}
-void sub_0807DEDC(Entity* entity, ScriptExecutionContext* context, u32 x, u32 y) {
+void LookAt(Entity* entity, ScriptExecutionContext* context, u32 x, u32 y) {
static const u8 sDirectionTable[] = { 0, 0, 2, 2, 2, 2, 4, 4, 4, 4, 6, 6, 6, 6, 0, 0 };
int direction;
s32 xOffset, yOffset;
@@ -434,7 +434,7 @@ void sub_0807DEDC(Entity* entity, ScriptExecutionContext* context, u32 x, u32 y)
context->y.HALF.HI = y;
xOffset = context->x.HALF.HI - entity->x.HALF.HI;
yOffset = context->y.HALF.HI - entity->y.HALF.HI;
- direction = sub_080045DA(xOffset, yOffset);
+ direction = CalculateDirectionFromOffsets(xOffset, yOffset);
entity->direction = direction;
entity->animationState = (entity->animationState & 0x80) | sDirectionTable[(u8)direction >> 4];
}
@@ -575,11 +575,11 @@ void ExecuteScript(Entity* entity, ScriptExecutionContext* context) {
ScriptCommand_WalkSouth,
ScriptCommand_WalkWest,
ScriptCommand_0807ED24,
- ScriptCommand_0807EDD4,
- ScriptCommand_0807EE04,
- ScriptCommand_0807EE30,
- ScriptCommand_0807EEB4,
- ScriptCommand_0807EEF4,
+ ScriptCommand_MoveTo,
+ ScriptCommand_LookAt,
+ ScriptCommand_MoveTowardsTarget,
+ ScriptCommand_MoveToPlayer,
+ ScriptCommand_MoveToOffset,
ScriptCommand_0807EF3C,
ScriptCommand_DoPostScriptAction,
ScriptCommand_DoPostScriptAction2,
@@ -1368,29 +1368,30 @@ void ScriptCommand_0807ED24(Entity* entity, ScriptExecutionContext* context) {
gActiveScriptInfo.commandSize = 0;
}
-void ScriptCommand_0807EDD4(Entity* entity, ScriptExecutionContext* context) {
+void ScriptCommand_MoveTo(Entity* entity, ScriptExecutionContext* context) {
if (!context->unk_18) {
context->unk_18 = 1;
- ScriptCommand_0807EE04(entity, context);
+ ScriptCommand_LookAt(entity, context);
}
- ScriptCommand_0807EE30(entity, context);
+ ScriptCommand_MoveTowardsTarget(entity, context);
+ // Repeat this command until we are at the target.
if (!context->condition) {
gActiveScriptInfo.commandSize = 0;
}
}
-void ScriptCommand_0807EE04(Entity* entity, ScriptExecutionContext* context) {
- sub_0807DEDC(entity, context, context->scriptInstructionPointer[1] + gRoomControls.origin_x,
+void ScriptCommand_LookAt(Entity* entity, ScriptExecutionContext* context) {
+ LookAt(entity, context, context->scriptInstructionPointer[1] + gRoomControls.origin_x,
context->scriptInstructionPointer[2] + gRoomControls.origin_y);
gActiveScriptInfo.flags |= 1;
}
-void ScriptCommand_0807EE30(Entity* entity, ScriptExecutionContext* context) {
+void ScriptCommand_MoveTowardsTarget(Entity* entity, ScriptExecutionContext* context) {
s32 tmp, tmp2;
if (!--context->unk_19) {
context->unk_19 = 8;
entity->direction =
- sub_080045DA(context->x.HALF.HI - entity->x.HALF.HI, context->y.HALF.HI - entity->y.HALF.HI);
+ CalculateDirectionFromOffsets(context->x.HALF.HI - entity->x.HALF.HI, context->y.HALF.HI - entity->y.HALF.HI);
}
tmp = entity->x.HALF.HI - context->x.HALF.HI;
tmp2 = entity->y.HALF.HI - context->y.HALF.HI;
@@ -1406,24 +1407,26 @@ void ScriptCommand_0807EE30(Entity* entity, ScriptExecutionContext* context) {
}
}
-void ScriptCommand_0807EEB4(Entity* entity, ScriptExecutionContext* context) {
+void ScriptCommand_MoveToPlayer(Entity* entity, ScriptExecutionContext* context) {
if (!context->unk_18) {
context->unk_18 = 1;
- sub_0807DEDC(entity, context, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI);
+ LookAt(entity, context, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI);
}
- ScriptCommand_0807EE30(entity, context);
+ ScriptCommand_MoveTowardsTarget(entity, context);
+ // Repeat this command until we are at the target.
if (!context->condition) {
gActiveScriptInfo.commandSize = 0;
}
}
-void ScriptCommand_0807EEF4(Entity* entity, ScriptExecutionContext* context) {
+void ScriptCommand_MoveToOffset(Entity* entity, ScriptExecutionContext* context) {
if (!context->unk_18) {
context->unk_18 = 1;
- sub_0807DEDC(entity, context, entity->x.HALF.HI + ((s16)context->scriptInstructionPointer[1]),
+ LookAt(entity, context, entity->x.HALF.HI + ((s16)context->scriptInstructionPointer[1]),
entity->y.HALF.HI + ((s16)context->scriptInstructionPointer[2]));
}
- ScriptCommand_0807EE30(entity, context);
+ ScriptCommand_MoveTowardsTarget(entity, context);
+ // Repeat this command until we are at the target.
if (!context->condition) {
gActiveScriptInfo.commandSize = 0;
}
@@ -1573,7 +1576,7 @@ void sub_0807F190(Entity* entity, ScriptExecutionContext* context) {
}
void sub_0807F1A0(Entity* entity, ScriptExecutionContext* context) {
- sub_0807DEDC(entity, context, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI);
+ LookAt(entity, context, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI);
gActiveScriptInfo.flags |= 1;
}