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

Method Sprite_Movement_Speed_Update

Source/Fodder.cpp:17338–17410  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

17336}
17337
17338void cFodder::Sprite_Movement_Speed_Update(sSprite* pSprite) {
17339 int16 Data0 = pSprite->field_10;
17340
17341 if (pSprite->field_60 != eTerrainFeature_D)
17342 goto loc_20FBB;
17343
17344 //seg005:1843
17345
17346 if (Data0 < 0xD0)
17347 goto loc_20F63;
17348
17349 if (Data0 < 0x130)
17350 goto loc_20FD1;
17351
17352 if (Data0 <= 0x170)
17353 goto loc_20FD9;
17354
17355 if (Data0 <= 0x190)
17356 return;
17357
17358 if (Data0 <= 0x1C0)
17359 goto loc_20F9B;
17360
17361 goto loc_20F7B;
17362
17363loc_20F63:;
17364 if (Data0 >= 0x90)
17365 goto loc_20FD9;
17366
17367 if (Data0 >= 0x70)
17368 return;
17369
17370 if (Data0 >= 0x40)
17371 goto loc_20F9B;
17372
17373loc_20F7B:;
17374 Data0 = pSprite->field_36;
17375 Data0 >>= 2;
17376 pSprite->field_36 += Data0;
17377 return;
17378
17379loc_20F9B:;
17380 Data0 = pSprite->field_36;
17381 Data0 >>= 3;
17382 pSprite->field_36 += Data0;
17383 return;
17384
17385loc_20FBB:;
17386 if (pSprite->field_60 == eTerrainFeature_Rocky)
17387 goto loc_20FD1;
17388
17389 if (pSprite->field_60 != eTerrainFeature_Rocky2)
17390 goto loc_20FE3;
17391
17392loc_20FD1:;
17393 pSprite->field_36 >>= 1;
17394
17395loc_20FD9:;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected