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

Method Phase_Soldiers_AttachToSprites

Source/Fodder.cpp:1519–1556  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1517}
1518
1519void cFodder::Phase_Soldiers_AttachToSprites() {
1520
1521 int16 TroopsRemaining = mGame_Data.mGamePhase_Data.mSoldiers_Available;
1522 sSprite* Sprite = mSprites.data();
1523 sMission_Troop* Troop = mGame_Data.mSoldiers_Allocated;
1524
1525 // TODO: This counter needs fixing
1526 // Loop the game sprites looking for 'player' sprite
1527 for (int16 Data18 = 0x1D; Data18 >= 0; --Data18, ++Sprite) {
1528
1529 if (Sprite->field_0 == -32768)
1530 continue;
1531
1532 if (Sprite->field_18 != eSprite_Player)
1533 continue;
1534
1535 //
1536 if (--TroopsRemaining < 0) {
1537 Troop->mSprite = INVALID_SPRITE_PTR;
1538 Sprite->field_0 = -32768;
1539 Sprite->field_18 = eSprite_Null;
1540 Sprite->field_8 = 0x7C;
1541 ++Troop;
1542 }
1543 else {
1544 // loc_1166B
1545
1546 // Attach a Mission Troop to the sprite
1547 Sprite->field_46_mission_troop = Troop;
1548
1549 Troop->mSprite = Sprite;
1550 Sprite->field_10 = 0x40;
1551 Sprite->field_22 = eSprite_PersonType_Human;
1552
1553 ++Troop;
1554 }
1555 }
1556}
1557
1558void cFodder::Camera_Speed_Update_From_PanTarget() {
1559 int16 Data4 = mCamera_PanTargetY - (getCameraHeight() - 8) / 2;

Callers 1

quickServiceScreenFunction · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected