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

Method Sprite_Draw_Row_Update

Source/Fodder.cpp:15504–15540  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15502}
15503
15504void cFodder::Sprite_Draw_Row_Update(sSprite* pSprite) {
15505 int16 Data4 = 0;
15506
15507 // Sprite still moving?
15508 if (!Sprite_Reached_Target(pSprite)) {
15509 Sprite_Movement_Speed_Update(pSprite);
15510 Sprite_Movement_Calculate(pSprite);
15511 }
15512
15513 Squad_Join_Check(pSprite);
15514 Sprite_Reached_MapEdge(pSprite);
15515
15516 // Check the terrain
15517 int8 PreviousTileType = pSprite->field_60;
15518 Sprite_Terrain_Check(pSprite, Data4);
15519
15520 // Not leaving water?
15521 if (PreviousTileType != eTerrainFeature_Water)
15522 goto loc_1F75D;
15523
15524 // Leaving water and into Quick sand?
15525 if (pSprite->field_60 == eTerrainFeature_QuickSand)
15526 goto loc_1F753;
15527
15528 // Leaving water for the edge/bank
15529 if (pSprite->field_60 != eTerrainFeature_WaterEdge)
15530 goto loc_1F75D;
15531
15532 pSprite->field_52 = 5;
15533 goto loc_1F75D;
15534
15535loc_1F753:;
15536 pSprite->field_52 = 3;
15537
15538loc_1F75D:;
15539 Sprite_Handle_Player_Close_To_SquadMember(pSprite);
15540}
15541
15542void cFodder::Sprite_Handle_Troop_Animation(sSprite* pSprite) {
15543 int16 Data0, Data8;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected