It's still not creating splashes on displacements. The code for creating splashes is found around line 331 in c_effects.cpp. Here's my modded code for it: ----------------------- // 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_SOLID, NULL, COLLISION_GROUP_PLAYER, &trace); if( trace.fraction < 1 ) { 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; } ------------------ It's completely ignoring displacements, however. If you visualize the tracers you can see them going right through the displacements and hitting the surface below them. I'm so frustrated! On Mon, May 17, 2010 at 10:46 AM, Ryan Sheffer <darksk...@gmail.com> wrote: > Ignore Util_remove, it's specific to his code. The mask and collision > group should work fine. If not, you need to post all your code. > > ~Ryan > > On May 16, 2010, at 12:58 PM, James K <jimmy4...@gmail.com> wrote: > >> UTIL_Remove is a server thing, isn't it? The code doesn't work because >> it says it's undefined. >> >> I'm more concerned with making the tracer collide with displacements >> and other dynamic entities, because no matter what I do it won't >> recognize they're there. The skybox collision isn't a major issue yet. >> >> James >> On Sun, May 16, 2010 at 7:51 AM, Jonathan White >> <killermonke...@gmail.com> wrote: >>> Hi James, >>> >>> I am going to offer this solution since I don't think you have >>> nailed down >>> your problem to exactly what is going on. My guess is that the >>> trace is >>> hitting the rain entity itself. I say this because you have not >>> added the >>> rain entity a the "ignored entity" and have allowed the trace to hit >>> ANYTHING. >>> >>> Try this code: >>> >>> UTIL_TraceLine( vOldPos, pParticle->m_Pos, MASK_SOLID, this, >>> COLLISION_GROUP_PLAYER, &tr ); >>> >>> if( tr.surface.flags & SURF_SKY ) >>> { >>> // Game Over, we hit the sky box, remove the mine from the >>> world >>> UTIL_Remove(this); >>> return false; >>> } >>> >>> Right before the collision group is "this" which if function call >>> is called >>> in the rain entity class will produce the desired results. >>> Otherwise you >>> might have to explicitly call on the rain particle entity >>> (pParticle)? I am >>> not sure of your setup at the moment or if you are even using >>> entities, just >>> wanted to throw it out there. >>> >>> Thanks >>> Killermonkey >>> _______________________________________________ >>> 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