MCPcopy Create free account
hub / github.com/OpenFodder/openfodder / Camera_PanTarget_AdjustToward_SquadLeader

Method Camera_PanTarget_AdjustToward_SquadLeader

Source/Fodder.cpp:711–802  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

709}
710
711void 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 {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected