@@ -1430,55 +1430,50 @@ void GameActivity::Update()
1430
1430
m_ControlledActor[player] = 0 ;
1431
1431
}
1432
1432
1433
- // /////////////////////////////////////////
1434
1433
// Player-commanded actor switching
1434
+ if (m_ViewState[player] != ViewState::Observe) {
1435
+ // Switch to brain actor directly if the player wants to
1436
+ if (m_PlayerController[player].IsState (ACTOR_BRAIN) && m_ViewState[player] != ViewState::ActorSelect) {
1437
+ SwitchToActor (m_Brain[player], player, team);
1438
+ m_ViewState[player] = ViewState::Normal;
1439
+ } else if (m_PlayerController[player].IsState (ACTOR_NEXT) && m_ViewState[player] != ViewState::ActorSelect && !m_pBuyGUI[player]->IsVisible () && !m_LuaLockActor[player]) {
1440
+ // Switch to next actor if the player wants to. Don't do it while the buy menu is open
1441
+ if (m_ControlledActor[player] && m_ControlledActor[player]->GetPieMenu ()) {
1442
+ m_ControlledActor[player]->GetPieMenu ()->SetEnabled (false );
1443
+ }
1435
1444
1436
- // Switch to brain actor directly if the player wants to
1437
- if (m_PlayerController[player].IsState (ACTOR_BRAIN) && m_ViewState[player] != ViewState::ActorSelect)
1438
- {
1439
- SwitchToActor (m_Brain[player], player, team);
1440
- m_ViewState[player] = ViewState::Normal;
1441
- }
1442
- // Switch to next actor if the player wants to. Don't do it while the buy menu is open
1443
- else if (m_PlayerController[player].IsState (ACTOR_NEXT) && m_ViewState[player] != ViewState::ActorSelect && !m_pBuyGUI[player]->IsVisible () && !m_LuaLockActor[player])
1444
- {
1445
- if (m_ControlledActor[player] && m_ControlledActor[player]->GetPieMenu ()) {
1446
- m_ControlledActor[player]->GetPieMenu ()->SetEnabled (false );
1447
- }
1448
- SwitchToNextActor (player, team);
1449
- m_ViewState[player] = ViewState::Normal;
1450
- g_FrameMan.ClearScreenText (ScreenOfPlayer (player));
1451
- }
1452
- // Switch to prev actor if the player wants to. Don't do it while the buy menu is open
1453
- else if (m_PlayerController[player].IsState (ACTOR_PREV) && m_ViewState[player] != ViewState::ActorSelect && !m_pBuyGUI[player]->IsVisible ())
1454
- {
1455
- if (m_ControlledActor[player] && m_ControlledActor[player]->GetPieMenu ()) {
1456
- m_ControlledActor[player]->GetPieMenu ()->SetEnabled (false );
1457
- }
1458
- SwitchToPrevActor (player, team);
1459
- m_ViewState[player] = ViewState::Normal;
1460
- g_FrameMan.ClearScreenText (ScreenOfPlayer (player));
1461
- }
1462
- // Go into manual actor select mode if either actor switch buttons are held for a duration
1463
- else if (m_ViewState[player] != ViewState::ActorSelect && !m_pBuyGUI[player]->IsVisible () && !m_LuaLockActor[player] && (m_PlayerController[player].IsState (ACTOR_NEXT_PREP) || m_PlayerController[player].IsState (ACTOR_PREV_PREP)))
1464
- {
1465
- if (m_ActorSelectTimer[player].IsPastRealMS (250 ))
1466
- {
1467
- // Set cursor to start at the head of controlled actor
1468
- if (m_ControlledActor[player])
1469
- {
1470
- // Give switched from actor an AI controller
1471
- m_ControlledActor[player]->SetControllerMode (Controller::CIM_AI);
1472
- m_ControlledActor[player]->GetController ()->SetDisabled (false );
1473
- m_ActorCursor[player] = m_ControlledActor[player]->GetCPUPos ();
1474
- m_CursorTimer.Reset ();
1445
+ SwitchToNextActor (player, team);
1446
+ m_ViewState[player] = ViewState::Normal;
1447
+ g_FrameMan.ClearScreenText (ScreenOfPlayer (player));
1448
+ }
1449
+ // Switch to prev actor if the player wants to. Don't do it while the buy menu is open
1450
+ else if (m_PlayerController[player].IsState (ACTOR_PREV) && m_ViewState[player] != ViewState::ActorSelect && !m_pBuyGUI[player]->IsVisible ()) {
1451
+ if (m_ControlledActor[player] && m_ControlledActor[player]->GetPieMenu ()) {
1452
+ m_ControlledActor[player]->GetPieMenu ()->SetEnabled (false );
1475
1453
}
1476
- m_ViewState[player] = ViewState::ActorSelect;
1454
+
1455
+ SwitchToPrevActor (player, team);
1456
+ m_ViewState[player] = ViewState::Normal;
1477
1457
g_FrameMan.ClearScreenText (ScreenOfPlayer (player));
1478
- }
1458
+ } else if (m_ViewState[player] != ViewState::ActorSelect && !m_pBuyGUI[player]->IsVisible () && !m_LuaLockActor[player] && (m_PlayerController[player].IsState (ACTOR_NEXT_PREP) || m_PlayerController[player].IsState (ACTOR_PREV_PREP))) {
1459
+ // Go into manual actor select mode if either actor switch buttons are held for a duration
1460
+ if (m_ActorSelectTimer[player].IsPastRealMS (250 )) {
1461
+ // Set cursor to start at the head of controlled actor
1462
+ if (m_ControlledActor[player]) {
1463
+ // Give switched from actor an AI controller
1464
+ m_ControlledActor[player]->SetControllerMode (Controller::CIM_AI);
1465
+ m_ControlledActor[player]->GetController ()->SetDisabled (false );
1466
+ m_ActorCursor[player] = m_ControlledActor[player]->GetCPUPos ();
1467
+ m_CursorTimer.Reset ();
1468
+ }
1469
+
1470
+ m_ViewState[player] = ViewState::ActorSelect;
1471
+ g_FrameMan.ClearScreenText (ScreenOfPlayer (player));
1472
+ }
1473
+ } else {
1474
+ m_ActorSelectTimer[player].Reset ();
1475
+ }
1479
1476
}
1480
- else
1481
- m_ActorSelectTimer[player].Reset ();
1482
1477
1483
1478
// //////////////////////////////////
1484
1479
// Update sceneman scroll targets
0 commit comments