| 10979 | } |
| 10980 | |
| 10981 | void 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 | |
| 11015 | loc_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; |
nothing calls this directly
no outgoing calls
no test coverage detected