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.
inline bool CClient_Precipitation::SimulateRain( CPrecipitationParticle* pParticle, float dt ) { if (GetRemainingLifetime( pParticle ) < 0.0f) return false; Vector vOldPos = pParticle->m_Pos; // Update position VectorMA( pParticle->m_Pos, dt, pParticle->m_Velocity, pParticle->m_Pos ); // wind blows rain around for ( int i = 0 ; i < 2 ; i++ ) { if ( pParticle->m_Velocity[i] < s_WindVector[i] ) { pParticle->m_Velocity[i] += ( 5 / pParticle->m_Mass ); // clamp if ( pParticle->m_Velocity[i] > s_WindVector[i] ) pParticle->m_Velocity[i] = s_WindVector[i]; } else if (pParticle->m_Velocity[i] > s_WindVector[i] ) { pParticle->m_Velocity[i] -= ( 5 / pParticle->m_Mass ); // clamp. if ( pParticle->m_Velocity[i] < s_WindVector[i] ) pParticle->m_Velocity[i] = s_WindVector[i]; } } // 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; } On Wed, May 19, 2010 at 11:08 PM, Nick <xnicho...@gmail.com> wrote: > post all of your code, that way we can help easier. > > On Wed, May 19, 2010 at 6:05 PM, James K <jimmy4...@gmail.com> wrote: >> Yup. >> >> On Wed, May 19, 2010 at 6:22 PM, Saul Rennison <saul.renni...@gmail.com> >> wrote: >>> Just to make sure: the displacements DO have hull, ray and physics >>> collisions enabled in Hammer, don't they? >>> >>> Thanks, >>> - Saul. >>> >>> >>> On 19 May 2010 21:41, James K <jimmy4...@gmail.com> wrote: >>> >>>> It's still not working, even with this new code. This is really really >>>> stupid. >>>> >>>> James >>>> >>>> On Wed, May 19, 2010 at 2:57 AM, Tony "omega" Sergi <omegal...@gmail.com> >>>> wrote: >>>> > It also doesn't help that you're only doing the trace when the random >>>> value >>>> > is within the current limit. >>>> > You need to do the check ALL the time, regardless of if it will actually >>>> > spawn it or not. >>>> > Displacements are a single plane, chances are you're repeatedly skipping >>>> the >>>> > actual check 99% of the time. >>>> > Your original code was correct except for the order. ie: new code: >>>> > >>>> > trace_t trace; >>>> > UTIL_TraceLine(vOldPos, pParticle->m_Pos, MASK_ALL, NULL, >>>> > COLLISION_GROUP_NPC, &trace); >>>> > if( trace.fraction < 1 || trace.DidHit() ) >>>> > { >>>> > if ( RandomInt( 0, 100 ) <= r_RainSplashPercentage.GetInt() ) >>>> > DispatchParticleEffect( "spash", trace.endpos, >>>> > trace.m_pEnt->GetAbsAngles() , NULL ); >>>> > } >>>> > >>>> > Also, you can verify it if you set r_RainSplashPercentage to 101 (because >>>> > even if you set it to 100, it would never trace as it would HAVE to be >>>> below >>>> > the value.) >>>> > -Tony >>>> > >>>> > On Wed, May 19, 2010 at 2:59 PM, Ryan Sheffer <darksk...@gmail.com> >>>> wrote: >>>> > >>>> >> Try shooting a trace right to the ground from the starting point and see >>>> if >>>> >> you can hit the displacment. You might be passing right through it on >>>> your >>>> >> checks. >>>> >> I don't remember having problems tracing to displacements myself, so I >>>> find >>>> >> this sort of odd. Another thing to consider are the collision options >>>> for >>>> >> displacements. >>>> >> >>>> >> On Tue, May 18, 2010 at 4:08 PM, James K <jimmy4...@gmail.com> wrote: >>>> >> >>>> >> > With the new code it will collide only with thick brushes. With the >>>> >> > old code it collided with both. >>>> >> > >>>> >> > On Tue, May 18, 2010 at 6:54 PM, Tobias Kammersgaard >>>> >> > <tobias.kammersga...@gmail.com> wrote: >>>> >> > > Does it collide with thin brushes? >>>> >> > > >>>> >> > > Den 19/05/2010 00.38 skrev "James K" <jimmy4...@gmail.com>: >>>> >> > > >>>> >> > > Still a no go with your code. Tried MASK_SOLID and >>>> >> > > COLLISION_GROUP_NONE too, still not working. >>>> >> > > >>>> >> > > Blargh. >>>> >> > > >>>> >> > > >>>> >> > > On Tue, May 18, 2010 at 12:33 AM, Ryan Sheffer <darksk...@gmail.com >>>> > >>>> >> > wrote: >>>> >> > >> Hmm, you could check ... >>>> >> > > _______________________________________________ >>>> >> > > 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 >>>> >> > >>>> >> > >>>> >> >>>> >> >>>> >> -- >>>> >> ~Ryan ( skidz ) >>>> >> _______________________________________________ >>>> >> 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 >>> >>> >> >> _______________________________________________ >> 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