diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory.cpp
index 2dd544912d..af66ebf51d 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory.cpp
@@ -393,7 +393,6 @@ AutoStory::~AutoStory(){
STARTPOINT_MAINSTORY.remove_listener(*this);
ENDPOINT_MAINSTORY.remove_listener(*this);
ENABLE_TEST_CHECKPOINTS.remove_listener(*this);
- ENABLE_TEST_REALIGN.remove_listener(*this);
ENABLE_MISC_TEST.remove_listener(*this);
TEST_PBF_LEFT_JOYSTICK.remove_listener(*this);
TEST_PBF_JOYSTICK2.remove_listener(*this);
@@ -570,36 +569,6 @@ AutoStory::AutoStory()
LockMode::UNLOCK_WHILE_RUNNING,
11
)
- , ENABLE_TEST_REALIGN(
- "TEST: realign_player():",
- LockMode::UNLOCK_WHILE_RUNNING,
- false
- )
- , REALIGN_MODE(
- "--REALIGN_MODE:",
- {
- {PlayerRealignMode::REALIGN_NEW_MARKER, "realign_new", "Realign New Marker"},
- {PlayerRealignMode::REALIGN_NO_MARKER, "realign_no", "Realign No Marker"},
- {PlayerRealignMode::REALIGN_OLD_MARKER, "realign_old", "Realign Old Marker"},
- },
- LockMode::UNLOCK_WHILE_RUNNING,
- PlayerRealignMode::REALIGN_NEW_MARKER
- )
- , X_REALIGN(
- "--X_REALIGN:
x = 0 : left, x = 128 : neutral, x = 255 : right.",
- LockMode::UNLOCK_WHILE_RUNNING,
- 128
- )
- , Y_REALIGN(
- "--Y_REALIGN:
y = 0 : up, y = 128 : neutral, y = 255 : down.",
- LockMode::UNLOCK_WHILE_RUNNING,
- 128
- )
- , REALIGN_DURATION(
- "--REALIGN_DURATION",
- LockMode::UNLOCK_WHILE_RUNNING,
- 0
- )
, ENABLE_MISC_TEST(
"TEST: Miscellaneous test code:",
LockMode::UNLOCK_WHILE_RUNNING,
@@ -616,22 +585,22 @@ AutoStory::AutoStory()
false
)
, X_MOVE(
- "--X_MOVE:
x = 0 : left, x = 128 : neutral, x = 255 : right.",
+ "--X_MOVE:
x = -1 : left, x = 0 : neutral, x = +1 : right.",
LockMode::UNLOCK_WHILE_RUNNING,
- 128
+ 0
)
, Y_MOVE(
- "--Y_MOVE:
y = 0 : up, y = 128 : neutral, y = 255 : down.",
+ "--Y_MOVE:
y = -1 : down, y = 0 : neutral, y = +1 : up.",
LockMode::UNLOCK_WHILE_RUNNING,
- 128
+ 0
)
- , HOLD_TICKS(
- "--HOLD_TICKS:",
+ , HOLD(
+ "--HOLD (ms):",
LockMode::UNLOCK_WHILE_RUNNING,
0
)
- , RELEASE_TICKS(
- "--RELEASE_TICKS:",
+ , RELEASE(
+ "--RELEASE (ms):",
LockMode::UNLOCK_WHILE_RUNNING,
0
)
@@ -641,22 +610,22 @@ AutoStory::AutoStory()
false
)
, X_MOVE2(
- "--X_MOVE:
x = 0 : left, x = 128 : neutral, x = 255 : right.",
+ "--X_MOVE:
x = -1 : left, x = 0 : neutral, x = +1 : right.",
LockMode::UNLOCK_WHILE_RUNNING,
- 128
+ 0
)
, Y_MOVE2(
- "--Y_MOVE:
y = 0 : up, y = 128 : neutral, y = 255 : down.",
+ "--Y_MOVE:
y = -1 : down, y = 0 : neutral, y = +1 : up.",
LockMode::UNLOCK_WHILE_RUNNING,
- 128
+ 0
)
- , HOLD_TICKS2(
- "--HOLD_TICKS:",
+ , HOLD2(
+ "--HOLD (ms):",
LockMode::UNLOCK_WHILE_RUNNING,
0
)
- , RELEASE_TICKS2(
- "--RELEASE_TICKS:",
+ , RELEASE2(
+ "--RELEASE (ms):",
LockMode::UNLOCK_WHILE_RUNNING,
0
)
@@ -746,14 +715,14 @@ AutoStory::AutoStory()
PA_ADD_OPTION(TEST_PBF_LEFT_JOYSTICK);
PA_ADD_OPTION(X_MOVE);
PA_ADD_OPTION(Y_MOVE);
- PA_ADD_OPTION(HOLD_TICKS);
- PA_ADD_OPTION(RELEASE_TICKS);
+ PA_ADD_OPTION(HOLD);
+ PA_ADD_OPTION(RELEASE);
PA_ADD_OPTION(TEST_PBF_JOYSTICK2);
PA_ADD_OPTION(X_MOVE2);
PA_ADD_OPTION(Y_MOVE2);
- PA_ADD_OPTION(HOLD_TICKS2);
- PA_ADD_OPTION(RELEASE_TICKS2);
+ PA_ADD_OPTION(HOLD2);
+ PA_ADD_OPTION(RELEASE2);
PA_ADD_OPTION(ENABLE_TEST_CHECKPOINTS);
PA_ADD_OPTION(START_CHECKPOINT);
@@ -762,14 +731,8 @@ AutoStory::AutoStory()
PA_ADD_OPTION(START_LOOP);
PA_ADD_OPTION(END_LOOP);
- // PA_ADD_OPTION(ENABLE_TEST_REALIGN);
- // PA_ADD_OPTION(REALIGN_MODE);
- // PA_ADD_OPTION(X_REALIGN);
- // PA_ADD_OPTION(Y_REALIGN);
- // PA_ADD_OPTION(REALIGN_DURATION);
PA_ADD_OPTION(ENABLE_MISC_TEST);
- // PA_ADD_OPTION(FORWARD_TICKS);
PA_ADD_OPTION(m_advanced_options_end);
}
@@ -821,7 +784,6 @@ AutoStory::AutoStory()
ENABLE_ADVANCED_MODE.add_listener(*this);
ENABLE_TEST_CHECKPOINTS.add_listener(*this);
- ENABLE_TEST_REALIGN.add_listener(*this);
ENABLE_MISC_TEST.add_listener(*this);
TEST_PBF_LEFT_JOYSTICK.add_listener(*this);
TEST_PBF_JOYSTICK2.add_listener(*this);
@@ -876,17 +838,6 @@ void AutoStory::on_config_value_changed(void* object){
END_LOOP.set_visibility(ConfigOptionState::DISABLED);
}
- if (ENABLE_TEST_REALIGN){
- REALIGN_MODE.set_visibility(ConfigOptionState::ENABLED);
- X_REALIGN.set_visibility(ConfigOptionState::ENABLED);
- Y_REALIGN.set_visibility(ConfigOptionState::ENABLED);
- REALIGN_DURATION.set_visibility(ConfigOptionState::ENABLED);
- }else{
- REALIGN_MODE.set_visibility(ConfigOptionState::DISABLED);
- X_REALIGN.set_visibility(ConfigOptionState::DISABLED);
- Y_REALIGN.set_visibility(ConfigOptionState::DISABLED);
- REALIGN_DURATION.set_visibility(ConfigOptionState::DISABLED);
- }
if (ENABLE_MISC_TEST){
FORWARD_TICKS.set_visibility(ConfigOptionState::ENABLED);
@@ -897,25 +848,25 @@ void AutoStory::on_config_value_changed(void* object){
if (TEST_PBF_LEFT_JOYSTICK){
X_MOVE.set_visibility(ConfigOptionState::ENABLED);
Y_MOVE.set_visibility(ConfigOptionState::ENABLED);
- HOLD_TICKS.set_visibility(ConfigOptionState::ENABLED);
- RELEASE_TICKS.set_visibility(ConfigOptionState::ENABLED);
+ HOLD.set_visibility(ConfigOptionState::ENABLED);
+ RELEASE.set_visibility(ConfigOptionState::ENABLED);
}else{
X_MOVE.set_visibility(ConfigOptionState::DISABLED);
Y_MOVE.set_visibility(ConfigOptionState::DISABLED);
- HOLD_TICKS.set_visibility(ConfigOptionState::DISABLED);
- RELEASE_TICKS.set_visibility(ConfigOptionState::DISABLED);
+ HOLD.set_visibility(ConfigOptionState::DISABLED);
+ RELEASE.set_visibility(ConfigOptionState::DISABLED);
}
if (TEST_PBF_JOYSTICK2){
X_MOVE2.set_visibility(ConfigOptionState::ENABLED);
Y_MOVE2.set_visibility(ConfigOptionState::ENABLED);
- HOLD_TICKS2.set_visibility(ConfigOptionState::ENABLED);
- RELEASE_TICKS2.set_visibility(ConfigOptionState::ENABLED);
+ HOLD2.set_visibility(ConfigOptionState::ENABLED);
+ RELEASE2.set_visibility(ConfigOptionState::ENABLED);
}else{
X_MOVE2.set_visibility(ConfigOptionState::DISABLED);
Y_MOVE2.set_visibility(ConfigOptionState::DISABLED);
- HOLD_TICKS2.set_visibility(ConfigOptionState::DISABLED);
- RELEASE_TICKS2.set_visibility(ConfigOptionState::DISABLED);
+ HOLD2.set_visibility(ConfigOptionState::DISABLED);
+ RELEASE2.set_visibility(ConfigOptionState::DISABLED);
}
@@ -1261,12 +1212,12 @@ void AutoStory::test_code(SingleSwitchProgramEnvironment& env, ProControllerCont
}
if (TEST_PBF_LEFT_JOYSTICK){
- pbf_move_left_joystick_old(context, X_MOVE, Y_MOVE, HOLD_TICKS * 8ms, RELEASE_TICKS * 8ms);
+ pbf_move_left_joystick(context, {X_MOVE, Y_MOVE}, Milliseconds(HOLD), Milliseconds(RELEASE));
return;
}
if (TEST_PBF_JOYSTICK2){
- pbf_move_left_joystick_old(context, X_MOVE2, Y_MOVE2, HOLD_TICKS2 * 8ms, RELEASE_TICKS2 * 8ms);
+ pbf_move_left_joystick(context, {X_MOVE2, Y_MOVE2}, Milliseconds(HOLD2), Milliseconds(RELEASE2));
return;
}
@@ -1276,14 +1227,7 @@ void AutoStory::test_code(SingleSwitchProgramEnvironment& env, ProControllerCont
GO_HOME_WHEN_DONE.run_end_of_program(context);
return;
}
-
- if (ENABLE_TEST_REALIGN){
- // clear realign marker
- // realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 128, 128, 0);
- realign_player(env.program_info(), env.console, context, REALIGN_MODE, X_REALIGN, Y_REALIGN, REALIGN_DURATION);
- return;
- }
if (ENABLE_MISC_TEST){
// walk_forward_while_clear_front_path(env.program_info(), env.console, context, FORWARD_TICKS);
@@ -1325,7 +1269,7 @@ void AutoStory::program(SingleSwitchProgramEnvironment& env, ProControllerContex
// test code
- if (TEST_FLYPOINT_LOCATIONS || TEST_MOVE_CURSOR_OFFSET_FROM_FLYPOINT || ENABLE_TEST_CHECKPOINTS || ENABLE_TEST_REALIGN || ENABLE_MISC_TEST || TEST_PBF_LEFT_JOYSTICK || TEST_PBF_JOYSTICK2 || TEST_CHANGE_DIRECTION || TEST_CURRENT_DIRECTION){
+ if (TEST_FLYPOINT_LOCATIONS || TEST_MOVE_CURSOR_OFFSET_FROM_FLYPOINT || ENABLE_TEST_CHECKPOINTS || ENABLE_MISC_TEST || TEST_PBF_LEFT_JOYSTICK || TEST_PBF_JOYSTICK2 || TEST_CHANGE_DIRECTION || TEST_CURRENT_DIRECTION){
test_code(env, context);
return;
}
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory.h b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory.h
index 818491dd91..3f9709d11a 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory.h
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory.h
@@ -120,26 +120,21 @@ class AutoStory : public SingleSwitchProgramInstance, public ConfigOption::Liste
SimpleIntegerOption START_LOOP;
SimpleIntegerOption END_LOOP;
- BooleanCheckBoxOption ENABLE_TEST_REALIGN;
- EnumDropdownOption REALIGN_MODE;
- SimpleIntegerOption X_REALIGN;
- SimpleIntegerOption Y_REALIGN;
- SimpleIntegerOption REALIGN_DURATION;
BooleanCheckBoxOption ENABLE_MISC_TEST;
SimpleIntegerOption FORWARD_TICKS;
BooleanCheckBoxOption TEST_PBF_LEFT_JOYSTICK;
- SimpleIntegerOption X_MOVE;
- SimpleIntegerOption Y_MOVE;
- SimpleIntegerOption HOLD_TICKS;
- SimpleIntegerOption RELEASE_TICKS;
+ FloatingPointOption X_MOVE;
+ FloatingPointOption Y_MOVE;
+ SimpleIntegerOption HOLD;
+ SimpleIntegerOption RELEASE;
BooleanCheckBoxOption TEST_PBF_JOYSTICK2;
- SimpleIntegerOption X_MOVE2;
- SimpleIntegerOption Y_MOVE2;
- SimpleIntegerOption HOLD_TICKS2;
- SimpleIntegerOption RELEASE_TICKS2;
+ FloatingPointOption X_MOVE2;
+ FloatingPointOption Y_MOVE2;
+ SimpleIntegerOption HOLD2;
+ SimpleIntegerOption RELEASE2;
BooleanCheckBoxOption TEST_CURRENT_DIRECTION;
BooleanCheckBoxOption TEST_CHANGE_DIRECTION;
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStoryTools.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStoryTools.cpp
index b881cc278d..296c70b081 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStoryTools.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStoryTools.cpp
@@ -274,9 +274,8 @@ bool confirm_marker_present(
void realign_player(const ProgramInfo& info, VideoStream& stream, ProControllerContext& context,
PlayerRealignMode realign_mode,
- uint8_t move_x, uint8_t move_y, uint16_t move_duration_ticks
+ double move_x, double move_y, Milliseconds move_duration
){
- Milliseconds move_duration = move_duration_ticks * 8ms;
stream.log("Realigning player direction...");
switch (realign_mode){
case PlayerRealignMode::REALIGN_NEW_MARKER:
@@ -288,7 +287,7 @@ void realign_player(const ProgramInfo& info, VideoStream& stream, ProControllerC
});
pbf_press_button(context, BUTTON_ZR, 160ms, 840ms);
- pbf_move_left_joystick_old(context, move_x, move_y, move_duration, 1000ms);
+ pbf_move_left_joystick(context, {move_x, move_y}, move_duration, 1000ms);
pbf_press_button(context, BUTTON_A, 160ms, 840ms);
pbf_press_button(context, BUTTON_A, 160ms, 840ms);
@@ -311,7 +310,7 @@ void realign_player(const ProgramInfo& info, VideoStream& stream, ProControllerC
pbf_press_button(context, BUTTON_L, 160ms, 840ms);
return;
case PlayerRealignMode::REALIGN_NO_MARKER:
- pbf_move_left_joystick_old(context, move_x, move_y, move_duration, 1000ms);
+ pbf_move_left_joystick(context, {move_x, move_y}, move_duration, 1000ms);
pbf_press_button(context, BUTTON_L, 160ms, 840ms);
return;
}
@@ -325,7 +324,7 @@ void overworld_navigation(
ProControllerContext& context,
NavigationStopCondition stop_condition,
NavigationMovementMode movement_mode,
- uint8_t x, uint8_t y,
+ double x, double y,
uint16_t seconds_timeout, uint16_t seconds_realign,
bool auto_heal,
bool detect_wipeout
@@ -366,7 +365,7 @@ void overworld_navigation(
if (movement_mode == NavigationMovementMode::CLEAR_WITH_LETS_GO){
walk_forward_while_clear_front_path(info, stream, context, forward_duration, y);
}else{
- ssf_press_left_joystick_old(context, x, y, 0ms, Seconds(seconds_realign));
+ ssf_press_left_joystick(context, {x, y}, 0ms, Seconds(seconds_realign));
if (movement_mode == NavigationMovementMode::DIRECTIONAL_ONLY){
pbf_wait(context, Seconds(seconds_realign));
} else if (movement_mode == NavigationMovementMode::DIRECTIONAL_SPAM_A){
@@ -1204,10 +1203,10 @@ void realign_player_from_landmark(
case ZoomChange::KEEP_ZOOM:
break;
}
- uint8_t move_x1 = move_cursor_near_landmark.move_x;
- uint8_t move_y1 = move_cursor_near_landmark.move_y;
+ double move_x1 = move_cursor_near_landmark.move_x;
+ double move_y1 = move_cursor_near_landmark.move_y;
Milliseconds move_duration1 = move_cursor_near_landmark.move_duration;
- pbf_move_left_joystick_old(context, move_x1, move_y1, move_duration1, 1000ms);
+ pbf_move_left_joystick(context, {move_x1, move_y1}, move_duration1, 1000ms);
// move cursor to pokecenter
double push_scale = 0.29 * adjustment_table[try_count];
@@ -1240,10 +1239,10 @@ void realign_player_from_landmark(
case ZoomChange::KEEP_ZOOM:
break;
}
- uint8_t move_x2 = move_cursor_to_target.move_x;
- uint8_t move_y2 = move_cursor_to_target.move_y;
+ double move_x2 = move_cursor_to_target.move_x;
+ double move_y2 = move_cursor_to_target.move_y;
Milliseconds move_duration2 = move_cursor_to_target.move_duration;
- pbf_move_left_joystick_old(context, move_x2, move_y2, move_duration2, 1000ms);
+ pbf_move_left_joystick(context, {move_x2, move_y2}, move_duration2, 1000ms);
// place down marker
pbf_press_button(context, BUTTON_A, 160ms, 840ms);
@@ -1334,10 +1333,10 @@ void move_cursor_towards_flypoint_and_go_there(
case ZoomChange::KEEP_ZOOM:
break;
}
- uint8_t move_x1 = move_cursor_near_flypoint.move_x;
- uint8_t move_y1 = move_cursor_near_flypoint.move_y;
+ double move_x1 = move_cursor_near_flypoint.move_x;
+ double move_y1 = move_cursor_near_flypoint.move_y;
Milliseconds move_duration1 = move_cursor_near_flypoint.move_duration;
- pbf_move_left_joystick_old(context, move_x1, move_y1, move_duration1, 1000ms);
+ pbf_move_left_joystick(context, {move_x1, move_y1}, move_duration1, 1000ms);
double push_scale = 0.29 * adjustment_table[try_count];
if (!fly_to_visible_closest_flypoint_cur_zoom_level(info, stream, context, fly_point, push_scale)){
@@ -1484,7 +1483,7 @@ void move_player_forward(
bool use_lets_go,
bool mash_A,
Milliseconds forward_duration,
- uint8_t y,
+ double y,
Milliseconds delay_after_forward_move,
Milliseconds delay_after_lets_go
){
@@ -1503,7 +1502,7 @@ void move_player_forward(
}
}else{
pbf_press_button(context, BUTTON_R, 160ms, delay_after_lets_go);
- pbf_move_left_joystick_old(context, 128, y, forward_duration, delay_after_forward_move);
+ pbf_move_left_joystick(context, {0, y}, forward_duration, delay_after_forward_move);
}
});
}catch (UnexpectedBattleException&){
@@ -1561,7 +1560,7 @@ void move_forward_until_yolo_object_above_min_size(
double min_width, double min_height,
std::function&& recovery_action,
Milliseconds forward_duration,
- uint8_t y,
+ double y,
Milliseconds delay_after_forward_move,
Milliseconds delay_after_lets_go
){
@@ -1602,7 +1601,7 @@ void move_forward_until_yolo_object_above_min_size(
return; // stop when the target is above a certain size. i.e. we are close enough to the target.
}
- pbf_move_left_joystick_old(context, 128, y, forward_duration, 0ms);
+ pbf_move_left_joystick(context, {0, y}, forward_duration, 0ms);
// pbf_press_button(context, BUTTON_R, 20, delay_after_lets_go);
// pbf_move_left_joystick(context, 128, y, forward_ticks, delay_after_forward_move);
});
@@ -1641,8 +1640,8 @@ void move_player_until_yolo_object_detected(
std::function&& recovery_action,
uint16_t max_rounds,
Milliseconds forward_duration,
- uint8_t x,
- uint8_t y,
+ double x,
+ double y,
Milliseconds delay_after_forward_move,
Milliseconds delay_after_lets_go
){
@@ -1665,7 +1664,7 @@ void move_player_until_yolo_object_detected(
- pbf_move_left_joystick_old(context, x, y, forward_duration, 0ms);
+ pbf_move_left_joystick(context, {x, y}, forward_duration, 0ms);
// pbf_press_button(context, BUTTON_R, 20, delay_after_lets_go);
// pbf_move_left_joystick(context, 128, y, forward_ticks, delay_after_forward_move);
});
@@ -1697,7 +1696,7 @@ void move_forward_until_yolo_object_not_detected(
size_t times_not_seen_threshold,
std::function&& recovery_action,
Milliseconds forward_duration,
- uint8_t y,
+ double y,
Milliseconds delay_after_forward_move,
Milliseconds delay_after_lets_go
){
@@ -1720,7 +1719,7 @@ void move_forward_until_yolo_object_not_detected(
}
}
- pbf_move_left_joystick_old(context, 128, y, forward_duration, 0ms);
+ pbf_move_left_joystick(context, {0, y}, forward_duration, 0ms);
// pbf_press_button(context, BUTTON_R, 20, delay_after_lets_go);
// pbf_move_left_joystick(context, 128, y, forward_ticks, delay_after_forward_move);
});
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStoryTools.h b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStoryTools.h
index 8d5f31e3e5..14241d4391 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStoryTools.h
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStoryTools.h
@@ -159,7 +159,7 @@ void realign_player(
const ProgramInfo& info,
VideoStream& stream, ProControllerContext& context,
PlayerRealignMode realign_mode,
- uint8_t move_x = 0, uint8_t move_y = 0, uint16_t move_duration = 0
+ double move_x = 0, double move_y = 0, Milliseconds move_duration = Milliseconds(0)
);
@@ -169,7 +169,7 @@ void realign_player(
void overworld_navigation(const ProgramInfo& info, VideoStream& stream, ProControllerContext& context,
NavigationStopCondition stop_condition,
NavigationMovementMode movement_mode,
- uint8_t x, uint8_t y,
+ double x, double y,
uint16_t seconds_timeout = 60, uint16_t seconds_realign = 60,
bool auto_heal = false,
bool detect_wipeout = false
@@ -397,7 +397,7 @@ void move_player_forward(
bool use_lets_go = false,
bool mash_A = false,
Milliseconds forward_duration = Milliseconds(800),
- uint8_t y = 0,
+ double y = +1,
Milliseconds delay_after_forward_move = Milliseconds(400),
Milliseconds delay_after_lets_go = Milliseconds(840)
);
@@ -426,7 +426,7 @@ void move_forward_until_yolo_object_above_min_size(
double min_width, double min_height,
std::function&& recovery_action,
Milliseconds forward_duration = Milliseconds(800),
- uint8_t y = 0,
+ double y = +1,
Milliseconds delay_after_forward_move = Milliseconds(400),
Milliseconds delay_after_lets_go = Milliseconds(840)
);
@@ -443,8 +443,8 @@ void move_player_until_yolo_object_detected(
std::function&& recovery_action,
uint16_t max_rounds,
Milliseconds forward_duration = Milliseconds(800),
- uint8_t x = 128,
- uint8_t y = 0,
+ double x = 0,
+ double y = +1,
Milliseconds delay_after_forward_move = Milliseconds(400),
Milliseconds delay_after_lets_go = Milliseconds(840)
);
@@ -461,7 +461,7 @@ void move_forward_until_yolo_object_not_detected(
size_t times_not_seen_threshold,
std::function&& recovery_action,
Milliseconds forward_duration = Milliseconds(800),
- uint8_t y = 0,
+ double y = +1,
Milliseconds delay_after_forward_move = Milliseconds(400),
Milliseconds delay_after_lets_go = Milliseconds(840)
);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_01.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_01.cpp
index 4ae0353379..57b454f676 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_01.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_01.cpp
@@ -131,7 +131,7 @@ void checkpoint_02(
env.console.log("Go to the kitchen, talk with mom");
env.console.overlay().add_log("Go to the kitchen, talk with mom", COLOR_WHITE);
pbf_move_left_joystick(context, {0, -1}, 2000ms, 160ms);
- walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 60000ms, 0, 128);
+ walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 60000ms, -1, 0);
env.console.log("clear_dialog: Talk with Mom.");
clear_dialog(env.console, context, ClearDialogMode::STOP_TIMEOUT, 5, {});
@@ -140,7 +140,7 @@ void checkpoint_02(
env.console.log("Go to the front door, talk with Clavell");
env.console.overlay().add_log("Go to the front door, talk with Clavell", COLOR_WHITE);
pbf_move_left_joystick(context, {+0.803, -0.567}, 2000ms, 160ms);
- walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 60000ms, 255, 128);
+ walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 60000ms, +1, 0);
env.console.log("clear_dialog: Talk with Clavell at front door.");
clear_dialog(env.console, context, ClearDialogMode::STOP_TIMEOUT, 5, {});
@@ -162,7 +162,7 @@ void checkpoint_02(
pbf_move_left_joystick(context, {-1, +1}, 3000ms, 160ms);
pbf_move_left_joystick(context, {-1, 0}, 3000ms, 160ms);
pbf_move_left_joystick(context, {0, -1}, 4000ms, 160ms);
- walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 60000ms, 0, 128);
+ walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 60000ms, -1, 0);
env.console.log("clear_dialog: Talk with Clavell at living room.");
clear_dialog(env.console, context, ClearDialogMode::STOP_TIMEOUT, 10, {});
@@ -170,7 +170,7 @@ void checkpoint_02(
context.wait_for_all_requests();
env.console.log("Go outside, receive Rotom Phone");
env.console.overlay().add_log("Go outside, receive Rotom Phone", COLOR_WHITE);
- walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 60000ms, 245, 230);
+ walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 60000ms, +0.921, -0.803);
env.console.log("clear_dialog: Talk with Clavell outside. Receive Rotom phone. Stop when detect overworld.");
clear_dialog(env.console, context, ClearDialogMode::STOP_OVERWORLD, 60, {CallbackEnum::OVERWORLD, CallbackEnum::WHITE_A_BUTTON});
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_03.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_03.cpp
index e89c3fdbe9..cbc0d472cc 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_03.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_03.cpp
@@ -113,11 +113,11 @@ void checkpoint_06(
context.wait_for_all_requests();
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 40, 82, 60);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -0.688, +0.359, 480ms);
pbf_move_left_joystick(context, {0, +1}, 6000ms, 160ms);
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 110, 10, 60);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -0.141, +0.922, 480ms);
env.console.log("overworld_navigation: Go to Nemona.");
- overworld_navigation(env.program_info(), env.console, context, NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY, 128, 0, 20, 20, true, true);
+ overworld_navigation(env.program_info(), env.console, context, NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY, 0, +1, 20, 20, true, true);
context.wait_for_all_requests();
env.console.log("clear_dialog: Talk with Nemona to start catch tutorial. Stop when detect battle.");
@@ -153,18 +153,18 @@ void checkpoint_07(
env.console.log("Move to cliff");
env.console.overlay().add_log("Move to cliff", COLOR_WHITE);
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 70, 100);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, +0.453, 800ms);
env.console.log("overworld_navigation: Go to cliff.");
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 135, 0, 24, 12, true, true);
+ +0.055, +1, 24, 12, true, true);
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 128, 0, 80);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, +1, 640ms);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 24, 12, true, true);
+ 0, +1, 24, 12, true, true);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 320ms, 400ms);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_04.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_04.cpp
index 71a8ad219c..06c8c3346c 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_04.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_04.cpp
@@ -81,9 +81,9 @@ void checkpoint_08(
context.wait_for_all_requests();
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 230, 70, 100);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +0.803, +0.453, 800ms);
env.console.log("overworld_navigation: Go to cliff.");
- overworld_navigation(env.program_info(), env.console, context, NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY, 128, 0, 30, 30, true, true);
+ overworld_navigation(env.program_info(), env.console, context, NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY, 0, +1, 30, 30, true, true);
env.console.log("Look over the injured Miraidon/Koraidon on the beach.");
clear_dialog(env.console, context, ClearDialogMode::STOP_TIMEOUT, 5, {});
@@ -136,10 +136,10 @@ void checkpoint_08(
do_action_and_monitor_for_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {0, +1}, 4800ms, 400ms);
- realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, 150, 20, 20);
+ realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, +0.173, +0.844, 160ms);
pbf_move_left_joystick(context, {0, +1}, 8000ms, 400ms);
- realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, 160, 20, 20);
- walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 60000ms, 128, 0);
+ realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, +0.252, +0.844, 160ms);
+ walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 60000ms, 0, +1);
}
);
@@ -153,7 +153,7 @@ void checkpoint_08(
stream.log("Rock break");
stream.overlay().add_log("Rock break", COLOR_WHITE);
pbf_move_left_joystick(context, {0, +0.844}, 3000ms, 160ms);
- realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, 230, 25, 30);
+ realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, +0.803, +0.805, 240ms);
pbf_move_left_joystick(context, {0, +1}, 2000ms, 5000ms);
// Houndour wave
@@ -161,19 +161,19 @@ void checkpoint_08(
stream.log("Houndour wave");
stream.overlay().add_log("Houndour wave", COLOR_WHITE);
// walk to room entrance
- realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, 150, 15, 30);
+ realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, +0.173, +0.883, 240ms);
pbf_move_left_joystick(context, {0, +0.844}, 4000ms, 2000ms);
- realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, 210, 15, 30);
+ realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, +0.646, +0.883, 240ms);
pbf_move_left_joystick(context, {0, +0.844}, 3000ms, 2000ms);
pbf_move_left_joystick(context, {0, +0.844}, 2000ms, 2000ms);
pbf_move_left_joystick(context, {0, +0.844}, 6000ms, 2000ms);
- realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, 200, 25, 20);
+ realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, +0.567, +0.805, 160ms);
pbf_move_left_joystick(context, {0, +0.844}, 4000ms, 2000ms);
pbf_move_left_joystick(context, {0, +0.844}, 4000ms, 2000ms);
- realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, 210, 25, 25);
+ realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, +0.646, +0.805, 200ms);
pbf_move_left_joystick(context, {0, +0.844}, 6000ms, 20000ms);
// Houndoom encounter
@@ -181,16 +181,16 @@ void checkpoint_08(
stream.log("Houndoom encounter");
stream.overlay().add_log("Houndoom encounter", COLOR_WHITE);
pbf_move_left_joystick(context, {0, +0.844}, 4000ms, 160ms);
- realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, 245, 20, 20);
+ realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, +0.921, +0.844, 160ms);
pbf_move_left_joystick(context, {0, +0.844}, 2000ms, 160ms);
- realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, 255, 90, 20);
+ realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NO_MARKER, +1, +0.297, 160ms);
pbf_move_left_joystick(context, {0, +0.844}, 8000ms, 8000ms);
pbf_press_button(context, BUTTON_L, 160ms, 160ms);
}
);
env.console.log("overworld_navigation: Go to Houndoom.");
- walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 60000ms, 128, 0);
+ walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 60000ms, 0, +1);
mash_button_till_overworld(env.console, context, BUTTON_A);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_05.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_05.cpp
index 62cde0ec12..24fef747a4 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_05.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_05.cpp
@@ -89,14 +89,14 @@ void checkpoint_09(
context.wait_for_all_requests();
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 110, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, +0.141, 400ms);
env.console.log("overworld_navigation: Go to Arven at the tower.");
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 60, 30, true, true);
+ 0, +1, 60, 30, true, true);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 320ms, 400ms);
@@ -131,7 +131,7 @@ void checkpoint_10(
env.console.overlay().add_log("Lighthouse view", COLOR_WHITE);
do_action_and_monitor_for_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NEW_MARKER, 230, 110, 100);
+ realign_player(env.program_info(), stream, context, PlayerRealignMode::REALIGN_NEW_MARKER, +0.803, +0.141, 800ms);
pbf_move_left_joystick(context, {0, +1}, 6000ms, 8000ms);
pbf_move_left_joystick(context, {0, +1}, 4000ms, 160ms);
}
@@ -140,7 +140,7 @@ void checkpoint_10(
direction.change_direction(env.program_info(), env.console, context, 5.41);
env.console.log("overworld_navigation: Go to Nemona on the lighthouse.");
- overworld_navigation(env.program_info(), env.console, context, NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_SPAM_A, 128, 0, 20, 20, true, true);
+ overworld_navigation(env.program_info(), env.console, context, NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_SPAM_A, 0, +1, 20, 20, true, true);
mash_button_till_overworld(env.console, context, BUTTON_A);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_06.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_06.cpp
index 66c8ae1c66..90b17512dc 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_06.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_06.cpp
@@ -80,12 +80,12 @@ void checkpoint_11(
context.wait_for_all_requests();
do_action_and_monitor_for_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(info, stream, context, PlayerRealignMode::REALIGN_NEW_MARKER, 100, 210, 100);
+ realign_player(info, stream, context, PlayerRealignMode::REALIGN_NEW_MARKER, -0.219, -0.646, 800ms);
pbf_move_left_joystick(context, {0, +1}, 1496ms, 160ms);
pbf_move_left_joystick(context, {-1, 0}, 240ms, 8000ms);
pbf_move_left_joystick(context, {0, +1}, 1000ms, 2000ms);
- realign_player(info, stream, context, PlayerRealignMode::REALIGN_NEW_MARKER, 100, 60, 200);
+ realign_player(info, stream, context, PlayerRealignMode::REALIGN_NEW_MARKER, -0.219, +0.531, 1600ms);
}
);
@@ -94,7 +94,7 @@ void checkpoint_11(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 75, 75, true, true);
+ 0, +1, 75, 75, true, true);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 320ms, 400ms);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_07.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_07.cpp
index 2cc2b932cb..05a14b2ebb 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_07.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_07.cpp
@@ -92,11 +92,11 @@ void checkpoint_12(
walk_forward_while_clear_front_path(env.program_info(), env.console, context, 280ms);
// place the marker elsewhere
- realign_player(info, env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 128, 50);
+ realign_player(info, env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, 0, 400ms);
DirectionDetector direction;
direction.change_direction(info, env.console, context, 0);
- walk_forward_while_clear_front_path(info, env.console, context, 26400ms, 0, 1000ms, 1000ms);
+ walk_forward_while_clear_front_path(info, env.console, context, 26400ms, +1, 1000ms, 1000ms);
// check we're not still at the Los Platos Pokecenter.
confirm_no_overlapping_flypoint(info, env.console, context);
@@ -106,9 +106,9 @@ void checkpoint_12(
press_Bs_to_back_to_overworld(info, env.console, context, 7);
direction.change_direction(info, env.console, context, 0.29);
- walk_forward_while_clear_front_path(info, env.console, context, 9600ms, 0, 1000ms, 1000ms);
+ walk_forward_while_clear_front_path(info, env.console, context, 9600ms, +1, 1000ms, 1000ms);
direction.change_direction(info, env.console, context, 0.61);
- walk_forward_while_clear_front_path(info, env.console, context, 9600ms, 0, 1000ms, 1000ms);
+ walk_forward_while_clear_front_path(info, env.console, context, 9600ms, +1, 1000ms, 1000ms);
fly_to_overlapping_flypoint(info, env.console, context);
}
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_08.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_08.cpp
index dfd64c820c..73faab9b50 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_08.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_08.cpp
@@ -103,7 +103,7 @@ void checkpoint_13(
fly_to_overlapping_flypoint(info, env.console, context);
context.wait_for_all_requests();
- realign_player(info, env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 80, 50);
+ realign_player(info, env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, +0.375, 400ms);
walk_forward_while_clear_front_path(info, env.console, context, 4000ms);
walk_forward_until_dialog(info, env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 30000ms);
});
@@ -137,19 +137,19 @@ void checkpoint_14(
context.wait_for_all_requests();
// realign diagonally to the left
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 80, 0, 100);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -0.375, +1, 800ms);
// walk forward so you're off center
pbf_move_left_joystick(context, {0, +1}, 800ms, 800ms);
// realign going straight
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 128, 0, 100);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, +1, 800ms);
// walk forward, while still off center
pbf_move_left_joystick(context, {0, +1}, 16000ms, 800ms);
// realign diagonally to the right
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 178, 0, 100);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +0.394, +1, 800ms);
// walk forward so you're closer to the center
pbf_move_left_joystick(context, {0, +1}, 1200ms, 800ms);
// realign going straight
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 128, 0, 100);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, +1, 800ms);
// walk forward until hit dialog at top of stairs
walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 60000ms);
// clear dialog until battle. with prompt, battle
@@ -184,11 +184,11 @@ void checkpoint_15(
context.wait_for_all_requests();
// realign diagonally to the right
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 178, 0, 100);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +0.394, +1, 800ms);
// walk forward so you're closer to the center
pbf_move_left_joystick(context, {0, +1}, 800ms, 800ms);
// realign going straight
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 128, 0, 100);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, +1, 800ms);
// walk forward up stairs
pbf_move_left_joystick(context, {0, +1}, 8000ms, 800ms);
// realign going straight
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_09.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_09.cpp
index f969c8646b..5a276e8f23 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_09.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_09.cpp
@@ -156,7 +156,7 @@ void checkpoint_17(
context.wait_for_all_requests();
// walk backwards until dialog
- walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 20000ms, 128, 255);
+ walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 20000ms, 0, -1);
env.console.log("Talk with Cassiopeia.");
mash_button_till_overworld(env.console, context, BUTTON_A, 360);
@@ -277,7 +277,7 @@ void checkpoint_20(
env.console.log("Leave dorm for schoolyard.");
mash_button_till_overworld(env.console, context, BUTTON_A, 360);
- walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 60000ms, 128, 0);
+ walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 60000ms, 0, +1);
env.console.log("Talk to Nemona, Arven, Cassiopeia.");
clear_dialog(env.console, context, ClearDialogMode::STOP_TIMEOUT, 16,
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_10.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_10.cpp
index c0f56c27b0..a50d04d51a 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_10.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_10.cpp
@@ -104,18 +104,18 @@ void checkpoint_21(
// get on ride
get_on_ride(env.program_info(), env.console, context);
// turn left
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NO_MARKER, 0, 128, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NO_MARKER, -1, 0, 400ms);
// move forward
pbf_move_left_joystick(context, {0, +1}, 800ms, 800ms);
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 200, 70);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, -0.567, 560ms);
pbf_move_left_joystick(context, {0, +1}, 3200ms, 800ms);
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 128, 70);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, 0, 560ms);
pbf_move_left_joystick(context, {0, +1}, 5600ms, 800ms);
// turn towards wall
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 128, 0, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, +1, 400ms);
pbf_move_left_joystick(context, {0, +1}, 1600ms, 800ms);
// run and jump over wall
pbf_controller_state(context, BUTTON_B, DPAD_NONE, {0, +1}, {0, 0}, 800ms);
@@ -158,41 +158,41 @@ void checkpoint_22(
// section 1
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 128, 640ms},
- {ZoomChange::KEEP_ZOOM, 255, 80, 296ms}
+ {ZoomChange::ZOOM_IN, -1, 0, 640ms},
+ {ZoomChange::KEEP_ZOOM, +1, +0.375, 296ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 20);
+ 0, +1, 40, 20);
// section 2
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 128, 320ms},
- {ZoomChange::KEEP_ZOOM, 255, 255, 216ms}
+ {ZoomChange::ZOOM_IN, -1, 0, 320ms},
+ {ZoomChange::KEEP_ZOOM, +1, -1, 216ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 15);
+ 0, +1, 30, 15);
// section 3. set marker to pokecenter
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 128, 128, 0ms},
- {ZoomChange::KEEP_ZOOM, 128, 128, 0ms}
+ {ZoomChange::ZOOM_IN, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 15);
+ 0, +1, 30, 15);
// section 3. set marker past pokecenter
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 70, 30);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, +0.453, 240ms);
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 20, 12, 12);
+ 0, +0.844, 12, 12);
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
@@ -216,23 +216,23 @@ void checkpoint_23(
// the landmark Pokecenter is far enough away from startpoint, that the map Pokemon don't cover it.
// section 1
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 110, 0, 30);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -0.141, +1, 240ms);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10);
+ 0, +1, 20, 10);
// section 2
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 128, 640ms},
- {ZoomChange::KEEP_ZOOM, 255, 95, 800ms}
+ {ZoomChange::ZOOM_IN, -1, 0, 640ms},
+ {ZoomChange::KEEP_ZOOM, +1, +0.258, 800ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10);
+ 0, +1, 20, 10);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, 0}, 320ms, 400ms);
@@ -243,14 +243,14 @@ void checkpoint_23(
// section 3
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 128, 640ms},
- {ZoomChange::KEEP_ZOOM, 255, 75, 520ms}
+ {ZoomChange::ZOOM_IN, -1, 0, 640ms},
+ {ZoomChange::KEEP_ZOOM, +1, +0.414, 520ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10);
+ 0, +1, 20, 10);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, 0}, 320ms, 400ms);
@@ -261,14 +261,14 @@ void checkpoint_23(
// section 4
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 128, 400ms},
- {ZoomChange::KEEP_ZOOM, 255, 180, 136ms}
+ {ZoomChange::ZOOM_IN, -1, 0, 400ms},
+ {ZoomChange::KEEP_ZOOM, +1, -0.409, 136ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10);
+ 0, +1, 40, 10);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, 0}, 320ms, 400ms);
@@ -279,14 +279,14 @@ void checkpoint_23(
// section 5. set marker to pokecenter
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 128, 128, 0ms},
- {ZoomChange::KEEP_ZOOM, 128, 128, 0ms}
+ {ZoomChange::ZOOM_IN, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10);
+ 0, +1, 20, 10);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, 0}, 320ms, 400ms);
@@ -297,11 +297,11 @@ void checkpoint_23(
// section 6. set marker past pokecenter
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 110, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, +0.141, 400ms);
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12);
+ 0, +0.883, 12, 12);
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_11.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_11.cpp
index 5da8b4cc89..dd5eda4d19 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_11.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_11.cpp
@@ -117,8 +117,8 @@ void checkpoint_24(
DirectionDetector direction;
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 0ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 0ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +1, 0ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +1, 0ms});
}
do_action_and_monitor_for_battles(env.program_info(), env.console, context,
@@ -176,10 +176,10 @@ void checkpoint_25(
context.wait_for_all_requests();
// section 1. align to Olive roll NPC
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 157, 0, 40);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +0.228, +1, 320ms);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10);
+ 0, +1, 40, 10);
// section 1.1. keep walking forward and talk to Olive roll NPC
do_action_and_monitor_for_battles(env.program_info(), env.console, context,
@@ -207,7 +207,7 @@ void checkpoint_25(
// section 5. battle first NPC
direction.change_direction(env.program_info(), env.console, context, 1.485);
- walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_SPAM_A, 10000ms, 128, 20);
+ walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_SPAM_A, 10000ms, 0, +0.844);
clear_dialog(env.console, context, ClearDialogMode::STOP_BATTLE, 60, {CallbackEnum::BATTLE, CallbackEnum::DIALOG_ARROW});
env.console.log("Battle Olive Roll NPC 1.");
run_trainer_battle_press_A(env.console, context, BattleStopCondition::STOP_DIALOG);
@@ -227,7 +227,7 @@ void checkpoint_25(
// section 9. battle second NPC
direction.change_direction(env.program_info(), env.console, context, 4.275);
- walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_SPAM_A, 10000ms, 128, 20);
+ walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_SPAM_A, 10000ms, 0, +0.844);
clear_dialog(env.console, context, ClearDialogMode::STOP_BATTLE, 60, {CallbackEnum::BATTLE, CallbackEnum::DIALOG_ARROW});
env.console.log("Battle Olive Roll NPC 2.");
run_trainer_battle_press_A(env.console, context, BattleStopCondition::STOP_DIALOG);
@@ -261,7 +261,7 @@ void checkpoint_26(
reset_game_from_home(env.program_info(), env.console, context);
// talk to Olive roll NPC
- walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_SPAM_A, 10000ms, 128, 20);
+ walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_SPAM_A, 10000ms, 0, +0.844);
mash_button_till_overworld(env.console, context, BUTTON_A);
// section 1
@@ -617,7 +617,7 @@ void checkpoint_27(
checkpoint_reattempt_loop(env, context, notif_status_update, stats,
[&](size_t attempt_number){
context.wait_for_all_requests();
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 255, 128, 320ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, +1, 0, 320ms});
});
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_12.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_12.cpp
index 929c7aa93e..f20adb2dd1 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_12.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_12.cpp
@@ -87,8 +87,8 @@ void checkpoint_28(
DirectionDetector direction;
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 0ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 0ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +1, 0ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +1, 0ms});
}
do_action_and_monitor_for_battles(env.program_info(), env.console, context,
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_13.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_13.cpp
index 369b4e4417..98eaf4e2a8 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_13.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_13.cpp
@@ -79,19 +79,19 @@ void checkpoint_29(
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 0ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 0ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +1, 0ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +1, 0ms});
}
// align for long stretch 1, part 1
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 70, 0, 60);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -0.453, +1, 480ms);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 15, false);
+ 0, +1, 30, 15, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -102,15 +102,15 @@ void checkpoint_29(
// align for long stretch 1, part 2
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 128, 255, 320ms},
- {ZoomChange::KEEP_ZOOM, 80, 0, 600ms}
+ {ZoomChange::ZOOM_IN, 0, -1, 320ms},
+ {ZoomChange::KEEP_ZOOM, -0.375, +1, 600ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 24, 12, false);
+ 0, +1, 24, 12, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -122,15 +122,15 @@ void checkpoint_29(
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 128, 255, 480ms},
- {ZoomChange::KEEP_ZOOM, 95, 0, 920ms}
+ {ZoomChange::ZOOM_IN, 0, -1, 480ms},
+ {ZoomChange::KEEP_ZOOM, -0.258, +1, 920ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 36, 12, false);
+ 0, +1, 36, 12, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -141,15 +141,15 @@ void checkpoint_29(
// align for long stretch 2
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 128, 255, 800ms},
- {ZoomChange::KEEP_ZOOM, 0, 105, 520ms}
+ {ZoomChange::ZOOM_IN, 0, -1, 800ms},
+ {ZoomChange::KEEP_ZOOM, -1, +0.18, 520ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 45, 15, false);
+ 0, +1, 45, 15, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -160,8 +160,8 @@ void checkpoint_29(
// align for long stretch 3, part 1
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 255, 128, 520ms},
- {ZoomChange::KEEP_ZOOM, 0, 50, 696ms}
+ {ZoomChange::ZOOM_IN, +1, 0, 520ms},
+ {ZoomChange::KEEP_ZOOM, -1, +0.609, 696ms}
);
@@ -169,7 +169,7 @@ void checkpoint_29(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -180,8 +180,8 @@ void checkpoint_29(
// align for long stretch 3, part 2
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 255, 160, 520ms},
- {ZoomChange::KEEP_ZOOM, 20, 0, 880ms}
+ {ZoomChange::ZOOM_IN, +1, -0.252, 520ms},
+ {ZoomChange::KEEP_ZOOM, -0.844, +1, 880ms}
);
@@ -189,7 +189,7 @@ void checkpoint_29(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -200,8 +200,8 @@ void checkpoint_29(
// align for long stretch 3, part 3
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 60, 880ms},
- {ZoomChange::KEEP_ZOOM, 255, 128, 920ms}
+ {ZoomChange::ZOOM_IN, -1, +0.531, 880ms},
+ {ZoomChange::KEEP_ZOOM, +1, 0, 920ms}
);
@@ -209,7 +209,7 @@ void checkpoint_29(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -226,7 +226,7 @@ void checkpoint_29(
//align for long stretch 3, part 4. just prior to bridge. {0.339062, 0.612037}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.339062, 0.612037}
);
@@ -236,7 +236,7 @@ void checkpoint_29(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 36, 12, false);
+ 0, +1, 36, 12, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -253,7 +253,7 @@ void checkpoint_29(
// align to cross bridge {0.385937, 0.615741}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.385937, 0.615741}
);
@@ -273,7 +273,7 @@ void checkpoint_29(
try {
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::CLEAR_WITH_LETS_GO,
- 128, 0, 20, 20, false);
+ 0, +1, 20, 20, false);
break;
@@ -290,14 +290,14 @@ void checkpoint_29(
// walk back to start position before bridge
// {0.310937, 0.580556} {0.310937, 0.589815} {0.310937, 0.584259}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.310937, 0.584259}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::CLEAR_WITH_LETS_GO,
- 128, 0, 20, 20, false);
+ 0, +1, 20, 20, false);
// // align to cross bridge
@@ -309,7 +309,7 @@ void checkpoint_29(
// align to cross bridge {0.385937, 0.615741}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.385937, 0.615741}
);
@@ -330,8 +330,8 @@ void checkpoint_29(
// align for post-bridge section 1
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 150, 480ms},
- {ZoomChange::KEEP_ZOOM, 255, 60, 400ms} // {ZoomChange::KEEP_ZOOM, 255, 60, 50}
+ {ZoomChange::ZOOM_IN, -1, -0.173, 480ms},
+ {ZoomChange::KEEP_ZOOM, +1, +0.531, 400ms} // {ZoomChange::KEEP_ZOOM, 255, 60, 50}
);
@@ -339,7 +339,7 @@ void checkpoint_29(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -351,8 +351,8 @@ void checkpoint_29(
// align for post-bridge section 2
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 150, 480ms},
- {ZoomChange::KEEP_ZOOM, 255, 105, 400ms}
+ {ZoomChange::ZOOM_IN, -1, -0.173, 480ms},
+ {ZoomChange::KEEP_ZOOM, +1, +0.18, 400ms}
);
@@ -360,7 +360,7 @@ void checkpoint_29(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -371,8 +371,8 @@ void checkpoint_29(
// align for post-bridge section 3. move up towards tree
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 128, 400ms},
- {ZoomChange::KEEP_ZOOM, 255, 90, 280ms}
+ {ZoomChange::ZOOM_IN, -1, 0, 400ms},
+ {ZoomChange::KEEP_ZOOM, +1, +0.297, 280ms}
);
@@ -380,7 +380,7 @@ void checkpoint_29(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -391,8 +391,8 @@ void checkpoint_29(
// align for post-bridge section 4
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 128, 400ms},
- {ZoomChange::KEEP_ZOOM, 255, 55, 200ms}
+ {ZoomChange::ZOOM_IN, -1, 0, 400ms},
+ {ZoomChange::KEEP_ZOOM, +1, +0.57, 200ms}
);
@@ -400,7 +400,7 @@ void checkpoint_29(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -413,8 +413,8 @@ void checkpoint_29(
// align for post-bridge section 5. set marker to pokecenter.
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 128, 400ms},
- {ZoomChange::KEEP_ZOOM, 128, 128, 0ms}
+ {ZoomChange::ZOOM_IN, -1, 0, 400ms},
+ {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}
);
@@ -422,7 +422,7 @@ void checkpoint_29(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -434,7 +434,7 @@ void checkpoint_29(
// align for post-bridge section 6. set marker past pokecenter
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 200, 30);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, -0.567, 240ms);
});
// realign_player_from_landmark(
// env.program_info(), env.console, context,
@@ -444,7 +444,7 @@ void checkpoint_29(
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12, false);
+ 0, +0.883, 12, 12, false);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_14.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_14.cpp
index 61216f580f..46925da493 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_14.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_14.cpp
@@ -87,48 +87,48 @@ void checkpoint_30(
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 255, 255, 800ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 800ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, +1, -1, 800ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +1, 800ms});
}
heal_at_pokecenter(env.program_info(), env.console, context);
// section 1
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 128, 17);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, 0, 136ms);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
// section 2
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 255, 200, 1600ms},
- {ZoomChange::KEEP_ZOOM, 0, 65, 1760ms}
+ {ZoomChange::ZOOM_IN, +1, -0.567, 1600ms},
+ {ZoomChange::KEEP_ZOOM, -1, +0.492, 1760ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
// section 3
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 255, 200, 1600ms},
- {ZoomChange::KEEP_ZOOM, 0, 80, 1880ms}
+ {ZoomChange::ZOOM_IN, +1, -0.567, 1600ms},
+ {ZoomChange::KEEP_ZOOM, -1, +0.375, 1880ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
// section 4. walk until Arven dialog
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 255, 200, 1600ms},
- {ZoomChange::KEEP_ZOOM, 0, 60, 2240ms}
+ {ZoomChange::ZOOM_IN, +1, -0.567, 1600ms},
+ {ZoomChange::KEEP_ZOOM, -1, +0.531, 2240ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
clear_dialog(env.console, context, ClearDialogMode::STOP_OVERWORLD, 30, {CallbackEnum::OVERWORLD, CallbackEnum::BLACK_DIALOG_BOX});
@@ -136,99 +136,99 @@ void checkpoint_30(
realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_OLD_MARKER);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 18, 6, false);
+ 0, +1, 18, 6, false);
// section 6
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 0ms},
- {ZoomChange::KEEP_ZOOM, 0, 20, 520ms}
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +0.844, 520ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
get_on_ride(env.program_info(), env.console, context);
// section 7
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 0ms},
- {ZoomChange::KEEP_ZOOM, 0, 30, 640ms}
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +0.766, 640ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
// section 8. enter left side of boulder field
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 255, 255, 400ms},
- {ZoomChange::KEEP_ZOOM, 0, 40, 760ms}
+ {ZoomChange::ZOOM_IN, +1, -1, 400ms},
+ {ZoomChange::KEEP_ZOOM, -1, +0.688, 760ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 18, 6, false);
+ 0, +1, 18, 6, false);
// section 8.1. move up
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 0, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, +1, 400ms);
pbf_move_left_joystick(context, {0, +1}, 800ms, 800ms);
// section 9. go to middle-right of boulder field
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 255, 255, 400ms},
- {ZoomChange::KEEP_ZOOM, 0, 15, 880ms}
+ {ZoomChange::ZOOM_IN, +1, -1, 400ms},
+ {ZoomChange::KEEP_ZOOM, -1, +0.883, 880ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 5, false);
+ 0, +1, 40, 5, false);
// // section 9.1. go to right edge of boulder field
- // realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 140, 0, 50);
+ // realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +0.094, +1, 400ms);
// pbf_move_left_joystick(context, {0, +1}, 1600ms, 800ms);
// section 10. walk up right edge
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 255, 255, 640ms},
- {ZoomChange::KEEP_ZOOM, 0, 12, 1040ms}
+ {ZoomChange::ZOOM_IN, +1, -1, 640ms},
+ {ZoomChange::KEEP_ZOOM, -1, +0.906, 1040ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 5, false);
+ 0, +1, 40, 5, false);
// section 10.1 walk up right edge. until hit rock
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 15, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, +0.883, 400ms);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 140, 0, 10, 5, false);
+ +0.094, +1, 10, 5, false);
// section 10.2. move away from rock.
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 80, 255, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -0.375, -1, 400ms);
pbf_move_left_joystick(context, {0, +1}, 1600ms, 800ms);
// section 11
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 255, 255, 800ms},
- {ZoomChange::KEEP_ZOOM, 0, 5, 1200ms}
+ {ZoomChange::ZOOM_IN, +1, -1, 800ms},
+ {ZoomChange::KEEP_ZOOM, -1, +0.961, 1200ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 5, false);
+ 0, +1, 40, 5, false);
// section 12. reach the top. battle Bombirdier
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 255, 255, 800ms},
- {ZoomChange::KEEP_ZOOM, 50, 0, 1360ms}
+ {ZoomChange::ZOOM_IN, +1, -1, 800ms},
+ {ZoomChange::KEEP_ZOOM, -0.609, +1, 1360ms}
);
try{
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_BATTLE, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 5, false);
+ 0, +1, 40, 5, false);
}catch (OperationFailedException& e){
(void) e;
// likely attempted to open/close phone to realign, but failed
@@ -237,7 +237,7 @@ void checkpoint_30(
// keep waiting until battle detected.
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_BATTLE, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 128, 30, 30, false);
+ 0, 0, 30, 30, false);
}
@@ -271,39 +271,39 @@ void checkpoint_31(
// section 1. fall down the mountain
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 255, 80, 1440ms},
- {ZoomChange::KEEP_ZOOM, 0, 170, 960ms}
+ {ZoomChange::ZOOM_IN, +1, +0.375, 1440ms},
+ {ZoomChange::KEEP_ZOOM, -1, -0.331, 960ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 50, 10, false);
+ 0, +1, 50, 10, false);
// section 2
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 255, 80, 800ms},
- {ZoomChange::KEEP_ZOOM, 0, 255, 440ms}
+ {ZoomChange::ZOOM_IN, +1, +0.375, 800ms},
+ {ZoomChange::KEEP_ZOOM, -1, -1, 440ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
// section 3. align to pokecenter
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 255, 0, 320ms},
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}
+ {ZoomChange::ZOOM_IN, +1, +1, 320ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
// section 4. set marker past pokecenter
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 60, 40);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, +0.531, 320ms);
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12, false);
+ 0, +0.883, 12, 12, false);
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_15.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_15.cpp
index 03d93f07b9..534f26cc09 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_15.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_15.cpp
@@ -118,53 +118,53 @@ void checkpoint_33(
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 80, 255, 680ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 180, 0, 680ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -0.375, -1, 680ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, +0.409, +1, 680ms});
}
// section 1
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 50, 0, 25);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -0.609, +1, 200ms);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
// section 2
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 0, 640ms},
- {ZoomChange::ZOOM_IN, 5, 230, 1160ms}
+ {ZoomChange::KEEP_ZOOM, +1, +1, 640ms},
+ {ZoomChange::ZOOM_IN, -0.961, -0.803, 1160ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
// section 3
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 0, 480ms},
- {ZoomChange::ZOOM_IN, 5, 205, 800ms}
+ {ZoomChange::KEEP_ZOOM, +1, +1, 480ms},
+ {ZoomChange::ZOOM_IN, -0.961, -0.606, 800ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
// section 4
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 128, 255, 320ms},
- {ZoomChange::KEEP_ZOOM, 255, 0, 880ms}
+ {ZoomChange::ZOOM_IN, 0, -1, 320ms},
+ {ZoomChange::KEEP_ZOOM, +1, +1, 880ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
mash_button_till_overworld(env.console, context, BUTTON_A, 360);
// section 5
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 255, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, -1, 400ms);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 30, false);
+ 0, +1, 30, 30, false);
// battle team star grunts
clear_dialog(env.console, context, ClearDialogMode::STOP_BATTLE, 60, {CallbackEnum::BATTLE, CallbackEnum::PROMPT_DIALOG, CallbackEnum::DIALOG_ARROW});
@@ -174,10 +174,10 @@ void checkpoint_33(
// enter the base
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 255, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, -1, 400ms);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_SPAM_A,
- 128, 0, 20, 20, false);
+ 0, +1, 20, 20, false);
clear_dialog(env.console, context, ClearDialogMode::STOP_OVERWORLD, 60, {CallbackEnum::OVERWORLD, CallbackEnum::PROMPT_DIALOG, CallbackEnum::TUTORIAL});
NoMinimapWatcher no_minimap(env.console.logger(), COLOR_RED, Milliseconds(250));
@@ -298,38 +298,38 @@ void checkpoint_34(
// section 1
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 128, 320ms},
- {ZoomChange::ZOOM_IN, 230, 0, 800ms}
+ {ZoomChange::KEEP_ZOOM, -1, 0, 320ms},
+ {ZoomChange::ZOOM_IN, +0.803, +1, 800ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
// section 2
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 100, 240ms},
- {ZoomChange::ZOOM_IN, 0, 240, 320ms}
+ {ZoomChange::KEEP_ZOOM, +1, +0.219, 240ms},
+ {ZoomChange::ZOOM_IN, -1, -0.882, 320ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
// section 3. set marker to pokecenter
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
- {ZoomChange::ZOOM_IN, 0, 0, 0ms}
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
// section 4. set marker past pokecenter
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 40, 100);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, +0.688, 800ms);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12, false);
+ 0, +0.883, 12, 12, false);
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_16.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_16.cpp
index ffddacdf91..037a5fa5dd 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_16.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_16.cpp
@@ -91,8 +91,8 @@ void checkpoint_35(
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 0ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 0ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +1, 0ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +1, 0ms});
}
do_action_and_monitor_for_battles(env.program_info(), env.console, context,
@@ -136,37 +136,37 @@ void checkpoint_36(
// At this startpoint, no Pokemon show up on minimap/map
// fly from Cascaraffa Gym to Cascaraffa North Pokecenter
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, 100, 0, 640ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, -0.219, +1, 640ms});
// section 1
// warning: can't reliably set the marker when in Cascarrafa, possibly due to too many NPCs. worse when sandstorm is up.
// what happens is that the program doesn't reliably push the cursor as much as it should
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 135, 410);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, -0.055, 3280ms);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 60, 20, false);
+ 0, +1, 60, 20, false);
// talk to Arven over phone
mash_button_till_overworld(env.console, context, BUTTON_A, 360);
// section 2
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 640ms},
- {ZoomChange::ZOOM_IN, 255, 255, 880ms}
+ {ZoomChange::KEEP_ZOOM, -1, +1, 640ms},
+ {ZoomChange::ZOOM_IN, +1, -1, 880ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 60, 20, false);
+ 0, +1, 60, 20, false);
// section 3
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 320ms},
- {ZoomChange::ZOOM_IN, 255, 128, 360ms}
+ {ZoomChange::KEEP_ZOOM, -1, +1, 320ms},
+ {ZoomChange::ZOOM_IN, +1, 0, 360ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
// cutscene with Kofu looking at flowers
mash_button_till_overworld(env.console, context, BUTTON_A, 360);
@@ -174,18 +174,18 @@ void checkpoint_36(
// section 4. set marker to pokecenter
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
- {ZoomChange::ZOOM_IN, 0, 0, 0ms}
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
// section 5. set marker past pokecenter
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 100, 30);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, +0.219, 240ms);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12, false);
+ 0, +0.883, 12, 12, false);
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_17.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_17.cpp
index 11a8cf99c2..c4a7dd99f2 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_17.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_17.cpp
@@ -90,13 +90,13 @@ void checkpoint_37(
DirectionDetector direction;
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, 255, 128, 400ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, 0, 128, 640ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, +1, 0, 400ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, -1, 0, 640ms});
}
do_action_and_monitor_for_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 255, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, -1, 400ms);
// section 1
direction.change_direction(env.program_info(), env.console, context, 1.606);
@@ -110,9 +110,9 @@ void checkpoint_37(
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
// section 3. set marker to shop/Kofu
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 140, 27);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, -0.094, 216ms);
walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 20000ms);
clear_dialog(env.console, context, ClearDialogMode::STOP_BATTLE, 60, {CallbackEnum::BATTLE, CallbackEnum::PROMPT_DIALOG, CallbackEnum::DIALOG_ARROW});
@@ -135,7 +135,7 @@ void checkpoint_38(
checkpoint_reattempt_loop(env, context, notif_status_update, stats,
[&](size_t attempt_number){
context.wait_for_all_requests();
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 255, 180, 1360ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, +1, -0.409, 1360ms});
DirectionDetector direction;
// recently flew a significant distance, so minimap should be clear of Pokemon
@@ -191,7 +191,7 @@ void checkpoint_38(
wait_for_overworld(env.program_info(), env.console, context, 30);
// fly to Porto Marinada pokecenter
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 80, 1200ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +0.375, 1200ms});
});
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_18.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_18.cpp
index 736412b056..162e2fb1f7 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_18.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_18.cpp
@@ -102,21 +102,21 @@ void checkpoint_39(
});
// section 2
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 230, 120);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, -0.803, 960ms);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 60, 10, false);
+ 0, +1, 60, 10, false);
// section 3. enter circle
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 400ms},
- {ZoomChange::ZOOM_IN, 175, 255, 960ms}
+ {ZoomChange::KEEP_ZOOM, -1, +1, 400ms},
+ {ZoomChange::ZOOM_IN, +0.37, -1, 960ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 60, 10, false);
+ 0, +1, 60, 10, false);
DialogBoxWatcher dialog(COLOR_RED, true);
@@ -134,64 +134,64 @@ void checkpoint_39(
// std::cout << "1:00" << std::endl;
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 0, 400ms},
- {ZoomChange::ZOOM_IN, 160, 255, 720ms}
+ {ZoomChange::KEEP_ZOOM, 0, +1, 400ms},
+ {ZoomChange::ZOOM_IN, +0.252, -1, 720ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 36, 12, false);
+ 0, +1, 36, 12, false);
// std::cout << "11:00" << std::endl;
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 0, 400ms},
- {ZoomChange::ZOOM_IN, 135, 255, 720ms}
+ {ZoomChange::KEEP_ZOOM, 0, +1, 400ms},
+ {ZoomChange::ZOOM_IN, +0.055, -1, 720ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
// std::cout << "10:00" << std::endl;
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 0, 400ms},
- {ZoomChange::ZOOM_IN, 120, 255, 840ms}
+ {ZoomChange::KEEP_ZOOM, 0, +1, 400ms},
+ {ZoomChange::ZOOM_IN, -0.062, -1, 840ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
// std::cout << "7:00" << std::endl;
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 0, 400ms},
- {ZoomChange::ZOOM_IN, 115, 255, 1016ms}
+ {ZoomChange::KEEP_ZOOM, 0, +1, 400ms},
+ {ZoomChange::ZOOM_IN, -0.102, -1, 1016ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 48, 12, false);
+ 0, +1, 48, 12, false);
// std::cout << "6:00" << std::endl;
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 0, 400ms},
- {ZoomChange::ZOOM_IN, 135, 255, 1096ms}
+ {ZoomChange::KEEP_ZOOM, 0, +1, 400ms},
+ {ZoomChange::ZOOM_IN, +0.055, -1, 1096ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
// std::cout << "2:00" << std::endl;
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 0, 400ms},
- {ZoomChange::ZOOM_IN, 200, 255, 960ms}
+ {ZoomChange::KEEP_ZOOM, 0, +1, 400ms},
+ {ZoomChange::ZOOM_IN, +0.567, -1, 960ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 50, 10, false);
+ 0, +1, 50, 10, false);
}
},
@@ -216,23 +216,23 @@ void checkpoint_39(
// section 5
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 0, 320ms},
- {ZoomChange::ZOOM_IN, 122, 255, 1040ms}
+ {ZoomChange::KEEP_ZOOM, 0, +1, 320ms},
+ {ZoomChange::ZOOM_IN, -0.047, -1, 1040ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
// section 6
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 0, 400ms},
- {ZoomChange::ZOOM_IN, 90, 255, 1360ms}
+ {ZoomChange::KEEP_ZOOM, 0, +1, 400ms},
+ {ZoomChange::ZOOM_IN, -0.297, -1, 1360ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 40, false);
+ 0, +1, 40, 40, false);
// battle the titan phase 2
clear_dialog(env.console, context, ClearDialogMode::STOP_BATTLE, 60, {CallbackEnum::BATTLE});
@@ -259,10 +259,10 @@ void checkpoint_40(
context.wait_for_all_requests();
// fly to Mesagoza East from Great Tusk/Iron Treads
// this clears Pokemon in minimap
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 255, 185, 3520ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, +1, -0.449, 3520ms});
// place down marker, for section 1
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 180, 90);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, -0.409, 720ms);
DirectionDetector direction;
// recently flew a significant distance, so minimap should be clear of Pokemon, or at least the Pokemon have been reset
@@ -283,7 +283,7 @@ void checkpoint_40(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, 0}, 320ms, 400ms);
@@ -294,14 +294,14 @@ void checkpoint_40(
// section 2
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 128, 320ms},
- {ZoomChange::ZOOM_IN, 255, 140, 800ms}
+ {ZoomChange::KEEP_ZOOM, -1, 0, 320ms},
+ {ZoomChange::ZOOM_IN, +1, -0.094, 800ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, 0}, 320ms, 400ms);
@@ -312,14 +312,14 @@ void checkpoint_40(
// section 3
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 150, 400ms},
- {ZoomChange::ZOOM_IN, 255, 90, 960ms}
+ {ZoomChange::KEEP_ZOOM, -1, -0.173, 400ms},
+ {ZoomChange::ZOOM_IN, +1, +0.297, 960ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, +1}, 320ms, 400ms);
@@ -330,15 +330,15 @@ void checkpoint_40(
// section 4. set marker to pokecenter
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 255, 50, 240ms},
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}
+ {ZoomChange::ZOOM_IN, +1, +0.609, 240ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, +1}, 320ms, 400ms);
@@ -349,11 +349,11 @@ void checkpoint_40(
// section 5. set marker past pokecenter
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 160, 40);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, -0.252, 320ms);
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
+ 0, +0.883, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_19.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_19.cpp
index 9223f88910..0c71ff2e6b 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_19.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_19.cpp
@@ -96,8 +96,8 @@ void checkpoint_41(
DirectionDetector direction;
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 128, 480ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 255, 128, 480ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, 0, 480ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, +1, 0, 480ms});
}
direction.change_direction(env.program_info(), env.console, context, 0.14);
@@ -115,7 +115,7 @@ void checkpoint_41(
//{0.242708, 0.690741}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 128, 0ms},
+ {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
FlyPoint::FAST_TRAVEL,
{0.242708, 0.690741}
);
@@ -123,7 +123,7 @@ void checkpoint_41(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 320ms, 400ms);
@@ -140,7 +140,7 @@ void checkpoint_41(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 320ms, 400ms);
@@ -151,7 +151,7 @@ void checkpoint_41(
// section 4
// {0.793229, 0.643519}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 128, 240ms},
+ {ZoomChange::KEEP_ZOOM, +1, 0, 240ms},
FlyPoint::POKECENTER,
{0.793229, 0.643519}
);
@@ -159,7 +159,7 @@ void checkpoint_41(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 20, false);
+ 0, +1, 40, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {0, -1}, 400ms, 400ms);
@@ -171,7 +171,7 @@ void checkpoint_41(
// section 5
// {0.710938, 0.584259}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 128, 240ms},
+ {ZoomChange::KEEP_ZOOM, +1, 0, 240ms},
FlyPoint::POKECENTER,
{0.710938, 0.584259}
);
@@ -179,7 +179,7 @@ void checkpoint_41(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 320ms, 400ms);
@@ -190,7 +190,7 @@ void checkpoint_41(
// section 6
//{0.670312, 0.678704}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 128, 0ms},
+ {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
FlyPoint::POKECENTER,
{0.670312, 0.678704}
);
@@ -198,7 +198,7 @@ void checkpoint_41(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 24, 8, false);
+ 0, +1, 24, 8, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {0, -1}, 400ms, 400ms);
@@ -210,14 +210,14 @@ void checkpoint_41(
// section 7. walk up to Klawf on the lower wall, so it moves to the high ground
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 150, 400ms},
- {ZoomChange::ZOOM_IN, 0, 40, 880ms}
+ {ZoomChange::KEEP_ZOOM, +1, -0.173, 400ms},
+ {ZoomChange::ZOOM_IN, -1, +0.688, 880ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, 0}, 320ms, 400ms);
@@ -228,16 +228,16 @@ void checkpoint_41(
// section 8. walk up to Klawf on lower wall
// {0.666667, 0.238889}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 0, 240ms},
+ {ZoomChange::KEEP_ZOOM, 0, +1, 240ms},
FlyPoint::POKECENTER,
{0.666667, 0.238889}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 10, 10, false);
+ 0, +1, 10, 10, false);
// move the marker so it doesn't cover North in the minimap
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 128, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, 0, 400ms);
// section 9
do_action_and_monitor_for_battles(env.program_info(), env.console, context,
@@ -259,7 +259,7 @@ void checkpoint_41(
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_BATTLE, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 25, 25, false);
+ 0, +1, 25, 25, false);
// battle Klawf phase 1
@@ -274,7 +274,7 @@ void checkpoint_41(
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 35, 35, false);
+ 0, +1, 35, 35, false);
clear_dialog(env.console, context, ClearDialogMode::STOP_BATTLE, 30, {CallbackEnum::BATTLE});
// Klawf battle phase 2
@@ -306,14 +306,14 @@ void checkpoint_42(
// section 1
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 180, 400ms},
- {ZoomChange::ZOOM_IN, 0, 80, 880ms}
+ {ZoomChange::KEEP_ZOOM, +1, -0.409, 400ms},
+ {ZoomChange::ZOOM_IN, -1, +0.375, 880ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 24, 12, false);
+ 0, +1, 24, 12, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 320ms, 400ms);
@@ -324,14 +324,14 @@ void checkpoint_42(
// section 2
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 150, 400ms},
- {ZoomChange::ZOOM_IN, 0, 80, 304ms}
+ {ZoomChange::KEEP_ZOOM, +1, -0.173, 400ms},
+ {ZoomChange::ZOOM_IN, -1, +0.375, 304ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 36, 12, false);
+ 0, +1, 36, 12, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, 0}, 320ms, 400ms);
@@ -342,14 +342,14 @@ void checkpoint_42(
// section 3
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
- {ZoomChange::ZOOM_IN, 65, 0, 360ms}
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
+ {ZoomChange::ZOOM_IN, -0.492, +1, 360ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 24, 12, false);
+ 0, +1, 24, 12, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, 0}, 320ms, 400ms);
@@ -360,14 +360,14 @@ void checkpoint_42(
// section 4. set marker to pokecenter
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
- {ZoomChange::ZOOM_IN, 0, 0, 0ms}
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 320ms, 400ms);
@@ -378,11 +378,11 @@ void checkpoint_42(
// section 5. set marker past pokecenter
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 255, 30);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, -1, 240ms);
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
+ 0, +0.883, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_20.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_20.cpp
index 6cee34613f..1d18bfd745 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_20.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_20.cpp
@@ -110,13 +110,13 @@ void checkpoint_43(
context.wait_for_all_requests();
// place the marker somewhere else. the current location disrupts the Stationary detector
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 128, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, 0, 400ms);
DirectionDetector direction;
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 0ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 128, 240ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +1, 0ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, 0, 240ms});
}
do_action_and_monitor_for_battles(env.program_info(), env.console, context,
@@ -561,26 +561,26 @@ void checkpoint_46(
// At this startpoint, no Pokemon show up on minimap/map
// fly to Artazon east pokecenter
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, 255, 128, 400ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, +1, 0, 400ms});
// section 1. set marker to pokecenter
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 0, 400ms},
- {ZoomChange::ZOOM_IN, 0, 0, 0ms}
+ {ZoomChange::KEEP_ZOOM, +1, +1, 400ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 80, 20, false);
+ 0, +1, 80, 20, false);
// section 2. set marker past pokecenter
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 180, 0, 30);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +0.409, +1, 240ms);
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12, false);
+ 0, +0.883, 12, 12, false);
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_21.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_21.cpp
index e77ea0ce5c..7ec9a40bd0 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_21.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_21.cpp
@@ -113,13 +113,13 @@ void checkpoint_48(
[&](size_t attempt_number){
context.wait_for_all_requests();
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 110, 100);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, +0.141, 800ms);
DirectionDetector direction;
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 128, 255, 400ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 128, 0, 400ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, -1, 400ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, +1, 400ms});
}
direction.change_direction(env.program_info(), env.console, context, 2.06);
@@ -130,7 +130,7 @@ void checkpoint_48(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 60, 20, false);
+ 0, +1, 60, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 320ms, 400ms);
@@ -142,10 +142,10 @@ void checkpoint_48(
mash_button_till_overworld(env.console, context, BUTTON_A);
// move towards Team Star base gate
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 20, 255, 40);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -0.844, -1, 320ms);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 20, false);
+ 0, +1, 40, 20, false);
// battle Team Star Grunt
clear_dialog(env.console, context, ClearDialogMode::STOP_BATTLE, 60, {CallbackEnum::PROMPT_DIALOG, CallbackEnum::DIALOG_ARROW, CallbackEnum::BATTLE});
@@ -157,7 +157,7 @@ void checkpoint_48(
context.wait_for_all_requests();
do_action_and_monitor_for_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 240, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, -0.882, 400ms);
walk_forward_while_clear_front_path(env.program_info(), env.console, context, 2400ms);
walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_SPAM_A);
}
@@ -305,14 +305,14 @@ void checkpoint_49(
// marker 1
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 128, 240ms},
- {ZoomChange::ZOOM_IN, 0, 90, 720ms}
+ {ZoomChange::KEEP_ZOOM, +1, 0, 240ms},
+ {ZoomChange::ZOOM_IN, -1, +0.297, 720ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 320ms, 400ms);
@@ -323,14 +323,14 @@ void checkpoint_49(
// marker 2
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 0, 240ms},
- {ZoomChange::ZOOM_IN, 128, 255, 240ms}
+ {ZoomChange::KEEP_ZOOM, 0, +1, 240ms},
+ {ZoomChange::ZOOM_IN, 0, -1, 240ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, 0}, 320ms, 400ms);
@@ -341,14 +341,14 @@ void checkpoint_49(
// marker 3
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 180, 400ms},
- {ZoomChange::ZOOM_IN, 0, 70, 1400ms}
+ {ZoomChange::KEEP_ZOOM, +1, -0.409, 400ms},
+ {ZoomChange::ZOOM_IN, -1, +0.453, 1400ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, 0}, 320ms, 400ms);
@@ -359,26 +359,26 @@ void checkpoint_49(
// marker 4
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 180, 400ms},
- {ZoomChange::ZOOM_IN, 0, 50, 1480ms}
+ {ZoomChange::KEEP_ZOOM, +1, -0.409, 400ms},
+ {ZoomChange::ZOOM_IN, -1, +0.609, 1480ms}
);
// walk until you run into the wall
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 10, 10, false);
+ 0, +1, 10, 10, false);
// marker 5. put marker on other side of bridge
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 128, 128, 0ms},
- {ZoomChange::ZOOM_IN, 128, 0, 80ms}
+ {ZoomChange::ZOOM_IN, 0, 0, 0ms},
+ {ZoomChange::ZOOM_IN, 0, +1, 80ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 320ms, 400ms);
@@ -390,11 +390,11 @@ void checkpoint_49(
// marker 6. set marker past pokecenter
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 255, 30);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, -1, 240ms);
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
+ 0, +0.883, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_22.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_22.cpp
index 1cb5b42a5b..1413a061f3 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_22.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_22.cpp
@@ -108,13 +108,13 @@ void checkpoint_50(
context.wait_for_all_requests();
// set down marker 1
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 60, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, +0.531, 400ms);
DirectionDetector direction;
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 255, 255, 560ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 80, 640ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, +1, -1, 560ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +0.375, 640ms});
}
direction.change_direction(env.program_info(), env.console, context, 0);
@@ -125,7 +125,7 @@ void checkpoint_50(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 60, 20, false);
+ 0, +1, 60, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 1024ms, 2040ms);
@@ -138,14 +138,14 @@ void checkpoint_50(
// marker 2
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 50, 400ms},
- {ZoomChange::ZOOM_IN, 0, 100, 480ms}
+ {ZoomChange::KEEP_ZOOM, +1, +0.609, 400ms},
+ {ZoomChange::ZOOM_IN, -1, +0.219, 480ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, 0}, 320ms, 400ms);
@@ -158,14 +158,14 @@ void checkpoint_50(
// marker 3
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 128, 160ms},
- {ZoomChange::ZOOM_IN, 0, 0, 0ms}
+ {ZoomChange::KEEP_ZOOM, +1, 0, 160ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
// jump over the fence when stationary
@@ -193,11 +193,11 @@ void checkpoint_51(
[&](size_t attempt_number){
context.wait_for_all_requests();
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 128, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, 0, 400ms);
pbf_move_left_joystick(context, {0, +1}, 3200ms, 800ms);
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 170, 0, 60);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +0.331, +1, 480ms);
pbf_move_left_joystick(context, {0, +1}, 14400ms, 800ms);
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 85, 60);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, +0.336, 480ms);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
@@ -233,7 +233,7 @@ void checkpoint_52(
pbf_move_left_joystick(context, {0, -1}, 2400ms, 800ms);
pbf_wait(context, 3000ms);
// wait for dialog after leaving gym
- walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 20000ms, 128, 255);
+ walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 20000ms, 0, -1);
WhiteTriangleWatcher white_triangle(COLOR_RED, ImageFloatBox(0.948773, 0.034156, 0.013874, 0.024668));
// mash A until detect top right white triangle 1
@@ -381,7 +381,7 @@ void checkpoint_53(
wait_for_overworld(env.program_info(), env.console, context, 30);
// fly to Levincia (North) Pokecenter
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 100, 0, 400ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -0.219, +1, 400ms});
});
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_23.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_23.cpp
index 2039d769b9..1eea707506 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_23.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_23.cpp
@@ -87,13 +87,13 @@ void checkpoint_54(
pbf_move_left_joystick(context, {0, +1}, 3600ms, 800ms);
// marker 1
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 160, 0, 35);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +0.252, +1, 280ms);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 24, 8, false);
+ 0, +1, 24, 8, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -103,7 +103,7 @@ void checkpoint_54(
// marker 2. x=0.411979, y=0.730556
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.411979, 0.730556}
);
@@ -111,7 +111,7 @@ void checkpoint_54(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -121,7 +121,7 @@ void checkpoint_54(
// marker 3. x=0.444792, y=0.640741. zoom out
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_OUT, 0, 0, 0ms},
+ {ZoomChange::ZOOM_OUT, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.444792, 0.640741}
);
@@ -130,7 +130,7 @@ void checkpoint_54(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 24, 8, false);
+ 0, +1, 24, 8, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -141,14 +141,14 @@ void checkpoint_54(
// marker 4. blind marker placement
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 255, 400ms},
- {ZoomChange::ZOOM_IN, 150, 0, 896ms}
+ {ZoomChange::KEEP_ZOOM, 0, -1, 400ms},
+ {ZoomChange::ZOOM_IN, +0.173, +1, 896ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -159,14 +159,14 @@ void checkpoint_54(
// marker 5. blind marker placement
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 255, 400ms},
- {ZoomChange::ZOOM_IN, 135, 0, 856ms}
+ {ZoomChange::KEEP_ZOOM, 0, -1, 400ms},
+ {ZoomChange::ZOOM_IN, +0.055, +1, 856ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 16, 8, false);
+ 0, +1, 16, 8, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -177,8 +177,8 @@ void checkpoint_54(
// marker 6. blind marker placement
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 255, 400ms},
- {ZoomChange::ZOOM_IN, 120, 0, 760ms}
+ {ZoomChange::KEEP_ZOOM, 0, -1, 400ms},
+ {ZoomChange::ZOOM_IN, -0.062, +1, 760ms}
);
@@ -187,7 +187,7 @@ void checkpoint_54(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 16, 8, false);
+ 0, +1, 16, 8, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -203,7 +203,7 @@ void checkpoint_54(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 16, 8, false);
+ 0, +1, 16, 8, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -214,7 +214,7 @@ void checkpoint_54(
// marker 7. x=0.505729, y=0.675926
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 255, 240ms},
+ {ZoomChange::KEEP_ZOOM, 0, -1, 240ms},
FlyPoint::POKECENTER,
{0.505729, 0.675926}
);
@@ -222,7 +222,7 @@ void checkpoint_54(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -232,7 +232,7 @@ void checkpoint_54(
// marker 8. x=0.591146, y=0.575926,
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.591146, 0.575926}
);
@@ -240,7 +240,7 @@ void checkpoint_54(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -250,7 +250,7 @@ void checkpoint_54(
// marker 9. at crossroads. x=0.723958, y=0.55463
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.723958, 0.55463}
);
@@ -258,7 +258,7 @@ void checkpoint_54(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -268,7 +268,7 @@ void checkpoint_54(
// marker 10. x=0.752604, y=0.643519
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.752604, 0.643519}
);
@@ -277,7 +277,7 @@ void checkpoint_54(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -288,7 +288,7 @@ void checkpoint_54(
// marker 11. x=0.752083, y=0.702778
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.752083, 0.702778}
);
@@ -297,7 +297,7 @@ void checkpoint_54(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 16, 8, false);
+ 0, +1, 16, 8, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -307,7 +307,7 @@ void checkpoint_54(
// marker 12. x=0.685417, y=0.748148
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.685417, 0.748148}
);
@@ -316,7 +316,7 @@ void checkpoint_54(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 16, 8, false);
+ 0, +1, 16, 8, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_24.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_24.cpp
index 1b886c0f05..ba9ff59708 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_24.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_24.cpp
@@ -104,8 +104,8 @@ void checkpoint_55(
DirectionDetector direction;
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 255, 128, 400ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, 0, 100, 1040ms}, FlyPoint::FAST_TRAVEL);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, +1, 0, 400ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, -1, +0.219, 1040ms}, FlyPoint::FAST_TRAVEL);
}
direction.change_direction(env.program_info(), env.console, context, 3.909067);
@@ -239,11 +239,11 @@ void checkpoint_56(
[&](size_t attempt_number){
// fly back to East Province (Area Three) Watchtower. from Orthworm
// this clears Pokemon in minimap
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}, FlyPoint::FAST_TRAVEL);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +1, 0ms}, FlyPoint::FAST_TRAVEL);
// marker 1
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.769792, 0.725926}
);
@@ -251,7 +251,7 @@ void checkpoint_56(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, 0}, 320ms, 400ms);
@@ -261,7 +261,7 @@ void checkpoint_56(
// marker 2
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.280208, 0.447222}
);
@@ -269,7 +269,7 @@ void checkpoint_56(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, 0}, 320ms, 400ms);
@@ -279,7 +279,7 @@ void checkpoint_56(
// marker 3
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 128, 480ms},
+ {ZoomChange::ZOOM_IN, -1, 0, 480ms},
FlyPoint::POKECENTER,
{0.354167, 0.375}
);
@@ -287,7 +287,7 @@ void checkpoint_56(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, 0}, 320ms, 400ms);
@@ -297,7 +297,7 @@ void checkpoint_56(
// marker 4
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 128, 400ms},
+ {ZoomChange::ZOOM_IN, -1, 0, 400ms},
FlyPoint::POKECENTER,
{0.497917, 0.274074}
);
@@ -305,7 +305,7 @@ void checkpoint_56(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 320ms, 400ms);
@@ -316,15 +316,15 @@ void checkpoint_56(
// marker 5. set marker to pokecenter
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 0ms},
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, +1}, 320ms, 400ms);
@@ -335,11 +335,11 @@ void checkpoint_56(
// marker 6. set marker past pokecenter
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 128, 0, 30);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, +1, 240ms);
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
+ 0, +0.883, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_25.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_25.cpp
index acfb5ec41b..ab11f19beb 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_25.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_25.cpp
@@ -115,15 +115,15 @@ void checkpoint_59(
// marker 1 {0.795312, 0.626852}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::FAST_TRAVEL,
{0.795312, 0.626852}
);
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 255, 180, 1040ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 70, 1040ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, +1, -0.409, 1040ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +0.453, 1040ms});
}
@@ -131,7 +131,7 @@ void checkpoint_59(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 320ms, 400ms);
@@ -141,7 +141,7 @@ void checkpoint_59(
// marker 2 {0.672396, 0.532407}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 0ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.672396, 0.532407}
);
@@ -150,7 +150,7 @@ void checkpoint_59(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 20, false);
+ 0, +1, 40, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 320ms, 400ms);
@@ -163,7 +163,7 @@ void checkpoint_59(
// marker 3 {0.685417, 0.571296}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.685417, 0.571296}
);
@@ -172,7 +172,7 @@ void checkpoint_59(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 20, false);
+ 0, +1, 20, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 320ms, 400ms);
@@ -190,7 +190,7 @@ void checkpoint_59(
context.wait_for_all_requests();
do_action_and_monitor_for_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 40, 255, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -0.688, -1, 400ms);
walk_forward_while_clear_front_path(env.program_info(), env.console, context, 800ms);
walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_SPAM_A);
}
@@ -324,7 +324,7 @@ void checkpoint_60(
[&](size_t attempt_number){
// fly back to Porto Marinada Pokecenter from Team Star Poison
// this clears Pokemon in minimap
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, 0, 128, 4800ms}, FlyPoint::POKECENTER);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, -1, 0, 4800ms}, FlyPoint::POKECENTER);
move_from_porto_marinada_to_medali(env, context);
@@ -336,13 +336,13 @@ void move_from_porto_marinada_to_medali(SingleSwitchProgramEnvironment& env, Pro
context.wait_for_all_requests();
// marker 1
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 110, 75);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, +0.141, 600ms);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -352,7 +352,7 @@ void move_from_porto_marinada_to_medali(SingleSwitchProgramEnvironment& env, Pro
// marker 2. x=0.3875, y=0.60463
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_OUT, 0, 0, 0ms},
+ {ZoomChange::ZOOM_OUT, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.3875, 0.60463}
);
@@ -360,7 +360,7 @@ void move_from_porto_marinada_to_medali(SingleSwitchProgramEnvironment& env, Pro
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -371,7 +371,7 @@ void move_from_porto_marinada_to_medali(SingleSwitchProgramEnvironment& env, Pro
// marker 3. : x=0.316146, y=0.623148
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_OUT, 0, 0, 0ms},
+ {ZoomChange::ZOOM_OUT, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.316146, 0.623148}
);
@@ -379,7 +379,7 @@ void move_from_porto_marinada_to_medali(SingleSwitchProgramEnvironment& env, Pro
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -391,7 +391,7 @@ void move_from_porto_marinada_to_medali(SingleSwitchProgramEnvironment& env, Pro
// marker 4. cross bridge 1 x=0.310417, y=0.712963.
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_OUT, 0, 0, 0ms},
+ {ZoomChange::ZOOM_OUT, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.310417, 0.712963}
);
@@ -399,7 +399,7 @@ void move_from_porto_marinada_to_medali(SingleSwitchProgramEnvironment& env, Pro
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 20, false);
+ 0, +1, 40, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {0, +1}, 500ms, 0ms);
@@ -414,7 +414,7 @@ void move_from_porto_marinada_to_medali(SingleSwitchProgramEnvironment& env, Pro
// marker 5. : x=0.582292, y=0.692593
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_OUT, 0, 0, 0ms},
+ {ZoomChange::ZOOM_OUT, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.582292, 0.692593}
);
@@ -422,7 +422,7 @@ void move_from_porto_marinada_to_medali(SingleSwitchProgramEnvironment& env, Pro
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 60, 10, false);
+ 0, +1, 60, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -434,7 +434,7 @@ void move_from_porto_marinada_to_medali(SingleSwitchProgramEnvironment& env, Pro
// marker 6. cross bridge 2 : x=0.555208, y=0.627778
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_OUT, 0, 0, 0ms},
+ {ZoomChange::ZOOM_OUT, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.555208, 0.627778}
);
@@ -442,7 +442,7 @@ void move_from_porto_marinada_to_medali(SingleSwitchProgramEnvironment& env, Pro
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {0, +1}, 500ms, 0ms);
@@ -456,7 +456,7 @@ void move_from_porto_marinada_to_medali(SingleSwitchProgramEnvironment& env, Pro
// marker 7. : x=0.678646, y=0.669444
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 255, 240ms},
+ {ZoomChange::KEEP_ZOOM, +1, -1, 240ms},
FlyPoint::POKECENTER,
{0.678646, 0.669444}
);
@@ -464,7 +464,7 @@ void move_from_porto_marinada_to_medali(SingleSwitchProgramEnvironment& env, Pro
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -474,7 +474,7 @@ void move_from_porto_marinada_to_medali(SingleSwitchProgramEnvironment& env, Pro
// marker 8. : x=0.533333, y=0.640741
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 255, 400ms},
+ {ZoomChange::KEEP_ZOOM, +1, -1, 400ms},
FlyPoint::POKECENTER,
{0.533333, 0.640741}
);
@@ -482,7 +482,7 @@ void move_from_porto_marinada_to_medali(SingleSwitchProgramEnvironment& env, Pro
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -494,14 +494,14 @@ void move_from_porto_marinada_to_medali(SingleSwitchProgramEnvironment& env, Pro
// marker 9. set marker to pokecenter
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 128, 255, 400ms},
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}
+ {ZoomChange::ZOOM_IN, 0, -1, 400ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -512,11 +512,11 @@ void move_from_porto_marinada_to_medali(SingleSwitchProgramEnvironment& env, Pro
// marker 10. set marker past pokecenter
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 180, 255, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +0.409, -1, 400ms);
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
+ 0, +0.883, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_26.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_26.cpp
index 4346921096..7c8a4b7140 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_26.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_26.cpp
@@ -102,13 +102,13 @@ void checkpoint_61(
// first, clear Pokemon in Minimap.
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 0ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 0ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +1, 0ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +1, 0ms});
}
// marker 1 keep{0.490625, 0.594444} in{0.589583, 0.569444}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 0ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.589583, 0.569444}
);
@@ -124,7 +124,7 @@ void checkpoint_61(
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 60, 20, false);
+ 0, +1, 60, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 320ms, 400ms);
@@ -175,9 +175,9 @@ void checkpoint_62(
env.console.log("Fly back to Medali East Pokecenter");
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
env.console.log("Fly to Cascaraffa north to clear minimap. Then Medali West. End up in Medal East Pokecenter.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 180, 800ms}, FlyPoint::POKECENTER);
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 255, 80, 680ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, 0, 0, 0ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, -0.409, 800ms}, FlyPoint::POKECENTER);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, +1, +0.375, 680ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, -1, +1, 0ms});
pbf_press_button(context, BUTTON_L, 400ms, 400ms);
@@ -258,9 +258,9 @@ void checkpoint_63(
env.console.log("Fly back to Medali East Pokecenter");
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
env.console.log("Fly to Cascaraffa north to clear minimap. Then Medali West. End up in Medal East Pokecenter.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 180, 800ms}, FlyPoint::POKECENTER);
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 255, 80, 680ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, 0, 0, 0ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, -0.409, 800ms}, FlyPoint::POKECENTER);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, +1, +0.375, 680ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, -1, +1, 0ms});
move_from_medali_to_glaseado_mountain(env, context);
@@ -276,7 +276,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
// marker 1. x=0.399479, y=0.713889
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.399479, 0.713889}
);
@@ -284,7 +284,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -295,7 +295,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
// marker 2. x=0.410417, y=0.760185
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 0, 240ms},
+ {ZoomChange::KEEP_ZOOM, +1, +1, 240ms},
FlyPoint::POKECENTER,
{0.410417, 0.760185}
);
@@ -303,7 +303,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -314,7 +314,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
// marker 3. : x=0.3875, y=0.712037
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_OUT, 0, 0, 0ms},
+ {ZoomChange::ZOOM_OUT, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.3875, 0.712037}
);
@@ -322,7 +322,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -333,7 +333,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
// marker 4. cross creek x=0.502083, y=0.255556
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_OUT, 128, 0, 160ms},
+ {ZoomChange::ZOOM_OUT, 0, +1, 160ms},
FlyPoint::POKECENTER,
{0.502083, 0.255556}
);
@@ -344,7 +344,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 20, false);
+ 0, +1, 40, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {0, +1}, 500ms, 0ms);
@@ -360,7 +360,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
// marker 5. x=0.461458, y=0.297222
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_OUT, 0, 0, 0ms},
+ {ZoomChange::ZOOM_OUT, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.461458, 0.297222}
);
@@ -368,7 +368,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -378,7 +378,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
// marker 6. x=0.451562, y=0.288889
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 0, 400ms},
+ {ZoomChange::KEEP_ZOOM, 0, +1, 400ms},
FlyPoint::POKECENTER,
{0.451562, 0.288889}
);
@@ -386,7 +386,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -397,7 +397,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
// marker 7. : x=0.623958, y=0.35463
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 400ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 400ms},
FlyPoint::POKECENTER,
{0.623958, 0.35463}
);
@@ -405,7 +405,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -415,7 +415,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
// marker 8. x=0.544271, y=0.5
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 0ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.544271, 0.5}
);
@@ -423,7 +423,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -433,7 +433,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
// marker 9. : x=0.417708, y=0.388889
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 0ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.417708, 0.388889}
);
@@ -441,7 +441,7 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -453,14 +453,14 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
// marker 10. set marker to pokecenter
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 0ms},
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -471,11 +471,11 @@ void move_from_medali_to_glaseado_mountain(SingleSwitchProgramEnvironment& env,
// marker 11. set marker past pokecenter
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 20, 0, 40);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -0.844, +1, 320ms);
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
+ 0, +0.883, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_27.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_27.cpp
index b52148b614..68ed376fc3 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_27.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_27.cpp
@@ -106,8 +106,8 @@ void checkpoint_64(SingleSwitchProgramEnvironment& env, ProControllerContext& co
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 128, 255, 1440ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 128, 0, 1440ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, -1, 1440ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, +1, 1440ms});
}
move_from_glaseado_mountain_to_casseroya_watchtower3(env, context, attempt_number);
@@ -122,8 +122,8 @@ void checkpoint_65(SingleSwitchProgramEnvironment& env, ProControllerContext& co
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 128, 128, 0ms}, FlyPoint::POKECENTER);
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 128, 128, 0ms}, FlyPoint::FAST_TRAVEL);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}, FlyPoint::POKECENTER);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}, FlyPoint::FAST_TRAVEL);
}
move_from_casseroya_watchtower3_to_dondozo_titan(env, context);
@@ -147,7 +147,7 @@ void checkpoint_67(SingleSwitchProgramEnvironment& env, ProControllerContext& co
// fly to Glaseado Mountain Pokecenter from Dondozo
// this clears Pokemon in minimap
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, 0, 0, 0ms}, FlyPoint::POKECENTER);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, -1, +1, 0ms}, FlyPoint::POKECENTER);
move_from_glaseado_mountain_to_north_province_area_three(env, context);
});
@@ -164,8 +164,8 @@ void move_from_glaseado_mountain_to_casseroya_watchtower3(SingleSwitchProgramEnv
DirectionDetector direction;
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, 100, 255, 480ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, 128, 0, 480ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, -0.219, -1, 480ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, 0, +1, 480ms});
}
direction.change_direction(env.program_info(), env.console, context, 1.448679);
@@ -175,7 +175,7 @@ void move_from_glaseado_mountain_to_casseroya_watchtower3(SingleSwitchProgramEnv
// marker 1 x=0.548438, y=0.273148
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_OUT, 0, 0, 0ms},
+ {ZoomChange::ZOOM_OUT, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.548438, 0.273148}
);
@@ -186,7 +186,7 @@ void move_from_glaseado_mountain_to_casseroya_watchtower3(SingleSwitchProgramEnv
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -196,7 +196,7 @@ void move_from_glaseado_mountain_to_casseroya_watchtower3(SingleSwitchProgramEnv
// marker 2. : x=0.693229, y=0.459259
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.693229, 0.459259}
);
@@ -204,7 +204,7 @@ void move_from_glaseado_mountain_to_casseroya_watchtower3(SingleSwitchProgramEnv
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -223,7 +223,7 @@ void move_from_casseroya_watchtower3_to_dondozo_titan(SingleSwitchProgramEnviron
// marker 1 x=0.779167, y=0.274074
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.779167, 0.274074}
);
@@ -231,7 +231,7 @@ void move_from_casseroya_watchtower3_to_dondozo_titan(SingleSwitchProgramEnviron
// get_on_ride(env.program_info(), env.console, context);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
mash_button_till_overworld(env.console, context, BUTTON_A);
@@ -240,28 +240,28 @@ void move_from_casseroya_watchtower3_to_dondozo_titan(SingleSwitchProgramEnviron
realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_OLD_MARKER);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
// marker 2. : x=0.76875, y=0.298148
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::FAST_TRAVEL,
{0.76875, 0.298148}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
// marker 3. : x=0.752604, y=0.401852
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::FAST_TRAVEL,
{0.752604, 0.401852}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_SPAM_A,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
clear_dialog(env.console, context, ClearDialogMode::STOP_BATTLE, 60, {CallbackEnum::BATTLE});
@@ -278,7 +278,7 @@ void move_from_dondozo_titan_phase1_to_phase2(SingleSwitchProgramEnvironment& en
// marker 1 x=0.832292, y=0.54537
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::FAST_TRAVEL,
{0.832292, 0.54537}
);
@@ -287,28 +287,28 @@ void move_from_dondozo_titan_phase1_to_phase2(SingleSwitchProgramEnvironment& en
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
// marker 2 x=0.393229, y=0.748148
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 0ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms},
FlyPoint::FAST_TRAVEL,
{0.393229, 0.748148}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
// marker 3. go to Dondozo/Tatsugiri part 2 x=0.55625, y=0.324074
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 255, 320ms},
+ {ZoomChange::KEEP_ZOOM, 0, -1, 320ms},
FlyPoint::FAST_TRAVEL,
{0.55625, 0.324074}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 80, 40, false);
+ 0, +1, 80, 40, false);
clear_dialog(env.console, context, ClearDialogMode::STOP_BATTLE, 60, {CallbackEnum::BATTLE});
@@ -332,14 +332,14 @@ void move_from_glaseado_mountain_to_north_province_area_three(SingleSwitchProgra
// marker 1. set marker to pokecenter
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 0, 400ms},
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}
+ {ZoomChange::KEEP_ZOOM, 0, +1, 400ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 80, 10, false);
+ 0, +1, 80, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -351,11 +351,11 @@ void move_from_glaseado_mountain_to_north_province_area_three(SingleSwitchProgra
// marker 2. set marker past pokecenter
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 128, 0, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, +1, 400ms);
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
+ 0, +0.883, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_28.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_28.cpp
index bbe9e1a063..e57ce07c17 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_28.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_28.cpp
@@ -106,25 +106,25 @@ void checkpoint_69(SingleSwitchProgramEnvironment& env, ProControllerContext& co
context.wait_for_all_requests();
// move the marker elsewhere, away from North
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 128, 255, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, -1, 400ms);
DirectionDetector direction;
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 128, 255, 400ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 128, 0, 400ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, -1, 400ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, +1, 400ms});
}
direction.change_direction(env.program_info(), env.console, context, 0.696613);
pbf_move_left_joystick(context, {0, +1}, 1600ms, 400ms);
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 150, 0, 120);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +0.173, +1, 960ms);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 20, false);
+ 0, +1, 40, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -135,12 +135,12 @@ void checkpoint_69(SingleSwitchProgramEnvironment& env, ProControllerContext& co
// talk to Clavell
clear_dialog(env.console, context, ClearDialogMode::STOP_OVERWORLD, 60, {CallbackEnum::OVERWORLD, CallbackEnum::PROMPT_DIALOG});
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 0, 100);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, +1, 800ms);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 20, false);
+ 0, +1, 40, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -305,11 +305,11 @@ void checkpoint_70(SingleSwitchProgramEnvironment& env, ProControllerContext& co
[&](size_t attempt_number){
context.wait_for_all_requests();
// fly back to North Province Area Three
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}, FlyPoint::POKECENTER);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +1, 0ms}, FlyPoint::POKECENTER);
// fly back to Glaseado Mountain Pokecenter
// this clears Pokemon in minimap
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, 0, 0, 0ms}, FlyPoint::POKECENTER);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, -1, +1, 0ms}, FlyPoint::POKECENTER);
move_from_glaseado_mountain_to_montenevera(env, context);
@@ -323,7 +323,7 @@ void move_from_glaseado_mountain_to_montenevera(SingleSwitchProgramEnvironment&
// marker 1 {0.745313, 0.637037}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.745313, 0.637037}
);
@@ -331,7 +331,7 @@ void move_from_glaseado_mountain_to_montenevera(SingleSwitchProgramEnvironment&
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -341,7 +341,7 @@ void move_from_glaseado_mountain_to_montenevera(SingleSwitchProgramEnvironment&
// marker 2 x=0.225521, y=0.380556. {0.229687, 0.37037}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 0, 400ms},
+ {ZoomChange::KEEP_ZOOM, +1, +1, 400ms},
FlyPoint::POKECENTER,
{0.229687, 0.37037}
);
@@ -349,7 +349,7 @@ void move_from_glaseado_mountain_to_montenevera(SingleSwitchProgramEnvironment&
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 60, 10, false);
+ 0, +1, 60, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -359,7 +359,7 @@ void move_from_glaseado_mountain_to_montenevera(SingleSwitchProgramEnvironment&
// marker 3 x=0.396354, y=0.69537. x=0.396875, y=0.725926
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 200, 400ms},
+ {ZoomChange::KEEP_ZOOM, +1, -0.567, 400ms},
FlyPoint::POKECENTER,
{0.396875, 0.725926}
);
@@ -367,7 +367,7 @@ void move_from_glaseado_mountain_to_montenevera(SingleSwitchProgramEnvironment&
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 50, 10, false);
+ 0, +1, 50, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -377,7 +377,7 @@ void move_from_glaseado_mountain_to_montenevera(SingleSwitchProgramEnvironment&
// marker 4 (0.409896, 0.65)
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.409896, 0.65}
);
@@ -385,7 +385,7 @@ void move_from_glaseado_mountain_to_montenevera(SingleSwitchProgramEnvironment&
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -396,7 +396,7 @@ void move_from_glaseado_mountain_to_montenevera(SingleSwitchProgramEnvironment&
// marker 5 {0.509896, 0.639815}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.509896, 0.639815}
);
@@ -404,7 +404,7 @@ void move_from_glaseado_mountain_to_montenevera(SingleSwitchProgramEnvironment&
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -414,7 +414,7 @@ void move_from_glaseado_mountain_to_montenevera(SingleSwitchProgramEnvironment&
// marker 6 {0.508333, 0.566667} {0.521875, 0.483333}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 128, 255, 160ms},
+ {ZoomChange::ZOOM_IN, 0, -1, 160ms},
FlyPoint::POKECENTER,
{0.508333, 0.566667}
);
@@ -422,7 +422,7 @@ void move_from_glaseado_mountain_to_montenevera(SingleSwitchProgramEnvironment&
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -432,7 +432,7 @@ void move_from_glaseado_mountain_to_montenevera(SingleSwitchProgramEnvironment&
// marker 7 {0.508333, 0.566667} {0.521875, 0.483333} {0.529687, 0.483333}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 0ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.529687, 0.483333}
);
@@ -443,7 +443,7 @@ void move_from_glaseado_mountain_to_montenevera(SingleSwitchProgramEnvironment&
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {0, +1}, 500ms, 0ms);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_29.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_29.cpp
index 7a79646c53..15768b12e5 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_29.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_29.cpp
@@ -108,13 +108,13 @@ void checkpoint_71(SingleSwitchProgramEnvironment& env, ProControllerContext& co
// fly_to_overworld_from_map() may fail since the snowy background on the map will false positive the destinationMenuItemWatcher (MapDestinationMenuDetector at box {0.523000, 0.680000, 0.080000, 0.010000}), which causes the fly to fail
// we can get around this by either placing down a marker, or by zooming out so that that section isn't white snow.
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 255, 280ms},
+ {ZoomChange::KEEP_ZOOM, 0, -1, 280ms},
FlyPoint::POKECENTER,
{0.54375, 0.662037}
);
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 128, 600ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 255, 128, 600ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, 0, 600ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, +1, 0, 600ms});
direction.change_direction(env.program_info(), env.console, context, 1.536225);
@@ -225,15 +225,15 @@ void checkpoint_74(SingleSwitchProgramEnvironment& env, ProControllerContext& co
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
// remove old marker, then place new one
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 128, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, 0, 400ms);
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 255, 280ms},
+ {ZoomChange::KEEP_ZOOM, 0, -1, 280ms},
FlyPoint::POKECENTER,
{0.54375, 0.662037}
);
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 128, 600ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 255, 128, 600ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, 0, 600ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, +1, 0, 600ms});
move_from_montenevera_to_glaseado_gym(env, context);
@@ -256,7 +256,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
// marker 1 {0.585938, 0.236111}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 255, 160ms},
+ {ZoomChange::KEEP_ZOOM, 0, -1, 160ms},
FlyPoint::POKECENTER,
{0.585938, 0.236111}
);
@@ -264,7 +264,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -275,7 +275,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
// marker 2 cross bridge {0.719271, 0.585185}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 255, 240ms},
+ {ZoomChange::KEEP_ZOOM, 0, -1, 240ms},
FlyPoint::POKECENTER,
{0.719271, 0.585185}
);
@@ -286,7 +286,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 20, false);
+ 0, +1, 40, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {0, +1}, 500ms, 0ms);
@@ -300,7 +300,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
// marker 3 {0.73125, 0.481481} {0.7375, 0.488889}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 255, 240ms},
+ {ZoomChange::KEEP_ZOOM, 0, -1, 240ms},
FlyPoint::POKECENTER,
{0.7375, 0.488889}
);
@@ -308,7 +308,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){ // todo: get on ride?
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -319,7 +319,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
// marker 4 {0.691146, 0.347222}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.691146, 0.347222}
);
@@ -327,7 +327,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -337,7 +337,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
// marker 5 {0.632292, 0.376852}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.632292, 0.376852}
);
@@ -345,7 +345,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -356,7 +356,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
// marker 6 {0.61875, 0.432407} {0.610417, 0.42037}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.610417, 0.42037}
);
@@ -364,7 +364,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -374,7 +374,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
// marker 7 {0.613542, 0.540741}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.613542, 0.540741}
);
@@ -382,7 +382,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -392,7 +392,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
// marker 8 {0.588021, 0.578704}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.588021, 0.578704}
);
@@ -400,7 +400,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -410,7 +410,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
// marker 9 {0.579167, 0.610185}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 0ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.579167, 0.610185}
);
@@ -418,7 +418,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 24, 8, false);
+ 0, +1, 24, 8, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -428,7 +428,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
// marker 10. end up next to Pokecenter {0.520833, 0.443519} {0.490625, 0.4}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 0ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.490625, 0.4}
);
@@ -436,7 +436,7 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -448,11 +448,11 @@ void move_from_montenevera_to_glaseado_gym(SingleSwitchProgramEnvironment& env,
// marker 11. set marker past pokecenter
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 210, 0, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +0.646, +1, 400ms);
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
+ 0, +0.883, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_30.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_30.cpp
index 09b316abdf..f88a94ae19 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_30.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_30.cpp
@@ -102,14 +102,14 @@ void checkpoint_75(SingleSwitchProgramEnvironment& env, ProControllerContext& co
// we can get around this by either placing down a marker, or by zooming out so that that section isn't white snow.
// place down marker in this case
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 210, 255, 40);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +0.646, -1, 320ms);
// place_marker_offset_from_flypoint(env.program_info(), env.console, context,
// {ZoomChange::ZOOM_IN, 255, 200, 300},
// FlyPoint::POKECENTER,
// {0.404687, 0.261111}
// );
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, 128, 0, 240ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, 200, 255, 880ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, 0, +1, 240ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, +0.567, -1, 880ms});
}
do_action_and_monitor_for_battles(env.program_info(), env.console, context,
@@ -173,11 +173,11 @@ void checkpoint_76(SingleSwitchProgramEnvironment& env, ProControllerContext& co
// place down a marker in this case.
// remove old marker, then place new one
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 0, 0);
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 180, 45);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, +1, 0ms);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, -0.409, 360ms);
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, 128, 0, 240ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, 200, 255, 880ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, 0, +1, 240ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, +0.567, -1, 880ms});
DirectionDetector direction;
@@ -234,7 +234,7 @@ void checkpoint_76(SingleSwitchProgramEnvironment& env, ProControllerContext& co
// pokemon are cleared from minimap after the Snow Slope run
// fly back to Glaseado Gym Pokecenter
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, 0, 0, 0ms}, FlyPoint::POKECENTER);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, -1, +1, 0ms}, FlyPoint::POKECENTER);
// walk back to gym building
@@ -291,11 +291,11 @@ void checkpoint_77(SingleSwitchProgramEnvironment& env, ProControllerContext& co
// place down a marker in this case.
// remove old marker, then place new one
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 0, 0);
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 180, 45);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, +1, 0ms);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, -0.409, 360ms);
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, 128, 0, 240ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, 200, 255, 880ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_OUT, 0, +1, 240ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, +0.567, -1, 880ms});
DirectionDetector direction;
@@ -331,7 +331,7 @@ void move_from_glaseado_gym_to_north_province_area_one(SingleSwitchProgramEnviro
// marker 0 {0.460938, 0.310185}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 0ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.460938, 0.310185}
);
@@ -339,7 +339,7 @@ void move_from_glaseado_gym_to_north_province_area_one(SingleSwitchProgramEnviro
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -350,7 +350,7 @@ void move_from_glaseado_gym_to_north_province_area_one(SingleSwitchProgramEnviro
// marker 1 {0.33125, 0.314815} {0.297396, 0.322222} {0.313021, 0.322222}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 0ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.313021, 0.322222}
);
@@ -358,7 +358,7 @@ void move_from_glaseado_gym_to_north_province_area_one(SingleSwitchProgramEnviro
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -368,7 +368,7 @@ void move_from_glaseado_gym_to_north_province_area_one(SingleSwitchProgramEnviro
// marker 2 {0.222396, 0.413889} {0.253646, 0.386111}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 0ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.253646, 0.386111}
);
@@ -376,7 +376,7 @@ void move_from_glaseado_gym_to_north_province_area_one(SingleSwitchProgramEnviro
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -388,7 +388,7 @@ void move_from_glaseado_gym_to_north_province_area_one(SingleSwitchProgramEnviro
// marker 3 {0.80625, 0.574074} {0.803125, 0.615741} {0.794792, 0.614815} (0.794792, 0.609259).
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 0, 400ms},
+ {ZoomChange::KEEP_ZOOM, +1, +1, 400ms},
FlyPoint::POKECENTER,
{0.794792, 0.609259}
);
@@ -396,7 +396,7 @@ void move_from_glaseado_gym_to_north_province_area_one(SingleSwitchProgramEnviro
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 50, 10, false);
+ 0, +1, 50, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -407,14 +407,14 @@ void move_from_glaseado_gym_to_north_province_area_one(SingleSwitchProgramEnviro
// marker 4. set marker to pokecenter
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 128, 640ms},
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}
+ {ZoomChange::KEEP_ZOOM, +1, 0, 640ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 110, 10, false);
+ 0, +1, 110, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -425,11 +425,11 @@ void move_from_glaseado_gym_to_north_province_area_one(SingleSwitchProgramEnviro
// marker 5. set marker past pokecenter
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 255, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, -1, 400ms);
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
+ 0, +0.883, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_31.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_31.cpp
index 2373eb8c9e..dd18d16f84 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_31.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_31.cpp
@@ -141,7 +141,7 @@ void checkpoint_81(SingleSwitchProgramEnvironment& env, ProControllerContext& co
env.program_info(),
env.console,
context,
- {ZoomChange::ZOOM_OUT, 0, 170, 4400ms},
+ {ZoomChange::ZOOM_OUT, -1, -0.331, 4400ms},
FlyPoint::POKECENTER
);
move_from_west_province_area_one_north_to_alfornada(env, context);
@@ -162,8 +162,8 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
DirectionDetector direction;
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 128, 800ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 255, 128, 800ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, 0, 800ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, +1, 0, 800ms});
}
do_action_and_monitor_for_battles(env.program_info(), env.console, context,
@@ -177,7 +177,7 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
// marker 1 {0.825, 0.361111}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 255, 240ms},
+ {ZoomChange::KEEP_ZOOM, +1, -1, 240ms},
FlyPoint::POKECENTER,
{0.825, 0.361111}
);
@@ -185,7 +185,7 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -195,7 +195,7 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
// marker 2 {0.839062, 0.267593} {0.834896, 0.267593}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.834896, 0.267593}
);
@@ -203,7 +203,7 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -215,7 +215,7 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
// marker 3 {0.764583, 0.244444} (0.775000, 0.250000).
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.775000, 0.250000}
);
@@ -223,7 +223,7 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -233,7 +233,7 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
// marker 4 {0.604167, 0.326852} {0.597396, 0.32037} {0.600521, 0.325} {0.589583, 0.319444}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_OUT, 0, 0, 0ms},
+ {ZoomChange::ZOOM_OUT, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.597396, 0.32037}
);
@@ -241,7 +241,7 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -251,7 +251,7 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
// marker 5 enter bamboo forest keep zoom{0.679688, 0.19537} zoom out {0.571875, 0.360185}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_OUT, 0, 0, 0ms},
+ {ZoomChange::ZOOM_OUT, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.571875, 0.360185}
);
@@ -259,7 +259,7 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -269,7 +269,7 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
// marker 6 {0.668229, 0.336111}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 0, 160ms},
+ {ZoomChange::KEEP_ZOOM, 0, +1, 160ms},
FlyPoint::POKECENTER,
{0.668229, 0.336111}
);
@@ -277,7 +277,7 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -287,7 +287,7 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
// marker 7 {0.496354, 0.20463}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 255, 100, 640ms},
+ {ZoomChange::ZOOM_IN, +1, +0.219, 640ms},
FlyPoint::POKECENTER,
{0.496354, 0.20463}
);
@@ -295,7 +295,7 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -305,7 +305,7 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
// marker 8 {0.428125, 0.483333}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 255, 0, 400ms},
+ {ZoomChange::ZOOM_IN, +1, +1, 400ms},
FlyPoint::POKECENTER,
{0.428125, 0.483333}
);
@@ -313,7 +313,7 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 30, false);
+ 0, +1, 30, 30, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -327,14 +327,14 @@ void move_from_north_province_area_one_to_north_province_area_two(SingleSwitchPr
// place marker past pokecenter {0.25625, 0.566667}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 80, 400ms},
+ {ZoomChange::KEEP_ZOOM, -1, +0.375, 400ms},
FlyPoint::POKECENTER,
{0.25625, 0.566667}
);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 20, false);
+ 0, +1, 20, 20, false);
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
@@ -346,18 +346,18 @@ void beat_team_star_fighting1(SingleSwitchProgramEnvironment& env, ProController
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 128, 640ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 255, 128, 640ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, 0, 640ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, +1, 0, 640ms});
}
// marker 1
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 190, 30);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, -0.488, 240ms);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 20, false);
+ 0, +1, 40, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -367,7 +367,7 @@ void beat_team_star_fighting1(SingleSwitchProgramEnvironment& env, ProController
// marker 2. navigate to gate {0.244792, 0.37037} {0.244792, 0.359259} {0.265625, 0.371296}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_OUT, 255, 128, 0ms},
+ {ZoomChange::ZOOM_OUT, +1, 0, 0ms},
FlyPoint::POKECENTER,
{0.265625, 0.371296}
);
@@ -376,7 +376,7 @@ void beat_team_star_fighting1(SingleSwitchProgramEnvironment& env, ProController
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 20, false);
+ 0, +1, 40, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -396,7 +396,7 @@ void beat_team_star_fighting2(SingleSwitchProgramEnvironment& env, ProController
context.wait_for_all_requests();
do_action_and_monitor_for_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 220, 255, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +0.724, -1, 400ms);
walk_forward_while_clear_front_path(env.program_info(), env.console, context, 800ms);
walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_SPAM_A);
}
@@ -593,14 +593,14 @@ void move_from_fighting_base_to_north_province_area_two(SingleSwitchProgramEnvir
// marker 1. set marker to pokecenter
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 0ms},
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -611,11 +611,11 @@ void move_from_fighting_base_to_north_province_area_two(SingleSwitchProgramEnvir
// marker 2. set marker past pokecenter
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 60, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, +0.531, 400ms);
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
+ 0, +0.883, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
@@ -633,7 +633,7 @@ void move_from_west_province_area_one_north_to_alfornada(SingleSwitchProgramEnvi
do_action_and_monitor_for_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
// marker 1
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 140, 255, 30);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +0.094, -1, 240ms);
direction.change_direction(env.program_info(), env.console, context, 4.047990);
pbf_move_left_joystick(context, {0, +1}, 1600ms, 400ms);
realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_OLD_MARKER);
@@ -643,7 +643,7 @@ void move_from_west_province_area_one_north_to_alfornada(SingleSwitchProgramEnvi
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -653,7 +653,7 @@ void move_from_west_province_area_one_north_to_alfornada(SingleSwitchProgramEnvi
// marker 2 zoom in{0.605729, 0.30463}, zoom out{0.684375, 0.616667}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_OUT, 0, 150, 120ms},
+ {ZoomChange::ZOOM_OUT, -1, -0.173, 120ms},
FlyPoint::POKECENTER,
{0.684375, 0.616667}
);
@@ -661,7 +661,7 @@ void move_from_west_province_area_one_north_to_alfornada(SingleSwitchProgramEnvi
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 24, 8, false);
+ 0, +1, 24, 8, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -671,7 +671,7 @@ void move_from_west_province_area_one_north_to_alfornada(SingleSwitchProgramEnvi
// marker 3 {0.767708, 0.45}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 255, 480ms},
+ {ZoomChange::KEEP_ZOOM, +1, -1, 480ms},
FlyPoint::POKECENTER,
{0.767708, 0.45}
);
@@ -679,7 +679,7 @@ void move_from_west_province_area_one_north_to_alfornada(SingleSwitchProgramEnvi
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 60, 10, false);
+ 0, +1, 60, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -690,7 +690,7 @@ void move_from_west_province_area_one_north_to_alfornada(SingleSwitchProgramEnvi
// marker 4 {0.763021, 0.253704}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.763021, 0.253704}
);
@@ -698,7 +698,7 @@ void move_from_west_province_area_one_north_to_alfornada(SingleSwitchProgramEnvi
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -708,7 +708,7 @@ void move_from_west_province_area_one_north_to_alfornada(SingleSwitchProgramEnvi
// marker 5 {0.780729, 0.216667}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.780729, 0.216667}
);
@@ -716,7 +716,7 @@ void move_from_west_province_area_one_north_to_alfornada(SingleSwitchProgramEnvi
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -726,7 +726,7 @@ void move_from_west_province_area_one_north_to_alfornada(SingleSwitchProgramEnvi
// marker 6. place the marker at the top of the cliff. {0.633333, 0.304630}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_OUT, 0, 0, 0ms},
+ {ZoomChange::ZOOM_OUT, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.633333, 0.304630}
);
@@ -770,7 +770,7 @@ void move_from_west_province_area_one_north_to_alfornada(SingleSwitchProgramEnvi
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 20, 10, false);
+ 0, +1, 20, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -781,7 +781,7 @@ void move_from_west_province_area_one_north_to_alfornada(SingleSwitchProgramEnvi
// marker 7 {0.501042, 0.738889}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 200, 240ms},
+ {ZoomChange::KEEP_ZOOM, -1, -0.567, 240ms},
FlyPoint::POKECENTER,
{0.501042, 0.738889}
);
@@ -789,7 +789,7 @@ void move_from_west_province_area_one_north_to_alfornada(SingleSwitchProgramEnvi
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -800,15 +800,15 @@ void move_from_west_province_area_one_north_to_alfornada(SingleSwitchProgramEnvi
// marker 8. set marker to pokecenter
realign_player_from_landmark(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 128, 255, 240ms},
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}
+ {ZoomChange::KEEP_ZOOM, 0, -1, 240ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms}
);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -819,11 +819,11 @@ void move_from_west_province_area_one_north_to_alfornada(SingleSwitchProgramEnvi
// marker 9. set marker past pokecenter
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 120, 255, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -0.062, -1, 400ms);
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
+ 0, +0.883, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_32.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_32.cpp
index 9bf320b8cd..d6bf393924 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_32.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_32.cpp
@@ -99,11 +99,11 @@ void checkpoint_84(SingleSwitchProgramEnvironment& env, ProControllerContext& co
if (attempt_number > 0 || ENABLE_TEST){
env.console.log("Fly to neighbouring Pokecenter, then fly back, to clear any pokemon covering the minimap.");
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 128, 0, 1200ms});
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 128, 255, 1200ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, +1, 1200ms});
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, -1, 1200ms});
}
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 140, 70);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, -0.094, 560ms);
direction.change_direction(env.program_info(), env.console, context, 3.104878);
pbf_move_left_joystick(context, {0, +1}, 4160ms, 400ms);
@@ -113,7 +113,7 @@ void checkpoint_84(SingleSwitchProgramEnvironment& env, ProControllerContext& co
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 50, 10, false);
+ 0, +1, 50, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -123,7 +123,7 @@ void checkpoint_84(SingleSwitchProgramEnvironment& env, ProControllerContext& co
// {0.326042, 0.438889}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 0ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.326042, 0.438889}
);
@@ -131,7 +131,7 @@ void checkpoint_84(SingleSwitchProgramEnvironment& env, ProControllerContext& co
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -244,7 +244,7 @@ void checkpoint_84(SingleSwitchProgramEnvironment& env, ProControllerContext& co
pbf_wait(context, 3000ms);
// wait for overworld after leaving gym
wait_for_overworld(env.program_info(), env.console, context, 30);
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}, FlyPoint::POKECENTER);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +1, 0ms}, FlyPoint::POKECENTER);
});
}
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_33.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_33.cpp
index 0f766b9d04..0b27e78e28 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_33.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_33.cpp
@@ -116,9 +116,9 @@ void AutoStory_Checkpoint_89::run_checkpoint(SingleSwitchProgramEnvironment& env
void checkpoint_85(SingleSwitchProgramEnvironment& env, ProControllerContext& context, EventNotificationOption& notif_status_update, AutoStoryStats& stats){
checkpoint_reattempt_loop(env, context, notif_status_update, stats,
[&](size_t attempt_number){
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 255, 50, 2560ms}, FlyPoint::FAST_TRAVEL);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, +1, +0.609, 2560ms}, FlyPoint::FAST_TRAVEL);
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 128, 0, 80);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, +1, 640ms);
walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 30000ms);
clear_dialog(env.console, context, ClearDialogMode::STOP_BATTLE, 60, {CallbackEnum::PROMPT_DIALOG, CallbackEnum::BATTLE, CallbackEnum:: DIALOG_ARROW});
@@ -127,7 +127,7 @@ void checkpoint_85(SingleSwitchProgramEnvironment& env, ProControllerContext& co
run_trainer_battle_press_A(env.console, context, BattleStopCondition::STOP_DIALOG);
mash_button_till_overworld(env.console, context, BUTTON_A);
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, 0, 0, 0ms}, FlyPoint::FAST_TRAVEL);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, -1, +1, 0ms}, FlyPoint::FAST_TRAVEL);
});
}
@@ -136,7 +136,7 @@ void checkpoint_86(SingleSwitchProgramEnvironment& env, ProControllerContext& co
checkpoint_reattempt_loop(env, context, notif_status_update, stats,
[&](size_t attempt_number){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 128, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, 0, 400ms);
DirectionDetector direction;
// minimap should be clear of Pokemon within Mesagoza
direction.change_direction(env.program_info(), env.console, context, 1.222127);
@@ -155,7 +155,7 @@ void checkpoint_86(SingleSwitchProgramEnvironment& env, ProControllerContext& co
// marker 1 {0.429688, 0.299074}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.429688, 0.299074}
);
@@ -163,7 +163,7 @@ void checkpoint_86(SingleSwitchProgramEnvironment& env, ProControllerContext& co
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 10, false);
+ 0, +1, 30, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -174,7 +174,7 @@ void checkpoint_86(SingleSwitchProgramEnvironment& env, ProControllerContext& co
// marker 2 {0.482812, 0.378704}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::ZOOM_IN, 0, 0, 400ms},
+ {ZoomChange::ZOOM_IN, -1, +1, 400ms},
FlyPoint::POKECENTER,
{0.482812, 0.378704}
);
@@ -182,7 +182,7 @@ void checkpoint_86(SingleSwitchProgramEnvironment& env, ProControllerContext& co
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 10, false);
+ 0, +1, 40, 10, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -193,7 +193,7 @@ void checkpoint_86(SingleSwitchProgramEnvironment& env, ProControllerContext& co
// marker 3 {0.638021, 0.676852}
place_marker_offset_from_flypoint(env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 400ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 400ms},
FlyPoint::POKECENTER,
{0.638021, 0.676852}
);
@@ -201,7 +201,7 @@ void checkpoint_86(SingleSwitchProgramEnvironment& env, ProControllerContext& co
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 60, 30, false);
+ 0, +1, 60, 30, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -422,11 +422,11 @@ void checkpoint_89(SingleSwitchProgramEnvironment& env, ProControllerContext& co
// move to Pokecenter
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 255, 50, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, +1, +0.609, 400ms);
});
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 15, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
+ 0, +0.883, 12, 12, false); // can't wrap in handle_when_stationary_in_overworld(), since we expect to be stationary when walking into the pokecenter
fly_to_overlapping_flypoint(env.program_info(), env.console, context);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_34.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_34.cpp
index 1aa9a4c05e..30bc3edcbb 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_34.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_34.cpp
@@ -89,15 +89,15 @@ void checkpoint_90(SingleSwitchProgramEnvironment& env, ProControllerContext& co
checkpoint_reattempt_loop(env, context, notif_status_update, stats,
[&](size_t attempt_number){
// Fly to Academy
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 255, 230, 640ms}, FlyPoint::FAST_TRAVEL);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, +1, -0.803, 640ms}, FlyPoint::FAST_TRAVEL);
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 128, 255, 100);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, -1, 800ms);
handle_when_stationary_in_overworld(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_TIME, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 30, 30, false);
+ 0, +1, 30, 30, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -192,7 +192,7 @@ void checkpoint_91(SingleSwitchProgramEnvironment& env, ProControllerContext& co
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_SPAM_A,
- 128, 0, 60, 60, false);
+ 0, +1, 60, 60, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -202,7 +202,7 @@ void checkpoint_91(SingleSwitchProgramEnvironment& env, ProControllerContext& co
mash_button_till_overworld(env.console, context, BUTTON_A);
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, 0, 0, 0ms}, FlyPoint::FAST_TRAVEL);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, -1, +1, 0ms}, FlyPoint::FAST_TRAVEL);
});
@@ -211,7 +211,7 @@ void checkpoint_91(SingleSwitchProgramEnvironment& env, ProControllerContext& co
void checkpoint_92(SingleSwitchProgramEnvironment& env, ProControllerContext& context, EventNotificationOption& notif_status_update, AutoStoryStats& stats){
checkpoint_reattempt_loop(env, context, notif_status_update, stats,
[&](size_t attempt_number){
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, 145, 255, 2800ms}, FlyPoint::FAST_TRAVEL);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::ZOOM_IN, +0.134, -1, 2800ms}, FlyPoint::FAST_TRAVEL);
handle_unexpected_battles(env.program_info(), env.console, context,
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, 0}, 1000ms, 100ms);
@@ -228,10 +228,10 @@ void checkpoint_92(SingleSwitchProgramEnvironment& env, ProControllerContext& co
// wait for overworld after building
wait_for_overworld(env.program_info(), env.console, context, 30);
- realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, 0, 190, 50);
+ realign_player(env.program_info(), env.console, context, PlayerRealignMode::REALIGN_NEW_MARKER, -1, -0.488, 400ms);
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_SPAM_A,
- 128, 0, 30, 30, false);
+ 0, +1, 30, 30, false);
clear_dialog(env.console, context, ClearDialogMode::STOP_BATTLE, 60, {CallbackEnum::BATTLE, CallbackEnum::DIALOG_ARROW, CallbackEnum::PROMPT_DIALOG});
@@ -240,7 +240,7 @@ void checkpoint_92(SingleSwitchProgramEnvironment& env, ProControllerContext& co
mash_button_till_overworld(env.console, context, BUTTON_A);
- move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, 0, 0, 0ms}, FlyPoint::POKECENTER);
+ move_cursor_towards_flypoint_and_go_there(env.program_info(), env.console, context, {ZoomChange::KEEP_ZOOM, -1, +1, 0ms}, FlyPoint::POKECENTER);
});
}
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_35.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_35.cpp
index 7534311d34..4a0be8ac78 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_35.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_35.cpp
@@ -94,7 +94,7 @@ void checkpoint_93(SingleSwitchProgramEnvironment& env, ProControllerContext& co
env.program_info(),
env.console,
context,
- {ZoomChange::ZOOM_OUT, 95, 0, 1360ms},
+ {ZoomChange::ZOOM_OUT, -0.258, +1, 1360ms},
FlyPoint::POKECENTER
);
@@ -103,7 +103,7 @@ void checkpoint_93(SingleSwitchProgramEnvironment& env, ProControllerContext& co
env.program_info(),
env.console,
context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.580729, 0.286111}
);
@@ -111,7 +111,7 @@ void checkpoint_93(SingleSwitchProgramEnvironment& env, ProControllerContext& co
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 20, false);
+ 0, +1, 40, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
@@ -124,7 +124,7 @@ void checkpoint_93(SingleSwitchProgramEnvironment& env, ProControllerContext& co
env.program_info(),
env.console,
context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.475, 0.4}
);
@@ -132,7 +132,7 @@ void checkpoint_93(SingleSwitchProgramEnvironment& env, ProControllerContext& co
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 20, false);
+ 0, +1, 40, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -143,7 +143,7 @@ void checkpoint_93(SingleSwitchProgramEnvironment& env, ProControllerContext& co
// marker 3 {0.473958, 0.260185} {0.479687, 0.250926}
place_marker_offset_from_flypoint(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 255, 240ms},
+ {ZoomChange::KEEP_ZOOM, -1, -1, 240ms},
FlyPoint::POKECENTER,
{0.479687, 0.250926}
);
@@ -151,7 +151,7 @@ void checkpoint_93(SingleSwitchProgramEnvironment& env, ProControllerContext& co
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 20, false);
+ 0, +1, 40, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -162,7 +162,7 @@ void checkpoint_93(SingleSwitchProgramEnvironment& env, ProControllerContext& co
// marker 4 {0.425, 0.289815}
place_marker_offset_from_flypoint(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 0, 0, 0ms},
+ {ZoomChange::KEEP_ZOOM, -1, +1, 0ms},
FlyPoint::POKECENTER,
{0.425, 0.289815}
);
@@ -170,7 +170,7 @@ void checkpoint_93(SingleSwitchProgramEnvironment& env, ProControllerContext& co
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 20, false);
+ 0, +1, 40, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -181,7 +181,7 @@ void checkpoint_93(SingleSwitchProgramEnvironment& env, ProControllerContext& co
// marker 5 {0.465104, 0.292593}
place_marker_offset_from_flypoint(
env.program_info(), env.console, context,
- {ZoomChange::KEEP_ZOOM, 255, 0, 160ms},
+ {ZoomChange::KEEP_ZOOM, +1, +1, 160ms},
FlyPoint::POKECENTER,
{0.465104, 0.292593}
);
@@ -189,7 +189,7 @@ void checkpoint_93(SingleSwitchProgramEnvironment& env, ProControllerContext& co
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_MARKER, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 20, false);
+ 0, +1, 40, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {-1, -1}, 320ms, 400ms);
@@ -200,7 +200,7 @@ void checkpoint_93(SingleSwitchProgramEnvironment& env, ProControllerContext& co
// marker 6 {0.439583, 0.274074}
place_marker_offset_from_flypoint(
env.program_info(), env.console, context,
- {ZoomChange::ZOOM_OUT, 255, 255, 160ms},
+ {ZoomChange::ZOOM_OUT, +1, -1, 160ms},
FlyPoint::POKECENTER,
{0.439583, 0.274074}
);
@@ -208,7 +208,7 @@ void checkpoint_93(SingleSwitchProgramEnvironment& env, ProControllerContext& co
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
overworld_navigation(env.program_info(), env.console, context,
NavigationStopCondition::STOP_DIALOG, NavigationMovementMode::DIRECTIONAL_ONLY,
- 128, 0, 40, 20, false);
+ 0, +1, 40, 20, false);
},
[&](const ProgramInfo& info, VideoStream& stream, ProControllerContext& context){
pbf_move_left_joystick(context, {+1, -1}, 320ms, 400ms);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_37.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_37.cpp
index 5245946422..9d31dd1a35 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_37.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_37.cpp
@@ -81,7 +81,7 @@ void checkpoint_98(SingleSwitchProgramEnvironment& env, ProControllerContext& co
YOLOv5Detector yolo_detector(RESOURCE_PATH() + "PokemonSV/YOLO/A0-station-3.onnx");
pbf_move_left_joystick(context, {0, -1}, 1600ms, 800ms);
- walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 10000ms, 255, 128);
+ walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 10000ms, +1, 0);
clear_dialog(env.console, context, ClearDialogMode::STOP_PROMPT, 60, {CallbackEnum::PROMPT_DIALOG});
pbf_press_dpad(context, DPAD_DOWN, 104ms, 160ms);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_39.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_39.cpp
index a1506610c9..0e96a837eb 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_39.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory_Segment_39.cpp
@@ -82,7 +82,7 @@ void checkpoint_102(SingleSwitchProgramEnvironment& env, ProControllerContext& c
YOLOv5Detector yolo_detector(RESOURCE_PATH() + "PokemonSV/YOLO/A0-lab.onnx");
pbf_move_left_joystick(context, {0, -1}, 1600ms, 800ms);
- walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 10000ms, 255, 128);
+ walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 10000ms, +1, 0);
clear_dialog(env.console, context, ClearDialogMode::STOP_PROMPT, 60, {CallbackEnum::PROMPT_DIALOG});
pbf_press_dpad(context, DPAD_DOWN, 104ms, 160ms);
pbf_press_dpad(context, DPAD_DOWN, 104ms, 160ms);
@@ -93,7 +93,7 @@ void checkpoint_102(SingleSwitchProgramEnvironment& env, ProControllerContext& c
// heal at the bed
pbf_move_left_joystick(context, {0, +1}, 2400ms, 800ms);
- walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_SPAM_A, 10000ms, 255, 128);
+ walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_SPAM_A, 10000ms, +1, 0);
clear_dialog(env.console, context, ClearDialogMode::STOP_OVERWORLD, 60, {CallbackEnum::PROMPT_DIALOG, CallbackEnum::OVERWORLD});
// leave Station 2
@@ -183,7 +183,7 @@ void checkpoint_102(SingleSwitchProgramEnvironment& env, ProControllerContext& c
);
// walked off cliff. now move backwards
- walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 60000ms, 128, 255); // move backwards until dialog detected
+ walk_forward_until_dialog(env.program_info(), env.console, context, NavigationMovementMode::DIRECTIONAL_ONLY, 60000ms, 0, -1); // move backwards until dialog detected
mash_button_till_overworld(env.console, context, BUTTON_A);
diff --git a/SerialPrograms/Source/PokemonSV/Programs/PokemonSV_WorldNavigation.cpp b/SerialPrograms/Source/PokemonSV/Programs/PokemonSV_WorldNavigation.cpp
index 5e9d5c8c2c..ea84254100 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/PokemonSV_WorldNavigation.cpp
+++ b/SerialPrograms/Source/PokemonSV/Programs/PokemonSV_WorldNavigation.cpp
@@ -324,10 +324,10 @@ void place_marker_offset_from_flypoint(
case ZoomChange::KEEP_ZOOM:
break;
}
- uint8_t move_x1 = move_cursor_near_flypoint.move_x;
- uint8_t move_y1 = move_cursor_near_flypoint.move_y;
+ double move_x1 = move_cursor_near_flypoint.move_x;
+ double move_y1 = move_cursor_near_flypoint.move_y;
Milliseconds move_duration1 = move_cursor_near_flypoint.move_duration;
- pbf_move_left_joystick_old(context, move_x1, move_y1, move_duration1, 1000ms);
+ pbf_move_left_joystick(context, {move_x1, move_y1}, move_duration1, 1000ms);
move_cursor_to_position_offset_from_flypoint(info, stream, context, fly_point, {marker_offset.x, marker_offset.y});
@@ -658,8 +658,8 @@ void walk_forward_until_dialog(
ProControllerContext& context,
NavigationMovementMode movement_mode,
Milliseconds timeout,
- uint8_t x,
- uint8_t y
+ double x,
+ double y
){
DialogBoxWatcher dialog(COLOR_RED, true);
@@ -667,7 +667,7 @@ void walk_forward_until_dialog(
int ret = run_until(
stream, context,
[&](ProControllerContext& context){
- ssf_press_left_joystick_old(context, x, y, 0ms, timeout);
+ ssf_press_left_joystick(context, {x, y}, 0ms, timeout);
if (movement_mode == NavigationMovementMode::DIRECTIONAL_ONLY){
pbf_wait(context, timeout);
} else if (movement_mode == NavigationMovementMode::DIRECTIONAL_SPAM_A){
@@ -699,7 +699,7 @@ void walk_forward_while_clear_front_path(
VideoStream& stream,
ProControllerContext& context,
Milliseconds forward_duration,
- uint8_t y,
+ double y,
Milliseconds duration_between_lets_go,
Milliseconds delay_after_lets_go
){
@@ -710,13 +710,13 @@ void walk_forward_while_clear_front_path(
while (true){
if (milliseconds_left < duration_between_lets_go){
- pbf_move_left_joystick_old(context, 128, y, milliseconds_left, 160ms);
+ pbf_move_left_joystick(context, {0, y}, milliseconds_left, 160ms);
context.wait_for_all_requests();
stream.log("walk_forward_while_clear_front_path() duration traveled: " + std::to_string(forward_duration.count()) + "ms");
break;
}
- pbf_move_left_joystick_old(context, 128, y, duration_between_lets_go, 160ms);
+ pbf_move_left_joystick(context, {0, y}, duration_between_lets_go, 160ms);
milliseconds_left -= duration_between_lets_go;
context.wait_for_all_requests();
diff --git a/SerialPrograms/Source/PokemonSV/Programs/PokemonSV_WorldNavigation.h b/SerialPrograms/Source/PokemonSV/Programs/PokemonSV_WorldNavigation.h
index e09dc19182..2261e4f175 100644
--- a/SerialPrograms/Source/PokemonSV/Programs/PokemonSV_WorldNavigation.h
+++ b/SerialPrograms/Source/PokemonSV/Programs/PokemonSV_WorldNavigation.h
@@ -71,8 +71,8 @@ enum class ZoomChange{
struct MoveCursor{
ZoomChange zoom_change;
- uint8_t move_x;
- uint8_t move_y;
+ double move_x;
+ double move_y;
Milliseconds move_duration;
};
@@ -139,8 +139,8 @@ void walk_forward_until_dialog(
ProControllerContext& context,
NavigationMovementMode movement_mode,
Milliseconds timeout = Milliseconds(10000),
- uint8_t x = 128,
- uint8_t y = 0
+ double x = 0,
+ double y = +1
);
// walk forward while using lets go to clear the path
@@ -153,7 +153,7 @@ void walk_forward_while_clear_front_path(
VideoStream& stream,
ProControllerContext& context,
Milliseconds forward_duration,
- uint8_t y = 0,
+ double y = +1,
Milliseconds duration_between_lets_go = Milliseconds(1000),
Milliseconds delay_after_lets_go = Milliseconds(2000)
);