Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
0335148
Fix radial fog not being enabled in 3D sky on official maps
ficool2 Feb 21, 2025
da8d330
Fix PLAYER_FLAG_BITS truncating m_fFlags sent to clients
copperpixel Feb 27, 2025
0fa71c6
tf2: Fix crash with game_round_win in koth
doclic Mar 8, 2025
45b6eed
Move .357 snap after firing to client-side
speedvoltage Mar 6, 2025
bf8d148
Remove MFC dependency in the launcher exe (afxres.h > winres.h)
Slartibarty Mar 8, 2025
c35c3cb
Sync the public SDK with latest from TF2
misyltoad Mar 8, 2025
6f28503
Fix crash on VGUI menu bar button cursor entrance
RGBACatlord Mar 17, 2025
8e784ae
Implement IsNextBot()
Bitl Mar 11, 2025
343b840
Update MenuBar.cpp
EricS-Valve Mar 24, 2025
ed30d3c
Update MenuBar.cpp
EricS-Valve Mar 24, 2025
94d1a47
Update MenuBar.cpp
EricS-Valve Mar 24, 2025
74deffb
Update Menu.cpp
EricS-Valve Mar 25, 2025
559630f
shared: Missed break in logging character field save data causing inc…
dimhotepus Feb 27, 2025
97804f3
Fix uninitialized field use in `CParticleEffectBinding`
Tkain Mar 22, 2025
7c097e1
game: client: fix pointer size mismatch
SanyaSho Apr 1, 2025
52038d3
fix: block HUD scope animation exploit
mastercoms Feb 19, 2025
12e79dd
client: Do not leak vgui slideshow material KeyValues
dimhotepus Feb 26, 2025
856b2f2
shared: Do not leak GameState (GameState.txt) KeyValues in achievemen…
dimhotepus Feb 26, 2025
9293872
shared: Do not leak activity remap (scripts/actremap.txt) KeyValues (…
dimhotepus Feb 26, 2025
c02ee87
client: Do not leak particles.txt | maps/xxx_particles.txt KeyValues …
dimhotepus Feb 26, 2025
aa91b25
Sync latest code from Team Fortress 2
misyltoad May 14, 2025
7ae4623
matsys_controls CMake
nullsystem Jun 7, 2025
8ed0308
Fix MSVC C++20 compiles
nullsystem Jun 7, 2025
a2c0b25
From now on mention the build number + date
nullsystem Jun 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ WARRANTY OF ANY KIND. VALVE EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS O
INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, TITLE AND FITNESS FOR A PARTICULAR PURPOSE.

LIMITATION OF LIABILITY. VALVE AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL,
OR CONSEQUENTIAL DAMAGES WHATSOEVER ) THAT MAY BE INCURRED BY YOU EVEN IF VALVE HAS BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF SUCH DAMAGES.
OR CONSEQUENTIAL DAMAGES WHATSOEVER THAT MAY BE INCURRED BY YOU EVEN IF VALVE HAS BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF SUCH DAMAGES.


2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@ To see the Table of Contents, please use the "Outline" feature on GitHub by clic

### Requirements

* Source SDK 2013MP: [Build 18450824 (2025-05-13)](https://steamdb.info/patchnotes/18450824/)
* Windows: [Visual Studio 2022 (MSVC v143)](https://visualstudio.microsoft.com/downloads/)
* Make sure to include C++ development environment, C++ MFC Library, Windows 10/11 SDK, and CMake during installation
* Windows 11 SDK (10.0.22621.0) or Windows 10 SDK (10.0.19041.1)
* Linux: [Steam Runtime 3 "Sniper"](https://gitlab.steamos.cloud/steamrt/sniper/sdk)
* GCC/G++ 10 toolchain
* Compiled in the sniper's Docker/Podman/Toolbx container, schroot, or systemd-nspawn
Expand Down
2 changes: 2 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ option(NEO_BUILD_WEAPON_PBK56S "Build PBK56S weapon" OFF)
option(NEO_BUILD_TIER1 "Build tier1 library" ON)
option(NEO_BUILD_MATHLIB "Build mathlib library" ON)
option(NEO_BUILD_VGUI_CONTROLS "Build vgui_controls library" ON)
option(NEO_BUILD_MATSYS_CONTROLS "Build matsys_controls library" ON)
option(NEO_COPY_LIBRARIES "Copy libraries to bin directory by default" ON)
option(NEO_EXTRA_ASSETS "Copy extra assets into game/neo" ON)
if (OS_LINUX)
Expand Down Expand Up @@ -62,6 +63,7 @@ message(STATUS "Build PBK56S weapon (INCLUDE_WEP_PBK): ${NEO_BUILD_WEAPON_PBK56S
message(STATUS "Build tier1 library: ${NEO_BUILD_TIER1}")
message(STATUS "Build mathlib library: ${NEO_BUILD_MATHLIB}")
message(STATUS "Build vgui_controls library: ${NEO_BUILD_VGUI_CONTROLS}")
message(STATUS "Build matsys_controls library: ${NEO_BUILD_MATSYS_CONTROLS}")
message(STATUS "Copy libraries to bin directory by default: ${NEO_COPY_LIBRARIES}")
message(STATUS "Copy extra assets into game/neo: ${NEO_EXTRA_ASSETS}")
message(STATUS "Directory for output libraries: ${NEO_OUTPUT_LIBRARY_PATH}")
Expand Down
Binary file modified src/devtools/bin/tier0.dll
Binary file not shown.
Binary file modified src/devtools/bin/vstdlib.dll
Binary file not shown.
4 changes: 2 additions & 2 deletions src/game/client/c_point_commentary_node.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -441,10 +441,10 @@ void CHudCommentary::Paint()
// Draw the speaker names
// Get our scheme and font information
vgui::HScheme scheme = vgui::scheme()->GetScheme( "ClientScheme" );
vgui::HFont hFont = vgui::scheme()->GetIScheme(scheme)->GetFont( "CommentaryDefault" );
vgui::HFont hFont = vgui::scheme()->GetIScheme(scheme)->GetFont( "CommentaryDefault", true );
if ( !hFont )
{
hFont = vgui::scheme()->GetIScheme(scheme)->GetFont( "Default" );
hFont = vgui::scheme()->GetIScheme(scheme)->GetFont( "Default", true );
}
vgui::surface()->DrawSetTextFont( hFont );
vgui::surface()->DrawSetTextColor( clr );
Expand Down
2 changes: 1 addition & 1 deletion src/game/client/c_slideshow_display.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ void C_SlideshowDisplay::BuildSlideShowImagesList( void )
char szFullFileName[_MAX_PATH];
Q_snprintf( szFullFileName, sizeof( szFullFileName ), "materials/vgui/%s/%s", m_szSlideshowDirectory, szMatFileName );

KeyValues *pMaterialKeys = new KeyValues( "material" );
KeyValuesAD pMaterialKeys( "material" );
bool bLoaded = pMaterialKeys->LoadFromFile( g_pFullFileSystem, szFullFileName, NULL );

if ( bLoaded )
Expand Down
2 changes: 1 addition & 1 deletion src/game/client/client_thinklist.h
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ inline ClientThinkHandle_t CClientThinkList::GetInvalidThinkHandle()

inline CClientThinkList::ThinkEntry_t* CClientThinkList::GetThinkEntry( ClientThinkHandle_t hThink )
{
return &m_ThinkEntries[ (unsigned long)hThink ];
return &m_ThinkEntries[ (uintp)hThink ];
}


Expand Down
27 changes: 15 additions & 12 deletions src/game/client/clientmode_shared.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -910,23 +910,26 @@ void ClientModeShared::StartMessageMode( int iMessageModeType )
}

#if defined( TF_CLIENT_DLL )
bool bSuspensionInMatch = GTFGCClientSystem() && GTFGCClientSystem()->BHaveChatSuspensionInCurrentMatch();
if ( !cl_enable_text_chat.GetBool() || bSuspensionInMatch )
if ( iMessageModeType == MM_SAY || iMessageModeType == MM_SAY_TEAM )
{
CBaseHudChat *pHUDChat = ( CBaseHudChat * ) GET_HUDELEMENT( CHudChat );
if ( pHUDChat )
bool bSuspensionInMatch = GTFGCClientSystem() && GTFGCClientSystem()->BHaveChatSuspensionInCurrentMatch();
if ( !cl_enable_text_chat.GetBool() || bSuspensionInMatch )
{
const char *pszReason = "#TF_Chat_Disabled";
if ( bSuspensionInMatch )
CBaseHudChat *pHUDChat = ( CBaseHudChat * ) GET_HUDELEMENT( CHudChat );
if ( pHUDChat )
{
pszReason = "#TF_Chat_Unavailable";
}
const char *pszReason = "#TF_Chat_Disabled";
if ( bSuspensionInMatch )
{
pszReason = "#TF_Chat_Unavailable";
}

char szLocalized[100];
g_pVGuiLocalize->ConvertUnicodeToANSI( g_pVGuiLocalize->Find( pszReason ), szLocalized, sizeof( szLocalized ) );
pHUDChat->ChatPrintf( 0, CHAT_FILTER_NONE, "%s ", szLocalized );
char szLocalized[100];
g_pVGuiLocalize->ConvertUnicodeToANSI( g_pVGuiLocalize->Find( pszReason ), szLocalized, sizeof( szLocalized ) );
pHUDChat->ChatPrintf( 0, CHAT_FILTER_NONE, "%s ", szLocalized );
}
return;
}
return;
}
#endif // TF_CLIENT_DLL

Expand Down
2 changes: 1 addition & 1 deletion src/game/client/hud_closecaption.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1596,7 +1596,7 @@ void CHudCloseCaption::CreateFonts( void )
{
vgui::IScheme *pScheme = vgui::scheme()->GetIScheme( GetScheme() );

m_hFonts[CCFONT_NORMAL] = pScheme->GetFont( "CloseCaption_Normal", true );
m_hFonts[CCFONT_NORMAL] = pScheme->GetFont( "CloseCaption", true );

if ( IsPC() )
{
Expand Down
12 changes: 6 additions & 6 deletions src/game/client/movehelper_client.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -191,12 +191,12 @@ void CMoveHelperClient::ProcessImpacts( void )
}

// misyl: Debug
if ( vOldLocalVel != vOldAbsVel )
{
Msg( "%d\n", gpGlobals->tickcount );
Msg( "vOldLocalVel: %f %f %f\n", vOldLocalVel.x, vOldLocalVel.y, vOldLocalVel.z );
Msg( "vOldAbsVel: %f %f %f\n", vOldAbsVel.x, vOldAbsVel.y, vOldAbsVel.z );
}
// if ( vOldLocalVel != vOldAbsVel )
// {
// Msg( "%d\n", gpGlobals->tickcount );
// Msg( "vOldLocalVel: %f %f %f\n", vOldLocalVel.x, vOldLocalVel.y, vOldLocalVel.z );
// Msg( "vOldAbsVel: %f %f %f\n", vOldAbsVel.x, vOldAbsVel.y, vOldAbsVel.z );
// }
// Restore the velocity
m_pHost->SetAbsVelocity( vOldAbsVel );
//m_pHost->SetLocalVelocity( vOldLocalVel );
Expand Down
5 changes: 1 addition & 4 deletions src/game/client/particlemgr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -146,11 +146,8 @@ CParticleEffectBinding::CParticleEffectBinding()
m_LastMin = m_Min;
m_LastMax = m_Max;

#ifdef NEO
m_flParticleCullRadius = 0.f;
#else
m_flParticleCullRadius = -1.f; // dummy value, is overwritten below
SetParticleCullRadius( 0.0f );
#endif // NEO
m_nActiveParticles = 0;

m_FrameCode = 0;
Expand Down
6 changes: 5 additions & 1 deletion src/game/client/voice_menu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@

static int g_ActiveVoiceMenu = 0;

#if defined( TF_CLIENT_DLL )
extern ConVar tf_voice_command_suspension_mode;
#endif

void OpenVoiceMenu( int index )
{
// do not show the menu if the player is dead or is an observer
Expand All @@ -28,7 +32,7 @@ void OpenVoiceMenu( int index )
return;

#if defined ( TF_CLIENT_DLL )
if ( GTFGCClientSystem() && GTFGCClientSystem()->BHaveChatSuspensionInCurrentMatch() )
if ( GTFGCClientSystem() && GTFGCClientSystem()->BHaveChatSuspensionInCurrentMatch() && tf_voice_command_suspension_mode.GetInt() == 1 )
{
CBaseHudChat *pHUDChat = ( CBaseHudChat * ) GET_HUDELEMENT( CHudChat );
if ( pHUDChat )
Expand Down
1 change: 1 addition & 0 deletions src/game/server/NextBot/NextBot.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ class NextBotCombatCharacter : public CBaseCombatCharacter, public INextBot
virtual Vector EyePosition( void );

virtual INextBot *MyNextBotPointer( void ) { return this; }
virtual bool IsNextBot(void) const { return true; }

// Event hooks into NextBot system ---------------------------------------
virtual int OnTakeDamage_Alive( const CTakeDamageInfo &info );
Expand Down
6 changes: 6 additions & 0 deletions src/game/server/SkyCamera.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -146,4 +146,10 @@ void CSkyCamera::Activate( )
}
}
#endif

// matches the behavior of fog controller
if ( GameRules()->IsOfficialMap() )
{
m_skyboxData.fog.radial = true;
}
}
3 changes: 3 additions & 0 deletions src/game/server/baseentity.h
Original file line number Diff line number Diff line change
Expand Up @@ -1004,6 +1004,9 @@ class CBaseEntity : public IServerEntity
void TraceBleed( float flDamage, const Vector &vecDir, trace_t *ptr, int bitsDamageType );
virtual bool IsTriggered( CBaseEntity *pActivator ) {return true;}
virtual bool IsNPC( void ) const { return false; }
#ifdef NEXT_BOT
virtual bool IsNextBot(void) const { return false; }
#endif
CAI_BaseNPC *MyNPCPointer( void );
virtual CBaseCombatCharacter *MyCombatCharacterPointer( void ) { return NULL; }
virtual INextBot *MyNextBotPointer( void ) { return NULL; }
Expand Down
13 changes: 3 additions & 10 deletions src/game/server/player.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,9 +101,9 @@ ConVar spec_freeze_traveltime( "spec_freeze_traveltime", "0.4", FCVAR_CHEAT | FC

ConVar sv_bonus_challenge( "sv_bonus_challenge", "0", FCVAR_REPLICATED, "Set to values other than 0 to select a bonus map challenge type." );

ConVar sv_chat_bucket_size_tier1( "sv_chat_bucket_size_tier1", "4", FCVAR_NONE, "The maxmimum size of the short term chat msg bucket." );
ConVar sv_chat_bucket_size_tier1( "sv_chat_bucket_size_tier1", "4", FCVAR_NONE, "The maximum size of the short term chat msg bucket." );
ConVar sv_chat_seconds_per_msg_tier1( "sv_chat_seconds_per_msg_tier1", "3", FCVAR_NONE, "The number of seconds to accrue an additional short term chat msg." );
ConVar sv_chat_bucket_size_tier2( "sv_chat_bucket_size_tier2", "30", FCVAR_NONE, "The maxmimum size of the long term chat msg bucket." );
ConVar sv_chat_bucket_size_tier2( "sv_chat_bucket_size_tier2", "30", FCVAR_NONE, "The maximum size of the long term chat msg bucket." );
ConVar sv_chat_seconds_per_msg_tier2( "sv_chat_seconds_per_msg_tier2", "10", FCVAR_NONE, "The number of seconds to accrue an additional long term chat msg." );

static ConVar sv_maxusrcmdprocessticks( "sv_maxusrcmdprocessticks", "24", FCVAR_NOTIFY, "Maximum number of client-issued usrcmd ticks that can be replayed in packet loss conditions, 0 to allow no restrictions" );
Expand Down Expand Up @@ -8334,13 +8334,6 @@ void CMovementSpeedMod::InputSpeedMod(inputdata_t &data)
}


void SendProxy_CropFlagsToPlayerFlagBitsLength( const SendProp *pProp, const void *pStruct, const void *pVarData, DVariant *pOut, int iElement, int objectID)
{
int mask = (1<<PLAYER_FLAG_BITS) - 1;
int data = *(int *)pVarData;

pOut->m_Int = ( data & mask );
}
// -------------------------------------------------------------------------------- //
// SendTable for CPlayerState.
// -------------------------------------------------------------------------------- //
Expand Down Expand Up @@ -8419,7 +8412,7 @@ void SendProxy_CropFlagsToPlayerFlagBitsLength( const SendProp *pProp, const voi
SendPropInt (SENDINFO(m_iBonusProgress), 15 ),
SendPropInt (SENDINFO(m_iBonusChallenge), 4 ),
SendPropFloat (SENDINFO(m_flMaxspeed), 12, SPROP_ROUNDDOWN, 0.0f, 2048.0f ), // CL
SendPropInt (SENDINFO(m_fFlags), PLAYER_FLAG_BITS, SPROP_UNSIGNED|SPROP_CHANGES_OFTEN, SendProxy_CropFlagsToPlayerFlagBitsLength ),
SendPropInt (SENDINFO(m_fFlags), 0, SPROP_UNSIGNED|SPROP_CHANGES_OFTEN ),
SendPropInt (SENDINFO(m_iObserverMode), 3, SPROP_UNSIGNED ),
SendPropEHandle (SENDINFO(m_hObserverTarget) ),
SendPropInt (SENDINFO(m_iFOV), 8, SPROP_UNSIGNED ),
Expand Down
2 changes: 1 addition & 1 deletion src/game/server/slideshow_display.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -523,7 +523,7 @@ void CSlideshowDisplay::BuildSlideShowImagesList( void )
char szFullFileName[_MAX_PATH];
Q_snprintf( szFullFileName, sizeof( szFullFileName ), "materials/vgui/%s/%s", m_szSlideshowDirectory.Get(), szMatFileName );

KeyValues *pMaterialKeys = new KeyValues( "material" );
KeyValuesAD pMaterialKeys( "material" );
bool bLoaded = pMaterialKeys->LoadFromFile( g_pFullFileSystem, szFullFileName, NULL );

if ( bLoaded )
Expand Down
3 changes: 3 additions & 0 deletions src/game/server/team_control_point_master.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1156,6 +1156,9 @@ int CTeamControlPointMaster::GetNumPointsOwnedByTeam( int iTeam )
//-----------------------------------------------------------------------------
int CTeamControlPointMaster::CalcNumRoundsRemaining( int iTeam )
{
if ( m_ControlPointRounds.IsEmpty() )
return 0;

// To determine how many rounds remain for a given team if it consistently wins mini-rounds, we have to
// simulate forward each mini-round and track the control point ownership that would result

Expand Down
2 changes: 1 addition & 1 deletion src/game/shared/achievementmgr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -801,7 +801,7 @@ void CAchievementMgr::LoadGlobalState()
// HPE_END
//=============================================================================

KeyValues *pKV = new KeyValues("GameState" );
KeyValuesAD pKV("GameState" );
if ( pKV->LoadFromFile( filesystem, szFilename, "MOD" ) )
{
KeyValues *pNode = pKV->GetFirstSubKey();
Expand Down
2 changes: 1 addition & 1 deletion src/game/shared/activitylist.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2607,7 +2607,7 @@ void UTIL_LoadActivityRemapFile( const char *filename, const char *section, CUtl
return;
}

KeyValues *pkvFile = new KeyValues( section );
KeyValuesAD pkvFile( section );

if ( pkvFile->LoadFromFile( filesystem, filename, NULL ) )
{
Expand Down
4 changes: 1 addition & 3 deletions src/game/shared/basegrenade_shared.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,6 @@ BEGIN_DATADESC( CBaseGrenade )

END_DATADESC()

void SendProxy_CropFlagsToPlayerFlagBitsLength( const SendProp *pProp, const void *pStruct, const void *pVarData, DVariant *pOut, int iElement, int objectID);

#endif

IMPLEMENT_NETWORKCLASS_ALIASED( BaseGrenade, DT_BaseGrenade )
Expand All @@ -70,7 +68,7 @@ BEGIN_NETWORK_TABLE( CBaseGrenade, DT_BaseGrenade )

SendPropVector( SENDINFO( m_vecVelocity ), 0, SPROP_NOSCALE ),
// HACK: Use same flag bits as player for now
SendPropInt ( SENDINFO(m_fFlags), PLAYER_FLAG_BITS, SPROP_UNSIGNED, SendProxy_CropFlagsToPlayerFlagBitsLength ),
SendPropInt ( SENDINFO(m_fFlags), 0, SPROP_UNSIGNED ),
#else
RecvPropFloat( RECVINFO( m_flDamage ) ),
RecvPropFloat( RECVINFO( m_DmgRadius ) ),
Expand Down
21 changes: 12 additions & 9 deletions src/game/shared/hl2mp/weapon_357.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

#ifdef CLIENT_DLL
#include "c_hl2mp_player.h"
#include <prediction.h>
#else
#include "hl2mp_player.h"
#endif
Expand Down Expand Up @@ -133,16 +134,18 @@ void CWeapon357::PrimaryAttack( void )
// Fire the bullets, and force the first shot to be perfectly accuracy
pPlayer->FireBullets( info );

#ifdef CLIENT_DLL
//Disorient the player
QAngle angles = pPlayer->GetLocalAngles();

angles.x += random->RandomInt( -1, 1 );
angles.y += random->RandomInt( -1, 1 );
angles.z = 0;

#ifndef CLIENT_DLL
pPlayer->SnapEyeAngles( angles );
#endif
if ( prediction->IsFirstTimePredicted() )
{
QAngle angles;
engine->GetViewAngles( angles );
angles.x += random->RandomInt( -1, 1 );
angles.y += random->RandomInt( -1, 1 );
angles.z += 0.0f;
engine->SetViewAngles( angles );
}
#endif // CLIENT_DLL

pPlayer->ViewPunch( QAngle( -8, random->RandomFloat( -2, 2 ), 0 ) );

Expand Down
2 changes: 1 addition & 1 deletion src/game/shared/particle_parse.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ void ParseParticleEffectsMap( const char *pMapName, bool bLoadSheets )
V_snprintf( szMapManifestFilename, sizeof( szMapManifestFilename ), "maps/%s_particles.txt", pMapName );
}

KeyValues *manifest = new KeyValues( szMapManifestFilename );
KeyValuesAD manifest( szMapManifestFilename );

// In order:
// - particles.txt within the map BSP
Expand Down
2 changes: 2 additions & 0 deletions src/game/shared/saverestore.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -325,13 +325,15 @@ void CSave::Log( const char *pName, fieldtype_t fieldType, void *value, int coun
char chValue = pValue[iCount];
Q_snprintf( szTempBuf, sizeof( szTempBuf ), "%c", chValue );
Q_strncat( szBuf, szTempBuf, sizeof( szTempBuf ), COPY_ALL_CHARACTERS );
break;
}
case FIELD_COLOR32:
{
byte *pValue = ( byte* )( value );
byte *pColor = &pValue[iCount*4];
Q_snprintf( szTempBuf, sizeof( szTempBuf ), "(%d %d %d %d)", ( int )pColor[0], ( int )pColor[1], ( int )pColor[2], ( int )pColor[3] );
Q_strncat( szBuf, szTempBuf, sizeof( szTempBuf ), COPY_ALL_CHARACTERS );
break;
}
case FIELD_EMBEDDED:
case FIELD_CUSTOM:
Expand Down
4 changes: 2 additions & 2 deletions src/launcher_main/launcher_main_mod_hl2mp.rc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
#include "winres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
Expand Down Expand Up @@ -43,7 +43,7 @@ END

2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"#include ""winres.h""\r\n"
"\0"
END

Expand Down
4 changes: 2 additions & 2 deletions src/launcher_main/launcher_main_mod_tf.rc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
#include "winres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
Expand Down Expand Up @@ -43,7 +43,7 @@ END

2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"#include ""winres.h""\r\n"
"\0"
END

Expand Down
Loading