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

Method Sprite_Handle_Bullet

Source/Fodder.cpp:10981–11160  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

10979}
10980
10981void cFodder::Sprite_Handle_Bullet(sSprite* pSprite) {
10982 int16 Data8, DataC, Data0, Data4;
10983 int8 al;
10984
10985 pSprite->field_64 += 1;
10986
10987 if (!pSprite->field_2A)
10988 goto loc_19BA8;
10989
10990 Data0 = pSprite->field_1A_sprite->field_0;
10991 Data4 = pSprite->field_1A_sprite->field_4;
10992
10993 Data0 += pSprite->field_16;
10994 Data4 += pSprite->field_14;
10995 pSprite->field_0 = Data0;
10996 pSprite->field_4 = Data4;
10997
10998 pSprite->field_2A -= 1;
10999 if (pSprite->field_2A)
11000 return;
11001
11002 pSprite->field_8 = 0x7F;
11003 pSprite->field_A = 0;
11004
11005 if (pSprite->field_22 != eSprite_PersonType_Human)
11006 pSprite->field_A = 3;
11007
11008 Data0 = pSprite->field_1A_sprite->field_0;
11009 Data4 = pSprite->field_1A_sprite->field_4;
11010 Data0 += 7;
11011 Data4 += 5;
11012 pSprite->field_0 = Data0;
11013 pSprite->field_4 = Data4;
11014
11015loc_19BA8:;
11016 if (pSprite->field_43)
11017 goto loc_19DCF;
11018
11019 if (!pSprite->field_12)
11020 goto loc_19DCF;
11021
11022 pSprite->field_12 -= 1;
11023 pSprite->field_3A += 1;
11024
11025 if (pSprite->field_44)
11026 goto loc_19D24;
11027
11028 Sprite_XY_Store(pSprite);
11029
11030 if (pSprite->field_59)
11031 goto loc_19C6B;
11032
11033 Data0 = pSprite->field_2E;
11034 Data4 = pSprite->field_30;
11035
11036 Sprite_Direction_Between_Points(pSprite, Data0, Data4);
11037
11038 Data0 = pSprite->field_50;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected