 |
|

08-26-2005
, 21:51
|
#3
|
More info:
The reason this API is unacceptable is because when you receive the value of the cvar, you do not know which cvar you are receiving the value for. If you query more than one cvar at a given time, the order of return is undefined, and you have no way of matching one query to another. You cannot safely make more than one query at once.
Metamod 1.18 provides a PRIMITIVE way to solve this, by creating the function IS_QUERYING_CLIENT_CVAR. This way plugins can check if a query is in progress before making another - obviously, this is not great, because each plugin must maintain a queue of everything itself.
The solution, for Metamod 1.19, will be to create a global queue that locks and caches new queries until the last one has successfully resolved. But this is a lot of work, and most likely won't be done very soon. It also requires a lot of deliberation to get the API right.
Sigh, I love fixing Valve problems.
__________________
egg
|
|
|
|