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


C++ bf_read::ReadByte方法代码示例

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


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

示例1: MsgFunc_Technology

//-----------------------------------------------------------------------------
// Purpose: Receive hud update message from server
// Input  : *pszName - 
//			iSize - 
//			*pbuf - 
// Output : int
//-----------------------------------------------------------------------------
int CTechnologyTreeDoc::MsgFunc_Technology(bf_read &msg)
{
	int index;
	int available;
	int voters;
	float resourcelevel;
	bool preferred;

	// Which tech
	index		= msg.ReadByte();
	// Available to this team?
	available	= msg.ReadByte();
	// # of players indicating this as their preferred tech for new spending
	voters		= msg.ReadByte();

	preferred = ( voters & 0x80 ) ? true : false;
	voters &= 0x7f;

	resourcelevel = (float)msg.ReadShort();
	
	// Look it up by index
	CBaseTechnology *item = m_pTree->GetTechnology( index );
	if ( item )
	{	
		bool wasactive = item->GetActive();

		bool justactivated = !wasactive && available;

		// Set data elements
		item->SetActive( available ? true : false );
		item->SetVoters( voters );
		item->SetResourceLevel( resourcelevel );

		// If this is the tech I am voting for, clear my vote
		if ( preferred )
		{
			// Sets the flag on the item, too
			m_pTree->SetPreferredTechnology( item );
		}
		else
		{
			// Force deselection in case there is no active preference on the server any more
			item->SetPreferred( false );
		}

		if ( justactivated && item->GetLevel() > 0 && !item->GetHintsGiven( TF_HINT_NEWTECHNOLOGY ) )
		{
			// So we only give this hint once this game, even if we respawn, etc.
			item->SetHintsGiven( TF_HINT_NEWTECHNOLOGY, true );
			// Note, only show a max of three or 4 newtechnology hints at a time
			CreateGlobalHint( TF_HINT_NEWTECHNOLOGY, item->GetPrintName(), index, 3 );
		}

		// hogsy start - this might be temporary, just keep it here for now.
		CCommanderStatusPanel::StatusPanel()->SetTechnology(item);
		// hogsy end
	}
	
	return 1;
}
开发者ID:TalonBraveInfo,项目名称:InvasionSource,代码行数:67,代码来源:hud_technologytreedoc.cpp

示例2: MsgFunc_VoiceSubtitle

void CBaseHudChat::MsgFunc_VoiceSubtitle( bf_read &msg )
{
	// Got message during connection
	if ( !g_PR )
		return;

	if ( !cl_showtextmsg.GetInt() )
		return;

	char szString[2048];
	char szPrefix[64];	//(Voice)
	wchar_t szBuf[128];

	int client = msg.ReadByte();
	int iMenu = msg.ReadByte();
	int iItem = msg.ReadByte();

	const char *pszSubtitle = "";

	CGameRules *pGameRules = GameRules();

	CMultiplayRules *pMultiRules = dynamic_cast< CMultiplayRules * >( pGameRules );

	Assert( pMultiRules );

	if ( pMultiRules )
	{
		pszSubtitle = pMultiRules->GetVoiceCommandSubtitle( iMenu, iItem );
	}

	SetVoiceSubtitleState( true );

	const wchar_t *pBuf = g_pVGuiLocalize->Find( pszSubtitle );
	if ( pBuf )
	{
		// Copy pBuf into szBuf[i].
		int nMaxChars = sizeof( szBuf ) / sizeof( wchar_t );
		wcsncpy( szBuf, pBuf, nMaxChars );
		szBuf[nMaxChars-1] = 0;
	}
	else
	{
		g_pVGuiLocalize->ConvertANSIToUnicode( pszSubtitle, szBuf, sizeof(szBuf) );
	}

	int len;
	g_pVGuiLocalize->ConvertUnicodeToANSI( szBuf, szString, sizeof(szString) );
	len = strlen( szString );
	if ( len && szString[len-1] != '\n' && szString[len-1] != '\r' )
	{
		Q_strncat( szString, "\n", sizeof(szString), 1 );
	}

	const wchar_t *pVoicePrefix = g_pVGuiLocalize->Find( "#Voice" );
	g_pVGuiLocalize->ConvertUnicodeToANSI( pVoicePrefix, szPrefix, sizeof(szPrefix) );
	
	ChatPrintf( client, CHAT_FILTER_NONE, "%c(%s) %s%c: %s", COLOR_PLAYERNAME, szPrefix, GetDisplayedSubtitlePlayerName( client ), COLOR_NORMAL, ConvertCRtoNL( szString ) );

	SetVoiceSubtitleState( false );
}
开发者ID:Epic-xx,项目名称:impending,代码行数:60,代码来源:hud_basechat.cpp

示例3: MsgFunc_Damage

//-----------------------------------------------------------------------------
// Purpose: 
//-----------------------------------------------------------------------------
void CHudHealth::MsgFunc_Damage( bf_read &msg )
{

	int armor = msg.ReadByte();	// armor
	int damageTaken = msg.ReadByte();	// health
	long bitsDamage = msg.ReadLong(); // damage bits
	bitsDamage; // variable still sent but not used

	Vector vecFrom;

	vecFrom.x = msg.ReadBitCoord();
	vecFrom.y = msg.ReadBitCoord();
	vecFrom.z = msg.ReadBitCoord();

	// Actually took damage?
	if ( damageTaken > 0 || armor > 0 )
	{
		if ( damageTaken > 0 )
		{
			// start the animation
			if( m_flHealthSize > 20 )
			{
				g_pClientMode->GetViewportAnimationController()->StartAnimationSequence("C17HealthDamageTaken");
			}
		}
	}
}
开发者ID:KyleGospo,项目名称:City-17-Episode-One-Source-2013,代码行数:30,代码来源:c17_hud_health.cpp

示例4: MsgFunc_KillCam

void MsgFunc_KillCam(bf_read &msg) 
{
	C_DODPlayer *pPlayer = C_DODPlayer::GetLocalDODPlayer();

	if ( !pPlayer )
		return;

	int newMode = msg.ReadByte();

	if ( newMode != g_nKillCamMode )
	{
#if !defined( NO_ENTITY_PREDICTION )
		if ( g_nKillCamMode == OBS_MODE_NONE )
		{
			// kill cam is switch on, turn off prediction
			g_bForceCLPredictOff = true;
		}
		else if ( newMode == OBS_MODE_NONE )
		{
			// kill cam is switched off, restore old prediction setting is we switch back to normal mode
			g_bForceCLPredictOff = false;
		}
#endif
		g_nKillCamMode = newMode;
	}

	g_nKillCamTarget1	= msg.ReadByte();
	g_nKillCamTarget2	= msg.ReadByte();
}
开发者ID:Axitonium,项目名称:SourceEngine2007,代码行数:29,代码来源:clientmode_dod.cpp

示例5: ReadLocalizedString

//-----------------------------------------------------------------------------
// Purpose: Reads in a player's Chat text from the server
//-----------------------------------------------------------------------------
void CHudChat::MsgFunc_SayText2( bf_read &msg )
{
	int client = msg.ReadByte();
	bool bWantsToChat = msg.ReadByte() ? true : false;

	wchar_t szBuf[6][256];
	char untranslated_msg_text[256];
	wchar_t *msg_text = ReadLocalizedString( msg, szBuf[0], sizeof( szBuf[0] ), false, untranslated_msg_text, sizeof( untranslated_msg_text ) );

	// keep reading strings and using C format strings for subsituting the strings into the localised text string
	ReadChatTextString ( msg, szBuf[1], sizeof( szBuf[1] ) );		// player name
	ReadChatTextString ( msg, szBuf[2], sizeof( szBuf[2] ) );		// chat text
	ReadLocalizedString( msg, szBuf[3], sizeof( szBuf[3] ), true );
	ReadLocalizedString( msg, szBuf[4], sizeof( szBuf[4] ), true );

	g_pVGuiLocalize->ConstructString( szBuf[5], sizeof( szBuf[5] ), msg_text, 4, szBuf[1], szBuf[2], szBuf[3], szBuf[4] );

	char ansiString[512];
	g_pVGuiLocalize->ConvertUnicodeToANSI( ConvertCRtoNL( szBuf[5] ), ansiString, sizeof( ansiString ) );

	if ( bWantsToChat )
	{
		// print raw chat text
		ChatPrintf( client, CHAT_FILTER_NONE, "%s", ansiString );

		Msg( "%s\n", RemoveColorMarkup(ansiString) );
	}
	else
	{
		// print raw chat text
		ChatPrintf( client, CHAT_FILTER_NONE, "%s", ansiString );
	}
}
开发者ID:Au-heppa,项目名称:swarm-sdk,代码行数:36,代码来源:hud_chat.cpp

示例6: MsgFunc_TaskList

 // ----------------------------------------------------------
 // ----------------------------------------------------------
 void CHudTaskList::MsgFunc_TaskList( bf_read &msg )
 {
 	char szString[256];
 	int task_index;
 	int task_priority;
 
 	task_index = msg.ReadByte();
 	task_priority = msg.ReadByte();
 	msg.ReadString( szString, sizeof(szString) );
 
 	DevMsg (2, "CHudTaskList::MsgFunc_TaskList - got message for task %d, priority %d, string %s\n", task_index, task_priority, szString );
 
 	// ----------------------------------------------------------
 	// --- Convert it to localize friendly unicode
 	// ----------------------------------------------------------
 	g_pVGuiLocalize->ConvertANSIToUnicode( szString, m_pText[task_index], sizeof(m_pText[task_index]) );
 
 	// ----------------------------------------------------------
 	// --- Setup a time tracker for tasks just added or updated
 	// ----------------------------------------------------------
 	if ( m_iPriority[task_index] != task_priority )
 	{
 		m_flStartTime[task_index] = gpGlobals->curtime;
 		m_flDuration[task_index] = TASKLINE_FLASH_TIME;
 	}
 	m_iPriority[task_index] = task_priority;
 }
开发者ID:SCell555,项目名称:source-sdk-2013,代码行数:29,代码来源:hud_tasklist.cpp

示例7: __MsgFunc_CFPanel

static void __MsgFunc_CFPanel( bf_read &msg )
{
	CFPanel ePanel = (CFPanel)msg.ReadByte();
	bool bShow = !!msg.ReadByte();
	bool bCloseAfter = !!msg.ReadByte();

	if (ePanel == CF_SCOREBOARD)
	{
		CScoreboard::Get()->OpenScoreboard(bShow);
		return;
	}

	if (ePanel == CF_ROUND_OVER)
	{
		CRoundVictoryPanel::Open();
		return;
	}

	if (ePanel == CF_KILLERINFO)
	{
		CKillerInfo::Open();
		return;
	}

	if (bShow)
		CCFMenu::OpenMenu(ePanel, bCloseAfter);
	else
		CCFMenu::Close();
}
开发者ID:BSVino,项目名称:Arcon,代码行数:29,代码来源:cfui_menu.cpp

示例8: MsgFunc_Hintbox

void CHintbox::MsgFunc_Hintbox( bf_read &msg )
{
	int hint, time, mode;
	hint = msg.ReadByte();
	time = msg.ReadByte();
	mode = msg.ReadByte();
	DevMsg (2, "CHintbox::MsgFunc_Hintbox - got message hint: %d time: %d mode: %d\n", hint, time, mode);
	
	UseHint(hint, time, mode);
}
开发者ID:newroob,项目名称:bg2-2007,代码行数:10,代码来源:hintbox.cpp

示例9: __MsgFunc_ASWSkillSpent

void __MsgFunc_ASWSkillSpent( bf_read &msg )
{
	int iRosterIndex = msg.ReadByte();
	int nSkillSlot = msg.ReadByte();
	
	CNB_Spend_Skill_Points *pSpendPanel = dynamic_cast<CNB_Spend_Skill_Points*>( GetClientMode()->GetViewport()->FindChildByName( "Spend_Skill_Points", true ) );
	if ( !pSpendPanel )
	{
		//Msg( "ASWSkillSpent: Couldn't find CNB_Spend_Skill_Points\n" );
		return;
	}
	pSpendPanel->DoSpendPointAnimation( iRosterIndex, nSkillSlot );
}
开发者ID:BenLubar,项目名称:SwarmDirector2,代码行数:13,代码来源:nb_spend_skill_points.cpp

示例10: __MsgFunc_Fade

//-----------------------------------------------------------------------------
// Purpose: 
// Input  : *pszName - 
//			iSize - 
//			*pbuf - 
// Output : static int
//-----------------------------------------------------------------------------
void __MsgFunc_Fade( bf_read &msg )
{
	ScreenFade_t fade;

	fade.duration = msg.ReadShort(); // fade lasts this long
	fade.holdTime = msg.ReadShort(); // fade lasts this long
	fade.fadeFlags = msg.ReadShort(); // fade type (in / out)
	fade.r = msg.ReadByte(); // fade red
	fade.g = msg.ReadByte(); // fade green
	fade.b = msg.ReadByte(); // fade blue
	fade.a = msg.ReadByte(); // fade blue

	g_ViewEffects.Fade( fade );
}
开发者ID:SizzlingStats,项目名称:hl2sdk-ob-valve,代码行数:21,代码来源:view_effects.cpp

示例11: MsgFunc_StyleAnnouncement

void CHudStyleBar::MsgFunc_StyleAnnouncement( bf_read &msg )
{
	announcement_t eAnnouncement = (announcement_t)msg.ReadLong();
	style_point_t ePointStyle = (style_point_t)msg.ReadByte();
	float flBar = msg.ReadFloat();
	float flPoints = msg.ReadFloat();

	CAnnouncement oAnnouncement;
	oAnnouncement.m_flStartTime = gpGlobals->curtime;
	oAnnouncement.m_eAnnouncement = eAnnouncement;
	oAnnouncement.m_ePointStyle = ePointStyle;
	oAnnouncement.m_flBarPosition = flBar;

	if (m_aAnnouncements.Count())
	{
		// If a few at a time come in off the wire don't throw them all up at once. Subsequent ones should come in with a delay.

		float flDelay = 0.02f;
		if (gpGlobals->curtime < m_aAnnouncements[m_aAnnouncements.Tail()].m_flStartTime + flDelay)
			oAnnouncement.m_flStartTime = m_aAnnouncements[m_aAnnouncements.Tail()].m_flStartTime + flDelay;
	}

	oAnnouncement.m_flStylePoints = flPoints;

	m_aAnnouncements.AddToTail(oAnnouncement);
}
开发者ID:rajeshpillai,项目名称:DoubleAction,代码行数:26,代码来源:sdk_hud_stylebar.cpp

示例12: ReceiveMessage

//-----------------------------------------------------------------------------
// Purpose: Receive messages from the server
// Input  : classID - class to receive the message
//			&msg - message in question
//-----------------------------------------------------------------------------
void C_GrenadeHopwire::ReceiveMessage( int classID, bf_read &msg )
{
	if ( classID != GetClientClass()->m_ClassID )
	{
		// Message is for subclass
		BaseClass::ReceiveMessage( classID, msg );
		return;
	}

	int messageType = msg.ReadByte();
	switch( messageType )
	{
	case HOPWIRE_START_EXPLOSION:
		{
			m_ExplosionEffect.SetActive();
			m_ExplosionEffect.SetOwner( this );
			m_ExplosionEffect.StartExplosion();
		}
		break;
	case HOPWIRE_STOP_EXPLOSION:
		{
			m_ExplosionEffect.StopExplosion();
		}
		break;
	default:
		break;
	}
}
开发者ID:Au-heppa,项目名称:source-sdk-2013,代码行数:33,代码来源:c_weapon_hopwire.cpp

示例13: __MsgFunc_BuildMenuUpdate

//--------------------------------------------------------------
// TGB: usermessage for updating the buildmenu
//--------------------------------------------------------------
void __MsgFunc_BuildMenuUpdate( bf_read &msg )
{
	//DevMsg("Received BuildMenuUpdate on client\n");

	if (gBuildMenu == NULL)
	{
		gBuildMenu = dynamic_cast<CBuildMenu *>(gViewPortInterface->FindPanelByName(PANEL_BUILD));
		if(gBuildMenu == NULL)
			return;
	}

	//read spawn entindex
	int spawnidx = msg.ReadShort();

	//read whether this is an opener msg or update msg
	bool force_open = (msg.ReadOneBit() == 1);

	//read queue from usermessage
	int queue[BM_QUEUE_SIZE];
	for (int i=0; i < BM_QUEUE_SIZE; i++)
	{
		//every type was increased by 1 so that type_invalid could be 0 (byte is unsigned)
		queue[i] = (msg.ReadByte() - 1);
	}

	if (force_open)
	{
		//if we weren't visible, this is also an opening message
		gViewPortInterface->ShowPanel(gBuildMenu, true);
	}

	gBuildMenu->SetCurrentSpawn(spawnidx);
	gBuildMenu->UpdateQueue(queue);

}
开发者ID:TotallyMehis,项目名称:ZM-Updated,代码行数:38,代码来源:buildmenu.cpp

示例14: ReadLocalizedString

//-----------------------------------------------------------------------------
// Purpose: Reads in a player's Chat text from the server
//-----------------------------------------------------------------------------
void CBaseHudChat::MsgFunc_SayText2( bf_read &msg )
{
	// Got message during connection
	if ( !g_PR )
		return;

	int client = msg.ReadByte();
	bool bWantsToChat = msg.ReadByte();

	wchar_t szBuf[6][256];
	char untranslated_msg_text[256];
	wchar_t *msg_text = ReadLocalizedString( msg, szBuf[0], sizeof( szBuf[0] ), false, untranslated_msg_text, sizeof( untranslated_msg_text ) );

	// keep reading strings and using C format strings for subsituting the strings into the localised text string
	ReadChatTextString ( msg, szBuf[1], sizeof( szBuf[1] ) );		// player name
	ReadChatTextString ( msg, szBuf[2], sizeof( szBuf[2] ) );		// chat text
	ReadLocalizedString( msg, szBuf[3], sizeof( szBuf[3] ), true );
	ReadLocalizedString( msg, szBuf[4], sizeof( szBuf[4] ), true );

	g_pVGuiLocalize->ConstructString( szBuf[5], sizeof( szBuf[5] ), msg_text, 4, szBuf[1], szBuf[2], szBuf[3], szBuf[4] );

	char ansiString[512];
	g_pVGuiLocalize->ConvertUnicodeToANSI( ConvertCRtoNL( szBuf[5] ), ansiString, sizeof( ansiString ) );

	if ( bWantsToChat )
	{
		int iFilter = CHAT_FILTER_NONE;

		if ( client > 0 && (g_PR->GetTeam( client ) != g_PR->GetTeam( GetLocalPlayerIndex() )) )
		{
			iFilter = CHAT_FILTER_PUBLICCHAT;
		}

		// print raw chat text
		ChatPrintf( client, iFilter, "%s", ansiString );

		Msg( "%s\n", RemoveColorMarkup(ansiString) );

		CLocalPlayerFilter filter;
		C_BaseEntity::EmitSound( filter, SOUND_FROM_LOCAL_PLAYER, "HudChat.Message" );
	}
	else
	{
		// print raw chat text
		ChatPrintf( client, GetFilterForString( untranslated_msg_text), "%s", ansiString );
	}
}
开发者ID:Epic-xx,项目名称:impending,代码行数:50,代码来源:hud_basechat.cpp

示例15: __MsgFunc_ASWShowHoldoutWaveEnd

void __MsgFunc_ASWShowHoldoutWaveEnd( bf_read &msg )
{
	int nWave = msg.ReadByte();
	float flDuration = msg.ReadFloat();

	CASW_Hud_Holdout *pHoldoutHud = GET_HUDELEMENT( CASW_Hud_Holdout );
	pHoldoutHud->ShowWaveScores( nWave, flDuration );
}
开发者ID:BenLubar,项目名称:SwarmDirector2,代码行数:8,代码来源:asw_hud_holdout.cpp


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