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

Method Sprite_Handle_Sparks

Source/Fodder.cpp:12699–12735  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12697}
12698
12699void cFodder::Sprite_Handle_Sparks(sSprite* pSprite) {
12700 Sprite_Movement_Calculate(pSprite);
12701 int32 Data0 = (int32)pSprite->field_1A;
12702
12703 Data0 += pSprite->field_1E;
12704
12705 pSprite->field_1E_Big = Data0;
12706
12707 if (pSprite->field_1E_Big < 0) {
12708 pSprite->field_1E_Big = 0;
12709 Data0 = -Data0;
12710 Data0 >>= 1;
12711 }
12712
12713 Data0 -= 0x22000;
12714 pSprite->field_1A = Data0;
12715
12716 Data0 = Data0 >> 16;
12717 if (!pSprite->field_A)
12718 goto loc_1C248;
12719
12720 if (pSprite->field_20)
12721 goto loc_1C262;
12722
12723 if (Data0 > 1)
12724 goto loc_1C262;
12725
12726loc_1C248:;
12727 pSprite->field_A++;
12728 if (pSprite->field_A >= 3) {
12729 Sprite_Destroy_Wrapper(pSprite);
12730 return;
12731 }
12732
12733loc_1C262:;
12734 Sprite_Create_FireTrail(pSprite);
12735}
12736
12737void cFodder::Sprite_Handle_FireTrail(sSprite* pSprite) {
12738 pSprite->field_2A += 1;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected