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

Method Sprite_Create_Smoke

Source/Fodder.cpp:5188–5221  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5186}
5187
5188int16 cFodder::Sprite_Create_Smoke(sSprite* pSprite, sSprite*& pData2C) {
5189 if (!pSprite->field_5C)
5190 return -1;
5191
5192 int16 Data0 = 1;
5193 sSprite* Data30 = 0;
5194
5195 if (Sprite_Get_Free_Max42(Data0, pData2C, Data30))
5196 return -1;
5197
5198 pData2C->field_0 = pSprite->field_0;
5199 pData2C->field_2 = pSprite->field_2;
5200 pData2C->field_4 = pSprite->field_4;
5201 pData2C->field_6 = pSprite->field_6;
5202
5203 if (dword_3B24B) {
5204 Data0 = tool_RandomGet() & 0x1F;
5205 Data0 -= 8;
5206 pData2C->field_0 += Data0;
5207 Data0 >>= 4;
5208 Data0 &= 0x0F;
5209 Data0 -= 8;
5210 pData2C->field_4 -= Data0;
5211 dword_3B24B = 0;
5212 }
5213
5214 pData2C->field_20 = pSprite->field_20;
5215 pData2C->field_52 = 0;
5216 pData2C->field_8 = 0xCC;
5217 pData2C->field_A = 4;
5218 pData2C->field_2C = eSprite_Draw_OnTop;
5219 pData2C->field_18 = eSprite_Smoke;
5220 return 0;
5221}
5222
5223void cFodder::sub_23525(sSprite* pSprite) {
5224 int16 Data0 = 2;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected