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

Method Camera_SetTargetToStartPosition

Source/Fodder.cpp:1796–1874  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1794}
1795
1796void cFodder::Camera_SetTargetToStartPosition() {
1797 int16 Data0 = mCameraX >> 16;
1798 int16 Data4 = mCameraY >> 16;
1799
1800 int16 Data8 = mCamera_StartPosition_X;
1801 Data8 -= (getCameraWidth() / 2) - 8;
1802 if (Data8 < 0)
1803 Data8 = 0;
1804
1805 int16 Data10 = mMapLoaded->getWidthPixels();
1806 Data10 -= (getCameraWidth() / 2) - 8;
1807 if (Data8 >= Data10)
1808 Data8 = Data10;
1809
1810 int16 DataC = mCamera_StartPosition_Y;
1811 DataC -= (getCameraHeight() - 8) / 2;
1812 if (DataC < 0)
1813 DataC = 0;
1814
1815 Data10 = mMapLoaded->getHeightPixels();
1816 Data10 -= (getCameraHeight() - 8) / 2;
1817 if (DataC >= Data10)
1818 DataC = Data10;
1819
1820 if (!mPhase_MapIs17x12) {
1821 Map_Get_Distance_BetweenPoints_Within_Window(Data0, Data4, Data8, DataC);
1822
1823 if (Data0 >= 0x8C)
1824 goto loc_11D8A;
1825 }
1826 //loc_11D62
1827 mCamera_PanTargetX = mCamera_StartPosition_X;
1828 mCamera_PanTargetY = mCamera_StartPosition_Y;
1829
1830 return;
1831
1832loc_11D8A:;
1833
1834 if (mPhase_Completed_Timer)
1835 return;
1836
1837 mCamera_MovePauseX = 6;
1838 mCamera_MovePauseY = 6;
1839 mInput_Enabled = false;
1840
1841 mCamera_PanTargetX = mCamera_StartPosition_X;
1842 mCamera_PanTargetY = mCamera_StartPosition_Y;
1843 mCamera_Speed_Reset_X = false;
1844 mCamera_AccelerationX &= 0x0000FFFF;
1845 mCamera_Speed_Reset_Y = false;
1846 mCamera_AccelerationY &= 0x0000FFFF;
1847
1848 Image_FadeOut();
1849
1850 if (mMap_Destroy_Tiles_Countdown)
1851 Map_Destroy_Tiles();
1852
1853 // THis count is really meant as a backup to stop it looping forever

Callers

nothing calls this directly

Calls 5

getWidthPixelsMethod · 0.80
getHeightPixelsMethod · 0.80
NoticeMethod · 0.80
PaletteSetMethod · 0.45

Tested by

no test coverage detected