| 17336 | } |
| 17337 | |
| 17338 | void 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 | |
| 17363 | loc_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 | |
| 17373 | loc_20F7B:; |
| 17374 | Data0 = pSprite->field_36; |
| 17375 | Data0 >>= 2; |
| 17376 | pSprite->field_36 += Data0; |
| 17377 | return; |
| 17378 | |
| 17379 | loc_20F9B:; |
| 17380 | Data0 = pSprite->field_36; |
| 17381 | Data0 >>= 3; |
| 17382 | pSprite->field_36 += Data0; |
| 17383 | return; |
| 17384 | |
| 17385 | loc_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 | |
| 17392 | loc_20FD1:; |
| 17393 | pSprite->field_36 >>= 1; |
| 17394 | |
| 17395 | loc_20FD9:; |
nothing calls this directly
no outgoing calls
no test coverage detected