Mathias Fröhlich
> > On Sonntag 17 Juli 2005 10:16, Vivian Meazza wrote: > > Before we do any rework of the MP code, it works as is in 0.9.8 (with > some > > bugs), but it is fundamentally broken in CVS. In cvs the received > aircraft > > are displayed close to the observer, rather than in their proper > locations. > > It works OK in 0.9.8. Melchior suggested this was something to do with > one > > of your recent updates, but I haven't rolled back to establish if this > is > > the case. > > The jitter removal patch was the cause for that. > But to be honest, that current multiplayer protocol cannot really work. > It transmits only offsets to the tile center without the information on > which > tile it is. > This was more or less sufficient for the case we had the scenery center at > the > tile center. But flying across tile bondaries was still broken ... > > I have now included a patch to the multiplyer protocoll which does: > > 1. place the 3d model into the scenery using a placement transform which > can > dynamically change its scenry center. > 2. Transmits unique position and orientation data for the 3d model. > 3. Thus breaks protocol compatibility. > :-/ > > Since the fg_server only forwards the network packets without looking into > them, this will still work with that code. > But the position data sent by a flightgear release version cannot be > understood by the current version. The same holds for the other way. > > Opinions? > > Given that it will make that usable in some way I will vote for applying. > > Anyway, this protocol is very error prone since it neither cares for > alignment > nor for endianess. I don't know of it still works for x86_64, don't talk > about the sgi's in Erik's zoo ... That's got to be better than broken. Shame it's not backward compatible though. Let's get it into cvs then we can move forward. Norman Vine came up with some modified code over on the IRC channel: "globals->get_multiplayer_tx_mgr()-> SendMyPosition(globals->get_aircraft_model()->get3DModel()-> get_POS() + globals->get_scenery ()->get_center() ); I think that this is probably what wants to be sent in FGMultiplay::process() {" Is this any good to us? Or does it conflict with your diff? Vivian _______________________________________________ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d