| 1517 | } |
| 1518 | |
| 1519 | void 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 | |
| 1558 | void cFodder::Camera_Speed_Update_From_PanTarget() { |
| 1559 | int16 Data4 = mCamera_PanTargetY - (getCameraHeight() - 8) / 2; |
no outgoing calls
no test coverage detected