| 8716 | } |
| 8717 | |
| 8718 | sSprite* cFodder::Sprite_Add(size_t pSpriteID, int16 pSpriteX, int16 pSpriteY) { |
| 8719 | |
| 8720 | int16 Data0 = 3; |
| 8721 | |
| 8722 | sSprite* First = 0, *Second = 0, *Third = 0, *Fourth = 0; |
| 8723 | |
| 8724 | if (Sprite_Get_Free_Max42(Data0, First, Second)) |
| 8725 | return First; |
| 8726 | |
| 8727 | Third = Second + 1; |
| 8728 | Fourth = Third + 1; |
| 8729 | |
| 8730 | First->field_18 = (int16)pSpriteID; |
| 8731 | First->field_0 = pSpriteX; |
| 8732 | First->field_4 = pSpriteY; |
| 8733 | First->field_26 = pSpriteX; |
| 8734 | First->field_28 = pSpriteY; |
| 8735 | |
| 8736 | switch (pSpriteID) { |
| 8737 | case eSprite_BoilingPot: // 1 Null |
| 8738 | case eSprite_Tank_Human: |
| 8739 | case eSprite_VehicleNoGun_Human: |
| 8740 | case eSprite_VehicleGun_Human: |
| 8741 | case eSprite_VehicleNoGun_Enemy: |
| 8742 | case eSprite_VehicleGun_Enemy: |
| 8743 | case eSprite_Vehicle_Unk_Enemy: |
| 8744 | case eSprite_Enemy_Leader: |
| 8745 | Second->field_18 = eSprite_Null; |
| 8746 | Second->field_0 = pSpriteX; |
| 8747 | Second->field_4 = pSpriteY; |
| 8748 | Second->field_26 = pSpriteX; |
| 8749 | Second->field_28 = pSpriteY; |
| 8750 | break; |
| 8751 | |
| 8752 | case eSprite_Helicopter_Grenade_Enemy: // 3 Nulls |
| 8753 | case eSprite_Helicopter_Unarmed_Enemy: |
| 8754 | case eSprite_Helicopter_Missile_Enemy: |
| 8755 | case eSprite_Helicopter_Homing_Enemy: |
| 8756 | case eSprite_Helicopter_Homing_Enemy2: |
| 8757 | Second->field_18 = eSprite_Null; |
| 8758 | Second->field_0 = pSpriteX; |
| 8759 | Second->field_4 = pSpriteY; |
| 8760 | Second->field_26 = pSpriteX; |
| 8761 | Second->field_28 = pSpriteY; |
| 8762 | Third->field_18 = eSprite_Null; |
| 8763 | Third->field_0 = pSpriteX; |
| 8764 | Third->field_4 = pSpriteY; |
| 8765 | Third->field_26 = pSpriteX; |
| 8766 | Third->field_28 = pSpriteY; |
| 8767 | Fourth->field_18 = eSprite_Null; |
| 8768 | Fourth->field_0 = pSpriteX; |
| 8769 | Fourth->field_4 = pSpriteY; |
| 8770 | Fourth->field_26 = pSpriteX; |
| 8771 | Fourth->field_28 = pSpriteY; |
| 8772 | break; |
| 8773 | |
| 8774 | // Fall Through |
| 8775 | case eSprite_Helicopter_Grenade_Human: // 2 Nulls |
nothing calls this directly
no outgoing calls
no test coverage detected