From e375606810395d3941f2866505c6516949393d2b Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Tue, 13 Feb 2018 21:52:33 +0530 Subject: [Do not Merge] fldeff_strength.s --- src/fldeff_strength.c | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 src/fldeff_strength.c (limited to 'src') diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c new file mode 100644 index 000000000..77fa0db35 --- /dev/null +++ b/src/fldeff_strength.c @@ -0,0 +1,109 @@ +#include "global.h" +#include "field_effect.h" +#include "rom6.h" +#include "party_menu.h" + +#include "script.h" + +extern u16 gSpecialVar_Result; +extern void (*gUnknown_0203CEEC)(void); +extern bool8 (*gUnknown_03005DB0)(void); +static void sub_8145E0C(void); + +extern u8 FieryPath_EventScript_2908FD[]; + +bool8 hm_prepare_rocksmash(void) +{ + if (npc_before_player_of_type(87) == TRUE) + { + gSpecialVar_Result = GetCursorSelectionMonId(); + gUnknown_03005DB0 = FieldCallback_Teleport; + gUnknown_0203CEEC = sub_8145E0C; + return TRUE; + } + return FALSE; +} + +static void sub_8145E0C(void) +{ + gFieldEffectArguments[0] = GetCursorSelectionMonId(); + ScriptContext1_SetupScript(FieryPath_EventScript_2908FD); +} + +/* +#include "braille_puzzles.h" +#include "field_effect.h" +#include "party_menu.h" +#include "pokemon.h" +#include "pokemon_menu.h" + +#include "script.h" +#include "task.h" +#include "text.h" + +static void sub_811AA18(void); +static void sub_811AA38(void); +static void sub_811AA9C(void); + +extern u8 gLastFieldPokeMenuOpened; +extern u16 gSpecialVar_Result; +extern void (*gFieldCallback)(void); +extern void (*gUnknown_03005CE4)(void); + +extern u8 S_UseStrength[]; + +bool8 SetUpFieldMove_Strength(void) +{ + if (ShouldDoBrailleStrengthEffect()) + { + gSpecialVar_Result = gLastFieldPokeMenuOpened; + gFieldCallback = FieldCallback_Teleport; + gUnknown_03005CE4 = sub_811AA38; + } + else + { + if (npc_before_player_of_type(87) != TRUE) + return 0; + gSpecialVar_Result = gLastFieldPokeMenuOpened; + gFieldCallback = FieldCallback_Teleport; + gUnknown_03005CE4 = sub_811AA18; + } + + return TRUE; +} + +static void sub_811AA18(void) +{ + gFieldEffectArguments[0] = gLastFieldPokeMenuOpened; + ScriptContext1_SetupScript(S_UseStrength); +} + +static void sub_811AA38(void) +{ + gFieldEffectArguments[0] = gLastFieldPokeMenuOpened; + FieldEffectStart(FLDEFF_USE_STRENGTH); +} + +bool8 FldEff_UseStrength(void) +{ + u8 taskId = oei_task_add(); + + gTasks[taskId].data[8] = (u32)sub_811AA9C >> 16; + gTasks[taskId].data[9] = (u32)sub_811AA9C; + GetMonNickname(&gPlayerParty[gFieldEffectArguments[0]], gStringVar1); + return FALSE; +} + +static void sub_811AA9C(void) +{ + if (ShouldDoBrailleStrengthEffect()) + { + DoBrailleStrengthEffect(); + } + else + { + FieldEffectActiveListRemove(40); + EnableBothScriptContexts(); + } +} +*/ -- cgit v1.2.3 From c959dc11748f3548d5356526f29bc64e355deca9 Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Tue, 13 Feb 2018 23:08:54 +0530 Subject: Finish fldeff_strength.s --- src/fldeff_strength.c | 91 ++++++++------------------------------------------- src/fldeff_teleport.c | 7 ++-- 2 files changed, 15 insertions(+), 83 deletions(-) (limited to 'src') diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index 77fa0db35..9f649f56c 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -1,16 +1,14 @@ #include "global.h" +#include "event_data.h" +#include "event_scripts.h" #include "field_effect.h" -#include "rom6.h" #include "party_menu.h" - +#include "rom6.h" #include "script.h" +#include "task.h" -extern u16 gSpecialVar_Result; -extern void (*gUnknown_0203CEEC)(void); -extern bool8 (*gUnknown_03005DB0)(void); -static void sub_8145E0C(void); - -extern u8 FieryPath_EventScript_2908FD[]; +void sub_8145E0C(void); +void sub_8145E74(void); bool8 hm_prepare_rocksmash(void) { @@ -24,86 +22,23 @@ bool8 hm_prepare_rocksmash(void) return FALSE; } -static void sub_8145E0C(void) +void sub_8145E0C(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); ScriptContext1_SetupScript(FieryPath_EventScript_2908FD); } -/* -#include "braille_puzzles.h" -#include "field_effect.h" -#include "party_menu.h" -#include "pokemon.h" -#include "pokemon_menu.h" - -#include "script.h" -#include "task.h" -#include "text.h" - -static void sub_811AA18(void); -static void sub_811AA38(void); -static void sub_811AA9C(void); - -extern u8 gLastFieldPokeMenuOpened; -extern u16 gSpecialVar_Result; -extern void (*gFieldCallback)(void); -extern void (*gUnknown_03005CE4)(void); - -extern u8 S_UseStrength[]; - -bool8 SetUpFieldMove_Strength(void) -{ - if (ShouldDoBrailleStrengthEffect()) - { - gSpecialVar_Result = gLastFieldPokeMenuOpened; - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_811AA38; - } - else - { - if (npc_before_player_of_type(87) != TRUE) - return 0; - gSpecialVar_Result = gLastFieldPokeMenuOpened; - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_811AA18; - } - - return TRUE; -} - -static void sub_811AA18(void) -{ - gFieldEffectArguments[0] = gLastFieldPokeMenuOpened; - ScriptContext1_SetupScript(S_UseStrength); -} - -static void sub_811AA38(void) -{ - gFieldEffectArguments[0] = gLastFieldPokeMenuOpened; - FieldEffectStart(FLDEFF_USE_STRENGTH); -} - -bool8 FldEff_UseStrength(void) +bool8 sub_8145E2C(void) { u8 taskId = oei_task_add(); - - gTasks[taskId].data[8] = (u32)sub_811AA9C >> 16; - gTasks[taskId].data[9] = (u32)sub_811AA9C; + gTasks[taskId].data[8] = (u32)sub_8145E74 >> 16; + gTasks[taskId].data[9] = (u32)sub_8145E74; GetMonNickname(&gPlayerParty[gFieldEffectArguments[0]], gStringVar1); return FALSE; } -static void sub_811AA9C(void) +void sub_8145E74(void) { - if (ShouldDoBrailleStrengthEffect()) - { - DoBrailleStrengthEffect(); - } - else - { - FieldEffectActiveListRemove(40); - EnableBothScriptContexts(); - } + FieldEffectActiveListRemove(40); + EnableBothScriptContexts(); } -*/ diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c index 5b3492db0..e675ef0a5 100644 --- a/src/fldeff_teleport.c +++ b/src/fldeff_teleport.c @@ -7,17 +7,14 @@ #include "rom6.h" #include "task.h" -extern bool8 (*gUnknown_03005DB0)(void); -extern void (*gUnknown_0203CEEC)(void); - bool8 SetUpFieldMove_Teleport(void) { if (Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType) == TRUE) { gUnknown_03005DB0 = FieldCallback_Teleport; - gUnknown_0203CEEC = hm_teleport_run_dp02scr; + gUnknown_0203CEEC = hm_teleport_run_dp02scr; return TRUE; - } + } return FALSE; } -- cgit v1.2.3 From deeaac2bf17479b671d989cd50e236dd39f6e52c Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Wed, 14 Feb 2018 17:24:31 +0530 Subject: Decompile fldeff_sweetsecent.c --- src/fldeff_sweetscent.c | 98 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 src/fldeff_sweetscent.c (limited to 'src') diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c new file mode 100644 index 000000000..ee5a39343 --- /dev/null +++ b/src/fldeff_sweetscent.c @@ -0,0 +1,98 @@ +#include "global.h" +#include "event_data.h" +#include "event_scripts.h" +#include "field_effect.h" +#include "field_player_avatar.h" +#include "palette.h" +#include "party_menu.h" +#include "rom6.h" +#include "script.h" +#include "sound.h" +#include "sprite.h" +#include "task.h" +#include "wild_encounter.h" + +extern void sub_81BE72C(void); +extern void sub_81BE6B8(void); +extern void sub_80AC3D0(void); +extern void sub_80AC3E4(void); + +void hm2_sweet_scent(void); +void sub_8159F5C(void); +void sub_8159FEC(u8 taskId); +void sub_815A090(u8 taskId); + +bool8 SetUpFieldMove_SweetScent(void) +{ + gUnknown_03005DB0 = FieldCallback_Teleport; + gUnknown_0203CEEC = hm2_sweet_scent; + return TRUE; +} + +void hm2_sweet_scent(void) +{ + FieldEffectStart(FLDEFF_SWEET_SCENT); + gFieldEffectArguments[0] = GetCursorSelectionMonId(); +} + +bool8 FldEff_SweetScent() +{ + u8 taskId; + + sub_80AC3D0(); + taskId = oei_task_add(); + gTasks[taskId].data[8] = (u32)sub_8159F5C >> 16; + gTasks[taskId].data[9] = (u32)sub_8159F5C; + return FALSE; +} + +void sub_8159F5C(void) +{ + u8 taskId; + + PlaySE(0xEC); + CpuFastSet(gPlttBufferUnfaded, gPaletteDecompressionBuffer, 0x100); + CpuFastSet(gPlttBufferFaded, gPlttBufferUnfaded, 0x100); + BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarObjectId()].oam.paletteNum + 16)), 4, 0, 8, 0x1F); + taskId = CreateTask(sub_8159FEC, 0); + gTasks[taskId].data[0] = 0; + FieldEffectActiveListRemove(FLDEFF_SWEET_SCENT); +} + +void sub_8159FEC(u8 taskId) +{ + if (!gPaletteFade.active) + { + sub_81BE72C(); + BlendPalettes(64, 8, 0x1F); + if (gTasks[taskId].data[0] == 64) + { + gTasks[taskId].data[0] = 0; + if (SweetScentWildEncounter() == TRUE) + { + DestroyTask(taskId); + } + else + { + gTasks[taskId].func = sub_815A090; + BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarObjectId()].oam.paletteNum + 16)), 4, 8, 0, 0x1F); + sub_81BE6B8(); + } + } + else + { + gTasks[taskId].data[0]++; + } + } +} + +void sub_815A090(u8 taskId) +{ + if (!gPaletteFade.active) + { + CpuFastSet(gPaletteDecompressionBuffer, gPlttBufferUnfaded, 0x100); + sub_80AC3E4(); + ScriptContext1_SetupScript(EventScript_290CAE); + DestroyTask(taskId); + } +} -- cgit v1.2.3 From 2fb78b5ca8e24e895b66170806871d60164df554 Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Thu, 15 Feb 2018 09:47:42 +0530 Subject: Fix reviewed points. --- src/fldeff_strength.c | 10 +++++----- src/fldeff_sweetscent.c | 17 ++++++++--------- 2 files changed, 13 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index 9f649f56c..c1965d983 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -7,22 +7,22 @@ #include "script.h" #include "task.h" -void sub_8145E0C(void); +void FldEff_UseStrength(void); void sub_8145E74(void); -bool8 hm_prepare_rocksmash(void) +bool8 SetUpFieldMove_Strength(void) { if (npc_before_player_of_type(87) == TRUE) { gSpecialVar_Result = GetCursorSelectionMonId(); gUnknown_03005DB0 = FieldCallback_Teleport; - gUnknown_0203CEEC = sub_8145E0C; + gUnknown_0203CEEC = FldEff_UseStrength; return TRUE; } return FALSE; } -void sub_8145E0C(void) +void FldEff_UseStrength(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); ScriptContext1_SetupScript(FieryPath_EventScript_2908FD); @@ -39,6 +39,6 @@ bool8 sub_8145E2C(void) void sub_8145E74(void) { - FieldEffectActiveListRemove(40); + FieldEffectActiveListRemove(FLDEFF_USE_STRENGTH); EnableBothScriptContexts(); } diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index ee5a39343..3dfcd640d 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -1,8 +1,12 @@ #include "global.h" +#include "constants/rgb.h" +#include "constants/songs.h" #include "event_data.h" #include "event_scripts.h" #include "field_effect.h" #include "field_player_avatar.h" +#include "field_screen.h" +#include "fldeff_groundshake.h" #include "palette.h" #include "party_menu.h" #include "rom6.h" @@ -12,11 +16,6 @@ #include "task.h" #include "wild_encounter.h" -extern void sub_81BE72C(void); -extern void sub_81BE6B8(void); -extern void sub_80AC3D0(void); -extern void sub_80AC3E4(void); - void hm2_sweet_scent(void); void sub_8159F5C(void); void sub_8159FEC(u8 taskId); @@ -50,10 +49,10 @@ void sub_8159F5C(void) { u8 taskId; - PlaySE(0xEC); + PlaySE(SE_W230); CpuFastSet(gPlttBufferUnfaded, gPaletteDecompressionBuffer, 0x100); CpuFastSet(gPlttBufferFaded, gPlttBufferUnfaded, 0x100); - BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarObjectId()].oam.paletteNum + 16)), 4, 0, 8, 0x1F); + BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarObjectId()].oam.paletteNum + 16)), 4, 0, 8, RGB_RED); taskId = CreateTask(sub_8159FEC, 0); gTasks[taskId].data[0] = 0; FieldEffectActiveListRemove(FLDEFF_SWEET_SCENT); @@ -64,7 +63,7 @@ void sub_8159FEC(u8 taskId) if (!gPaletteFade.active) { sub_81BE72C(); - BlendPalettes(64, 8, 0x1F); + BlendPalettes(0x00000040, 8, RGB_RED); if (gTasks[taskId].data[0] == 64) { gTasks[taskId].data[0] = 0; @@ -75,7 +74,7 @@ void sub_8159FEC(u8 taskId) else { gTasks[taskId].func = sub_815A090; - BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarObjectId()].oam.paletteNum + 16)), 4, 8, 0, 0x1F); + BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarObjectId()].oam.paletteNum + 16)), 4, 8, 0, RGB_RED); sub_81BE6B8(); } } -- cgit v1.2.3