本文整理汇总了C++中bf_read::GetNumBitsLeft方法的典型用法代码示例。如果您正苦于以下问题:C++ bf_read::GetNumBitsLeft方法的具体用法?C++ bf_read::GetNumBitsLeft怎么用?C++ bf_read::GetNumBitsLeft使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类bf_read
的用法示例。
在下文中一共展示了bf_read::GetNumBitsLeft方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ProcessMessages
int ProcessMessages(bf_read&msgs)
{
int processed = 0;
while (true)
{
if (msgs.IsOverflowed())
{
return processed;
}
unsigned char type = msgs.ReadUBitLong(NETMSG_TYPE_BITS);
bool handled = HandleMessage(msgs, type);
if (!handled)
{
printf("Unhandled Message: %i\n", type);
return processed;
}
processed++;
if (msgs.GetNumBitsLeft() < NETMSG_TYPE_BITS)
{
return processed;
}
}
return processed;
}
示例2: HandleMessage
//.........这里部分代码省略.........
}
if (type == 8)//svc_ServerInfo
{
unsigned short protoversion = msg.ReadShort();
long servercount = msg.ReadLong();
bool srctv = (bool)(msg.ReadOneBit() == 1);
bool dedicated = (bool)(msg.ReadOneBit() == 1);
long crc = msg.ReadLong();
short maxclasses = msg.ReadWord();
char mapmd5[16];
msg.ReadBytes(mapmd5, 16);
char players = msg.ReadByte();
char maxplayers = msg.ReadByte();
float tickinterval = msg.ReadFloat();
char platform = msg.ReadChar();
char gamedir[255];
char levelname[255];
char skyname[255];
char hostname[255];
char loadingurl[255];
char gamemode[255];
msg.ReadString(gamedir, sizeof(gamedir));
msg.ReadString(levelname, sizeof(levelname));
msg.ReadString(skyname, sizeof(skyname));
msg.ReadString(hostname, sizeof(hostname));
msg.ReadString(loadingurl, sizeof(loadingurl));
msg.ReadString(gamemode, sizeof(gamemode));
printf("ServerInfo, players: %lu/%lu | map: %s | name: %s | gm: %s | count: %i | left: %i | step: %i\n", players, maxplayers, levelname, hostname, gamemode, servercount, msg.GetNumBitsLeft(), bconnectstep);
netchan->m_iServerCount = servercount;
bconnectstep = 4;
return true;
}
if (type == 10)//svc_ClassInfo
{
int classes = msg.ReadShort();
int useclientclasses = msg.ReadOneBit();
unsigned int size = (int)(log2(classes) + 1);
if (useclientclasses == 0)
{
printf("Received svc_ClassInfo | classes: %i: \n", classes);
for (int i = 0; i < classes; i++)
{
int classid = msg.ReadUBitLong(size);
char classname[255];
char dtname[255];
msg.ReadString(classname, sizeof(classname));
msg.ReadString(dtname, sizeof(dtname));
printf("Classname: %s | DTname: %s | ClassID: %i\n", classname, dtname, classid);
}
printf("svc_ClassInfo end\n");
}