Announcement

Collapse
No announcement yet.

Railgun for Q1?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Railgun for Q1?

    I've been looking everywhere for a standalone railgun for Quake 1.
    I know there's the Q2 weapons project but I'm looking for Goldbug's mod.
    Anybody still have an archive of it since the original download is dead?

    Link to Goldbug's railgun: http://www.per128.com/pub/old_pixela...bug/code.shtml

  • #2
    Hello Purplstuph,

    Yes, please find the mod included in here. Have fun.

    Best regards,
    Seven

    Comment


    • #3
      Originally posted by Seven View Post
      Hello Purplstuph,

      Yes, please find the mod included in here. Have fun.

      Best regards,
      Seven
      I thought it would be some sort of weapon replacement but it'll do.
      Thanks a lot
      Ps: i run WinQuake on my 3ds and I'm testing a few things. Do you know any mods compatible for that engine? (Currently looking for some extra gore but my progs.dat is for the frikbots)

      Comment


      • #4
        Hello Purplstuph,

        The linked "p128rail" mod basically adds 2 additional weapons. It needs a custom progs.dat for this of course.
        You do not need to worry about your frikbots progs.dat though. You can add any other mod you like INTO your frikbots progs.dat.
        Both mods (frikbots & p128rail) include the source code, so you can combine them.

        Regarding WinQuake compatible mods:
        I would say every mod that has been made around 10+ years ago is WinQuake compatible. As the enhanced Quake engines raised about that time (maybe a little earlier but that doesnt matter) and people started using their extensions in their mods. So, WinQuake should be fine for all older maps/mods. You can visit quaddicted for both or the quakewiki to find most of them.
        The only thing that suprises me is the device you play Quake on. A 3ds is something my daughter uses from time to time and I can only hardly imagine to play Quake on such devices. But hey, if you are happy all is good

        I hope you will find exciting mods for your compilation and tests.
        Have fun with Quake.

        Best wishes,
        Seven

        Comment


        • #5
          You can check out GBATemp for how to get Quake on it, if you'd like.
          Both Q1 and Q2 have been ported by Masterfeizz. He's planning on getting Q3 on it (currently, he's patching up some stuff).
          There's an integrated keyboard for easy console access.
          Also, remember that Quake 1 Arena mod?
          I managed to tinker a few things (along with Lupus' psp port) to make it work on 3DS (it was a little hard since i don't know how to code)
          ​​​

          Comment


          • #6
            Using the axe code I modified the nailgun into a railgun, used the lightning graphic for visuals. Can't hit multiple targets with one shot though, could modify it to do that though.

            Comment


            • #7
              Originally posted by Hypersonic View Post
              Using the axe code I modified the nailgun into a railgun, used the lightning graphic for visuals. Can't hit multiple targets with one shot though, could modify it to do that though.
              I'd prefer sticking with the original railgun.
              Do you have a copy for that nailgun/railgun replacement?
              I'd love to play with it

              Comment


              • #8
                Did you want the qc code, or just the progs.dat?

                Comment


                • #9
                  I had trouble running it on a few modern source ports, seemed to work on Darkplaces but the res was messed up. Well here's the railgun function (modified from axe) just add it near the axe function (doesn't matter where really.) I was thinking of making the axe function a generalized function that both axe and railgun use since most of it is basically the same code.

                  void() W_FireRail =
                  {
                  local vector source;
                  local vector org;
                  makevectors (self.v_angle);
                  source = self.origin + '0 0 22' + -6*v_up;
                  traceline (source, source + v_forward*64000, FALSE, self);
                  if (trace_fraction == 1.0)
                  return;

                  org = trace_endpos - v_forward*4;
                  if (trace_ent.takedamage)
                  {
                  trace_ent.axhitme = 1;
                  SpawnBlood (org, '0 0 0', 20);
                  T_Damage (trace_ent, self, self, 100);
                  }
                  else
                  { // hit wall
                  sound (self, CHAN_WEAPON, "player/axhit2.wav", 1, ATTN_NORM);
                  WriteByte (MSG_BROADCAST, SVC_TEMPENTITY);
                  WriteByte (MSG_BROADCAST, TE_GUNSHOT);
                  WriteCoord (MSG_BROADCAST, org_x);
                  WriteCoord (MSG_BROADCAST, org_y);
                  WriteCoord (MSG_BROADCAST, org_z);
                  }
                  if (self.ammo_nails < 1)
                  {
                  self.weapon = W_BestWeapon ();
                  W_SetCurrentAmmo ();
                  return;
                  }
                  //misc
                  sound (self, CHAN_WEAPON, "weapons/rocket1i.wav", 1, ATTN_NORM);
                  self.attack_finished = time + 1;
                  self.currentammo = self.ammo_nails = self.ammo_nails - 15;
                  self.punchangle_x = -2;
                  //draw a trail
                  org = self.origin + '0 0 22' + -6*v_up + 16*v_forward;
                  WriteByte (MSG_BROADCAST, SVC_TEMPENTITY);
                  WriteByte (MSG_BROADCAST, TE_LIGHTNING2);
                  WriteEntity (MSG_BROADCAST, self);
                  WriteCoord (MSG_BROADCAST, org_x);
                  WriteCoord (MSG_BROADCAST, org_y);
                  WriteCoord (MSG_BROADCAST, org_z);
                  WriteCoord (MSG_BROADCAST, trace_endpos_x);
                  WriteCoord (MSG_BROADCAST, trace_endpos_y);
                  WriteCoord (MSG_BROADCAST, trace_endpos_z);
                  };

                  then just replace playernail1 in the weapons file

                  else if (self.weapon == IT_NAILGUN)
                  {
                  W_FireRail();
                  //player_nail1 ();
                  }

                  This was part of my better weapons addition pack to the 6DOF Quake I did awhile back
                  https://www.youtube.com/watch?v=x728...B3r878&index=2

                  Anyone know of a good way to make it continue through to hit multiple targets in a row? I suppose running multiple tracelines, each one starting behind each target you hit continuing forward.

                  Comment


                  • #10
                    I don't know how to code.
                    Does your progs.dat have frikbot support?

                    Comment


                    • #11
                      I've found and browsed the frikbot source, it does have instructions on how to merge with other qc source projects. The rail gun example I've posted above could easily be done to the original source, then just follow the instructions in the frikbot source. Time consuming, but doesn't appear to be difficult. Though there are separate instructions on merging it with non-qw and qw.

                      I'm not familiar with the Frikbot, it might try to lead the shot thinking it's a nailgun with projectiles for example, but that would miss with a railgun. Anyone know if Frikbot tries to lead targets with the nailgun?

                      Comment

                      Working...
                      X