Annotation of quake2/game/vw.diff, revision 1.1

1.1     ! root        1: --- h:\quake2\code-3.14\game\p_weapon.c        Thu Feb 26 12:38:57 1998
        !             2: +++ p_weapon.c Wed Apr 01 14:43:35 1998
        !             3: @@ -150,10 +150,38 @@
        !             4:  
        !             5:  The old weapon has been dropped all the way, so make the new one
        !             6:  current
        !             7:  ===============
        !             8:  */
        !             9: +
        !            10: +// ### Hentai ### BEGIN
        !            11: +void ShowGun(edict_t *ent)
        !            12: +{
        !            13: +      char heldmodel[128];
        !            14: +      int len;
        !            15: +
        !            16: +      if(ent->s.modelindex != 255 || ent->deadflag || !ent->client->pers.weapon)
        !            17: +      {
        !            18: +              ent->s.modelindex2 = 0;
        !            19: +              return;
        !            20: +      }
        !            21: +
        !            22: +      strcpy(heldmodel, "players/");
        !            23: +      strcat(heldmodel, Info_ValueForKey (ent->client->pers.userinfo, "skin"));
        !            24: +      for(len = 8; heldmodel[len]; len++)
        !            25: +      {
        !            26: +              if(heldmodel[len] == '/')
        !            27: +                      heldmodel[++len] = '\0';
        !            28: +      }
        !            29: +      strcat(heldmodel, ent->client->pers.weapon->icon);      
        !            30: +      strcat(heldmodel, ".md2");
        !            31: +      //gi.dprintf ("%s\n", heldmodel);
        !            32: +      ent->s.modelindex2 = gi.modelindex(heldmodel);  // Hentai's custom gun models
        !            33: +
        !            34: +}
        !            35: +// ### Hentai ### END
        !            36: +
        !            37:  void ChangeWeapon (edict_t *ent)
        !            38:  {
        !            39:        if (ent->client->grenade_time)
        !            40:        {
        !            41:                ent->client->grenade_time = level.time;
        !            42: @@ -179,10 +207,28 @@
        !            43:        }
        !            44:  
        !            45:        ent->client->weaponstate = WEAPON_ACTIVATING;
        !            46:        ent->client->ps.gunframe = 0;
        !            47:        ent->client->ps.gunindex = gi.modelindex(ent->client->pers.weapon->view_model);
        !            48: +
        !            49: +      // ### Hentai ### BEGIN
        !            50: +      ent->client->anim_priority = ANIM_PAIN;
        !            51: +      if(ent->client->ps.pmove.pm_flags & PMF_DUCKED)
        !            52: +      {
        !            53: +                      ent->s.frame = FRAME_crpain1;
        !            54: +                      ent->client->anim_end = FRAME_crpain4;
        !            55: +      }
        !            56: +      else
        !            57: +      {
        !            58: +                      ent->s.frame = FRAME_pain301;
        !            59: +                      ent->client->anim_end = FRAME_pain304;
        !            60: +                      
        !            61: +      }
        !            62: +      
        !            63: +      ShowGun(ent);   
        !            64: +
        !            65: +      // ### Hentai ### END
        !            66:  }
        !            67:  
        !            68:  /*
        !            69:  =================
        !            70:  NoAmmoWeaponChange
        !            71: @@ -336,18 +382,43 @@
        !            72:  
        !            73:  void Weapon_Generic (edict_t *ent, int FRAME_ACTIVATE_LAST, int FRAME_FIRE_LAST, int FRAME_IDLE_LAST, int FRAME_DEACTIVATE_LAST, int *pause_frames, int *fire_frames, void (*fire)(edict_t *ent))
        !            74:  {
        !            75:        int             n;
        !            76:  
        !            77: +      // ### Hentai ### BEGIN
        !            78: +      if(ent->deadflag || ent->s.modelindex != 255) // VWep animations screw up corpses
        !            79: +      {
        !            80: +              return;
        !            81: +      }
        !            82: +      // ### Hentai ### END 
        !            83:        if (ent->client->weaponstate == WEAPON_DROPPING)
        !            84:        {
        !            85:                if (ent->client->ps.gunframe == FRAME_DEACTIVATE_LAST)
        !            86:                {
        !            87:                        ChangeWeapon (ent);
        !            88:                        return;
        !            89:                }
        !            90:  
        !            91: +                      // ### Hentai ### BEGIN
        !            92: +              else if((FRAME_DEACTIVATE_LAST - ent->client->ps.gunframe) == 4)
        !            93: +              {
        !            94: +                      ent->client->anim_priority = ANIM_REVERSE;
        !            95: +                      if(ent->client->ps.pmove.pm_flags & PMF_DUCKED)
        !            96: +                      {
        !            97: +                              ent->s.frame = FRAME_crpain4+1;
        !            98: +                              ent->client->anim_end = FRAME_crpain1;
        !            99: +                      }
        !           100: +                      else
        !           101: +                      {
        !           102: +                              ent->s.frame = FRAME_pain304+1;
        !           103: +                              ent->client->anim_end = FRAME_pain301;
        !           104: +                              
        !           105: +                      }
        !           106: +              }
        !           107: +              // ### Hentai ### END
        !           108: +
        !           109: +
        !           110:                ent->client->ps.gunframe++;
        !           111:                return;
        !           112:        }
        !           113:  
        !           114:        if (ent->client->weaponstate == WEAPON_ACTIVATING)
        !           115: @@ -365,10 +436,27 @@
        !           116:  
        !           117:        if ((ent->client->newweapon) && (ent->client->weaponstate != WEAPON_FIRING))
        !           118:        {
        !           119:                ent->client->weaponstate = WEAPON_DROPPING;
        !           120:                ent->client->ps.gunframe = FRAME_DEACTIVATE_FIRST;
        !           121: +                              // ### Hentai ### BEGIN
        !           122: +              if((FRAME_DEACTIVATE_LAST - FRAME_DEACTIVATE_FIRST) < 4)
        !           123: +              {
        !           124: +                      ent->client->anim_priority = ANIM_REVERSE;
        !           125: +                      if(ent->client->ps.pmove.pm_flags & PMF_DUCKED)
        !           126: +                      {
        !           127: +                              ent->s.frame = FRAME_crpain4+1;
        !           128: +                              ent->client->anim_end = FRAME_crpain1;
        !           129: +                      }
        !           130: +                      else
        !           131: +                      {
        !           132: +                              ent->s.frame = FRAME_pain304+1;
        !           133: +                              ent->client->anim_end = FRAME_pain301;
        !           134: +                              
        !           135: +                      }
        !           136: +              }
        !           137: +              // ### Hentai ### END
        !           138:                return;
        !           139:        }
        !           140:  
        !           141:        if (ent->client->weaponstate == WEAPON_READY)
        !           142:        {
        !           143: @@ -484,10 +572,31 @@
        !           144:  
        !           145:        timer = ent->client->grenade_time - level.time;
        !           146:        speed = GRENADE_MINSPEED + (GRENADE_TIMER - timer) * ((GRENADE_MAXSPEED - GRENADE_MINSPEED) / GRENADE_TIMER);
        !           147:        fire_grenade2 (ent, start, forward, damage, speed, timer, radius, held);
        !           148:  
        !           149: +      // ### Hentai ### BEGIN
        !           150: +      if(ent->deadflag || ent->s.modelindex != 255) // VWep animations screw up corpses
        !           151: +      {
        !           152: +              return;
        !           153: +      }
        !           154: +
        !           155: +      if (ent->client->ps.pmove.pm_flags & PMF_DUCKED)
        !           156: +      {
        !           157: +              ent->client->anim_priority = ANIM_ATTACK;
        !           158: +              ent->s.frame = FRAME_crattak1-1;
        !           159: +              ent->client->anim_end = FRAME_crattak3;
        !           160: +      }
        !           161: +      else
        !           162: +      {
        !           163: +              ent->client->anim_priority = ANIM_REVERSE;
        !           164: +              ent->s.frame = FRAME_wave08;
        !           165: +              ent->client->anim_end = FRAME_wave01;
        !           166: +      }
        !           167: +      // ### Hentai ### END
        !           168: +
        !           169: +
        !           170:        if (! ( (int)dmflags->value & DF_INFINITE_AMMO ) )
        !           171:                ent->client->pers.inventory[ent->client->ammo_index]--;
        !           172:  
        !           173:        ent->client->grenade_time = level.time + 1.0;
        !           174:  }
        !           175: @@ -803,10 +912,28 @@
        !           176:                        if (deathmatch->value)
        !           177:                                damage = 15;
        !           178:                        else
        !           179:                                damage = 20;
        !           180:                        Blaster_Fire (ent, offset, damage, true, effect);
        !           181: +                      
        !           182: +                      // ### Hentai ### BEGIN
        !           183: +
        !           184: +                      ent->client->anim_priority = ANIM_ATTACK;
        !           185: +                      if (ent->client->ps.pmove.pm_flags & PMF_DUCKED)
        !           186: +                      {
        !           187: +                              ent->s.frame = FRAME_crattak1 - 1;
        !           188: +                              ent->client->anim_end = FRAME_crattak9;
        !           189: +                      }
        !           190: +                      else
        !           191: +                      {
        !           192: +                              ent->s.frame = FRAME_attack1 - 1;
        !           193: +                              ent->client->anim_end = FRAME_attack8;
        !           194: +                      }
        !           195: +      
        !           196: +                      // ### Hentai ### END
        !           197: +
        !           198: +
        !           199:                        if (! ( (int)dmflags->value & DF_INFINITE_AMMO ) )
        !           200:                                ent->client->pers.inventory[ent->client->ammo_index]--;
        !           201:                }
        !           202:  
        !           203:                ent->client->ps.gunframe++;
        !           204: @@ -906,10 +1033,27 @@
        !           205:        gi.WriteByte (MZ_MACHINEGUN | is_silenced);
        !           206:        gi.multicast (ent->s.origin, MULTICAST_PVS);
        !           207:  
        !           208:        PlayerNoise(ent, start, PNOISE_WEAPON);
        !           209:  
        !           210: +      // ### Hentai ### BEGIN
        !           211: +
        !           212: +      ent->client->anim_priority = ANIM_ATTACK;
        !           213: +      if (ent->client->ps.pmove.pm_flags & PMF_DUCKED)
        !           214: +      {
        !           215: +              ent->s.frame = FRAME_crattak1 - (int) (random()+0.25);
        !           216: +              ent->client->anim_end = FRAME_crattak9;
        !           217: +      }
        !           218: +      else
        !           219: +      {
        !           220: +              ent->s.frame = FRAME_attack1 - (int) (random()+0.25);
        !           221: +              ent->client->anim_end = FRAME_attack8;
        !           222: +      }
        !           223: +
        !           224: +      // ### Hentai ### END
        !           225: +
        !           226: +
        !           227:        if (! ( (int)dmflags->value & DF_INFINITE_AMMO ) )
        !           228:                ent->client->pers.inventory[ent->client->ammo_index]--;
        !           229:  }
        !           230:  
        !           231:  void Weapon_Machinegun (edict_t *ent)
        !           232: @@ -963,10 +1107,28 @@
        !           233:        else
        !           234:        {
        !           235:                ent->client->weapon_sound = gi.soundindex("weapons/chngnl1a.wav");
        !           236:        }
        !           237:  
        !           238: +      // ### Hentai ### BEGIN
        !           239: +
        !           240: +      ent->client->anim_priority = ANIM_ATTACK;
        !           241: +      if (ent->client->ps.pmove.pm_flags & PMF_DUCKED)
        !           242: +      {
        !           243: +              ent->s.frame = FRAME_crattak1 - (ent->client->ps.gunframe & 1);
        !           244: +              ent->client->anim_end = FRAME_crattak9;
        !           245: +      }
        !           246: +      else
        !           247: +      {
        !           248: +              ent->s.frame = FRAME_attack1 - (ent->client->ps.gunframe & 1);
        !           249: +              ent->client->anim_end = FRAME_attack8;
        !           250: +      }
        !           251: +
        !           252: +
        !           253: +      // ### Hentai ### END
        !           254: +
        !           255: +
        !           256:        if (ent->client->ps.gunframe <= 9)
        !           257:                shots = 1;
        !           258:        else if (ent->client->ps.gunframe <= 14)
        !           259:        {
        !           260:                if (ent->client->buttons & BUTTON_ATTACK)
        !           261: @@ -1021,10 +1183,11 @@
        !           262:        gi.WriteByte ((MZ_CHAINGUN1 + shots - 1) | is_silenced);
        !           263:        gi.multicast (ent->s.origin, MULTICAST_PVS);
        !           264:  
        !           265:        PlayerNoise(ent, start, PNOISE_WEAPON);
        !           266:  
        !           267: +      
        !           268:        if (! ( (int)dmflags->value & DF_INFINITE_AMMO ) )
        !           269:                ent->client->pers.inventory[ent->client->ammo_index] -= shots;
        !           270:  }
        !           271:  
        !           272:  

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.