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

Method Sprite_Handle_Vehicle

Source/Fodder.cpp:12076–12195  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12074}
12075
12076void cFodder::Sprite_Handle_Vehicle(sSprite* pSprite) {
12077 int16 Data0 = 2;
12078 int16 Data4 = pSprite->field_36;
12079 int16 Data8, DataC;
12080
12081 if (!Data4) {
12082 if (pSprite->field_22 == eSprite_PersonType_Human) {
12083
12084 if (pSprite != mSquad_CurrentVehicle)
12085 goto loc_1B523;
12086 }
12087 }
12088
12089 Data4 += 0x10;
12090 if (Data4 > 0x40)
12091 Data4 = 0x40;
12092 Data0 = Data4;
12093
12094 Data0 >>= 4;
12095 if (Data0 > 3)
12096 Data0 = 3;
12097 Data0 += 0x38;
12098
12099 Sprite_Map_Sound_Play(Data0);
12100
12101loc_1B523:;
12102 pSprite->field_65 = -1;
12103 if (Sprite_Animation_SlideOrDie(pSprite))
12104 return;
12105
12106 pSprite->field_8 = 0xA5;
12107 sub_22C87(pSprite);
12108 if (pSprite->field_20 < 3) {
12109 word_3B2F7 = 0x48;
12110 Data0 = pSprite->field_26;
12111 Data4 = pSprite->field_28;
12112
12113 sub_22CD7(pSprite, Data0, Data4);
12114 }
12115
12116 Data0 = pSprite->field_26;
12117 Data4 = pSprite->field_28;
12118 Data8 = pSprite->field_0;
12119 DataC = pSprite->field_4;
12120
12121 Map_Get_Distance_BetweenPoints_Within_Window(Data0, Data4, Data8, DataC);
12122 if (Data0 >= 0x1E)
12123 goto loc_1B5D2;
12124
12125 if (Data0 >= pSprite->field_36)
12126 goto loc_1B655;
12127
12128 pSprite->field_36 = Data0;
12129 goto loc_1B655;
12130
12131loc_1B5D2:;
12132
12133 if (!pSprite->field_52) {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected