[Scummvm-git-logs] scummvm master -> 4a7c433f926147f3967a6e9b88b6544d91f73094
joostp
noreply at scummvm.org
Wed Aug 3 13:41:54 UTC 2022
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
4a7c433f92 ICB: ELDORADO: handle fn_set_watch difference
Commit: 4a7c433f926147f3967a6e9b88b6544d91f73094
https://github.com/scummvm/scummvm/commit/4a7c433f926147f3967a6e9b88b6544d91f73094
Author: Joost Peters (joostp at 7fc1.org)
Date: 2022-08-03T15:41:24+02:00
Commit Message:
ICB: ELDORADO: handle fn_set_watch difference
Changed paths:
engines/icb/function.cpp
diff --git a/engines/icb/function.cpp b/engines/icb/function.cpp
index 3f39391880e..ac2f839995b 100644
--- a/engines/icb/function.cpp
+++ b/engines/icb/function.cpp
@@ -2367,41 +2367,42 @@ mcodeFunctionReturnCodes _game_session::fn_set_watch(int32 &, int32 *params) {
else
g_mission->camera_follow_id_overide = id;
- // If we are switching back to the player then we need to put the Remora back up if
- // it was up when we switched to a manual watch (but only in 3D).
- if (g_px->display_mode == THREED) {
- // Check if switching to player.
- if (id == player.Fetch_player_id()) {
- // If the Remora was active, need to bring it back up.
- if (g_mission->remora_save_mode != -1) {
- MS->player.Push_control_mode(ACTOR_RELATIVE);
- g_oRemora->SetModeOverride((_remora::RemoraMode)g_mission->remora_save_mode);
- g_oRemora->ActivateRemora((_remora::RemoraMode)g_mission->remora_save_mode);
- MS->player.Set_player_status(REMORA);
- MS->player.Update_input_state();
- psInputState = MS->player.Fetch_input_state();
- g_oRemora->CycleRemoraLogic(*psInputState);
- g_mission->remora_save_mode = -1;
- }
- } else {
- // Not switching to player so flag whether or not the Remora is active.
- if (g_oRemora->IsActive()) {
- // Deactivate it and remember its mode.
- g_mission->remora_save_mode = (int32)g_oRemora->GetMode();
- g_oRemora->SetMode(_remora::MOTION_SCAN);
- g_oRemora->DeactivateRemora(TRUE8);
- sInputState.UnSetButton(__UNUSEDBUTTON);
- g_oRemora->CycleRemoraLogic(sInputState);
- MS->player.Pop_control_mode();
- MS->player.Set_player_status(STOOD);
+ if (g_icb->getGameType() == GType_ICB) {
+ // If we are switching back to the player then we need to put the Remora back up if
+ // it was up when we switched to a manual watch (but only in 3D).
+ if (g_px->display_mode == THREED) {
+ // Check if switching to player.
+ if (id == player.Fetch_player_id()) {
+ // If the Remora was active, need to bring it back up.
+ if (g_mission->remora_save_mode != -1) {
+ MS->player.Push_control_mode(ACTOR_RELATIVE);
+ g_oRemora->SetModeOverride((_remora::RemoraMode)g_mission->remora_save_mode);
+ g_oRemora->ActivateRemora((_remora::RemoraMode)g_mission->remora_save_mode);
+ MS->player.Set_player_status(REMORA);
+ MS->player.Update_input_state();
+ psInputState = MS->player.Fetch_input_state();
+ g_oRemora->CycleRemoraLogic(*psInputState);
+ g_mission->remora_save_mode = -1;
+ }
} else {
- g_mission->remora_save_mode = -1;
+ // Not switching to player so flag whether or not the Remora is active.
+ if (g_oRemora->IsActive()) {
+ // Deactivate it and remember its mode.
+ g_mission->remora_save_mode = (int32)g_oRemora->GetMode();
+ g_oRemora->SetMode(_remora::MOTION_SCAN);
+ g_oRemora->DeactivateRemora(TRUE8);
+ sInputState.UnSetButton(__UNUSEDBUTTON);
+ g_oRemora->CycleRemoraLogic(sInputState);
+ MS->player.Pop_control_mode();
+ MS->player.Set_player_status(STOOD);
+ } else {
+ g_mission->remora_save_mode = -1;
+ }
}
}
+ // Deactivate the Remora.
}
- // Deactivate the Remora.
-
return (IR_CONT);
}
More information about the Scummvm-git-logs
mailing list