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

Method Sprite_Projectile_Collision_Check

Source/Fodder.cpp:17773–17813  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

17771}
17772
17773int16 cFodder::Sprite_Projectile_Collision_Check(sSprite* pSprite) {
17774
17775 // If the projectile doesn't belong to a human, check if it hit a squad member
17776 if (pSprite->field_22 != eSprite_PersonType_Human) {
17777
17778 int16 Data8 = pSprite->field_0;
17779 int16 DataC = pSprite->field_0 + 6;
17780 int16 Data10 = pSprite->field_4 - 9;
17781 int16 Data14 = pSprite->field_4 - 4;
17782 word_3AA45 = 1;
17783
17784 return Squad_Member_Sprite_Hit_In_Region(pSprite, Data8, DataC, Data10, Data14);
17785 }
17786
17787 //loc_21673
17788 int16 Data8 = pSprite->field_0 - 6;
17789 int16 DataC = pSprite->field_0 + 10;
17790 int16 Data10 = pSprite->field_4 - 10;
17791 int16 Data14 = pSprite->field_4 + 6;
17792
17793 if (mVersionCurrent->isAmigaTheOne()) {
17794 Data8 = pSprite->field_0;
17795 DataC = pSprite->field_0 + 4;
17796 Data10 = pSprite->field_4 - 4;
17797 Data14 = pSprite->field_4;
17798 }
17799
17800 word_3AA45 = 1;
17801 sSprite* Data24 = 0;
17802 if (Sprite_Find_In_Region(pSprite, Data24, Data8, DataC, Data10, Data14) >= 0)
17803 return 0;
17804
17805 if (Data24->field_18 == eSprite_Enemy) {
17806
17807 Data24->field_5E_Squad = pSprite->field_5E_Squad;
17808 Data24->field_5E = pSprite->field_5E;
17809 Data24->field_5D = pSprite->field_5D;
17810 }
17811
17812 return -1;
17813}
17814
17815void cFodder::Sprite_Create_Sparks(sSprite* pSprite, int16 pData18) {
17816 int16 Data0 = 2;

Callers

nothing calls this directly

Calls 1

isAmigaTheOneMethod · 0.80

Tested by

no test coverage detected