I don't buy that. The plats in Q2 and in HL1 both worked properly in mp. Plus, because the plats are a predicted entity on both the client and server, there is no reason for the movement to be messed up the way it is. And this doesn't explain why the classname and velocity information is grossly different between client and server. For that matter, why is the server wrong and not the client? If anything, it should be the other way around since the plat runs on the server side.
I'm familiar with the playermovement code. I have a jetpack and grapple in my mod which work very smoothly. The problem is the playermovent goes to hell when the ground entity velocity information gets applied (specifically when there is a positive Z velocity). The question is why.
Simple. The player is the only entity in the engine that is completely different from any other entity. All player movement, is done via gamemovement; and is predicted on the client. Even the vphysics shadow is basically just a hack, it's on the server only. Secondly, there is a bug with this (or incomplete code rather) that's been around since Dave 'Zoid' Kirsch wrote the shared PMOVE (or gamemovement) system for quakeworld, where the client doesn't properly know all the collision for the other entities, at the time that it's needed. It's documented in the q1/q2 engine source somewhere. Essentially, the player acts like it's own 'god'. It decides where and when it can move, and making other entities push it around, happen AFTER it decides if it can or not. So when the player is on the plat, the gamemovement code already makes gravity suck it down. So then the plat goes up, and it tries to push the player up, well the player is applying gravity, and on the client thinks there's nothing there (it can't see the platform completely) so it applies gravity and pushes itself down. Now, the server is trying to tell the player; okay there's an entity trying to move us up, so it "teleports" the player. Now, remember, the player movement code is all teleportation, it doesn't really have velocity in the same manner, because it doesn't move the same way that all other entities do. The only way to truly overcome this is to make the player move via forces instead of shifting origin directly, so the player can be simulated at the SAME TIME as every other entity, instead of before or after it. It's a major flaw that this engine has inherited from an engine created 10 years ago. The vphysics shadow doesn't really help much either, it's perfectly fine in singleplayer where there is no client side prediction, but when you get hl2mp with prediction on, that's why you jump around when you stand on a box, and whatnot. -------------- -- omega Heroes of Excelsior http://www.heroesofexcelsior.com Blackened Interactive http://www.blackened-interactive.com
_______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders

