@@ -19,71 +19,6 @@ namespace PokemonAutomation{
1919namespace NintendoSwitch {
2020namespace PokemonSwSh {
2121
22- #if 0
23- void neutral_date_skip(ProControllerContext& context){
24- switch (context->performance_class()){
25- case ControllerPerformanceClass::SerialPABotBase_Wired_125Hz:{
26- ssf_press_button(context, BUTTON_A, 20, 10);
27- ssf_issue_scroll(context, SSF_SCROLL_RIGHT, 3);
28- ssf_issue_scroll(context, SSF_SCROLL_UP, 0);
29- ssf_press_button(context, BUTTON_A, 2);
30- ssf_issue_scroll(context, SSF_SCROLL_RIGHT, 3);
31- ssf_issue_scroll(context, SSF_SCROLL_RIGHT, 3);
32- // ssf_press_button(context, BUTTON_A, 2);
33- ssf_issue_scroll(context, SSF_SCROLL_RIGHT, 3);
34- ssf_issue_scroll(context, SSF_SCROLL_RIGHT, 0);
35- ssf_press_button(context, BUTTON_A, 20, 10);
36- ssf_press_button(context, BUTTON_A, 20, 10);
37- for (uint8_t c = 0; c < 6; c++){
38- ssf_issue_scroll(context, SSF_SCROLL_LEFT, 3);
39- }
40- ssf_issue_scroll(context, SSF_SCROLL_RIGHT, 3);
41- ssf_issue_scroll(context, SSF_SCROLL_DOWN, 0);
42- break;
43- }
44- case ControllerPerformanceClass::SerialPABotBase_Wireless_ESP32:{
45- Milliseconds tv = context->timing_variation();
46- Milliseconds unit = 24ms + tv;
47-
48- ssf_press_button(context, BUTTON_A, 20, 10);
49- ssf_issue_scroll(context, SSF_SCROLL_RIGHT, unit);
50- ssf_issue_scroll(context, SSF_SCROLL_UP, 0);
51- ssf_press_button(context, BUTTON_A, unit);
52- ssf_issue_scroll(context, SSF_SCROLL_RIGHT, unit);
53- ssf_issue_scroll(context, SSF_SCROLL_RIGHT, unit);
54- // ssf_press_button(context, BUTTON_A, unit);
55- ssf_issue_scroll(context, SSF_SCROLL_RIGHT, unit);
56- ssf_issue_scroll(context, SSF_SCROLL_RIGHT, unit);
57- ssf_press_button(context, BUTTON_A, 20, 10);
58- ssf_press_button(context, BUTTON_A, 20, 10);
59- for (uint8_t c = 0; c < 6; c++){
60- ssf_issue_scroll(context, SSF_SCROLL_LEFT, unit);
61- }
62- ssf_issue_scroll(context, SSF_SCROLL_RIGHT, unit);
63- ssf_issue_scroll(context, SSF_SCROLL_DOWN, 0);
64-
65- break;
66- }
67- default:{
68- ssf_press_button_ptv(context, BUTTON_A, 160ms, 80ms);
69- ssf_issue_scroll_ptv(context, SSF_SCROLL_RIGHT);
70- ssf_issue_scroll_ptv(context, SSF_SCROLL_UP);
71- ssf_press_button_ptv(context, BUTTON_A);
72- ssf_issue_scroll_ptv(context, SSF_SCROLL_RIGHT);
73- ssf_issue_scroll_ptv(context, SSF_SCROLL_RIGHT);
74- ssf_issue_scroll_ptv(context, SSF_SCROLL_RIGHT);
75- ssf_issue_scroll_ptv(context, SSF_SCROLL_RIGHT);
76- ssf_press_button_ptv(context, BUTTON_A, 160ms, 80ms);
77- ssf_press_button_ptv(context, BUTTON_A, 160ms, 80ms);
78- for (uint8_t c = 0; c < 6; c++){
79- ssf_issue_scroll_ptv(context, SSF_SCROLL_LEFT);
80- }
81- ssf_issue_scroll_ptv(context, SSF_SCROLL_RIGHT);
82- ssf_issue_scroll_ptv(context, SSF_SCROLL_DOWN);
83- }
84- }
85- }
86- #endif
8722
8823void rollback_year_skip_forward (
8924 ConsoleHandle& console, ProControllerContext& context
@@ -145,12 +80,15 @@ void home_roll_date_enter_game_autorollback(
14580 }
14681 year++;
14782}
148- void touch_date_from_home (
83+
84+
85+
86+
87+
88+ void touch_date_from_home_switch1 (
14989 ConsoleHandle& console, ProControllerContext& context,
15090 Milliseconds settings_to_home_delay
15191){
152- // Touch the date without changing it. This prevents unintentional rollovers.
153-
15492 home_to_date_time (console, context, true );
15593 ssf_press_button_ptv (context, BUTTON_A, 160ms, 80ms);
15694
@@ -171,6 +109,58 @@ void touch_date_from_home(
171109 ssf_issue_scroll_ptv (context, SSF_SCROLL_DOWN, 16ms);
172110 ssf_press_button (context, BUTTON_HOME, settings_to_home_delay, 80ms);
173111}
112+ void touch_date_from_home_switch2 (
113+ ConsoleHandle& console, ProControllerContext& context,
114+ Milliseconds settings_to_home_delay
115+ ){
116+ home_to_date_time (console, context, true );
117+
118+ ssf_press_button (context, BUTTON_A, 240ms, 80ms);
119+ ssf_issue_scroll (context, SSF_SCROLL_UP, 24ms, 48ms, 24ms);
120+ ssf_issue_scroll (context, SSF_SCROLL_RIGHT, 24ms, 48ms, 24ms);
121+ ssf_issue_scroll (context, SSF_SCROLL_RIGHT, 24ms, 48ms, 24ms);
122+ ssf_issue_scroll (context, SSF_SCROLL_RIGHT, 24ms, 48ms, 24ms);
123+ ssf_issue_scroll (context, SSF_SCROLL_RIGHT, 24ms, 48ms, 24ms);
124+ ssf_issue_scroll (context, SSF_SCROLL_RIGHT, 24ms, 48ms, 24ms);
125+ ssf_issue_scroll (context, SSF_SCROLL_RIGHT, 24ms, 48ms, 24ms);
126+ ssf_press_button (context, BUTTON_A, 280ms, 80ms);
127+
128+ ssf_press_button (context, BUTTON_A, 240ms, 80ms);
129+ ssf_issue_scroll (context, SSF_SCROLL_DOWN, 24ms, 48ms, 24ms);
130+ ssf_issue_scroll (context, SSF_SCROLL_RIGHT, 24ms, 48ms, 24ms);
131+ ssf_issue_scroll (context, SSF_SCROLL_RIGHT, 24ms, 48ms, 24ms);
132+ ssf_issue_scroll (context, SSF_SCROLL_RIGHT, 24ms, 48ms, 24ms);
133+ ssf_issue_scroll (context, SSF_SCROLL_RIGHT, 24ms, 48ms, 24ms);
134+ ssf_issue_scroll (context, SSF_SCROLL_RIGHT, 24ms, 48ms, 24ms);
135+ ssf_issue_scroll (context, SSF_SCROLL_RIGHT, 24ms, 48ms, 24ms);
136+ ssf_press_button (context, BUTTON_A, 280ms, 80ms);
137+
138+ ssf_press_button (context, BUTTON_HOME, settings_to_home_delay, 80ms);
139+ }
140+ void touch_date_from_home (
141+ ConsoleHandle& console, ProControllerContext& context,
142+ Milliseconds settings_to_home_delay
143+ ){
144+ ConsoleType type = console.state ().console_type ();
145+
146+ if (type == ConsoleType::Switch1){
147+ touch_date_from_home_switch1 (console, context, settings_to_home_delay);
148+ return ;
149+ }
150+
151+ if (is_switch2 (type)){
152+ touch_date_from_home_switch2 (console, context, settings_to_home_delay);
153+ return ;
154+ }
155+
156+ throw UserSetupError (
157+ console.logger (),
158+ " Please select a valid Switch console type."
159+ );
160+ }
161+
162+
163+
174164void rollback_hours_from_home (
175165 ConsoleHandle& console, ProControllerContext& context,
176166 uint8_t hours,
0 commit comments