This problem has appeared here before, but I don't think there was a solution ever posted, and from what I think I've found, it looks like the problem is in the engine itself.
The problem is that env_sprite's do not animate when a client connects to a linux-based server. I've traced the problem to this line of code: ** inside ::Spawn(), sprite.cpp about line 162: m_flMaxFrame = (float)modelinfo->GetModelFrameCount( GetModel() ) - 1; The problem seems to be that m_flMaxFrame gets sets to 0 under linux which causes the AnimateThink() function not to run, which in turn freezes the animation. GetModelFrameCount() appears to be an engine function call and therefore can't be fixed via the SDK. Any thoughts on this? ** One other problem I've noticed (well not a problem, but it will bite you). Do the following somewhere inside Sprite.cpp and run it: (Assume m_flSpriteFramerate has been previously set to 10.0) { ... float x = m_flSpriteFramerate; Msg("X: %f m_flSpriteFramerate: %f\n", x, m_flSpriteFramerate); ... } The results will be: X: 10.0 m_flSpriteFramerate: 0.0 How did that happen? It turns out if you define a variable as a Netvar, you can't use it in print functions. This modified version does work: Msg("X: %f m_flSpriteFramerate: %f\n", x, m_flSpriteFramerate.Get() ); Beware of printing Netvars because of this. It will drive you nuts if you overlook it. (Is there a way to do an overload to prevent this?) _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders