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

Method Sprite_Handle_Vehicle_Enemy

Source/Fodder.cpp:6425–6484  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6423}
6424
6425void 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
6462loc_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;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected