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

Method Sprite_Add

Source/Fodder.cpp:8718–8810  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8716}
8717
8718sSprite* 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

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected