summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-02-25 16:52:16 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2020-02-25 16:52:16 -0500
commit41644b283ad2d4fb5e30b61271c5820c1ccbc499 (patch)
tree61295f91521e9f60e21f9ebbc7cec5b1ef04810a /src
parent565114625f3e8505b157c0c444c5d40caba150ee (diff)
through sub_8097A20
Diffstat (limited to 'src')
-rw-r--r--src/field_fadetransition.c7
-rw-r--r--src/fldeff_cut.c44
-rw-r--r--src/fldeff_rocksmash.c3
-rw-r--r--src/quest_log.c30
4 files changed, 64 insertions, 20 deletions
diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c
index 6e937e026..16f691a2d 100644
--- a/src/field_fadetransition.c
+++ b/src/field_fadetransition.c
@@ -22,6 +22,7 @@
#include "event_object_lock.h"
#include "start_menu.h"
#include "constants/songs.h"
+#include "constants/event_object_movement.h"
static void sub_807DF4C(u8 a0);
static void sub_807DFBC(u8 taskId);
@@ -348,7 +349,7 @@ static void sub_807DFBC(u8 taskId)
{
PlayerGetDestCoords(&task->data[12], &task->data[13]);
sub_807DCB0(TRUE);
- ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], 16);
+ ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], MOVEMENT_ACTION_WALK_NORMAL_DOWN);
task->data[0] = 8;
}
break;
@@ -372,7 +373,7 @@ static void sub_807DFBC(u8 taskId)
if (sub_807E418())
{
sub_807DCB0(TRUE);
- ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], 16);
+ ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], MOVEMENT_ACTION_WALK_NORMAL_DOWN);
task->data[0] = 2;
}
break;
@@ -752,7 +753,7 @@ static void sub_807E80C(u8 taskId)
if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE)
{
ObjectEventClearAnimIfSpecialAnimActive(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)]);
- ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], 17);
+ ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], MOVEMENT_ACTION_WALK_NORMAL_UP);
task->data[0] = 2;
}
break;
diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c
index c30eb2d80..d79eec7a4 100644
--- a/src/fldeff_cut.c
+++ b/src/fldeff_cut.c
@@ -1,19 +1,24 @@
#include "global.h"
#include "gflib.h"
+#include "event_scripts.h"
#include "fieldmap.h"
#include "field_specials.h"
#include "fldeff.h"
#include "field_effect.h"
#include "field_player_avatar.h"
#include "metatile_behavior.h"
+#include "overworld.h"
#include "party_menu.h"
+#include "script.h"
#include "constants/event_objects.h"
EWRAM_DATA u8 *sCutGrassSpriteArrayPtr = NULL;
EWRAM_DATA bool8 sScheduleOpenDottedHole = FALSE;
-void FieldCallback_CutTree(void);
void FieldCallback_CutGrass(void);
+void FieldCallback_CutTree(void);
+void sub_8097A20(void);
+void sub_8097C6C(void);
u8 MetatileAtCoordsIsGrassTile(s16 x, s16 y)
{
@@ -66,3 +71,40 @@ bool8 SetUpFieldMove_Cut(void)
return FALSE;
}
}
+
+void FieldCallback_CutGrass(void)
+{
+ FieldEffectStart(FLDEFF_USE_CUT_ON_GRASS);
+ gFieldEffectArguments[0] = GetCursorSelectionMonId();
+}
+
+bool8 sub_80979A0(void)
+{
+ u8 taskId = oei_task_add();
+ FLDEFF_SET_FUNC_TO_DATA(sub_8097A20);
+ IncrementGameStat(GAME_STAT_USED_CUT);
+ return FALSE;
+}
+
+void FieldCallback_CutTree(void)
+{
+ gFieldEffectArguments[0] = GetCursorSelectionMonId();
+ ScriptContext1_SetupScript(EventScript_FldEffCut);
+}
+
+bool8 sub_80979F0(void)
+{
+ u8 taskId = oei_task_add();
+ FLDEFF_SET_FUNC_TO_DATA(sub_8097C6C);
+ IncrementGameStat(GAME_STAT_USED_CUT);
+ return FALSE;
+}
+
+void sub_8097A20(void)
+{
+ FieldEffectActiveListRemove(FLDEFF_USE_CUT_ON_GRASS);
+ if (sScheduleOpenDottedHole == TRUE)
+ CutMoveOpenDottedHoleDoor();
+ else
+ FieldEffectStart(FLDEFF_CUT_GRASS);
+}
diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c
index 058922f06..779e4b8f4 100644
--- a/src/fldeff_rocksmash.c
+++ b/src/fldeff_rocksmash.c
@@ -12,6 +12,7 @@
#include "event_object_movement.h"
#include "constants/songs.h"
#include "constants/event_objects.h"
+#include "constants/event_object_movement.h"
#include "constants/maps.h"
static void task08_080C9820(u8 taskId);
@@ -60,7 +61,7 @@ static void task08_080C9820(u8 taskId)
else
{
sub_805CB70();
- ObjectEventSetHeldMovement(&gObjectEvents[mapObjId], 0x45);
+ ObjectEventSetHeldMovement(&gObjectEvents[mapObjId], MOVEMENT_ACTION_UNKNOWN_STEP_45);
gTasks[taskId].func = sub_80C98B0;
}
}
diff --git a/src/quest_log.c b/src/quest_log.c
index b747dd8b6..6e70ceea8 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -113,7 +113,7 @@ static EWRAM_DATA u16 *gUnknown_203AE90 = NULL;
static EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0};
static EWRAM_DATA struct UnkStruct_203AE98 gUnknown_203AE98[32] = {0};
static EWRAM_DATA u16 sQuestLogIdx = 0;
-static EWRAM_DATA u8 gUnknown_203AF9A[64][2] = {{0}};
+static EWRAM_DATA u8 sMovementScripts[64][2] = {{0}};
static EWRAM_DATA u16 gUnknown_203B01A = 0;
static EWRAM_DATA u16 gUnknown_203B01C = 0;
static EWRAM_DATA u16 sFlagOrVarPlayhead = 0;
@@ -1551,24 +1551,24 @@ void sub_811246C(struct Sprite *sprite)
struct ObjectEvent *objectEvent = &gObjectEvents[sprite->data[0]];
if (objectEvent->localId == OBJ_EVENT_ID_PLAYER)
{
- if (gUnknown_203AF9A[0][0] != OBJ_EVENT_ID_PLAYER)
+ if (sMovementScripts[0][0] != 0xFF)
{
- ObjectEventSetHeldMovement(objectEvent, gUnknown_203AF9A[0][0]);
- gUnknown_203AF9A[0][0] = OBJ_EVENT_ID_PLAYER;
+ ObjectEventSetHeldMovement(objectEvent, sMovementScripts[0][0]);
+ sMovementScripts[0][0] = 0xFF;
}
- if (gUnknown_203AF9A[0][1] != OBJ_EVENT_ID_PLAYER)
+ if (sMovementScripts[0][1] != OBJ_EVENT_ID_PLAYER)
{
sub_8150454();
- gUnknown_203AF9A[0][1] = OBJ_EVENT_ID_PLAYER;
+ sMovementScripts[0][1] = OBJ_EVENT_ID_PLAYER;
}
sub_8063E28(objectEvent, sprite);
}
else
{
- if (gUnknown_203AF9A[objectEvent->localId][0] != OBJ_EVENT_ID_PLAYER)
+ if (sMovementScripts[objectEvent->localId][0] != 0xFF)
{
- ObjectEventSetHeldMovement(objectEvent, gUnknown_203AF9A[objectEvent->localId][0]);
- gUnknown_203AF9A[objectEvent->localId][0] = OBJ_EVENT_ID_PLAYER;
+ ObjectEventSetHeldMovement(objectEvent, sMovementScripts[objectEvent->localId][0]);
+ sMovementScripts[objectEvent->localId][0] = 0xFF;
}
sub_8063E28(objectEvent, sprite);
}
@@ -1736,15 +1736,15 @@ static void sub_8112940(u8 a0, struct UnkStruct_203AE98 *a1, u16 a2)
sNumQuestLogs = a2 / 8;
for (i = 0; i < 0x40; i++)
{
- gUnknown_203AF9A[i][0] |= 0xFF;
- gUnknown_203AF9A[i][1] |= 0xFF;
+ sMovementScripts[i][0] |= 0xFF;
+ sMovementScripts[i][1] |= 0xFF;
}
sQuestLogIdx = 0;
gUnknown_203B01C = 0;
gUnknown_3005E90 = (struct UnkStruct_3005E90){};
gUnknown_203B01A = gUnknown_3005E94[sQuestLogIdx].unk_4;
- gUnknown_203AF9A[0][0] = gUnknown_3005E94[sQuestLogIdx].unk_3;
- gUnknown_203AF9A[0][1] = 0xFF;
+ sMovementScripts[0][0] = gUnknown_3005E94[sQuestLogIdx].unk_3;
+ sMovementScripts[0][1] = 0xFF;
gUnknown_3005E88 = 1;
break;
case 2:
@@ -1807,10 +1807,10 @@ void sub_8112B3C(void)
switch (gUnknown_3005E94[sQuestLogIdx].unk_6)
{
case 0:
- gUnknown_203AF9A[gUnknown_3005E94[sQuestLogIdx].unk_0][0] = gUnknown_3005E94[sQuestLogIdx].unk_3;
+ sMovementScripts[gUnknown_3005E94[sQuestLogIdx].unk_0][0] = gUnknown_3005E94[sQuestLogIdx].unk_3;
break;
case 1:
- gUnknown_203AF9A[gUnknown_3005E94[sQuestLogIdx].unk_0][1] = gUnknown_3005E94[sQuestLogIdx].unk_3;
+ sMovementScripts[gUnknown_3005E94[sQuestLogIdx].unk_0][1] = gUnknown_3005E94[sQuestLogIdx].unk_3;
break;
case 2:
*(u32 *)&gUnknown_3005E90 = ((gUnknown_3005E94[sQuestLogIdx].unk_3 << 24) | (gUnknown_3005E94[sQuestLogIdx].unk_2 << 16) | (gUnknown_3005E94[sQuestLogIdx].unk_1 << 8) | (gUnknown_3005E94[sQuestLogIdx].unk_0 << 0));