| 17771 | } |
| 17772 | |
| 17773 | int16 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 | |
| 17815 | void cFodder::Sprite_Create_Sparks(sSprite* pSprite, int16 pData18) { |
| 17816 | int16 Data0 = 2; |
nothing calls this directly
no test coverage detected