I've written down how prediction should be implemented to the best of my understanding on the wiki:
http://developer.valvesoftware.com/wiki/Prediction Any corrections welcome. :-) Tom Edwards wrote: > That's super-useful, thanks. I'm still not sure how to tell which > functions are predicted though: presumably it's those called from a > usercmd, but is there a proper channel for checking exactly which those are? > > (I noticed FTYPEDESC_NOERRORCHECK...Is that the equivalent of "not > FTYPEDESC_INSENDTABLE"? Certainly seems that way to me.) > > Yahn Bernier wrote: > >> In table, predicted forward, rolled back >> In table and FTYPEDESC_INSENDTABLE -- controlled by server value which has >> been networked, error checked >> In table and not FTYPEDESC_INSENDTABLE -- rolled forward and back, but not >> received from server, so no error checking >> In table, but FTYPEDESC_PRIVATE -- introspectable (cl_pdump) but not >> rolled forward/back or error checked (may or may not be networked) -- not >> part of prediction really >> >> Not in table >> Unrelated to prediction, not rolled forward back, etc. (rendering >> variables, e.g.) >> >> All of the logic for rewind/prediction is in client .dll in prediction.cpp >> and in prediction_copy.cpp and c_baseentity.cpp, etc... >> >> -----Original Message----- >> From: [email protected] >> [mailto:[email protected]] On Behalf Of Tom Edwards >> Sent: Wednesday, August 12, 2009 2:07 PM >> To: hlcoders >> Subject: [hlcoders] Prediction table questions >> >> I'm unclear on what the prediction table actually achieves. Here is what >> I think might be happening: >> >> *In table:* >> >> * Prediction error if too far out when next update arrives >> * Memorised when the prediction system rewinds, and restored afterwards >> >> *Not in table: * >> >> * Not checked for prediction accuracy >> * Can be operated on multiple times as the prediction system rewinds >> o Test prediction->IsFirstTimePredicted() to avoid this >> >> Is this at all accurate? Is there anything else? And: >> >> * What does it mean to have a var that is the network table but not >> the prediction table? >> * What decides which functions get rewound? >> >> >> >> _______________________________________________ >> 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

