| 6423 | } |
| 6424 | |
| 6425 | void cFodder::Sprite_Handle_Vehicle_Enemy(sSprite* pSprite) { |
| 6426 | int16 Data0, Data4, Data8, DataC, Data10; |
| 6427 | sSprite* Data28 = 0; |
| 6428 | |
| 6429 | if (pSprite->field_38) { |
| 6430 | pSprite->field_22 = eSprite_PersonType_AI; |
| 6431 | Sprite_Handle_Vehicle(pSprite); |
| 6432 | pSprite->field_22 = eSprite_PersonType_AI; |
| 6433 | return; |
| 6434 | } |
| 6435 | |
| 6436 | if (pSprite->field_6F == eVehicle_DontTargetPlayer) |
| 6437 | goto loc_255DA; |
| 6438 | |
| 6439 | Data0 = eSprite_Player; |
| 6440 | Data4 = eSprite_Civilian; |
| 6441 | Data8 = 0x3E; |
| 6442 | DataC = 0x46; |
| 6443 | Data10 = -1; |
| 6444 | if (Sprite_Find_By_Types(pSprite, Data0, Data4, Data8, DataC, Data10, Data28)) |
| 6445 | goto loc_255DA; |
| 6446 | |
| 6447 | Data0 = tool_RandomGet() & 3; |
| 6448 | if (!Data0) |
| 6449 | pSprite->field_54 = -1; |
| 6450 | |
| 6451 | Data0 = pSprite->field_0; |
| 6452 | Data0 += 8; |
| 6453 | Data4 = pSprite->field_4; |
| 6454 | Data4 -= 5; |
| 6455 | Data8 = Data28->field_0; |
| 6456 | pSprite->field_2E = Data8; |
| 6457 | pSprite->field_26 = Data8; |
| 6458 | DataC = Data28->field_4; |
| 6459 | pSprite->field_30 = DataC; |
| 6460 | pSprite->field_28 = DataC; |
| 6461 | |
| 6462 | loc_255DA:; |
| 6463 | pSprite->field_22 = eSprite_PersonType_AI; |
| 6464 | Sprite_Handle_Vehicle(pSprite); |
| 6465 | |
| 6466 | if (pSprite->field_6F == eVehicle_JeepRocket) |
| 6467 | sub_245BF(pSprite); |
| 6468 | |
| 6469 | sSprite* Data24 = pSprite + 1; |
| 6470 | Data24->field_18 = eSprite_Null; |
| 6471 | |
| 6472 | Data24 = pSprite + 2; |
| 6473 | Data24->field_18 = eSprite_Flashing_Light; |
| 6474 | Data4 = pSprite->field_0; |
| 6475 | Data4 += 0x0D; |
| 6476 | Data24->field_0 = Data4; |
| 6477 | |
| 6478 | Data4 = pSprite->field_4; |
| 6479 | Data4 -= 0x13; |
| 6480 | |
| 6481 | Data4 += pSprite->field_52; |
| 6482 | Data24->field_4 = Data4; |
nothing calls this directly
no outgoing calls
no test coverage detected