| 709 | } |
| 710 | |
| 711 | void cFodder::Camera_PanTarget_AdjustToward_SquadLeader() { |
| 712 | if (mSquad_Leader == INVALID_SPRITE_PTR || mSquad_Leader == 0) |
| 713 | return; |
| 714 | |
| 715 | int16 SquadLeaderX = mSquad_Leader->field_0 + 0x18; |
| 716 | int16 SquadLeaderY = mSquad_Leader->field_4; |
| 717 | int16 Data18 = SquadLeaderX; |
| 718 | int16 Data1C = SquadLeaderY; |
| 719 | |
| 720 | |
| 721 | mCamera_Scroll_Speed = CAMERA_TOWARD_SQUAD_SPEED; |
| 722 | |
| 723 | // Mouse near sidebar? |
| 724 | if (mMouseX <= 0x0F) { |
| 725 | |
| 726 | if (mCamera_Panning_ToTarget) { |
| 727 | |
| 728 | if ((SquadLeaderX - mCamera_SquadLeaderX) > 0 || |
| 729 | (SquadLeaderY - mCamera_SquadLeaderY) > 0) { |
| 730 | mCamera_PanTargetX = SquadLeaderX; |
| 731 | mCamera_PanTargetY = SquadLeaderY; |
| 732 | } |
| 733 | |
| 734 | // Original Logic |
| 735 | //mCamera_PanTargetX += (SquadLeaderX - mCamera_SquadLeaderX); |
| 736 | //mCamera_PanTargetY += (SquadLeaderY - mCamera_SquadLeaderY); |
| 737 | |
| 738 | mCamera_SquadLeaderX = SquadLeaderX; |
| 739 | mCamera_SquadLeaderY = SquadLeaderY; |
| 740 | } else { |
| 741 | //loc_10A11 |
| 742 | mCamera_Panning_ToTarget = true; |
| 743 | |
| 744 | mCamera_PanTargetX = (mCameraX >> 16) + (getCameraWidth() / 2) - 8; |
| 745 | mCamera_PanTargetY = (mCameraY >> 16) + (getCameraHeight() - 8) / 2; |
| 746 | } |
| 747 | //loc_10A3A |
| 748 | mMouse_Locked = false; |
| 749 | return; |
| 750 | } |
| 751 | |
| 752 | mCamera_Panning_ToTarget = false; |
| 753 | mCamera_SquadLeaderX = SquadLeaderX; |
| 754 | mCamera_SquadLeaderY = SquadLeaderY; |
| 755 | int16 Data0 = mMouseX + (mCameraX >> 16); |
| 756 | int16 Data4 = mMouseY + (mCameraY >> 16); |
| 757 | |
| 758 | int16 Data0_Saved = Data0; |
| 759 | int16 Data4_Saved = Data4; |
| 760 | int16 Data8_Saved = SquadLeaderX; |
| 761 | int16 DataC_Saved = SquadLeaderY; |
| 762 | |
| 763 | Map_Get_Distance_BetweenPoints_Within_Window(Data0, Data4, SquadLeaderX, SquadLeaderY); |
| 764 | |
| 765 | if (mSquad_CurrentVehicle) { |
| 766 | if (Data0 >= 0x64) |
| 767 | Data0 = 0x64; |
| 768 | } else { |
nothing calls this directly
no outgoing calls
no test coverage detected