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

Method Squad_Member_Sprite_Hit_In_Region

Source/Fodder.cpp:8301–8398  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8299}
8300
8301int16 cFodder::Squad_Member_Sprite_Hit_In_Region(sSprite* pSprite, int16 pData8, int16 pDataC, int16 pData10, int16 pData14) {
8302 int16 Data4;
8303
8304 if (mPhase_Finished) {
8305 word_3AA45 = 0;
8306 return 0;
8307 }
8308
8309 mSprites_Found_Count = 0;
8310
8311 int16 Data0;
8312
8313 for( auto& Troop : mGame_Data.mSoldiers_Allocated ) {
8314
8315 if (Troop.mSprite == INVALID_SPRITE_PTR || Troop.mSprite == 0)
8316 continue;
8317
8318 if (pData8 > (Troop.mSprite->field_0 + 9))
8319 continue;
8320
8321 if (pDataC < Troop.mSprite->field_0)
8322 continue;
8323
8324 if (pData10 > (Troop.mSprite->field_4 - 6))
8325 continue;
8326
8327 if (pData14 < (Troop.mSprite->field_4 - 13))
8328 continue;
8329
8330 if (Troop.mSprite->field_20 >= 0x0B)
8331 continue;
8332
8333 if (!word_3AA45)
8334 goto loc_2AD3D;
8335
8336 if (Troop.mSprite->field_6E)
8337 continue;
8338
8339 if (pSprite->field_3A <= 4)
8340 goto loc_2AD25;
8341
8342 if (Troop.mSprite->field_52 >= 5)
8343 goto loc_2AD2D;
8344
8345 if (Troop.mSprite->field_4F)
8346 goto loc_2AD2D;
8347
8348
8349 Data0 = Troop.mSprite->field_32;
8350 if (word_3BED5[Data0]) {
8351 loc_2AD25:;
8352 Data0 = 0;
8353 goto loc_2AD36;
8354 }
8355
8356 loc_2AD2D:;
8357 Data0 = tool_RandomGet() & 7;
8358

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected