本文整理汇总了C++中idBitMsgDelta::ReadShort方法的典型用法代码示例。如果您正苦于以下问题:C++ idBitMsgDelta::ReadShort方法的具体用法?C++ idBitMsgDelta::ReadShort怎么用?C++ idBitMsgDelta::ReadShort使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类idBitMsgDelta
的用法示例。
在下文中一共展示了idBitMsgDelta::ReadShort方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ReadFromSnapshot
/*
================
idLight::ReadFromSnapshot
================
*/
void idLight::ReadFromSnapshot( const idBitMsgDelta &msg ) {
idVec4 shaderColor;
int oldCurrentLevel = currentLevel;
idVec3 oldBaseColor = baseColor;
GetPhysics()->ReadFromSnapshot( msg );
ReadBindFromSnapshot( msg );
currentLevel = msg.ReadByte();
if ( currentLevel != oldCurrentLevel ) {
// need to call On/Off for flickering lights to start/stop the sound
// while doing it this way rather than through events, the flickering is out of sync between clients
// but at least there is no question about saving the event and having them happening globally in the world
if ( currentLevel ) {
On();
} else {
Off();
}
}
UnpackColor( msg.ReadLong(), baseColor );
// lightParentEntityNum = msg.ReadBits( GENTITYNUM_BITS );
/* // only helps prediction
UnpackColor( msg.ReadLong(), fadeFrom );
UnpackColor( msg.ReadLong(), fadeTo );
fadeStart = msg.ReadLong();
fadeEnd = msg.ReadLong();
*/
// FIXME: read renderLight.shader
renderLight.lightRadius[0] = msg.ReadFloat( 5, 10 );
renderLight.lightRadius[1] = msg.ReadFloat( 5, 10 );
renderLight.lightRadius[2] = msg.ReadFloat( 5, 10 );
UnpackColor( msg.ReadLong(), shaderColor );
renderLight.shaderParms[SHADERPARM_RED] = shaderColor[0];
renderLight.shaderParms[SHADERPARM_GREEN] = shaderColor[1];
renderLight.shaderParms[SHADERPARM_BLUE] = shaderColor[2];
renderLight.shaderParms[SHADERPARM_ALPHA] = shaderColor[3];
renderLight.shaderParms[SHADERPARM_TIMESCALE] = msg.ReadFloat( 5, 10 );
renderLight.shaderParms[SHADERPARM_TIMEOFFSET] = msg.ReadLong();
//renderLight.shaderParms[SHADERPARM_DIVERSITY] = msg.ReadFloat();
renderLight.shaderParms[SHADERPARM_MODE] = msg.ReadShort();
ReadColorFromSnapshot( msg );
if ( msg.HasChanged() ) {
if ( ( currentLevel != oldCurrentLevel ) || ( baseColor != oldBaseColor ) ) {
SetLightLevel();
} else {
PresentLightDefChange();
PresentModelDefChange();
}
}
}