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. > > 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>: >>>>> >> > > >>
-- Thanks, - Saul. _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders