Name methods in fldeff_cut

This commit is contained in:
PikalaxALT
2020-02-26 09:21:49 -05:00
parent 51e2b99b9d
commit 4747fcb629
9 changed files with 66 additions and 63 deletions
+1 -1
View File
@@ -42,7 +42,7 @@ _080C9B6E:
thumb_func_start sub_80C9B74
sub_80C9B74: @ 80C9B74
push {r4,lr}
bl oei_task_add
bl CreateFieldEffectShowMon
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
+3 -3
View File
@@ -78,11 +78,11 @@ gFldEffScript_ExclamationMarkIcon:: @ 81D97C4
end
gFldEffScript_UseCutOnGrass:: @ 81D97CA
callnative sub_80979A0
callnative FldEff_UseCutOnGrass
end
gFldEffScript_UseCutOnTree:: @ 81D97D0
callnative sub_80979F0
callnative FldEff_UseCutOnTree
end
gFldEffScript_Shadow:: @ 81D97D6
@@ -299,7 +299,7 @@ gFldEffScript_SecretPowerShrub:: @ 81D9964
end
gFldEffScript_CutGrass:: @ 81D9965
loadfadedpal_callnative gUnknown_83D4144, sub_8097A48
loadfadedpal_callnative gFldEffPalette_CutGrass, FldEff_CutGrass
end
gFldEffScript_FieldMoveShowMonInit:: @ 81D996F
+1 -1
View File
@@ -10,7 +10,7 @@ gTasks[taskId].data[9] = (u32)func;
extern struct MapPosition gPlayerFacingPosition;
bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId);
u8 oei_task_add(void);
u8 CreateFieldEffectShowMon(void);
// flash
u8 sub_80C9DCC(u8 lightLevel, u8 mapType);
+36 -34
View File
@@ -22,12 +22,12 @@ static EWRAM_DATA bool8 sScheduleOpenDottedHole = FALSE;
static void FieldCallback_CutGrass(void);
static void FieldCallback_CutTree(void);
static void sub_8097A20(void);
static void sub_8097B50(s16 x, s16 y);
static void objc_8097BA8(struct Sprite * sprite);
static void objc_8097BBC(struct Sprite * sprite);
static void sub_8097C18(struct Sprite * sprite);
static void sub_8097C6C(void);
static void FieldMoveCallback_CutGrass(void);
static void SetCutGrassMetatileAt(s16 x, s16 y);
static void SpriteCallback_CutGrass_Init(struct Sprite * sprite);
static void SpriteCallback_CutGrass_Run(struct Sprite * sprite);
static void SpriteCallback_CutGrass_Cleanup(struct Sprite * sprite);
static void FieldMoveCallback_CutTree(void);
static const u16 sCutGrassMetatileMapping[][2] = {
{0x000d, 0x0001},
@@ -42,7 +42,7 @@ static const u16 sCutGrassMetatileMapping[][2] = {
{0xffff, 0xffff}
};
static const struct OamData gOamData_83D4128 = {
static const struct OamData sOamData_FldEff_CutGrass = {
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
@@ -58,31 +58,31 @@ static const struct OamData gOamData_83D4128 = {
.affineParam = 0
};
static const union AnimCmd gAnimCmd_83D4130[] = {
static const union AnimCmd sSpriteAnim_Fldeff_CutGrass_0[] = {
ANIMCMD_FRAME(0, 30),
ANIMCMD_JUMP(0)
};
static const union AnimCmd *const gSpriteAnimTable_83D4138[] = {
gAnimCmd_83D4130
static const union AnimCmd *const sSpriteAnimTable_FldEff_CutGrass[] = {
sSpriteAnim_Fldeff_CutGrass_0
};
static const struct SpriteFrameImage gUnknown_83D413C[] = {
static const struct SpriteFrameImage sSpriteFrameImages_FldEff_CutGrass[] = {
{gUnknown_8398648, 0x20}
};
const struct SpritePalette gUnknown_83D4144[] = {
const struct SpritePalette gFldEffPalette_CutGrass[] = {
gUnknown_8398688, 4096
};
static const struct SpriteTemplate sSpriteTemplate_CutGrass = {
static const struct SpriteTemplate sSpriteTemplate_FldEff_CutGrass = {
.tileTag = 0xFFFF,
.paletteTag = 4096,
.oam = &gOamData_83D4128,
.anims = gSpriteAnimTable_83D4138,
.images = gUnknown_83D413C,
.oam = &sOamData_FldEff_CutGrass,
.anims = sSpriteAnimTable_FldEff_CutGrass,
.images = sSpriteFrameImages_FldEff_CutGrass,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = objc_8097BA8
.callback = SpriteCallback_CutGrass_Init
};
static u8 MetatileAtCoordsIsGrassTile(s16 x, s16 y)
@@ -111,6 +111,7 @@ bool8 SetUpFieldMove_Cut(void)
}
else
{
// FIXME: this fakematch
register s32 neg1 asm("r8");
struct MapPosition *pos;
PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y);
@@ -143,10 +144,10 @@ static void FieldCallback_CutGrass(void)
gFieldEffectArguments[0] = GetCursorSelectionMonId();
}
bool8 sub_80979A0(void)
bool8 FldEff_UseCutOnGrass(void)
{
u8 taskId = oei_task_add();
FLDEFF_SET_FUNC_TO_DATA(sub_8097A20);
u8 taskId = CreateFieldEffectShowMon();
FLDEFF_SET_FUNC_TO_DATA(FieldMoveCallback_CutGrass);
IncrementGameStat(GAME_STAT_USED_CUT);
return FALSE;
}
@@ -157,15 +158,15 @@ static void FieldCallback_CutTree(void)
ScriptContext1_SetupScript(EventScript_FldEffCut);
}
bool8 sub_80979F0(void)
bool8 FldEff_UseCutOnTree(void)
{
u8 taskId = oei_task_add();
FLDEFF_SET_FUNC_TO_DATA(sub_8097C6C);
u8 taskId = CreateFieldEffectShowMon();
FLDEFF_SET_FUNC_TO_DATA(FieldMoveCallback_CutTree);
IncrementGameStat(GAME_STAT_USED_CUT);
return FALSE;
}
static void sub_8097A20(void)
static void FieldMoveCallback_CutGrass(void)
{
FieldEffectActiveListRemove(FLDEFF_USE_CUT_ON_GRASS);
if (sScheduleOpenDottedHole == TRUE)
@@ -174,10 +175,11 @@ static void sub_8097A20(void)
FieldEffectStart(FLDEFF_CUT_GRASS);
}
bool8 sub_8097A48(void)
bool8 FldEff_CutGrass(void)
{
u8 i, j;
s16 x, y;
// FIXME: this fakematch
register s32 neg1 asm("r9");
struct MapPosition *pos;
@@ -196,7 +198,7 @@ bool8 sub_8097A48(void)
{
if (MetatileAtCoordsIsGrassTile(x, y) == TRUE)
{
sub_8097B50(x, y);
SetCutGrassMetatileAt(x, y);
sub_805F378(x, y);
}
}
@@ -206,13 +208,13 @@ bool8 sub_8097A48(void)
sCutGrassSpriteArrayPtr = Alloc(8);
for (i = 0; i < 8; i++)
{
sCutGrassSpriteArrayPtr[i] = CreateSprite(&sSpriteTemplate_CutGrass, gSprites[gPlayerAvatar.spriteId].oam.x + 8, gSprites[gPlayerAvatar.spriteId].oam.y + 20, 0);
sCutGrassSpriteArrayPtr[i] = CreateSprite(&sSpriteTemplate_FldEff_CutGrass, gSprites[gPlayerAvatar.spriteId].oam.x + 8, gSprites[gPlayerAvatar.spriteId].oam.y + 20, 0);
gSprites[sCutGrassSpriteArrayPtr[i]].data[2] = i * 32;
}
return FALSE;
}
static void sub_8097B50(s16 x, s16 y)
static void SetCutGrassMetatileAt(s16 x, s16 y)
{
u16 i = 0;
u16 metatileId = MapGridGetMetatileIdAt(x, y);
@@ -229,15 +231,15 @@ static void sub_8097B50(s16 x, s16 y)
}
}
static void objc_8097BA8(struct Sprite * sprite)
static void SpriteCallback_CutGrass_Init(struct Sprite * sprite)
{
sprite->data[0] = 8;
sprite->data[1] = 0;
sprite->data[3] = 0;
sprite->callback = objc_8097BBC;
sprite->callback = SpriteCallback_CutGrass_Run;
}
static void objc_8097BBC(struct Sprite * sprite)
static void SpriteCallback_CutGrass_Run(struct Sprite * sprite)
{
sprite->pos2.x = Sin(sprite->data[2], sprite->data[0]);
sprite->pos2.y = Cos(sprite->data[2], sprite->data[0]);
@@ -249,10 +251,10 @@ static void objc_8097BBC(struct Sprite * sprite)
if (sprite->data[1] != 28)
sprite->data[1]++;
else
sprite->callback = sub_8097C18;
sprite->callback = SpriteCallback_CutGrass_Cleanup;
}
static void sub_8097C18(struct Sprite * sprite)
static void SpriteCallback_CutGrass_Cleanup(struct Sprite * sprite)
{
u8 i;
for (i = 1; i < 8; i++)
@@ -265,7 +267,7 @@ static void sub_8097C18(struct Sprite * sprite)
ScriptContext2_Disable();
}
static void sub_8097C6C(void)
static void FieldMoveCallback_CutTree(void)
{
PlaySE(SE_W015);
FieldEffectActiveListRemove(FLDEFF_USE_CUT_ON_TREE);
+1 -1
View File
@@ -29,7 +29,7 @@ static void FieldCallback_Dig(void)
bool8 FldEff_UseDig(void)
{
u8 taskId = oei_task_add();
u8 taskId = CreateFieldEffectShowMon();
FLDEFF_SET_FUNC_TO_DATA(sub_80C9AFC);
SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT);
+21 -20
View File
@@ -15,10 +15,10 @@
#include "constants/event_object_movement.h"
#include "constants/maps.h"
static void task08_080C9820(u8 taskId);
static void sub_80C98FC(u8 taskId);
static void sub_80C98B0(u8 taskId);
static void sub_80C99A0(u8 taskId);
static void Task_FieldEffectShowMon_Init(u8 taskId);
static void Task_FieldEffectShowMon_WaitFldeff(u8 taskId);
static void Task_FieldEffectShowMon_WaitPlayerAnim(u8 taskId);
static void Task_FieldEffectShowMon_Cleanup(u8 taskId);
static void sub_80C9A10(void);
static void sub_80C9A60(void);
@@ -37,13 +37,13 @@ bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId)
return TRUE;
}
u8 oei_task_add(void)
u8 CreateFieldEffectShowMon(void)
{
GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y);
return CreateTask(task08_080C9820, 8);
return CreateTask(Task_FieldEffectShowMon_Init, 8);
}
static void task08_080C9820(u8 taskId)
static void Task_FieldEffectShowMon_Init(u8 taskId)
{
u8 mapObjId;
@@ -55,48 +55,49 @@ static void task08_080C9820(u8 taskId)
{
if (gMapHeader.mapType == MAP_TYPE_UNDERWATER)
{
// Leftover from RS, inhibits the player anim while underwater.
FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT);
gTasks[taskId].func = sub_80C98FC;
gTasks[taskId].func = Task_FieldEffectShowMon_WaitFldeff;
}
else
{
sub_805CB70();
ObjectEventSetHeldMovement(&gObjectEvents[mapObjId], MOVEMENT_ACTION_UNKNOWN_STEP_45);
gTasks[taskId].func = sub_80C98B0;
gTasks[taskId].func = Task_FieldEffectShowMon_WaitPlayerAnim;
}
}
}
static void sub_80C98B0(u8 taskId)
static void Task_FieldEffectShowMon_WaitPlayerAnim(u8 taskId)
{
if (ObjectEventCheckHeldMovementStatus(&gObjectEvents[gPlayerAvatar.objectEventId]) == TRUE)
{
FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT);
gTasks[taskId].func = sub_80C98FC;
gTasks[taskId].func = Task_FieldEffectShowMon_WaitFldeff;
}
}
static void sub_80C98FC(u8 taskId)
static void Task_FieldEffectShowMon_WaitFldeff(u8 taskId)
{
if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON))
{
gFieldEffectArguments[1] = GetPlayerFacingDirection();
if (gFieldEffectArguments[1] == 1)
if (gFieldEffectArguments[1] == DIR_SOUTH)
gFieldEffectArguments[2] = 0;
if (gFieldEffectArguments[1] == 2)
if (gFieldEffectArguments[1] == DIR_NORTH)
gFieldEffectArguments[2] = 1;
if (gFieldEffectArguments[1] == 3)
if (gFieldEffectArguments[1] == DIR_WEST)
gFieldEffectArguments[2] = 2;
if (gFieldEffectArguments[1] == 4)
if (gFieldEffectArguments[1] == DIR_EAST)
gFieldEffectArguments[2] = 3;
ObjectEventSetGraphicsId(&gObjectEvents[gPlayerAvatar.objectEventId], GetPlayerAvatarGraphicsIdByCurrentState());
StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], gFieldEffectArguments[2]);
FieldEffectActiveListRemove(6);
gTasks[taskId].func = sub_80C99A0;
FieldEffectActiveListRemove(FLDEFF_FIELD_MOVE_SHOW_MON);
gTasks[taskId].func = Task_FieldEffectShowMon_Cleanup;
}
}
static void sub_80C99A0(u8 taskId)
static void Task_FieldEffectShowMon_Cleanup(u8 taskId)
{
FLDEFF_CALL_FUNC_IN_DATA();
gPlayerAvatar.unk6 = FALSE;
@@ -122,7 +123,7 @@ static void sub_80C9A10(void)
bool8 FldEff_UseRockSmash(void)
{
u8 taskId = oei_task_add();
u8 taskId = CreateFieldEffectShowMon();
FLDEFF_SET_FUNC_TO_DATA(sub_80C9A60);
IncrementGameStat(GAME_STAT_USED_ROCK_SMASH);
+1 -1
View File
@@ -33,7 +33,7 @@ static void FldEff_UseStrength(void)
bool8 sub_80D0860(void)
{
u8 taskId = oei_task_add();
u8 taskId = CreateFieldEffectShowMon();
FLDEFF_SET_FUNC_TO_DATA(sub_80D08A8);
GetMonNickname(&gPlayerParty[gFieldEffectArguments[0]], gStringVar1);
return FALSE;
+1 -1
View File
@@ -43,7 +43,7 @@ bool8 FldEff_SweetScent(void)
u8 taskId;
SetWeatherScreenFadeOut();
taskId = oei_task_add();
taskId = CreateFieldEffectShowMon();
FLDEFF_SET_FUNC_TO_DATA(StartSweetScentFieldEffect);
return FALSE;
}
+1 -1
View File
@@ -28,7 +28,7 @@ static void FieldCallback_Teleport(void)
bool8 FldEff_UseTeleport(void)
{
u8 taskId = oei_task_add();
u8 taskId = CreateFieldEffectShowMon();
FLDEFF_SET_FUNC_TO_DATA(StartTeleportFieldEffect);
SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT);
return FALSE;