MCPcopy Create free account
hub / github.com/GarageGames/Torque3D / unpackString

Method unpackString

Engine/source/sim/netConnection.cpp:1165–1198  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1163}
1164
1165void NetConnection::unpackString(BitStream *stream, char readBuffer[1024])
1166{
1167 U32 code = stream->readInt(2);
1168 switch(code)
1169 {
1170 case NullString:
1171 readBuffer[0] = 0;
1172 return;
1173 case CString:
1174 {
1175 stream->readString(readBuffer);
1176 return;
1177 }
1178 case TagString:
1179 U32 tag;
1180 tag = stream->readInt(ConnectionStringTable::EntryBitSize);
1181 readBuffer[0] = StringTagPrefixByte;
1182 dSprintf(readBuffer+1, 1023, "%d", tag);
1183 return;
1184 case Integer:
1185 bool neg;
1186 neg = stream->readFlag();
1187 S32 num;
1188 if(stream->readFlag())
1189 num = stream->readInt(7);
1190 else if(stream->readFlag())
1191 num = stream->readInt(15);
1192 else
1193 num = stream->readInt(31);
1194 if(neg)
1195 num = -num;
1196 dSprintf(readBuffer, 1024, "%d", num);
1197 }
1198}
1199
1200void NetConnection::packNetStringHandleU(BitStream *stream, NetStringHandle &h)
1201{

Callers 1

unpackMethod · 0.80

Calls 4

dSprintfFunction · 0.85
readIntMethod · 0.80
readFlagMethod · 0.80
readStringMethod · 0.45

Tested by

no test coverage detected