当前位置: 首页>>代码示例>>C++>>正文


C++ buf_t::WriteLong方法代码示例

本文整理汇总了C++中buf_t::WriteLong方法的典型用法代码示例。如果您正苦于以下问题:C++ buf_t::WriteLong方法的具体用法?C++ buf_t::WriteLong怎么用?C++ buf_t::WriteLong使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在buf_t的用法示例。


在下文中一共展示了buf_t::WriteLong方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Go

	void Go(buf_t &in, buf_t &out)
	{
		while(in.BytesLeftToRead())
		{
			byte cmd = in.NextByte();
//std::cout << cmd << " " << (int)cmd << std::endl;
			switch(cmd)
			{
				case svc_loadmap:
					{
						Copy(in, out, 1);
						map = in.ReadString();
						out.WriteString(map.c_str());
						std::cout<< "map " << map << std::endl; // todo unsafe
					}
					break;
				case svc_playerinfo:
					Copy(in, out, 1+ 9 + 4*4 + 5);
					break;
				case svc_consoleplayer:
					Copy(in, out, 1);
					consoleplayer = in.ReadByte();
					out.WriteByte(consoleplayer);
					digest = in.ReadString();
					out.WriteString(digest.c_str());
					break;
				case svc_updatefrags:
					Copy(in, out, 1+ 7);
					break;
				case svc_moveplayer:
					Copy(in, out, 1+ 37);
					break;
				case svc_updatelocalplayer:
					//in.ReadChunk(28);
					Copy(in, out, 1+ 28);
					break;
				case svc_userinfo:
					Copy(in, out, 1+ 1);
					CopyString(in, out);
					Copy(in, out, 9);
					CopyString(in, out);
					Copy(in, out, 2);
					break;
				case svc_teampoints:
					Copy(in, out, 1+ 3*2);
					break;
				case svc_svgametic:
					Copy(in, out, 1+ 4);
					break;
				case svc_updateping:
					Copy(in, out, 1+ 5);
					break;
				case svc_spawnmobj:
					{
						Copy(in, out, 1+ 16);
						unsigned short type = in.ReadShort();
						out.WriteShort(type); // todo: if this line is missing, odamex client crashes
						Copy(in, out, 5);
						if(type == 0x10000/*MF_MISSILE*/)
						{
							out.WriteShort(type);
							Copy(in, out, 16); //SpeedAndAngle
						}
					}
					break;
				case svc_mobjspeedangle:
					Copy(in, out, 1+ 18);
					break;
				case svc_mobjinfo:
					Copy(in, out, 1+ 6);
					break;
				case svc_explodemissile:
					Copy(in, out, 1+ 2);
					break;
				case svc_removemobj:
					Copy(in, out, 1+ 2);
					break;
				case svc_killmobj:
					Copy(in, out, 1+ 13);
					break;
				case svc_movemobj:
					Copy(in, out, 1+ 15);
					break;
				case svc_damagemobj:
					Copy(in, out, 1+ 5);
					break;
				case svc_corpse:
					Copy(in, out, 1+ 4);
					break;
				case svc_spawnplayer:
					{
						Copy(in, out, 1);
						byte player = in.ReadByte();
						out.WriteByte(player);
						unsigned short netid = in.ReadShort();
						if(player == consoleplayer)
							playermobj = netid;
						out.WriteShort(netid);
						spawnang = in.ReadLong();
						out.WriteLong(spawnang);
//.........这里部分代码省略.........
开发者ID:JohnnyonFlame,项目名称:odamex,代码行数:101,代码来源:protocol.cpp


注:本文中的buf_t::WriteLong方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。