Annotation of quake2/game/vw.diff, revision 1.1.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.