Glad you got it working! I'm looking for something similiar in effect, but isn't doing so many tracelines performance impacting?
On Fri, May 21, 2010 at 12:23 PM, James K <jimmy4...@gmail.com> wrote: > I didn't comment enough stuff out. Whoops. Thanks for putting up with > my stupidity, Tony. > > -James > > On Fri, May 21, 2010 at 9:57 AM, Tony "omega" Sergi <omegal...@gmail.com> > wrote: > > I dropped the code into a a blank sdk and it works. > > I made one minor alteration though, here's the whole thing. if it still > > doesn't work for you then i have no idea, as i was just sitting in a box > map > > with a displacement ground seeing slime splashes randomly, WITH rain > coming > > down. > > http://pastebin.com/0KfbHkii > > -Tony > > > > > > On Fri, May 21, 2010 at 9:50 AM, James K <jimmy4...@gmail.com> wrote: > > > >> Removing the IsInAir conditional broke the rain completely. No rain or > >> splashes at all now. > >> > >> On Thu, May 20, 2010 at 8:13 AM, Tony "omega" Sergi < > omegal...@gmail.com> > >> wrote: > >> > and remove all of the other randoms other than what that i changed the > >> code > >> > to. > >> > So for the final output: > >> > > >> > /*Tony; the traceline replaces the IsInAir check. > >> > you also don't want the random's to be around the traceline either, > or > >> > it will only check SOMETIMES. it needs to check _all_ the time. > >> > you also probably want to do some radius checking of the particles > >> > position (ignoring z) for if it's in range of the local player to run > >> this > >> > code or not > >> > otherwise you will have traces for every particle all over the > place > >> > even if there's no way that the player can see it > >> > so when the player is out of that radius, you would only use if ( > >> > !IsInAir( pParticle->m_Pos ) { return false; } > >> > */ > >> > trace_t trace; > >> > UTIL_TraceLine(vOldPos, pParticle->m_Pos, MASK_SOLID, NULL, > >> > COLLISION_GROUP_NONE, &trace); > >> > if( trace.fraction < 1 || trace.DidHit() ) > >> > { > >> > if ( RandomInt( 0, 100 ) <= r_RainSplashPercentage.GetInt() ) > >> > DispatchParticleEffect( "rain_splash", > >> > trace.endpos,trace.m_pEnt->GetAbsAngles() , NULL ); > >> > > >> > // Tell the framework it's time to remove the particle from the > >> list > >> > return false; > >> > } > >> > // We still want this particle > >> > return true; > >> > > >> > -Tony > >> > > >> > On Thu, May 20, 2010 at 7:16 PM, Saul Rennison < > saul.renni...@gmail.com > >> >wrote: > >> > > >> >> Remove the IsInAir conditional, that's your issue. > >> >> > >> >> On Thursday, May 20, 2010, James K <jimmy4...@gmail.com> wrote: > >> >> > I don't want to post the whole file because I really haven't > changed > >> >> > anything else and that would be massive, so here's the tidbit i'm > >> >> > working with. The whole file is c_effects.cpp if you need to see > the > >> >> > rest. > >> >> > > >> >> > // No longer in the air? punt. > >> >> > if ( !IsInAir( pParticle->m_Pos ) ) > >> >> > { > >> >> > // Possibly make a splash if we hit a water surface > >> and > >> >> it's in > >> >> > front of the view. > >> >> > if ( m_Splashes.Count() < 99 ) > >> >> > { > >> >> > if ( RandomInt( 0, 100 ) < > >> >> r_RainSplashPercentage.GetInt() ) > >> >> > { > >> >> > trace_t trace; > >> >> > UTIL_TraceLine(vOldPos, pParticle->m_Pos, MASK_ALL, NULL, > >> >> > COLLISION_GROUP_NONE, &trace); > >> >> > if( trace.fraction < 1 || trace.DidHit() ) > >> >> > { > >> >> > if ( RandomInt( 0, 100 ) <= r_RainSplashPercentage.GetInt() > ) > >> >> > DispatchParticleEffect( "rain_splash", trace.endpos, > >> >> > trace.m_pEnt->GetAbsAngles() , NULL ); > >> >> > } > >> >> > } > >> >> > } > >> >> > > >> >> > // Tell the framework it's time to remove the > particle > >> >> from the list > >> >> > return false; > >> >> > } > >> >> > > >> >> > // We still want this particle > >> >> > return true; > >> >> > } > >> >> > > >> >> > >> > _______________________________________________ > >> > To unsubscribe, edit your list preferences, or view the list archives, > >> please visit: > >> > http://list.valvesoftware.com/mailman/listinfo/hlcoders > >> > > >> > > >> > >> _______________________________________________ > >> To unsubscribe, edit your list preferences, or view the list archives, > >> please visit: > >> http://list.valvesoftware.com/mailman/listinfo/hlcoders > >> > >> > > > > > > -- > > -Tony > > _______________________________________________ > > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > > > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders