Announcement

Collapse
No announcement yet.

A Future "Progs 2.0" List

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

  • #31
    2 vs 2 racing coop is a good idea. What I really want to implement is head to head coop with two teams entering at opposite sides of the map and fighting their way through the monsters to a showdown in the middle of the map.
    Qoetia B4 == 1.93Mb

    Expo Booth '08
    !AXATAXA! == 355.24 Kb Want to take on Quake with only your axe?
    Hunting shamblers since 1996.

    Comment


    • #32
      RMQ, although not even a multiplayer mod, now covers # 3,4,5,6,9 and #10 is pretty irrelevant in our case. #8 (telefrag protection) should be doable.

      I'll go look at QIP now. What's EF_BLUE and EF_RED for? Teamplay stuff?

      Can anyone elaborate on #7 (generic fixes)?

      A player that joins during intermission won't see scoreboard. (Vanilla quake just causes nextlevel to start.)

      Can someone post the fix?

      Otherwise, very helpful thread for any mod coder, thanks. RMQ is mainly an SP mod, but I'm really interested to make multiplayer a nice experience, too.
      Scout's Journey
      Rune of Earth Magic

      Comment


      • #33
        Originally posted by golden_boy View Post
        What's EF_BLUE and EF_RED for? Teamplay stuff?
        EF_BLUE and EF_RED are the quad/pent glow effects in Quakeworld when a player has quad or pent (both = purple).

        In regular Quake, you see a player that is glowing, you don't know if he has Quad or Pent. Until he fires and it makes the Quad sound or until you shoot him and it makes the Pent invulnerability sound.

        (Poor original Mac Quake users didn't even get to see a glow! They'd stand still while everyone else ran from you.)

        Anyway, it is somewhat widespread opinion that those should have been in original Quake.

        Engines that support EF_BLUE and EF_RED:

        Quakeworld (all), DarkPlaces, JoeQuake, Qrack and probably the majority of modder engines (Telejano, VengeanceR2, etc.) I imagine.

        Unknown = FitzQuake (it might); Maybe = GLNehahra Quake; Probably not = aguirRe Quake since it doesn't supported colored lights.

        As a general rule of thumb, if it supports colored lights then probably has EF_RED and EF_BLUE support.



        This is more important than the glows. Some engines have wild features like powerupshells (the engine player has a special hue around them) and some engine support a powerupshell on the player weapon.

        The above, particularly the powerup shell on the weapon makes Quake so much more convenient (although technically EF_RED/BLUE is not required for this particular part) because you KNOW when you had Quad and you know when it is gone without being distracted by what sounds it makes when you fire or having to pay attention to subtle hue changes or looking at the HUD.
        Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

        So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

        Comment


        • #34
          I see.

          I'm familiar with weapon shell / powerup shell because I used to hack Quake 2, where Qudos showed it to me. This requires engine side support, right. So it's not really a QC issue?

          Which mods have EF_BLUE/RED and source available? Any chance at a tutorial? :-P

          And now, re: Waterjump bug.

          Zop's fix works insofar as you no longer get stuck. However, you still bob automatically, which is a bit weird. It stops as soon as you move away though.

          R00k's fix doesn't auto-bob you, but you can no longer get out of the water by pressing Jump + forward.

          Zop, can you remove the auto-bobbing?
          Scout's Journey
          Rune of Earth Magic

          Comment


          • #35
            There is a QuakeC portion in this tutorial:

            http://www.quake-1.com/docs/quakesrc.org/110.html

            It's further down.
            Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

            So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

            Comment


            • #36
              qrack also has pain shells now, the gun has a yellow shell flash on it (its amazing )

              Comment


              • #37
                R00k's fix doesn't auto-bob you, but you can no longer get out of the water by pressing Jump + forward.
                You are correct. On DM3 you get stuck Zop's method works best.
                www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                Comment


                • #38
                  I don't know what you mean by auto-bobbing. If you mean the repeating-waterjump-then-hit-ceiling, I don't think it can be done simply, because it thinks you want to waterjump, which you always should want to, when you have a ledge in front of you at that height.

                  Possibly, I could try making a two-dimensional check, so that you can't waterjump when the ledge has less width than the player, but maybe you're talking about something else...

                  Comment


                  • #39


                    Two waterjump bugs.

                    1.> When you are in water swimming and you approach a ledge, if you touch the ledge and there is room it will pop u out of the water automatically. If you do not hold forward, then it just keeps bouncing you on the water like a trampoline

                    edit: could be fixed by adding v_forward momentum.

                    2.> If you jump out of water and hit your head on a low ceiling it freezes your velocity for a few seconds; with your head stuck on the ceiling

                    I thought my fix had fixed both, but only to break the auto-pop out of water effect
                    www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                    Comment


                    • #40
                      Yeah, I meant the trampoline effect without pressing a key. In the same place where you'd get stuck previously (dm5 near pent), you're now "grabbed" and shaken up and down as long as you face the wall/ledge. You can now get out of it by changing your view angle, which is the good news. The bug has become less problematic, but the net result is still buggy. Yeah, maybe this is another bug, as Rook says...
                      Scout's Journey
                      Rune of Earth Magic

                      Comment


                      • #41
                        Code:
                        		if ((trace_fraction == 1) && (self.cl[CL_CMD_FORWARD])) //Dont jump unless moving forward
                        This fixes the trampoline effect, by not auto-jumping unless you are also pushing forward. But this fix isnt standard QuakeC as CL_CMD_FORWARD is an offset of the client_state_t -> usercmd_t which is derived by JPG's qccx hack, so.....
                        www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                        Comment


                        • #42
                          I forgot to mention the prime assignment for my previous code. (A player's .mangle will be '0 0 0' for the very first check of it in WaterMove () without the assignment. The chance that a player will be at exactly '0 0 0' and set off waterjump is astonomically low, though...) You will see it in the next bunch of code.

                          The auto repeating waterjump problem is a bit more difficult, R00k's code is pretty good, even though it's compiler dependant, but it won't initiate if you move to the ledge underwater and then hold jump to swim upwards (no forward movement). This will definately not be done by a regular player on a dm/ca/etc server, due to the swim noise, so it's workable.

                          Another option is to prevent the next waterjump from happening by using a timer. It seems to work well enough, so test it out:

                          Code:
                          	(don't forget to make a .float wj_wait)
                          
                          	local vector start, end;
                          	local float tf;
                          
                          	if (self.wj_wait > time) return;
                          
                          	makevectors (self.angles);
                          	start = self.origin;
                          	start_z = start_z + 8;
                          	v_forward_z = 0;
                          	normalize (v_forward);
                          	end = start + v_forward * 24;
                          	traceline (start, end, TRUE, self);
                          	if (trace_fraction < 1)
                          	{	// solid at waist
                          		start_z = start_z + self.maxs_z - 8;
                          		end = start + v_forward * 24 + v_right * 17; // 2D-check for about width of player
                          		self.movedir = trace_plane_normal * -50;
                          		traceline (start, end, TRUE, self);
                          		tf = trace_fraction;
                          		traceline (start, end - v_right * 34, TRUE, self);
                          		if (tf == 1 && trace_fraction == 1)
                          		{	// open at eye level
                          			self.flags = self.flags | FL_WATERJUMP;
                                      		self.mangle = self.origin;
                          			self.velocity_z = 225;
                          			self.flags = self.flags - (self.flags & FL_JUMPRELEASED);
                          			self.teleport_time = time + 2;
                          			self.wj_wait = time + 1.1;
                          		}
                          	}
                          I'm not really a fan of adding fields, but many mods use premade .floats not originally used by id1 code. The 1.1 second delay works with the gravity at the normal 800, but not much lower.

                          Comment


                          • #43
                            If a server/mod/map had a different gravity you could set

                            self.wj_wait = time + (1.1* (800 / sv_gravity));


                            edit: Zop told me to flip the division
                            Last edited by R00k; 12-08-2008, 10:57 PM.
                            www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                            Comment


                            • #44
                              That's hot.

                              Comment

                              Working...
                              X