regarding void CPlayer::Snap(int SnappingClient), is the current instance Player that receives the Snapshot or the passed SnappingClient that receives the snapshot?
So I was doing some test with a lot of dummies and ran into performances issues. Naturally I did some profiling and SnapFindItem was among the top culprits (it is called twice per client every frame to render players for example). And indeed it was searching linearly into data that wasn't structured to be searched that way (as pointed by the TODO comment inside the function).
I'm doing two things here to optimise the search.
Packing the keys together at the top of the snapshot (Keys...
b37e0bc added missing description for str_utf8_skip_whi... - oy
2f564d5 added str_utf8_is_whitespace to for utf8 whites... - oy
3cb8367 removed duplicate code - oy