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

Reply via email to