Advertisement
Guest User

Untitled

a guest
May 28th, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.32 KB | None | 0 0
  1. diff --git a/code/cgame/cg_consolecmds.c b/code/cgame/cg_consolecmds.c
  2. index 6f58e31..296ab0f 100644
  3. --- a/code/cgame/cg_consolecmds.c
  4. +++ b/code/cgame/cg_consolecmds.c
  5. @@ -996,7 +996,8 @@ static playerConsoleCommand_t playerCommands[] = {
  6. { "viewpos", CG_Viewpos_f, CMD_INGAME },
  7. { "weapnext", CG_NextWeapon_f, CMD_INGAME },
  8. { "weapprev", CG_PrevWeapon_f, CMD_INGAME },
  9. - { "weapon", CG_Weapon_f, CMD_INGAME }
  10. + { "weapon", CG_Weapon_f, CMD_INGAME },
  11. + { "weaponToggle", CG_WeaponToggle_f, CMD_INGAME }
  12. };
  13.  
  14. static int numPlayerCommands = ARRAY_LEN( playerCommands );
  15. diff --git a/code/cgame/cg_local.h b/code/cgame/cg_local.h
  16. index 1ccf7d3..54974b6 100644
  17. --- a/code/cgame/cg_local.h
  18. +++ b/code/cgame/cg_local.h
  19. @@ -634,6 +634,7 @@ typedef struct {
  20. int weaponSelectTime;
  21. int weaponAnimation;
  22. int weaponAnimationTime;
  23. + int weaponToggledFrom;
  24.  
  25. // blend blobs
  26. float damageTime;
  27. @@ -1425,6 +1426,7 @@ extern vmCvar_t cg_antiLag;
  28. extern vmCvar_t cg_forceBitmapFonts;
  29. extern vmCvar_t cg_drawGrappleHook;
  30. extern vmCvar_t cg_drawBBox;
  31. +extern vmCvar_t cg_gauntletCycle;
  32. extern vmCvar_t ui_stretch;
  33. #ifdef MISSIONPACK
  34. extern vmCvar_t cg_redTeamName;
  35. @@ -1722,6 +1724,7 @@ qboolean CG_PositionRotatedEntityOnTag( refEntity_t *entity, const refEntity_t *
  36. void CG_NextWeapon_f( int localPlayerNum );
  37. void CG_PrevWeapon_f( int localPlayerNum );
  38. void CG_Weapon_f( int localPlayerNum );
  39. +void CG_WeaponToggle_f( int localPlayerNum );
  40.  
  41. void CG_RegisterWeapon( int weaponNum );
  42. void CG_RegisterItemVisuals( int itemNum );
  43. diff --git a/code/cgame/cg_main.c b/code/cgame/cg_main.c
  44. index eb6430b..4a7c238 100644
  45. --- a/code/cgame/cg_main.c
  46. +++ b/code/cgame/cg_main.c
  47. @@ -268,6 +268,7 @@ vmCvar_t cg_antiLag;
  48. vmCvar_t cg_forceBitmapFonts;
  49. vmCvar_t cg_drawGrappleHook;
  50. vmCvar_t cg_drawBBox;
  51. +vmCvar_t cg_gauntletCycle;
  52.  
  53. vmCvar_t cg_introPlayed;
  54. vmCvar_t cg_joystickDebug;
  55. @@ -469,6 +470,7 @@ static cvarTable_t cgameCvarTable[] = {
  56. { &cg_forceBitmapFonts, "cg_forceBitmapFonts", "0", CVAR_ARCHIVE | CVAR_LATCH, RANGE_BOOL },
  57. { &cg_drawGrappleHook, "cg_drawGrappleHook", "1", CVAR_ARCHIVE, RANGE_BOOL },
  58. { &cg_drawBBox, "cg_drawBBox", "0", CVAR_CHEAT, RANGE_BOOL },
  59. + { &cg_gauntletCycle, "cg_gauntletCycle", "0", CVAR_ARCHIVE, RANGE_BOOL },
  60. // { &cg_pmove_fixed, "cg_pmove_fixed", "0", CVAR_USERINFO | CVAR_ARCHIVE, RANGE_BOOL }
  61.  
  62. { &cg_introPlayed, "com_introPlayed", "0", CVAR_ARCHIVE, RANGE_BOOL },
  63. diff --git a/code/cgame/cg_weapons.c b/code/cgame/cg_weapons.c
  64. index 29d7a2b..8ea57eb 100644
  65. --- a/code/cgame/cg_weapons.c
  66. +++ b/code/cgame/cg_weapons.c
  67. @@ -1573,7 +1573,7 @@ void CG_NextWeapon_f( int localPlayerNum ) {
  68. if ( player->weaponSelect == MAX_WEAPONS ) {
  69. player->weaponSelect = 0;
  70. }
  71. - if ( player->weaponSelect == WP_GAUNTLET ) {
  72. + if ( player->weaponSelect == WP_GAUNTLET && !cg_gauntletCycle.integer ) {
  73. continue;
  74. }
  75. if ( CG_WeaponSelectable( ps, player->weaponSelect ) ) {
  76. @@ -1615,7 +1615,7 @@ void CG_PrevWeapon_f( int localPlayerNum ) {
  77. if ( player->weaponSelect == -1 ) {
  78. player->weaponSelect = MAX_WEAPONS - 1;
  79. }
  80. - if ( player->weaponSelect == WP_GAUNTLET ) {
  81. + if ( player->weaponSelect == WP_GAUNTLET && !cg_gauntletCycle.integer ) {
  82. continue;
  83. }
  84. if ( CG_WeaponSelectable( ps, player->weaponSelect ) ) {
  85. @@ -1664,6 +1664,55 @@ void CG_Weapon_f( int localPlayerNum ) {
  86. }
  87.  
  88. /*
  89. +===============
  90. +CG_WeaponToggle_f
  91. +
  92. +select weapon and store old weapon or if already selecting the weapon
  93. +switch back to old weapon
  94. +===============
  95. +*/
  96. +void CG_WeaponToggle_f( int localPlayerNum ) {
  97. + int num;
  98. + int weapon, oldweapon;
  99. + playerState_t *ps;
  100. + localPlayer_t *player;
  101. +
  102. + if ( cg.localPlayers[localPlayerNum].playerNum == -1 ) {
  103. + return;
  104. + }
  105. +
  106. + ps = &cg.snap->pss[localPlayerNum];
  107. + player = &cg.localPlayers[localPlayerNum];
  108. +
  109. + if ( ps->pm_flags & PMF_FOLLOW ) {
  110. + return;
  111. + }
  112. +
  113. + num = atoi( CG_Argv( 1 ) );
  114. +
  115. + if ( num < 1 || num > MAX_WEAPONS-1 ) {
  116. + return;
  117. + }
  118. +
  119. + player->weaponSelectTime = cg.time;
  120. +
  121. + if ( player->weaponSelect != num ) {
  122. + weapon = num;
  123. + oldweapon = player->weaponSelect;
  124. + } else {
  125. + weapon = player->weaponToggledFrom;
  126. + oldweapon = WP_NONE;
  127. + }
  128. +
  129. + if ( ! ( ps->stats[STAT_WEAPONS] & ( 1 << weapon ) ) ) {
  130. + return; // don't have the weapon
  131. + }
  132. +
  133. + player->weaponSelect = weapon;
  134. + player->weaponToggledFrom = oldweapon;
  135. +}
  136. +
  137. +/*
  138. ===================
  139. CG_OutOfAmmoChange
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement