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

Method Squad_Join

Source/Fodder.cpp:9249–9294  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9247}
9248
9249int16 cFodder::Squad_Join(sSprite* pSprite) {
9250 int16 Data14 = pSprite->field_32;
9251 int16 Data0;
9252
9253 int16 Data18 = mSquad_Join_TargetSquad[Data14];
9254 if (Data18 < 0)
9255 return -1;
9256
9257 Data18 &= 0xFF;
9258
9259 if (mSquads_TroopCount[Data14] > 8)
9260 return -1;
9261
9262 sMission_Troop* Dataa24 = pSprite->field_46_mission_troop;
9263 Dataa24->mSelected &= 0xFE;
9264
9265 sMapTarget* Data24 = mSquad_WalkTargets[Data18];
9266 Data0 = 0;
9267
9268 for (;;) {
9269
9270 sMapTarget eax = *Data24++;
9271 if (eax.asInt < 0)
9272 break;
9273
9274 Data0++;
9275 }
9276
9277 pSprite->field_40 = Data0;
9278 pSprite->field_32 = Data18;
9279 Squad_Troops_Count();
9280
9281 mSquad_Selected = Data18;
9282
9283 mSquad_Grenades[Data18] += mSquad_Grenades[Data14];
9284 mSquad_Rockets[Data18] += mSquad_Rockets[Data14];
9285
9286 //seg010:0232
9287 mSquad_Grenades[Data14] = 0;
9288 mSquad_Rockets[Data14] = 0;
9289
9290 sub_305D5(pSprite);
9291 mGUI_Sidebar_Setup = 0;
9292
9293 return -1;
9294}
9295
9296int16 cFodder::Squad_Join_Check(sSprite* pSprite) {
9297

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected