Skip to content

Commit cd1a3ff

Browse files
committed
Increase stability of SwSh MassRelease. Minor refactor of box scrolling.
1 parent 90f15da commit cd1a3ff

16 files changed

+135
-88
lines changed

SerialPrograms/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2093,6 +2093,7 @@ file(GLOB MAIN_SOURCES
20932093
Source/PokemonSwSh/Programs/OverworldBot/PokemonSwSh_ShinyHuntAutonomous-Overworld.h
20942094
Source/PokemonSwSh/Programs/PokemonSwSh_BasicCatcher.cpp
20952095
Source/PokemonSwSh/Programs/PokemonSwSh_BasicCatcher.h
2096+
Source/PokemonSwSh/Programs/PokemonSwSh_BoxHelpers.h
20962097
Source/PokemonSwSh/Programs/PokemonSwSh_EncounterDetection.cpp
20972098
Source/PokemonSwSh/Programs/PokemonSwSh_EncounterDetection.h
20982099
Source/PokemonSwSh/Programs/PokemonSwSh_EncounterHandler.cpp

SerialPrograms/SerialPrograms.pro

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2229,6 +2229,7 @@ HEADERS += \
22292229
Source/PokemonSwSh/Programs/OverworldBot/PokemonSwSh_OverworldTrigger.h \
22302230
Source/PokemonSwSh/Programs/OverworldBot/PokemonSwSh_ShinyHuntAutonomous-Overworld.h \
22312231
Source/PokemonSwSh/Programs/PokemonSwSh_BasicCatcher.h \
2232+
Source/PokemonSwSh/Programs/PokemonSwSh_BoxHelpers.h \
22322233
Source/PokemonSwSh/Programs/PokemonSwSh_EncounterDetection.h \
22332234
Source/PokemonSwSh/Programs/PokemonSwSh_EncounterHandler.h \
22342235
Source/PokemonSwSh/Programs/PokemonSwSh_GameEntry.h \

SerialPrograms/Source/CommonFramework/Globals.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ namespace PokemonAutomation{
2626
const bool IS_BETA_VERSION = true;
2727
const int PROGRAM_VERSION_MAJOR = 0;
2828
const int PROGRAM_VERSION_MINOR = 52;
29-
const int PROGRAM_VERSION_PATCH = 10;
29+
const int PROGRAM_VERSION_PATCH = 11;
3030

3131
const std::string PROGRAM_VERSION_BASE =
3232
"v" + std::to_string(PROGRAM_VERSION_MAJOR) +

SerialPrograms/Source/NintendoSwitch/Commands/NintendoSwitch_Commands_Superscalar.h

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,17 @@ void ssf_issue_scroll(
121121
inline void ssf_press_button_ptv(
122122
ProControllerContext& context,
123123
Button button,
124-
Milliseconds delay = 24ms,
125-
Milliseconds hold = 48ms,
124+
Milliseconds delay = 24ms
125+
){
126+
Milliseconds tv = context->timing_variation();
127+
if (delay > 0ms) delay += tv;
128+
ssf_press_button(context, button, delay);
129+
}
130+
inline void ssf_press_button_ptv(
131+
ProControllerContext& context,
132+
Button button,
133+
Milliseconds delay,
134+
Milliseconds hold,
126135
Milliseconds cool = 24ms
127136
){
128137
Milliseconds tv = context->timing_variation();
@@ -134,8 +143,17 @@ inline void ssf_press_button_ptv(
134143
inline void ssf_press_dpad_ptv(
135144
ProControllerContext& context,
136145
DpadPosition position,
137-
Milliseconds delay = 24ms,
138-
Milliseconds hold = 48ms,
146+
Milliseconds delay = 24ms
147+
){
148+
Milliseconds tv = context->timing_variation();
149+
if (delay > 0ms) delay += tv;
150+
ssf_press_dpad(context, position, delay);
151+
}
152+
inline void ssf_press_dpad_ptv(
153+
ProControllerContext& context,
154+
DpadPosition position,
155+
Milliseconds delay,
156+
Milliseconds hold,
139157
Milliseconds cool = 24ms
140158
){
141159
Milliseconds tv = context->timing_variation();
@@ -147,8 +165,17 @@ inline void ssf_press_dpad_ptv(
147165
inline void ssf_issue_scroll_ptv(
148166
ProControllerContext& context,
149167
DpadPosition direction,
150-
Milliseconds delay = 24ms,
151-
Milliseconds hold = 48ms,
168+
Milliseconds delay = 24ms
169+
){
170+
Milliseconds tv = context->timing_variation();
171+
if (delay > 0ms) delay += tv;
172+
ssf_issue_scroll(context, direction, delay);
173+
}
174+
inline void ssf_issue_scroll_ptv(
175+
ProControllerContext& context,
176+
DpadPosition direction,
177+
Milliseconds delay,
178+
Milliseconds hold,
152179
Milliseconds cool = 24ms
153180
){
154181
Milliseconds tv = context->timing_variation();

SerialPrograms/Source/PokemonSwSh/PokemonSwSh_Settings.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -156,11 +156,11 @@ GameSettings::GameSettings()
156156
"180 s"
157157
)
158158
, m_box_timings("<font size=4><b>Box Timings:</b></font> (for egg programs)")
159-
, BOX_SCROLL_DELAY1(
160-
"<b>Box Scroll Delay:</b><br>Delay to move the cursor.",
161-
LockMode::LOCK_WHILE_RUNNING,
162-
"200 ms"
163-
)
159+
// , BOX_SCROLL_DELAY1(
160+
// "<b>Box Scroll Delay:</b><br>Delay to move the cursor.",
161+
// LockMode::LOCK_WHILE_RUNNING,
162+
// "200 ms"
163+
// )
164164
, BOX_CHANGE_DELAY0(
165165
"<b>Box Change Delay:</b><br>Delay to change boxes.",
166166
LockMode::LOCK_WHILE_RUNNING,
@@ -264,7 +264,7 @@ GameSettings::GameSettings()
264264
PA_ADD_OPTION(FULL_LOBBY_TIMER0);
265265

266266
PA_ADD_STATIC(m_box_timings);
267-
PA_ADD_OPTION(BOX_SCROLL_DELAY1);
267+
// PA_ADD_OPTION(BOX_SCROLL_DELAY1);
268268
PA_ADD_OPTION(BOX_CHANGE_DELAY0);
269269
PA_ADD_OPTION(BOX_PICKUP_DROP_DELAY0);
270270
PA_ADD_OPTION(MENU_TO_POKEMON_DELAY0);

SerialPrograms/Source/PokemonSwSh/PokemonSwSh_Settings.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class GameSettings : public BatchOption{
6363
MillisecondsOption FULL_LOBBY_TIMER0;
6464

6565
SectionDividerOption m_box_timings;
66-
MillisecondsOption BOX_SCROLL_DELAY1;
66+
// MillisecondsOption BOX_SCROLL_DELAY1;
6767
MillisecondsOption BOX_CHANGE_DELAY0;
6868
MillisecondsOption BOX_PICKUP_DROP_DELAY0;
6969
MillisecondsOption MENU_TO_POKEMON_DELAY0;

SerialPrograms/Source/PokemonSwSh/Programs/EggPrograms/PokemonSwSh_EggAutonomous.cpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include "PokemonSwSh/Inference/PokemonSwSh_SelectionArrowFinder.h"
2626
#include "PokemonSwSh/Inference/PokemonSwSh_YCommDetector.h"
2727
#include "PokemonSwSh/Programs/PokemonSwSh_GameEntry.h"
28+
#include "PokemonSwSh/Programs/PokemonSwSh_BoxHelpers.h"
2829
#include "PokemonSwSh_EggHelpers.h"
2930
#include "PokemonSwSh_EggAutonomous.h"
3031
#include "PokemonSwSh/Commands/PokemonSwSh_Commands_EggRoutines.h"
@@ -606,7 +607,6 @@ bool EggAutonomous::process_hatched_pokemon(
606607

607608
navigate_to_menu_app(env, env.console, context, POKEMON_APP_INDEX, NOTIFICATION_ERROR_RECOVERABLE);
608609

609-
const Milliseconds BOX_SCROLL_DELAY = GameSettings::instance().BOX_SCROLL_DELAY1;
610610
const Milliseconds BOX_CHANGE_DELAY = GameSettings::instance().BOX_CHANGE_DELAY0;
611611
const Milliseconds BOX_PICKUP_DROP_DELAY = GameSettings::instance().BOX_PICKUP_DROP_DELAY0;
612612

@@ -615,8 +615,8 @@ bool EggAutonomous::process_hatched_pokemon(
615615
// From Pokemon App to storage box
616616
ssf_press_button(context, BUTTON_R, GameSettings::instance().POKEMON_TO_BOX_DELAY0, EGG_BUTTON_HOLD_DELAY);
617617
// Move left down to the first hatched pokemon in the party
618-
ssf_press_dpad(context, DPAD_LEFT, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
619-
ssf_press_dpad(context, DPAD_DOWN, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
618+
box_scroll(context, DPAD_LEFT);
619+
box_scroll(context, DPAD_DOWN);
620620

621621
context.wait_for_all_requests();
622622
{
@@ -689,7 +689,7 @@ bool EggAutonomous::process_hatched_pokemon(
689689
ssf_press_button_ptv(context, BUTTON_A, BOX_PICKUP_DROP_DELAY, EGG_BUTTON_HOLD_DELAY);
690690

691691
// Move it rightward, so that it stays on top of the box area
692-
ssf_press_dpad_ptv(context, DPAD_RIGHT, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
692+
box_scroll(context, DPAD_RIGHT);
693693
// Press Button L to change to the box on the left
694694
ssf_press_button_ptv(context, BUTTON_L, BOX_CHANGE_DELAY, EGG_BUTTON_HOLD_DELAY);
695695

@@ -698,9 +698,9 @@ bool EggAutonomous::process_hatched_pokemon(
698698
// in the box:
699699

700700
// Move it three times upward, so that it stays on top of the "Box List" button
701-
ssf_press_dpad_ptv(context, DPAD_UP, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
702-
ssf_press_dpad_ptv(context, DPAD_UP, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
703-
ssf_press_dpad_ptv(context, DPAD_UP, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
701+
box_scroll(context, DPAD_UP);
702+
box_scroll(context, DPAD_UP);
703+
box_scroll(context, DPAD_UP);
704704

705705
// Press the button to go to box list view
706706
ssf_press_button_ptv(context, BUTTON_A, BOX_CHANGE_DELAY, EGG_BUTTON_HOLD_DELAY);
@@ -711,11 +711,11 @@ bool EggAutonomous::process_hatched_pokemon(
711711
// Press button R to change to the box on the right, the box with the next batch of eggs
712712
ssf_press_button_ptv(context, BUTTON_R, BOX_CHANGE_DELAY, EGG_BUTTON_HOLD_DELAY);
713713
// Move cursor left to point to the last slot in the party
714-
ssf_press_dpad_ptv(context, DPAD_LEFT, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
714+
box_scroll(context, DPAD_LEFT);
715715
// Move cursor downward three times so that it goes to the original place (second slot in the party)
716-
ssf_press_dpad_ptv(context, DPAD_DOWN, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
717-
ssf_press_dpad_ptv(context, DPAD_DOWN, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
718-
ssf_press_dpad_ptv(context, DPAD_DOWN, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
716+
box_scroll(context, DPAD_DOWN);
717+
box_scroll(context, DPAD_DOWN);
718+
box_scroll(context, DPAD_DOWN);
719719

720720
if (m_num_pokemon_kept >= MAX_KEEPERS){
721721
env.log("Max keepers reached. Stopping program...");
@@ -804,8 +804,8 @@ bool EggAutonomous::process_hatched_pokemon(
804804
// Get eggs to party:
805805

806806
// Move cursor to the first slot in the box
807-
ssf_press_dpad_ptv(context, DPAD_UP, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
808-
ssf_press_dpad_ptv(context, DPAD_RIGHT, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
807+
box_scroll(context, DPAD_UP);
808+
box_scroll(context, DPAD_RIGHT);
809809

810810
// Press Y twice to change selection method to group selection
811811
pbf_press_button(context, BUTTON_Y, EGG_BUTTON_HOLD_DELAY, 400ms);
@@ -815,14 +815,14 @@ bool EggAutonomous::process_hatched_pokemon(
815815
pbf_press_button(context, BUTTON_A, EGG_BUTTON_HOLD_DELAY, 400ms);
816816
// Move down to selection the entire column
817817
for (size_t c = 0; c < 4; c++){
818-
ssf_press_dpad_ptv(context, DPAD_DOWN, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
818+
box_scroll(context, DPAD_DOWN);
819819
}
820820
// Press A to finish the selection
821821
ssf_press_button_ptv(context, BUTTON_A, BOX_PICKUP_DROP_DELAY, EGG_BUTTON_HOLD_DELAY);
822822

823823
// Move cursor to the second slot in the party
824-
ssf_press_dpad_ptv(context, DPAD_LEFT, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
825-
ssf_press_dpad_ptv(context, DPAD_DOWN, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
824+
box_scroll(context, DPAD_LEFT);
825+
box_scroll(context, DPAD_DOWN);
826826

827827
// Press A to finish dropping the egg column
828828
ssf_press_button_ptv(context, BUTTON_A, BOX_PICKUP_DROP_DELAY, EGG_BUTTON_HOLD_DELAY);

SerialPrograms/Source/PokemonSwSh/Programs/EggPrograms/PokemonSwSh_EggCombinedShared.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "PokemonSwSh/Commands/PokemonSwSh_Commands_DateSpam.h"
1414
#include "PokemonSwSh/Commands/PokemonSwSh_Commands_EggRoutines.h"
1515
#include "PokemonSwSh/Programs/PokemonSwSh_GameEntry.h"
16+
#include "PokemonSwSh/Programs/PokemonSwSh_BoxHelpers.h"
1617
#include "PokemonSwSh/Options/PokemonSwSh_DateToucher.h"
1718
#include "PokemonSwSh_EggHelpers.h"
1819

@@ -90,7 +91,6 @@ struct EggCombinedSession{
9091

9192
Milliseconds BOX_CHANGE_DELAY = GameSettings::instance().BOX_CHANGE_DELAY0;
9293
Milliseconds BOX_PICKUP_DROP_DELAY = GameSettings::instance().BOX_PICKUP_DROP_DELAY0;
93-
Milliseconds BOX_SCROLL_DELAY = GameSettings::instance().BOX_SCROLL_DELAY1;
9494

9595
// Move to column.
9696
party_to_column(context, column);
@@ -100,12 +100,12 @@ struct EggCombinedSession{
100100
// Move to next column.
101101
column++;
102102
if (column < 6){
103-
ssf_press_dpad(context, DPAD_RIGHT, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
103+
box_scroll(context, DPAD_RIGHT);
104104
}else{
105105
column = 0;
106106
ssf_press_button(context, BUTTON_R, BOX_CHANGE_DELAY, EGG_BUTTON_HOLD_DELAY);
107-
ssf_press_dpad(context, DPAD_RIGHT, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
108-
ssf_press_dpad(context, DPAD_RIGHT, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
107+
box_scroll(context, DPAD_RIGHT);
108+
box_scroll(context, DPAD_RIGHT);
109109
}
110110

111111
pickup_column(context, false);

SerialPrograms/Source/PokemonSwSh/Programs/EggPrograms/PokemonSwSh_EggHatcher.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
//#include "PokemonSwSh/Commands/PokemonSwSh_Commands_GameEntry.h"
1111
#include "PokemonSwSh/Commands/PokemonSwSh_Commands_EggRoutines.h"
1212
#include "PokemonSwSh/Programs/PokemonSwSh_GameEntry.h"
13+
#include "PokemonSwSh/Programs/PokemonSwSh_BoxHelpers.h"
1314
#include "PokemonSwSh_EggHelpers.h"
1415
#include "PokemonSwSh_EggHatcher.h"
1516

@@ -54,21 +55,20 @@ uint8_t swap_party(ProControllerContext& context, uint8_t column){
5455
pickup_column(context, true);
5556

5657
Milliseconds BOX_PICKUP_DROP_DELAY = GameSettings::instance().BOX_PICKUP_DROP_DELAY0;
57-
Milliseconds BOX_SCROLL_DELAY = GameSettings::instance().BOX_SCROLL_DELAY1;
5858

5959
// Move to column.
6060
party_to_column(context, column);
61-
ssf_press_button_ptv(context, BUTTON_A, BOX_PICKUP_DROP_DELAY);
61+
ssf_press_button_ptv(context, BUTTON_A, BOX_PICKUP_DROP_DELAY, 100ms);
6262

6363
// Move to next column.
6464
column++;
6565
if (column < 6){
66-
ssf_press_dpad(context, DPAD_RIGHT, BOX_SCROLL_DELAY);
66+
box_scroll(context, DPAD_RIGHT);
6767
}else{
6868
column = 0;
69-
ssf_press_button_ptv(context, BUTTON_R, GameSettings::instance().BOX_CHANGE_DELAY0);
70-
ssf_press_dpad_ptv(context, DPAD_RIGHT, BOX_SCROLL_DELAY);
71-
ssf_press_dpad_ptv(context, DPAD_RIGHT, BOX_SCROLL_DELAY);
69+
ssf_press_button_ptv(context, BUTTON_R, GameSettings::instance().BOX_CHANGE_DELAY0, 100ms);
70+
box_scroll(context, DPAD_RIGHT);
71+
box_scroll(context, DPAD_RIGHT);
7272
}
7373

7474
pickup_column(context, false);

SerialPrograms/Source/PokemonSwSh/Programs/EggPrograms/PokemonSwSh_EggHelpers.h

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include "NintendoSwitch/Commands/NintendoSwitch_Commands_PushButtons.h"
1111
#include "NintendoSwitch/Commands/NintendoSwitch_Commands_Superscalar.h"
1212
#include "PokemonSwSh/PokemonSwSh_Settings.h"
13+
#include "PokemonSwSh/Programs/PokemonSwSh_BoxHelpers.h"
1314

1415
namespace PokemonAutomation{
1516
namespace NintendoSwitch{
@@ -78,15 +79,14 @@ static const Milliseconds EGG_BUTTON_HOLD_DELAY = 80ms;
7879
// - Move cursor to the second pokemon in the party, aka first hatched pokemon in the party
7980
// - Press button Y two times to change pokemon selection to group selection
8081
static void menu_to_box(ProControllerContext& context, bool from_map){
81-
Milliseconds BOX_SCROLL_DELAY = GameSettings::instance().BOX_SCROLL_DELAY1;
8282
if (from_map){
83-
ssf_press_dpad_ptv(context, DPAD_UP, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
84-
ssf_press_dpad_ptv(context, DPAD_RIGHT, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
83+
box_scroll(context, DPAD_UP);
84+
box_scroll(context, DPAD_RIGHT);
8585
}
8686
ssf_press_button_ptv(context, BUTTON_A, GameSettings::instance().MENU_TO_POKEMON_DELAY0, EGG_BUTTON_HOLD_DELAY);
8787
ssf_press_button_ptv(context, BUTTON_R, GameSettings::instance().POKEMON_TO_BOX_DELAY0, EGG_BUTTON_HOLD_DELAY);
88-
ssf_press_dpad_ptv(context, DPAD_LEFT, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
89-
ssf_press_dpad_ptv(context, DPAD_DOWN, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
88+
box_scroll(context, DPAD_LEFT);
89+
box_scroll(context, DPAD_DOWN);
9090
ssf_press_button_ptv(context, BUTTON_Y, 240ms, EGG_BUTTON_HOLD_DELAY);
9191
ssf_press_button_ptv(context, BUTTON_Y, 240ms, EGG_BUTTON_HOLD_DELAY);
9292
}
@@ -103,57 +103,49 @@ static void box_to_menu(ProControllerContext& context){
103103
// In state (2): The 1st B will drop the party pokemon. The 2nd B will
104104
// back out of the box.
105105

106-
Milliseconds BOX_SCROLL_DELAY = GameSettings::instance().BOX_SCROLL_DELAY1;
107-
108106
ssf_press_button_ptv(context, BUTTON_B, 160ms, EGG_BUTTON_HOLD_DELAY);
109107
ssf_press_button_ptv(context, BUTTON_B, GameSettings::instance().BOX_TO_POKEMON_DELAY0, EGG_BUTTON_HOLD_DELAY);
110108

111109
// Back out to menu.
112110
ssf_press_button_ptv(context, BUTTON_B, GameSettings::instance().POKEMON_TO_MENU_DELAY0, EGG_BUTTON_HOLD_DELAY);
113111

114-
ssf_press_dpad_ptv(context, DPAD_LEFT, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
115-
ssf_press_dpad_ptv(context, DPAD_DOWN, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
112+
box_scroll(context, DPAD_LEFT);
113+
box_scroll(context, DPAD_DOWN);
116114
}
117115

118116
static void party_to_column(ProControllerContext& context, uint8_t column){
119-
Milliseconds BOX_SCROLL_DELAY = GameSettings::instance().BOX_SCROLL_DELAY1;
120-
121-
ssf_press_dpad_ptv(context, DPAD_UP, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
117+
box_scroll(context, DPAD_UP);
122118
column++;
123119
if (column <= 3){
124120
for (uint8_t c = 0; c != column; c++){
125-
ssf_press_dpad_ptv(context, DPAD_RIGHT, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
121+
box_scroll(context, DPAD_RIGHT);
126122
}
127123
}else{
128124
for (uint8_t c = 7; c != column; c--){
129-
ssf_press_dpad_ptv(context, DPAD_LEFT, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
125+
box_scroll(context, DPAD_LEFT);
130126
}
131127
}
132128
}
133129
static void column_to_party(ProControllerContext& context, uint8_t column){
134-
Milliseconds BOX_SCROLL_DELAY = GameSettings::instance().BOX_SCROLL_DELAY1;
135-
136130
column++;
137131
if (column <= 3){
138132
for (uint8_t c = column; c != 0; c--){
139-
ssf_press_dpad_ptv(context, DPAD_LEFT, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
133+
box_scroll(context, DPAD_LEFT);
140134
}
141135
}else{
142136
for (uint8_t c = column; c != 7; c++){
143-
ssf_press_dpad_ptv(context, DPAD_RIGHT, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
137+
box_scroll(context, DPAD_RIGHT);
144138
}
145139
}
146-
ssf_press_dpad_ptv(context, DPAD_DOWN, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
140+
box_scroll(context, DPAD_DOWN);
147141
}
148142

149143
static void pickup_column(ProControllerContext& context, char party){
150-
Milliseconds BOX_SCROLL_DELAY = GameSettings::instance().BOX_SCROLL_DELAY1;
151-
152144
ssf_press_button_ptv(context, BUTTON_A, 160ms, EGG_BUTTON_HOLD_DELAY);
153145
if (party){
154-
ssf_press_dpad_ptv(context, DPAD_UP, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
146+
box_scroll(context, DPAD_UP);
155147
}
156-
ssf_press_dpad_ptv(context, DPAD_UP, BOX_SCROLL_DELAY, EGG_BUTTON_HOLD_DELAY);
148+
box_scroll(context, DPAD_UP);
157149
ssf_press_button_ptv(context, BUTTON_A, GameSettings::instance().BOX_PICKUP_DROP_DELAY0, EGG_BUTTON_HOLD_DELAY);
158150
}
159151

0 commit comments

Comments
 (0)