diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/fldeff_cut.c | 70 | ||||
-rw-r--r-- | src/fldeff_dig.c | 2 | ||||
-rw-r--r-- | src/fldeff_rocksmash.c | 41 | ||||
-rw-r--r-- | src/fldeff_strength.c | 2 | ||||
-rw-r--r-- | src/fldeff_sweetscent.c | 2 | ||||
-rw-r--r-- | src/fldeff_teleport.c | 2 |
6 files changed, 61 insertions, 58 deletions
diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index d7ed12fc1..bf87bbc06 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -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); diff --git a/src/fldeff_dig.c b/src/fldeff_dig.c index 9e1686468..0eb0d3c1e 100644 --- a/src/fldeff_dig.c +++ b/src/fldeff_dig.c @@ -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); diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c index 779e4b8f4..397741806 100644 --- a/src/fldeff_rocksmash.c +++ b/src/fldeff_rocksmash.c @@ -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); diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index 230b9c751..712d9f1c6 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -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; diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index 45c471e95..d827aff4d 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -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; } diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c index a66a332bf..44a7af732 100644 --- a/src/fldeff_teleport.c +++ b/src/fldeff_teleport.c @@ -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; |