Unfortunately using the array of items is not possible here. As noted on http://developer.valvesoftware.com/wiki/Networking_Entities a single array of X items count X times towards the 1024 limit on the number of variables associated with a single entity. So if you wanted to send a manual array string of size 1025, it won't work.
As far as base-128 goes - if you look at the code snippet I pasted previously you may notice I cheated slightly because I'm sending data in groups of 16bits, so I lose very few permutations. So actually it's not really base-128, but base-128 would be the simplest way to explain it. Oh well, it's possible to work around in client-code, but it's surprising with all the internationalization garbage in the SDK that they don't support this. At 2007/11/12 05:14 PM, OvermindDL1 wrote: >Well since no one else seemed to bother looking (and I actually got >some time to look), the only thing the above function does is just >fill in the passed in variant setting it as a string. Looking at the >varient it supports an array of a base type (such as wchar/Int16, like >you would use). Will have to do the serialization manually (but that >will be what... less then 10 lines of code for what you are doing, >just put it into your own function to encapsulate it), but if the >array in the variant works (I do not see many places it is used) then >it would be perfect. Honostly though, SendProxy_String_tToString >seems like a rather weird function to use, I only see it defined in >one place and only used in that class's prop definition. > >Still that is a hack, it seems like it would be far *far* better to >juse serialize it fully and hand it off manually (as a binary stream, >usual term being a binary blob) instead of using a variant, that way >you could set up string compression, string tables, etc... etc... for >effective and easy network bandwidth reduction. There would be no >sendblob function as you just give it a char array with a length to >let it send across the network. Also, you should not need a base-128 >converter, but rather a base-255 converter would be best if you wanted >to continue doing it your method. > > >On 11/11/07, [EMAIL PROTECTED] ><[EMAIL PROTECTED]> wrote: >> Well there is no SendBlob sort of function anywhere in the dt_send and >> various other networking files. It's not a huge deal, I just had to write >> my own base-128 encoder, so that there wouldn't be any 0s in the data that >> went over the wire. It just seems that Valve would want to support this >> natively. >> >> At 2007/11/10 10:53 PM, OvermindDL1 wrote: >> >Could just send it as a binary blob and not as a string (pretend it is >> >opaque binary data, and not a string, use binary functions, not string >> >functions). >> > >> >On 11/10/07, [EMAIL PROTECTED] >> ><[EMAIL PROTECTED]> wrote: >> >> Well it would be nice if there were a version of string networking that >> >> was binary-safe. >> >> >> >> At 2006/09/03 08:33 PM, Aaron Schiff wrote: >> >> >-- >> >> >[ Picked text/plain from multipart/alternative ] >> >> >You could use a networked string table as well as the index of the >> >> >string in >> >> >the entity network table. Then you can specify the string length in >> >> >AddString for the user data. >> >> > >> >> >On 9/3/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> >> >> >wrote: >> >> >> >> >> >> I thought there was a forum or mailing list thread on this once before >> >> >> but >> >> >> I can't find it. Basically it seems that the close-source side of the >> >> >> networking does a 0x00-truncated data copy. So you can't send strings >> >> >> along >> >> >> the wire that contain a 0x00 byte in them, such as wide-char strings >> >> >> etc. >> >> >> >> >> >> Anyone know of a work-around? (Short of encoding the base64ing the >> >> >> strings or something like that.) >> >> >> >> >> >> _______________________________________________ >> >> >> To unsubscribe, edit your list preferences, or view the list archives, >> >> >> please visit: >> >> >> http://list.valvesoftware.com/mailman/listinfo/hlcoders >> >> >> >> >> >> >> >> > >> >> > >> >> >-- >> >> >ts2do >> >> >-- >> >> > >> >> >_______________________________________________ >> >> >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 >> >> > >_______________________________________________ >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