Rune Central
http://forums.runecentral.com/

Bug in JoeQuake
http://forums.runecentral.com/viewtopic.php?f=9&t=588
Page 1 of 1

Author:  Lightning Hunter [ Mon Feb 28, 2005 11:54 pm ]
Post subject:  Bug in JoeQuake

There seems to be a bug in JoeQuake that makes flames not appears for new monsters that I'm using. I'm using the Xsold patch, and for some reason the new flamethrower that the grunts use doesn't have flames. It works fine in all the other engines I tried (like Telejano). Are there invisible particles overriding the flame effect or something?

Author:  Jozsef [ Thu Mar 03, 2005 5:17 pm ]
Post subject: 

It just replaces flame.mdl and flame2.mdl with QMB particles. So if you're flames are not these, it obviously won't work.

Author:  Lightning Hunter [ Fri Mar 04, 2005 3:29 am ]
Post subject: 

I checked the code, and it appears that the Flamethrower is using s_explod.spr

Is there a way to make this work without disabling the QMB flame particle effect?

Author:  Jozsef [ Fri Mar 04, 2005 4:30 pm ]
Post subject: 

well than it'll treat them as the explosion sprites, so it'll replce them with fire, sparks etc. depending on r_explosiontype's value.

A way to fix it? hmm... I'll have to think about this a little more :)

Author:  Lightning Hunter [ Wed Mar 09, 2005 6:07 am ]
Post subject: 

Sorry to keep bothering you Joe, but you have not figured anything out have you? I've been keeping myself from playing Quake until I fix this. It’s my favorite way to play the game. :)

I'm in no hurry though.

Author:  sputnikutah [ Sat Mar 12, 2005 8:45 am ]
Post subject: 

Okay,
Here's what i did...
Code:
void QMB_InfernoFlame (vec3_t org)
{
   float   frametime = fabs(cl.ctime - cl.oldtime);

   if (frametime)
   {
      if (gl_flametype.value < 1)
      {
         AddParticle (p_torch_flame, org, 1, 5, 0.5, NULL, zerodir);
      }
      else
      {
         AddParticle (p_inferno_flame, org, 1, 30, 13.125 * frametime, NULL, zerodir);
         AddParticle (p_inferno_trail, org, 2, 1.75, 45.0 * frametime, NULL, zerodir);
         AddParticle (p_inferno_trail, org, 2, 1.0, 52.5 * frametime, NULL, zerodir);
      }
   }
}


and here's the quakeC code...
Code:
.float flametime;
void() flame_touch =
{
   if (other.classname == "Torch") return;//no fire-vs-fire

   if ((other == self.owner) && ( (self.nextthink - time) > 0.6 ) ) return;

   if (other.classname=="player")
   {
      other.deathtype = "torch";
      T_Damage (other, self, self.owner, 10);
   }

   sound (self, CHAN_WEAPON, "hknight/hit.wav", 1, ATTN_NORM);
   BecomeExplosion();
};

void ()

flame_think =
{
   local entity t1;

   if (pointcontents(self.origin) == CONTENT_WATER)
   {
      remove (self);
      return;
   }

   if (pointcontents(self.origin) == CONTENT_SLIME)
   {
      remove (self);
      return;
   }

   // flame has died remove ent.
   if (self.frame >= 5)
   {
      remove(self);
      return;
   }

   //create more fire!
   //just for looks
   t1           = spawn();
   t1.classname = "Torch";
   t1.owner     = self;
   t1.solid     = SOLID_NOT;
   t1.movetype  = self.movetype;

   setorigin (t1, self.origin);
   setmodel  (t1, "progs/s_explod.spr");

   t1.velocity  = (self.velocity * 0.5);
   t1.frame     = self.frame;
   t1.think     = SUB_Remove;
   t1.nextthink = time + 0.2;

   if ((self.flametime - time) < 0.6)
   {
      self.frame = self.frame + 0.5;
   }

   self.think     = flame_think;
   self.nextthink = time + (sys_ticrate);
};

void() W_FireFlame =
{
   local entity  flame;

   if (self.health<1) return;

   //spit out bubbles if underwater
   if (self.waterlevel > 1)
   {
      flame           = spawn();
      flame.solid     = SOLID_BBOX;
      flame.movetype  = MOVETYPE_FLY;
      makevectors       (self.v_angle);
      flame.velocity  = self.velocity;
      flame.velocity  = aim(self, 10000);
      flame.velocity  = flame.velocity * 100;
      flame.angles    = vectoangles(flame.velocity);
      flame.flags     = FL_ITEM;
      flame.frame     = 0;
      flame.touch     = SUB_Null;
      flame.think     = SUB_Remove;
      flame.nextthink = time + 1;

      setmodel (flame, "progs/s_bubble.spr");
      sound    (self, CHAN_WEAPON, "fish/death.wav", 1, ATTN_NORM);
      setsize  (flame, '0 0 0', '0 0 0');
      setorigin(flame, self.origin + (v_forward*16) + '0 0 16');
      self.attack_finished = time + 0.8;
      return;
   }

   flame           = spawn();
   flame.classname = "Torch";
   flame.owner     = self;
   flame.solid     = SOLID_BBOX;
   flame.movetype  = MOVETYPE_FLY;
   flame.effects   = EF_DIMLIGHT;
   flame.frame     = 0;
   makevectors       (self.v_angle);
   flame.velocity  = self.velocity;
   flame.velocity  = aim(self, 10000);
   flame.velocity  = (self.velocity * 0.6) + (flame.velocity * 300);
   flame.angles    = vectoangles(flame.velocity);
   flame.flags     = FL_ITEM;
   flame.touch     = flame_touch;
   flame.think     = flame_think;
   flame.nextthink = time + (sys_ticrate);
   flame.flametime = time + (sys_ticrate + 0.05);

   sound    (self, CHAN_WEAPON, "weapons/ax1.wav", 0.4, ATTN_NORM);
   setmodel (flame, "progs/s_explod.spr");
   setsize  (flame, '0 0 0', '0 0 0');
   setorigin(flame, self.origin + (v_forward*16) + '0 0 16');
};


this should work for monsters too if u modify it...

Author:  sputnikutah [ Sun Mar 13, 2005 3:26 pm ]
Post subject: 

Image
Image
something like this?

Author:  Jozsef [ Sun Mar 13, 2005 4:14 pm ]
Post subject: 

well, i had removed infernoflame from joequake already in the previous build, but seeing your great shots how nice it looks i could add it back :)

One question: what alters gl_flametype?

Author:  sputnikutah [ Sun Mar 13, 2005 8:09 pm ]
Post subject: 

Yes, I added inferno flame back in , and created cvar_t gl_flametype to toggle between that and the other way it is now.. so torch flames and be OLD inferno or NEW ala version 1.4dev...
Also, have this toggle for explosions for rl and gl..

Author:  Lightning Hunter [ Mon Mar 14, 2005 8:18 pm ]
Post subject: 

Well I have no idea what to do with any of that code, but I assume Joe does :wink:

Are you just going to have that flame fixed in the next release of JoeQuake?

Author:  Jozsef [ Wed Mar 16, 2005 3:50 am ]
Post subject: 

but how can you decide when using the inferno flame and when the normal explosions? You check the gamedir?

Yeah, hopefully I will include this in the next release, if possible.

Author:  sputnikutah [ Thu Mar 17, 2005 5:20 am ]
Post subject: 

Well, I leave it to the end user.. I personally default to inferno flame for all
gl_flamtype controls torches, fireball, explosion, flamethrower..

Code:
void QMB_ParticleExplosion (vec3_t org)
{
   if (ISUNDERWATER(TruePointContents(org)))
   {
      AddParticle (p_fire, org, 12, 14, 0.8, NULL, zerodir);
      AddParticle (p_bubble, org, 6, 3.0, 2.5, NULL, zerodir);
      AddParticle (p_bubble, org, 4, 2.35, 2.5, NULL, zerodir);
      if (r_explosiontype.value != 2)
      {
         AddParticle (p_spark, org, 50, 100, 0.75, NULL, zerodir);
         AddParticle (p_spark, org, 25, 60, 0.75, NULL, zerodir);
      }
   }
   else
   {
      if (gl_flametype.value < 1)
      {
         AddParticle (p_fire2, org, 32, 18, 1, NULL, zerodir);         
      }
      else
      {
         AddParticle (p_fire, org, 16, 18, 1, NULL, zerodir);
      }
            
      if (r_explosiontype.value != 2)
      {
         AddParticle (p_spark, org, 50, 250, 0.925f, NULL, zerodir);
         AddParticle (p_spark, org, 25, 150, 0.925f, NULL, zerodir);
      }
   }
}

Author:  Jozsef [ Thu Mar 17, 2005 11:08 am ]
Post subject: 

ok. I see.
At the moment, I'm working on to import ALL q3 kinda effects to JoeQuake. I've already tested Q3 style smoke and blood trails in previous builds, you may noticed, and I also added explosions and other blood splashes too.
I'm planning to add more q3 style effects, like shaft, damage on-screen, etc.
Becoz of this, at some parts the old particles are missing (//commented out), so if I want to make an update I need to check those parts and add them back. I'll see when I'm able to do an update again.

Author:  sputnikutah [ Thu Mar 17, 2005 8:31 pm ]
Post subject:  q3 effects

Ya, i was looking thru my q3 pak files for textures (personal use, since i own q3) and noticed it uses textures stacked to produce animations. The explosion for example is 5 files..and have noticed others like the lightning too is a few .jpg's used to produce a "particle animation". I asume this is fps friendly since at the moment I use 1 texture that overlaps itself a few times to produce a cool explosion. Q3 uses just 1 texture at a particular size, then overlays with another texture; shouldnt be costly on fps but only a few kb of vid mem. Nice!

Author:  BeastmasteR [ Fri Apr 07, 2006 5:31 am ]
Post subject: 

I've noticed that the flame wont show up neither.

Couple of questions about JoeQuake:

1) Is it possible to use the same fx used for the rocket explosion shown here? To replace the flamethrower sprite?

Image

2) Is it possible to add some fx for the following Runes? Because as you can see they lack the little sprites used in Telejano.

Ice Traps
Image

Death Spots
Image

Drunk Orbs
Image

3) Is it possible to have the option to change the hook chain to a different fx like something more "chainish" ? This is the default one:
Image

Author:  Baker [ Fri Apr 07, 2006 11:52 am ]
Post subject: 

Part of your answers:

You can turn particles off in a case by case basis in JoeQuake using Options. I always do this. That will solve a couple of your preferences above for sure like ice spots/death spots/chain issue.

If you prefer the rocket explosion you show, you could downgrade to JoeQuake 0.14 and use that one. Or maybe try pulling the particle effects out the pak files and see if you can use that with 0.15, although that may or may not work and is beyond my field of expertise.

http://www.quakeone.com/q1files/downloa ... er-099.exe

Page 1 of 1 All times are UTC - 5 hours [ DST ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/