Quake3源码解析

简介

概述

同步
向客户端发送快照

SV_SendClientSnapshot

typedef struct {
	int				areabytes;
	byte			areabits[MAX_MAP_AREA_BYTES];		// 潜在可视地区标志
	playerState_t	ps;			//玩家状态
	int				num_entities;
	int				first_entity;		// into the circular sv_packet_entities[]
										// the entities MUST be in increasing state number
										// order, otherwise the delta compression will fail
	int				messageSent;		// 消息发送的时间
	int				messageAcked;		// 收到消息应答的时间
	int				messageSize;		// 作用于丢包测试
} clientSnapshot_t;
  • SV_BuildClientSnapshot 创建快照,决定哪些实体对象会在客户端的视野中,然后复制出玩家的状态。

  • //加入玩家眼睛可以直接看到的对象,这些对象可能包含合并了其他视点的portal对象。

    SV_AddEntitiesVisibleFromPoint( org, frame, &entityNumbers, qfalse );

pvs
SV_AddEntitiesVisibleFromPoint
Haffman编码
碰撞检测

你可能感兴趣的:(Quake3源码解析)