Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
267 commits
Select commit Hold shift + click to select a range
abf6b45
Update CONTRIBUTING
misyltoad Feb 25, 2025
0651ee5
Add CONTRIBUTING text to PR template
misyltoad Feb 25, 2025
c496173
Fix radial fog not being enabled in 3D sky on official maps
ficool2 Feb 21, 2025
238a15a
Add convar to control max MvM robots
ficool2 Feb 22, 2025
46b8c3a
Fix PLAYER_FLAG_BITS truncating m_fFlags sent to clients
copperpixel Feb 27, 2025
3de9978
Fix middle mouse kicking you in Passtime
ficool2 Feb 25, 2025
aea94b3
tf2: Fix prediction for jumping when huntsman is charged/released (#797)
wgetJane Feb 27, 2025
1c43bc4
Mapbase HL2:MP compatibility and remaining HL2/Episodic support
Blixibon Feb 28, 2025
a7fd4ea
Add r_radialfog_default for env_fog_controller
Blixibon Feb 28, 2025
44de724
Fix TF2 intro videos in Mapbase
Blixibon Feb 28, 2025
9a776b6
Merge latest Mapbase v8.0 changes into MP branch
Blixibon Mar 1, 2025
6233115
Remove Mapbase's logic_eventlistener and reserve file for point_event
Blixibon Mar 1, 2025
14b5256
Adapt build automation to new branch (WIP)
Blixibon Mar 1, 2025
524c46a
Fix Mapbase compilation on Linux/64bit
Blixibon Mar 2, 2025
c88468f
Merge branch 'master' of https://github.com/ValveSoftware/source-sdk-…
Blixibon Mar 2, 2025
8aefabd
Remove temporary player jingle files if tf_delete_temp_files is enabled
AndrewBetson Mar 7, 2025
64e4b89
tf2: Fix crash with game_round_win in koth
doclic Mar 8, 2025
bb2844b
Move .357 snap after firing to client-side
speedvoltage Mar 6, 2025
91d887a
[TF2] Add prediction for thermal thruster + self-stun (#908)
wgetJane Mar 8, 2025
feb4f90
Remove MFC dependency in the launcher exe (afxres.h > winres.h)
Slartibarty Mar 8, 2025
a62efec
Sync the public SDK with latest from TF2
misyltoad Mar 8, 2025
6956e96
Fix Spy bots using human voice lines in MvM
brokenparts Feb 28, 2025
48809cb
Fix crash on VGUI menu bar button cursor entrance
RGBACatlord Mar 17, 2025
d3b0d7b
Implement IsNextBot()
Bitl Mar 11, 2025
2f6f93c
Update MenuBar.cpp
EricS-Valve Mar 24, 2025
cfb7d4c
Update MenuBar.cpp
EricS-Valve Mar 24, 2025
f10b905
Update MenuBar.cpp
EricS-Valve Mar 24, 2025
e42867a
Update Menu.cpp
EricS-Valve Mar 25, 2025
756ba6a
fix: MvM bomb carrier voice line playing during normal CTF with bots
mastercoms Feb 19, 2025
259b2c7
Match Status doors will now refresh skin/submodel at match end to pre…
rabscootle Feb 28, 2025
ceb6d4d
Update comment
rabscootle Feb 28, 2025
ead900c
allow custom mission briefing in vsh and zi
RealGamerX Mar 24, 2025
cd7ff9d
Fix MVM score calculation typo
HalfMatt Mar 31, 2025
3ae4d44
shared: Missed break in logging character field save data causing inc…
dimhotepus Feb 27, 2025
65aa7c9
Fix engineer bots softlocking on ctf
AwfulRanger Feb 27, 2025
ed11b20
Fix organs spawning due to non-Vita-Saw damage
Tkain Mar 15, 2025
d539dff
Fix uninitialized field use in `CParticleEffectBinding`
Tkain Mar 22, 2025
0565403
game: client: fix pointer size mismatch
SanyaSho Apr 1, 2025
52e568b
gameplay: automatically collect MvM money in respawn room
mastercoms Feb 18, 2025
1eba26f
fix: block HUD scope animation exploit
mastercoms Feb 19, 2025
18ea5ed
Update tf_hud_scope.cpp
EricS-Valve May 6, 2025
61ca3f7
Added hotfix for recently added fix; Added check for if the versus do…
rabscootle May 1, 2025
ca896d8
Update tf_gamemovement.cpp
Mentrillum Feb 19, 2025
6257ffe
Init
Mentrillum Feb 19, 2025
43d8767
Update tf_item_powerup_bottle.cpp
Mentrillum Feb 28, 2025
a32d24d
Fix player not being able to deploy parachute after landing and becom…
FlaminSarge Feb 22, 2025
4647243
Don't allow activating parachute on ground (as the conditions will ge…
FlaminSarge Feb 22, 2025
8f2a056
Update tf_player_shared.cpp
FlaminSarge Feb 26, 2025
92ee92f
Update tf_gamemovement.cpp
FlaminSarge Feb 26, 2025
ad6c996
Restore functionality to tf_parachute_maxspeed_onfire_z but set its v…
FlaminSarge Feb 19, 2025
f28577b
client: Do not leak medieval game mode autoreplace dictionary (script…
dimhotepus Feb 26, 2025
32c857f
client: Do not leak GameMenu (Resource/GameMenu.res) and motd_entries…
dimhotepus Feb 26, 2025
b2a7d26
client: Do not leak vgui slideshow material KeyValues
dimhotepus Feb 26, 2025
f824c74
client: Do not leak ECON whitelist (item_whitelist.txt) KeyValues
dimhotepus Feb 26, 2025
a70e797
shared: Do not leak GameState (GameState.txt) KeyValues in achievemen…
dimhotepus Feb 26, 2025
ebe8663
shared: Do not leak activity remap (scripts/actremap.txt) KeyValues (…
dimhotepus Feb 26, 2025
ba5fe68
client: Do not leak particles.txt | maps/xxx_particles.txt KeyValues …
dimhotepus Feb 26, 2025
39f6dde
Sync latest code from Team Fortress 2
misyltoad May 14, 2025
cbb5010
Merge Mapbase shaders with TF2 SDK shaders
Blixibon Jun 17, 2025
57a8b64
Fix Wrangler shield not moving with sentrygun
ficool2 Jun 28, 2025
d9a8cdd
Remove outdated Hammer fallback in WorldVertexTransition
Blixibon Jul 26, 2025
0d7c5b4
Merge Mapbase v8.0 into the MP branch
Blixibon Jul 29, 2025
bf82cf7
Adapt VScript vector access to new SDK
Blixibon Jul 29, 2025
0c4cf16
Fix VScript issues in debug build on new SDK
Blixibon Jul 29, 2025
48d0f53
Fix VScript string variants not being assigned on new SDK
Blixibon Jul 29, 2025
f8848dd
Fix createmaptoolsprojects.bat not defining SOURCESDK
Blixibon Jul 29, 2025
ec16391
Merge branch 'master' of https://github.com/ValveSoftware/source-sdk-…
Blixibon Jul 29, 2025
ccd68ee
Attempt to fix build workflow
Blixibon Jul 29, 2025
a45f278
Merge branch 'hl2-linux-build-fix' of https://github.com/Blixibon/sou…
Blixibon Jul 29, 2025
7f60459
Fix build workflow
Blixibon Jul 29, 2025
55dfa59
Add generic server/client_mapbase_tf.vpc files
Blixibon Jul 30, 2025
b8dfc69
Add game-specific Mapbase localization and event scripts
Blixibon Jul 30, 2025
efdf5a6
Fix event queue IDs using wrong address size in 64-bit
Blixibon Jul 30, 2025
788804e
Fix Mapbase shader workflow
Blixibon Jul 30, 2025
fc97160
Switch main shader DLL to game_shader_generic_std and add dependencie…
Blixibon Jul 30, 2025
33625af
Fix func_ladder assertion in HL2
Blixibon Jul 30, 2025
4ed9959
Add game-specific Mapbase events to VScript event listener
Blixibon Jul 30, 2025
6276f81
Fix ropes still looking for SDK_Cable
Blixibon Jul 30, 2025
888a27c
Add mapbase-mp-2025 branch to Mapbase CI workflows
Blixibon Jul 30, 2025
24f9063
Update Mapbase CI to support building multiple games at once
Blixibon Jul 31, 2025
d9cccfb
Fix trigger_fall not working in TF2
Blixibon Jul 31, 2025
430aa3a
Add support for func_ladder in TF2
Blixibon Jul 31, 2025
4111c27
Fix point_camera transmit state in multiplayer
ficool2 Jul 25, 2025
68c8b82
Fix CVoiceStatus::UpdateServerState not sending the correct vban stat…
FlaminSarge May 20, 2025
629e050
Add HL2MP bot possession mechanics and AFK handling
Blixibon Jul 31, 2025
42d9856
Add AllowDefaultSuit and AllowDefaultItems for HL2MP gamerules
Blixibon Jul 31, 2025
11bfb4e
Add forgotten include to hl2mp_gamerules
Blixibon Jul 31, 2025
15c2f7a
Fix oversight in HL2MP mp_idledealmethod
Blixibon Aug 7, 2025
6587d34
Fix worldlights parsing on compressed bsp lumps
azzyr Aug 2, 2025
3ad635a
Add support for FIELD_VARIANT params in VScript function bindings
Blixibon Aug 8, 2025
f29550e
Fix some Mapbase VScript compatibility issues in TF2 SDK
Blixibon Aug 8, 2025
648c8eb
Integrate SecobMod multiplayer HL2 NPC and logic entity support
Blixibon Jul 30, 2025
b09d162
Add NPC, clientside activity, and Mapbase param support to HL2MP weapons
Blixibon Aug 10, 2025
e3911f5
perf: remove SinCos table
cattslmao Aug 22, 2025
addac8c
perf: use static ConVarRefs during relatively hot functions
cattslmao Aug 22, 2025
b18fd3f
fix: backport glow inaccuracy fix
cattslmao Aug 22, 2025
c78f5b8
perf: enable rate limiting water bullet impact effects
cattslmao Aug 22, 2025
afdc53b
perf: backport CalcBones optimizations from Alien Swarm
cattslmao Aug 22, 2025
e233a91
perf: add animation attachment deferral
cattslmao Aug 22, 2025
0062a26
perf: re-enable water LOD on all platforms, not just x360
cattslmao Aug 22, 2025
646768d
perf: ensure class menu model rendering only when open
cattslmao Aug 22, 2025
3722011
perf: fix inconsistencies with ragdoll settings
cattslmao Aug 22, 2025
5238d24
perf: add DX8 effects to mat_reducefillrate
cattslmao Aug 22, 2025
fcfd6a2
perf: update ceil and floor to int functions
cattslmao Aug 22, 2025
f6f5e9f
fix(gameplay): fix usages of ceil instead of Ceil2Int
cattslmao Aug 22, 2025
e9908d2
Add support for Mapbase anim state to HL2MP
Blixibon Aug 12, 2025
da515c5
Add automatic protagonist support to HL2MP player
Blixibon Aug 12, 2025
bd4f6e9
Allow HL2MP player to use response system for death sound instead of …
Blixibon Aug 12, 2025
0d7a3ad
Add HL2MP player resource override with NPC net names and idle bots i…
Blixibon Aug 13, 2025
c85d192
Add NPC team-based relationships
Blixibon Aug 13, 2025
973bd6f
Add HL2MP bullet FX fixes for NPCs and other entities
Blixibon Aug 13, 2025
2c829df
Allow HL2MP gamerules to derive from HL2 gamerules + add basic integr…
Blixibon Aug 13, 2025
7f7ff6a
Add support for NPC death notices and target IDs
Blixibon Aug 13, 2025
a630cb3
Add SP changes to HL2MP gravity gun + clientside +USE prediction
Blixibon Aug 27, 2025
db45486
Add npc_citizen MP squad support
Blixibon Aug 27, 2025
969e725
Add HL2MP player collision avoidance + ally blood decal fix
Blixibon Aug 27, 2025
117a561
Fix NPC footstep sounds in HL2MP
Blixibon Aug 27, 2025
06fa2da
Nextbots sense weapon sounds from traditional NPCs
Blixibon Aug 27, 2025
9aebc02
Disable clientside VScript entity access in MP mods
Blixibon Aug 31, 2025
0781617
Add sv_allowcvscript cvar for toggling clientside VScript on a server…
Blixibon Aug 31, 2025
313417c
Fix weapon_equipped event not firing
Blixibon Sep 1, 2025
663a792
Fix nameless point_spotlights not appearing
Blixibon Sep 2, 2025
3226065
Add generic TF team macros and arrays
Blixibon Sep 2, 2025
b9c961b
Fix game_menu conflicting with voice command menu
Blixibon Jul 31, 2025
b349ad3
Add support for game_timer in TF2
Blixibon Jul 31, 2025
fa0b83f
env_instructor_hint team and TF2 class support
Blixibon Sep 2, 2025
25e88ff
TF2-style instructor hint HUD
Blixibon Sep 2, 2025
13c5f5d
Restore/port potential use target for Game Instructor with optional T…
Blixibon Sep 2, 2025
0e02aeb
Hook Game Instructor to TF training and notification HUD
Blixibon Sep 2, 2025
82ddf25
Updated README
Blixibon Sep 2, 2025
8c896ae
Merge pull request #468 from cattslmao/tc2-carryover
Blixibon Sep 5, 2025
bab4b6f
Fix further conflicts between game_menu and voice menu
Blixibon Sep 5, 2025
4f24cc5
Fix TF training HUD lessons conflicting with stats panel
Blixibon Sep 5, 2025
2a2501d
Updated README
Blixibon Sep 5, 2025
439f793
Add missing VScript functions to CBaseCombatWeapon
Blixibon Sep 5, 2025
ca832fe
Apply anonymous team macros to TF2 game_timer
Blixibon Sep 5, 2025
225a124
Fix localization interface being called from server
Blixibon Sep 6, 2025
0a25cfa
Implement upstream PR https://github.com/ValveSoftware/source-sdk-201…
Blixibon Sep 10, 2025
c049aab
Add support for incursion distances in TF nav meshes without func_res…
Blixibon Sep 10, 2025
09cc11f
Add support for Arena mode in TF bots
Blixibon Sep 10, 2025
60bffb8
Add various missing functions from TF2 SDK
Blixibon Sep 10, 2025
cdc2c6c
Fixed Widowmaker not giving metal on friendly disguises
JoriKos Aug 7, 2025
bed9522
[TF2] Map prefix check bug on Workshop maps
Lizard-Of-Oz Sep 28, 2025
7334729
Fixed on-hit attributes not triggering on friendly disguises
JoriKos Sep 21, 2025
1a20bc8
[TF] Add null pointer checks for recent casual doors fix.
Bitl Aug 15, 2025
f453611
[TF] Fixed a bug where Gas Passer gas can cover players with gas in s…
Bitl Aug 9, 2025
70e3259
Fix Vaccinator charge sounds playing 2+ times/tick
treacherousfiend Feb 24, 2025
6fc04f8
client: Do not leak event text in CTFHudPasstimeBallStatus (thanks Le…
dimhotepus Feb 26, 2025
5fc78ce
Fix Minigun barrel movement velocity being updated multiple times per…
Marioiscool246 Feb 26, 2025
d0120a6
Fix `CHealthAccountPanel` not using `NegativeColor` for negative values
Bradasparky Apr 25, 2025
64ab46f
fix: KeyValues memory leak in birds
CosminPerRam May 27, 2025
e8e0fdb
feat: use KeyValuesAD instead
CosminPerRam May 27, 2025
954d02e
chore: add empty space for formatting
CosminPerRam May 27, 2025
936446a
Improve `join_class`'s random algorithm to reduce the chance of failure
Bradasparky Jul 17, 2025
30d284f
Update Footprint Coloring
ThatBapGuy Oct 20, 2025
fc3bd77
Updated armory controls to mimic December 2021 Workshop dialog QOL up…
bobatealee Aug 17, 2025
139d53e
Sync'd with manual changes
EricS-Valve Oct 23, 2025
6ca522c
CTFPlayerModelPanel: Clamp negative choreo scene time
kvog-git Aug 8, 2025
38fd28f
CTFPlayerModelPanel: Replace lerp magic number with macro
kvog-git Aug 8, 2025
adb82c7
Allow null caller on team_control_point's SetOwner input
megascatterbomb Sep 14, 2025
00a4141
Updated collection checklist behavior to account for cases where deco…
rabscootle Aug 17, 2025
5fe202c
Fix Vaccinator icons persisting when changing displayed team
bakugo Jul 25, 2025
db05fc9
[TF] Allow TFBots to use the Wrap Assassin's alt-fire
Bitl Jul 27, 2025
ce9d75b
update comments
Bitl Jul 30, 2025
ec89b70
[TF] Fix crash in CEntityBird::SpawnRandomBirds caused by recent bird…
Bitl Oct 24, 2025
87bca06
fix: memory leak in sprite model
CosminPerRam Oct 24, 2025
873f43e
fix: memory leak in server browser blacklist check
CosminPerRam Oct 24, 2025
2b25174
Fix Entrance not getting using "mult_teleporter_recharge_rate"
ChaseTownsend Sep 18, 2025
8b52af0
Fix TF_COND_ROCKETPACK not being removed if player has no RocketPack
bakugo Aug 12, 2025
a36ead8
[TF] Reverted Gas Passer respawn room fixes
Bitl Oct 24, 2025
0379125
fix CMDLPanel setting unencoded pose param values
copperpixel Oct 25, 2025
23e6b73
tf: fix halloween spell projectiles not getting flipped
copperpixel Jul 25, 2025
bae343a
Update tf_weapon_bottle.cpp
Bitl Jul 27, 2025
4cb56f0
Deny only plays when not a bUsefulhit
AJMickey Aug 23, 2025
b649037
tf2: Fix logo spinner from breaking
horiuchii Nov 2, 2025
df743b1
fix miniguns spinning very slowly in third-person
wgetJane Oct 25, 2025
20877e4
tf: network handedness state to spectators
copperpixel Jul 20, 2025
2cc7461
tf: fix incorrect stattrak conditional
copperpixel Jul 21, 2025
655fb31
[TF2] Switching from the medigun while healing someone screws with vi…
Jul 10, 2025
74a7bf6
Allow server admins to change powerup mode convars without forcing ch…
bijlpieter Jun 28, 2025
52e5aff
feat: replace bitwise or operator
CosminPerRam May 28, 2025
089c9fe
[TF2] Fix MoveableSubPanel showing while dead
horiuchii Jul 9, 2025
f3d6634
Fix for tracer rounds from the rifles
birchish May 6, 2025
a73672b
Fixed pyrovision nullifying other voice pitch alteration
Lizard-Of-Oz Jun 15, 2025
f75d714
Fix being able to throw Gas Passer through walls
bakugo Jun 6, 2025
202ed82
tf: update tracer rounds fix for spectators viewmodels
copperpixel Nov 5, 2025
5d36df8
only remove ammo if 'm_iClip1' is smaller 'GetMaxClip1'
kingofings Jul 5, 2025
ec3adca
include in previous if
kingofings Jul 5, 2025
7a4a022
Add TF-specific tags to search paths in TF mod gameinfo
Tkain Apr 5, 2025
548e4e2
Fix viewpunch not being interpolated
ficool2 Jul 1, 2025
a7a88df
Fix disguise_on_backstab not functioning for stab targets with TF_CON…
FlaminSarge May 14, 2025
ea310f2
Update hud_basechat.cpp
gaelcoral May 2, 2025
bdb5753
Fix overlapping footstep sound
num-get Mar 31, 2025
e83ecdf
server: Ensure no buffer overflows when sscanf to char buffer
dimhotepus Feb 27, 2025
a85998a
Fix players getting stuck in team unassigned on join
bakugo May 20, 2025
dfcf1ff
Make sentry perform rocket fire gesture when player controlled
horiuchii Apr 11, 2025
632d29d
hull fix
hamnTF2 Mar 14, 2025
a767644
Allow impulse 101 on caber
allvei Feb 26, 2025
5cdfa5c
Prevent disguise kit team selection from resetting at high latency
nosoop Feb 21, 2025
7965665
gameplay: detonator jumps aren't considered self dmg jumps
mastercoms Feb 19, 2025
26e394d
Fix Detonator making world-detonation sound when attempting to fire u…
misyltoad Feb 18, 2025
22344b1
Remove knockback-attribute-specific animation overrides for CTFScatte…
FlaminSarge Feb 21, 2025
a202d4e
Remove method from header file
FlaminSarge Feb 22, 2025
010c5cb
fix net_graph using raw client interp
treacherousfiend Apr 10, 2025
b2705ba
Sync latest code from Team Fortress 2
misyltoad Nov 7, 2025
9dcf15e
Network m_flGravity on entities
ficool2 Feb 22, 2025
2d3a6ef
Mark m_flGravity as predicted field
ficool2 Feb 24, 2025
7191ecc
Fix prediction error when crouchjumping
ficool2 Dec 15, 2025
fd413c5
Always lowercase filenames in CUtlFilenameSymbolTable to fix loading …
rtldg Jun 12, 2025
11a677c
Added .vmt configurable horizontal texture scrolling to BuildingRescu…
Voids29 Jan 16, 2026
175f343
Stop teleporter spin sound when carried
inco-cc Feb 22, 2026
9f0fe61
Use correct activity in C_BaseObject placement hack
inco-cc Feb 23, 2026
8908a11
improve heal target selection for mediguns
wgetJane Jan 17, 2026
8d419fd
improve targetid selection to replicate medigun heal target selection
wgetJane Jan 17, 2026
674857c
Added missing SC inputs for loadout menus
Ashe-tf Jan 27, 2026
f48a72d
Add passtime ball anim slot
gidi30 Dec 12, 2025
39eb7b6
Mark network state changes for condition vars
ficool2 Nov 4, 2025
5dd187d
Add a check for Buildings being the owner of Rockets
ChaseTownsend Feb 15, 2026
5c7f2b9
Update Formatting to match Valve formatting
ChaseTownsend Feb 15, 2026
fa822a4
Valve formatting fixes
ChaseTownsend Feb 26, 2026
734f5cf
Fixed Stat Clocks not rendering in playermodelpanel
rabscootle Jan 16, 2026
f63bb2a
Added logic to update team skin when necessary
rabscootle Jan 16, 2026
fabe169
Fix flipped pitch/yaw on thirdperson switch
ficool2 Feb 5, 2026
334972e
fixed error making the projectile to not flip
birchish Nov 9, 2025
a621035
fix dragon's fury fireballs having incorrect projectile path
wgetJane Jan 6, 2026
90554c0
Server flipped viewmodels consistent with client
birchish Nov 9, 2025
1fe7e01
Predict shared thinks in server order
ficool2 Nov 1, 2025
4697e57
Run cond thinks in old order outside of prediction
ficool2 Nov 4, 2025
2d55053
Network the off hand weapon
ficool2 Nov 1, 2025
569c11c
Predict stealth condition in every simulation
ficool2 Nov 1, 2025
d1e67cf
Fix spy watch hiding prediction
ficool2 Nov 1, 2025
4685a12
Fix: casual doors player list sometimes using wrong size
Pandaptable Oct 27, 2025
5745fd1
Merge pull request #465 from Blixibon/mapbase/mp-2025/expanded-npc-an…
Blixibon Mar 10, 2026
c623a7c
tf: Changed Halloween Spell attribute text to be blue during Full Moons.
FrozenDragon0 Nov 13, 2025
facc907
tf2: Allow vscript to set damage for force calc
doclic Mar 8, 2025
0d557e6
Fix most broken spy disguise weapons.
seanmcgeehan Mar 4, 2026
3300848
fix Short circuit for disguised spies
seanmcgeehan Mar 12, 2026
a3f338c
Merge branch 'master' of https://github.com/mapbase-source/source-sdk…
Blixibon May 16, 2026
afcf3bc
Merge branch 'master' of https://github.com/mapbase-source/source-sdk…
Blixibon May 17, 2026
50d5de3
Fixed attachments on dropped having broken textures for some war paints
Piogre Mar 19, 2026
326c5e2
fix [tf2]: Prevent wearables from leaking when weapon is dropped
seanmcgeehan May 23, 2026
c98767b
Check if player is alive before showing VM effects
RGBACatlord Dec 19, 2025
048c72d
Guard entity access behind ScriptCanAccess
azzyr Jun 21, 2026
32dc35b
Fix stat clock model attaching incorrectly on dropped weapons
rabscootle Jan 10, 2026
b0de54b
Updated SetBodyGroup params to update correct bodygroup
rabscootle Jan 17, 2026
6241261
Added support to display Stat Clock values on world models
rabscootle Jan 14, 2026
569a9b5
Added support for dropped weapons to display strange count
rabscootle Jan 14, 2026
7a8f7ab
Updated formatting
rabscootle Jan 16, 2026
88fa198
Fix intel carrier glow disappearing when Spy cloaks
shockpast Jun 4, 2026
b02efa7
Merge remote-tracking branch 'ValveSoftware/master' into mapbase-mp-2025
azzyr Jul 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
16 changes: 5 additions & 11 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
creategameprojects text
createallprojects text
xcode_ccache_wrapper text
vpc text
vpc_linux binary
vpc_osx binary
buildallprojects text
vpc binary

*.sh text
*.bat text
Expand Down Expand Up @@ -38,14 +34,12 @@ vpc_osx binary

.github/CONTRIBUTING.md text
.gitignore text
sourcesdk_def.mak text
smdlexp.mak text
README text
README.md text
LICENSE text

*.exe binary
*.dll binary
protoc binary
ccache binary

gtest_output_test_golden_lin.txt binary
mod_*_english.txt binary
*_english.txt binary
25 changes: 5 additions & 20 deletions .github/workflows/mapbase_build-base-dispatch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,6 @@ on:
options:
- Release
- Debug
branch:
description: 'Which Source 2013 engine branch to compile for'
default: 'sp'
required: true
type: choice
options:
- sp
- mp
game:
description: 'Name of the game to build (if relevant)'
default: 'episodic'
Expand All @@ -34,22 +26,17 @@ on:
options:
- episodic
- hl2
- hl2mp
- hl2mp /episodic
- tf
- tf /hl2mp
project-group:
description: 'Which group of projects to compile'
required: true
type: choice
options:
- all
- game
- shaders
- maptools
solution-name:
description: 'Name of the solution/makefile'
required: true
type: choice
options:
- everything
- games
- game
- shaders
- maptools
build-on-linux:
Expand All @@ -63,8 +50,6 @@ jobs:
uses: ./.github/workflows/mapbase_build-base.yml
with:
configuration: '${{ github.event.inputs.configuration }}'
branch: '${{ github.event.inputs.branch }}'
game: '${{ github.event.inputs.game }}'
project-group: '${{ github.event.inputs.project-group }}'
solution-name: '${{ github.event.inputs.solution-name }}'
build-on-linux: "${{ github.event.inputs.build-on-linux == 'true' }}"
144 changes: 54 additions & 90 deletions .github/workflows/mapbase_build-base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,6 @@ on:
default: 'Release'
required: true
type: string
branch:
description: 'Which Source 2013 engine branch to compile for'
default: 'sp'
required: true
type: string
game:
description: 'The name of the game to build (if relevant)'
default: 'episodic'
Expand All @@ -35,10 +30,6 @@ on:
description: 'Which group of projects to compile'
required: true
type: string
solution-name:
description: 'The name of the solution/makefile'
required: true
type: string
build-on-linux:
description: 'Build on Ubuntu/Linux?'
default: true
Expand All @@ -52,68 +43,53 @@ jobs:

steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.13'

- name: Add MSBuild to PATH
uses: compnerd/gha-setup-vsdevenv@v6

- name: Enable VS2022
working-directory: '${{inputs.branch}}/src/vpc_scripts'
shell: bash
run: sed -i 's/^\($Conditional[ ]\+VS2022[ ]\+\).*/\1"1"/' newer_vs_toolsets.vpc

- name: Pick game
if: inputs.project-group == 'game' || inputs.project-group == 'shaders'
working-directory: '${{inputs.branch}}/src'
# HACKHACK: MSBuild doesn't seem to recognize Python even when its directory is within PATH,
# so we currently have to make it call Python directly.
# This assumes %Python3_ROOT_DIR% will always be set by setup-python above.
- name: Implement Python workaround
if: inputs.project-group == 'game' || inputs.project-group == 'everything'
working-directory: 'src/game/server'
shell: bash
run: sed -i 's/\/hl2 \/episodic/\/${{inputs.game}}/' create${{inputs.project-group}}projects.bat
run: |
sed -i 's/\"python/\"%Python3_ROOT_DIR%\\python/' server_base.vpc
cat server_base.vpc

- name: Create project files
working-directory: '${{inputs.branch}}/src'
working-directory: 'src'
shell: cmd
# https://github.com/ValveSoftware/source-sdk-2013/issues/72
run: |
reg add "HKLM\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\10.0\Projects\{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}" /v DefaultProjectExtension /t REG_SZ /d vcproj /f
create${{inputs.project-group}}projects.bat
devtools\bin\vpc.exe /${{inputs.game}} /define:SOURCESDK +${{inputs.project-group}} /mksln build.sln

# --------------------------------------------------------------------

- name: Build
#if: steps.filter.outputs.game == 'true'
working-directory: '${{inputs.branch}}/src'
working-directory: 'src'
shell: cmd
run: |
devenv ${{inputs.solution-name}}.sln /upgrade
msbuild -m -t:Rebuild -p:Configuration=${{inputs.configuration}};Platform=x86 ${{inputs.solution-name}}.sln
devenv build.sln /upgrade
msbuild -m -t:Rebuild -p:Configuration=${{inputs.configuration}};Platform=win64 build.sln

# --------------------------------------------------------------------

- name: Publish game binaries
if: inputs.project-group == 'game' || inputs.project-group == 'shaders'
uses: actions/upload-artifact@v4
with:
name: '${{inputs.project-group}}_${{inputs.game}}_win32_${{ inputs.configuration }}'
path: |
${{inputs.branch}}/game/mod_${{inputs.game}}/bin/*.dll
if-no-files-found: error

- name: Publish map tools
if: inputs.project-group == 'maptools'
- name: Publish binaries
uses: actions/upload-artifact@v4
with:
name: '${{inputs.project-group}}_win32_${{ inputs.configuration }}'
name: '${{inputs.project-group}}_win64_${{ inputs.configuration }}'
path: |
${{inputs.branch}}/game/bin/*.exe
${{inputs.branch}}/game/bin/*.dll
if-no-files-found: error

- name: Publish everything
if: inputs.project-group == 'all'
uses: actions/upload-artifact@v4
with:
name: 'everything_win32_${{ inputs.configuration }}'
path: |
${{inputs.branch}}/game/bin
${{inputs.branch}}/game/mod_*/bin
game/bin
game/bin/x64
game/mod_*/bin
game/mod_*/x64/bin
!game/bin/x64/steam_api64.dll
!game/bin/linux64/libsteam_api.so
if-no-files-found: error

build_ubuntu:
Expand All @@ -124,72 +100,60 @@ jobs:
config: ${{ inputs.configuration }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Install GCC/G++ multilib
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install gcc-multilib g++-multilib
sudo apt-get -y install podman python3

- name: Pick game
if: inputs.project-group == 'game' || inputs.project-group == 'shaders'
working-directory: '${{inputs.branch}}/src'
working-directory: 'src'
shell: bash
run: sed -i 's/\/hl2 \/episodic/\/${{inputs.game}}/' create${{inputs.project-group}}projects
run: |
sed -i 's|/hl2mp /tf|/${{inputs.game}}|' buildgameprojects
sed -i 's|+game|+${{inputs.project-group}}|' buildgameprojects

- name: Set configuration
working-directory: '${{inputs.branch}}/src'
working-directory: 'src'
shell: bash
run: |
config=${{inputs.configuration}}
export CFG=${config,,}
echo "config=${CFG}" >> $GITHUB_ENV

- name: Create project files
working-directory: '${{inputs.branch}}/src'
run: ./create${{inputs.project-group}}projects

# --------------------------------------------------------------------

- name: Build
working-directory: '${{inputs.branch}}/src'
run: make CFG=${{env.config}} -f ${{inputs.solution-name}}.mak
working-directory: 'src'
run: ./buildgameprojects ${config,,}

# --------------------------------------------------------------------

- name: Publish game binaries
if: inputs.project-group == 'game' || inputs.project-group == 'shaders'
uses: actions/upload-artifact@v4
with:
name: '${{inputs.project-group}}_${{inputs.game}}_linux32_${{ inputs.configuration }}'
path: |
${{inputs.branch}}/game/mod_${{inputs.game}}/bin/*.so
!${{inputs.branch}}/game/mod_${{inputs.game}}/bin/*_srv.so
if-no-files-found: error

#- name: Publish map tools
# if: inputs.project-group == 'maptools'
# uses: actions/upload-artifact@v4
# with:
# name: '${{inputs.project-group}}_linux32_${{ inputs.configuration }}'
# path: |
# ${{inputs.branch}}/game/bin/vbsp
# ${{inputs.branch}}/game/bin/vvis
# ${{inputs.branch}}/game/bin/vvis_dll.so
# ${{inputs.branch}}/game/bin/vrad
# ${{inputs.branch}}/game/bin/vrad_dll.so
# if-no-files-found: error
# Workaround for debug symbols being included in release builds
- name: Strip debug symbols
if: inputs.configuration == 'Release'
shell: bash
run: |
find game -type f -name "*.so" | while read -r file; do
strip -S "$file"
done

# For now, don't publish the .dbg files even though we publish .pdb files on Windows
# (they're too big)
- name: Publish everything
if: inputs.project-group == 'all'
- name: Publish binaries
uses: actions/upload-artifact@v4
with:
name: 'everything_linux32_${{ inputs.configuration }}'
name: '${{inputs.project-group}}_linux64_${{ inputs.configuration }}'
path: |
${{inputs.branch}}/game/bin/*.so
!${{inputs.branch}}/game/bin/*_srv.so
${{inputs.branch}}/game/mod_*/bin/*.so
!${{inputs.branch}}/game/mod_*/bin/*_srv.so
game/bin/linux64/*.so
game/bin/*.so
!game/bin/linux64/*_srv.so
!game/bin/*_srv.so
game/mod_*/bin/linux64/*.so
game/mod_*/bin/*.so
!game/mod_*/bin/linux64/*_srv.so
!game/mod_*/bin/*_srv.so
!game/bin/linux64/libsteam_api.so
if-no-files-found: error
37 changes: 37 additions & 0 deletions .github/workflows/mapbase_build-games.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#
# MAPBASE SOURCE 2013 CI
#
# Builds game projects every time a pull request which modifies the game code is opened.
# If you're using a fork of Mapbase, feel free to configure this to meet your repository's needs.
#
# See mapbase_build-base.yml for more information on how this works.

name: Build Game Projects #(SP Release)

on:
pull_request:
branches:
- develop
- mapbase-mp-2025
paths:
- '.github/workflows/mapbase_build-base.yml'
- '.github/workflows/mapbase_build-games.yml'
- 'src/vpc_scripts/**'
- 'src/game/**'
- 'src/mathlib/**'
- 'src/responserules/runtime/**'
- 'src/tier1/**'
- 'src/vgui2/vgui_controls/**'
- 'src/vscript/**'

jobs:
games:
strategy:
matrix:
configuration: [Release, Debug]
uses: ./.github/workflows/mapbase_build-base.yml
with:
configuration: ${{ matrix.configuration }}
game: 'tf /hl2mp' # Change this if your mod is not using these game projects
project-group: 'game'
build-on-linux: true # Disable this if you don't want to compile for Linux
38 changes: 38 additions & 0 deletions .github/workflows/mapbase_build-maptools.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#
# MAPBASE SOURCE 2013 CI
#
# Builds map tool projects every time a pull request which modifies the map tool code is opened.
# If you're using a fork of Mapbase, feel free to configure this to meet your repository's needs.
#
# See mapbase_build-base.yml for more information on how this works.

name: Build Map Tool Projects #(SP Release)

on:
pull_request:
branches:
- develop
- mapbase-mp-2025
paths:
- '.github/workflows/mapbase_build-maptools.yml'
- 'src/vpc_scripts/**'
- 'src/utils/vbsp/**'
- 'src/utils/vvis/**'
- 'src/utils/vvis_launcher/**'
- 'src/utils/vrad/**'
- 'src/utils/vrad_launcher/**'
- 'src/mathlib/**'
- 'src/tier1/**'
- 'src/vgui2/vgui_controls/**'
- 'src/vscript/**'

jobs:
maptools:
strategy:
matrix:
configuration: [Release, Debug]
uses: ./.github/workflows/mapbase_build-base.yml
with:
configuration: ${{ matrix.configuration }}
project-group: 'maptools'
solution-name: 'maptools'
4 changes: 1 addition & 3 deletions .github/workflows/mapbase_build-master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,5 @@ jobs:
uses: ./.github/workflows/mapbase_build-base.yml
with:
configuration: ${{ matrix.configuration }}
branch: 'sp'
project-group: 'all'
solution-name: 'everything'
project-group: 'everything'
build-on-linux: true # Disable this if you don't want to compile for Linux
Loading