MCPcopy Create free account
hub / github.com/TheForceEngine/TheForceEngine / weapon_setNext

Function weapon_setNext

TheForceEngine/TFE_DarkForces/weapon.cpp:357–389  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

355 }
356
357 void weapon_setNext(s32 wpnIndex)
358 {
359 PlayerWeapon* prevWeapon = s_curPlayerWeapon;
360 s_curWeapon = wpnIndex;
361
362 s_prevWeapon = wpnIndex;
363 PlayerWeapon* nextWeapon = &s_playerWeaponList[wpnIndex];
364 s_playerInfo.curWeapon = wpnIndex;
365
366 if (wpnIndex == WPN_THERMAL_DET && !(*nextWeapon->ammo))
367 {
368 nextWeapon->frame = 3;
369 }
370 else if (wpnIndex == WPN_MINE && !(*nextWeapon->ammo))
371 {
372 nextWeapon->frame = 2;
373 }
374 else
375 {
376 nextWeapon->frame = 0;
377 }
378
379 s_curPlayerWeapon = nextWeapon;
380 weapon_setFireRate();
381
382 PlayerWeapon* weapon = s_curPlayerWeapon;
383 weapon->rollOffset = prevWeapon->rollOffset;
384 weapon->pchOffset = prevWeapon->pchOffset;
385 weapon->xWaveOffset = prevWeapon->xWaveOffset;
386 weapon->yWaveOffset = prevWeapon->yWaveOffset;
387 weapon->xOffset = prevWeapon->xOffset;
388 weapon->yOffset = prevWeapon->yOffset;
389 }
390
391 void weapon_setFireRate()
392 {

Callers 6

weaponFire_mineFunction · 0.85
player_readInfoFunction · 0.85
player_setNextWeaponFunction · 0.85
player_setupObjectFunction · 0.85

Calls 1

weapon_setFireRateFunction · 0.85

Tested by

no test coverage detected