| 11810 | } |
| 11811 | |
| 11812 | void cFodder::Sprite_Handle_Player_Shadow(sSprite* pSprite) { |
| 11813 | sSprite* Data28 = pSprite->field_1A_sprite; |
| 11814 | int16 Data0; |
| 11815 | |
| 11816 | if (Data28 != pSprite->field_6A_sprite) |
| 11817 | goto loc_1B06D; |
| 11818 | |
| 11819 | Data0 = pSprite->field_62; |
| 11820 | |
| 11821 | if (Data0 != Data28->field_18) |
| 11822 | goto loc_1B06D; |
| 11823 | |
| 11824 | if (Data28->field_8 == 0x7C) |
| 11825 | goto loc_1B06D; |
| 11826 | |
| 11827 | if (Data28->field_52) |
| 11828 | goto loc_1B06D; |
| 11829 | |
| 11830 | pSprite->field_8 = 0x97; |
| 11831 | pSprite->field_A = 1; |
| 11832 | if (Data28->field_20 > 8) |
| 11833 | pSprite->field_A = 0; |
| 11834 | |
| 11835 | pSprite->field_0 = Data28->field_0; |
| 11836 | pSprite->field_4 = Data28->field_4; |
| 11837 | |
| 11838 | Data0 = Data28->field_20; |
| 11839 | Data0 >>= 2; |
| 11840 | pSprite->field_0 += Data0; |
| 11841 | pSprite->field_4 += Data0; |
| 11842 | pSprite->field_0 += 5; |
| 11843 | pSprite->field_4 -= 3; |
| 11844 | |
| 11845 | if (Data28->field_8 == 0x7C) |
| 11846 | pSprite->field_8 = 0x7C; |
| 11847 | return; |
| 11848 | |
| 11849 | loc_1B06D:; |
| 11850 | Data28->field_58 = 0; |
| 11851 | Sprite_Destroy_Wrapper(pSprite); |
| 11852 | } |
| 11853 | |
| 11854 | void cFodder::Sprite_Handle_BloodTrail(sSprite* pSprite) { |
| 11855 |
nothing calls this directly
no outgoing calls
no test coverage detected