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

Method Camera_Pan_Set_Speed

Source/Fodder.cpp:2252–2310  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2250}
2251
2252void cFodder::Camera_Pan_Set_Speed() {
2253 mCamera_Reached_Target = 2;
2254 mCamera_Speed_X = 0;
2255 mCamera_Speed_Y = 0;
2256
2257 int16 Data0 = mCamera_PanTargetX;
2258 Data0 -= getCameraWidth() / 2;
2259 if (Data0 < 0)
2260 Data0 = 0;
2261
2262 Data0 >>= 4;
2263 int16 Data4 = mCamera_PanTargetY;
2264 Data4 -= (getCameraHeight() - 8) / 2;
2265 if (Data4 < 0)
2266 Data4 = 0;
2267
2268 Data4 >>= 4;
2269
2270 int16 Data8 = mMapLoaded->getWidth();
2271 Data8 -= (getCameraWidth() >> 4) + 1;
2272
2273 if (Data8 < 0)
2274 Data8 = 0;
2275
2276 if (Data0 >= Data8)
2277 Data0 = Data8;
2278
2279 Data8 = mMapLoaded->getHeight();
2280 Data8 -= (getCameraHeight() + 32) >> 4;
2281 if (Data8 < 0)
2282 Data8 = 0;
2283
2284 if (Data4 >= Data8)
2285 Data4 = Data8;
2286
2287 Data8 = mCameraX >> 16;
2288 Data8 >>= 4;
2289 int16 DataC = mCameraY >> 16;
2290 DataC >>= 4;
2291
2292 if (Data8 == Data0) {
2293 --mCamera_Reached_Target;
2294 }
2295 else if (Data8 > Data0) {
2296 mCamera_Speed_X = (mCamera_Speed_X & 0xFFFF) | -CAMERA_PAN_TO_START_ACCELARATION; // (-8 << 16);
2297 }
2298 else
2299 mCamera_Speed_X = (mCamera_Speed_X & 0xFFFF) | CAMERA_PAN_TO_START_ACCELARATION; // (8 << 16);
2300
2301 //loc_11FAC
2302 if (DataC == Data4) {
2303 --mCamera_Reached_Target;
2304 }
2305 else if (DataC > Data4) {
2306 mCamera_Speed_Y = (mCamera_Speed_Y & 0xFFFF) | -CAMERA_PAN_TO_START_ACCELARATION; // (-8 << 16);
2307 }
2308 else
2309 mCamera_Speed_Y = (mCamera_Speed_Y & 0xFFFF) | CAMERA_PAN_TO_START_ACCELARATION; // (8 << 16);

Callers

nothing calls this directly

Calls 2

getWidthMethod · 0.45
getHeightMethod · 0.45

Tested by

no test coverage detected