updated VPC structure

I was wrong about having 'to include the entire contents' of HL2MP VPCs.
Made it easy to remove HL2DM sdk files as we go without touching stock VPCs,
through usage of '-$File' wizardry. it needs folder structure to match for some
wacky fun reason though.
This commit is contained in:
Dexter Haslem 2013-09-14 23:40:57 -06:00
parent 4278ad10cc
commit 41130702a1
4 changed files with 44 additions and 287 deletions

View file

@ -10,6 +10,8 @@ $Macro GAMENAME "FortressForever" [$SOURCESDK]
$Include "$SRCDIR\game\client\client_hl2mp.vpc" $Include "$SRCDIR\game\client\client_hl2mp.vpc"
$Include "$SRCDIR\game\shared\ff\ff_shared.vpc"
$Macro THIRDPARTYDIR "$SRCDIR\thirdparty" $Macro THIRDPARTYDIR "$SRCDIR\thirdparty"
$Configuration $Configuration
@ -25,6 +27,7 @@ $Project "Client (FF)"
{ {
$Folder "Source Files" $Folder "Source Files"
{ {
// for FF Shared, see game\shared\ff\ff_shared.vpc
$Folder "FF" $Folder "FF"
{ {
//TODO: //TODO:
@ -33,8 +36,6 @@ $Project "Client (FF)"
// $File "$SRCDIR\game\shared\ff\lua\luaman.cpp" // $File "$SRCDIR\game\shared\ff\lua\luaman.cpp"
// $File "$SRCDIR\game\shared\ff\lua\luaman.h" // $File "$SRCDIR\game\shared\ff\lua\luaman.h"
//} //}
}
}
$Folder "Libraries" $Folder "Libraries"
{ {
@ -42,3 +43,8 @@ $Project "Client (FF)"
$Lib luabind $Lib luabind
} }
} }
// IMPORTANT: remove conflicting hl2dm SDK stuff as we implement our own!!
// done for us in HL2DM sdk vpc: -$File "$SRCDIR\game\shared\weapon_parse_default.cpp"
}
}

View file

@ -8,9 +8,11 @@ $Macro SRCDIR "..\.."
$Macro GAMENAME "ff" [!$SOURCESDK] $Macro GAMENAME "ff" [!$SOURCESDK]
$Macro GAMENAME "FortressForever" [$SOURCESDK] $Macro GAMENAME "FortressForever" [$SOURCESDK]
$Include "$SRCDIR\game\server\server_base.vpc" $Include "$SRCDIR\game\server\server_hl2mp.vpc"
$Include "$SRCDIR\game\server\nav_mesh.vpc" [$SOURCESDK] $Include "$SRCDIR\game\server\nav_mesh.vpc" [$SOURCESDK]
$Include "$SRCDIR\game\shared\ff\ff_shared.vpc"
$Macro VSLIBDIR "." [!$VS2010] $Macro VSLIBDIR "." [!$VS2010]
$Macro VSLIBDIR "VS2010" [$VS2010] $Macro VSLIBDIR "VS2010" [$VS2010]
@ -22,10 +24,6 @@ $Configuration
{ {
$AdditionalIncludeDirectories "$BASE;$SRCDIR\game\shared\ff,.\ff,.\ff,$SRCDIR\game\shared\ff;$THIRDPARTYDIR\lua;$THIRDPARTYDIR" $AdditionalIncludeDirectories "$BASE;$SRCDIR\game\shared\ff,.\ff,.\ff,$SRCDIR\game\shared\ff;$THIRDPARTYDIR\lua;$THIRDPARTYDIR"
$PreprocessorDefinitions "$BASE;FF;FF_DLL" $PreprocessorDefinitions "$BASE;FF;FF_DLL"
// HL2DM SDK specific stuff (remove once all FF stuff implemented)
$AdditionalIncludeDirectories "$BASE;$SRCDIR\game\shared\hl2,.\hl2,.\hl2mp,$SRCDIR\game\shared\hl2mp"
$PreprocessorDefinitions "$BASE;HL2MP;HL2_DLL"
} }
} }
@ -33,6 +31,7 @@ $Project "Server (FF)"
{ {
$Folder "Source Files" $Folder "Source Files"
{ {
// for FF Shared, see game\shared\ff\ff_shared.vpc
$Folder "FF" $Folder "FF"
{ {
$File "FF\ff_client.cpp" $File "FF\ff_client.cpp"
@ -40,288 +39,20 @@ $Project "Server (FF)"
$File "FF\ff_scriptman.cpp" $File "FF\ff_scriptman.cpp"
$File "FF\ff_scriptman.h" $File "FF\ff_scriptman.h"
}
$Folder "Libraries" $Folder "Libraries"
{ {
$Lib lua $Lib lua
$Lib luabind $Lib luabind
} }
}
//$Folder "Link Libraries" // IMPORTANT: remove conflicting hl2dm SDK stuff as we implement our own!!
//{
//}
// HL2DM sdk code, remove files as FF classes are implemented
$Folder "HL2MP" $Folder "HL2MP"
{ {
$File "hl2mp\hl2mp_bot_temp.cpp" -$File "hl2mp\hl2mp_client.cpp"
$File "hl2mp\hl2mp_bot_temp.h" -$File "hl2mp\hl2mp_gameinterface.cpp"
//$File "hl2mp\hl2mp_client.cpp" -$File "hl2mp\hl2mp_gameinterface.h"
$File "hl2mp\hl2mp_cvars.cpp"
//$File "hl2mp\hl2mp_gameinterface.cpp"
$File "hl2mp\hl2mp_gameinterface.h"
$File "$SRCDIR\game\shared\hl2mp\hl2mp_gamerules.cpp"
$File "$SRCDIR\game\shared\hl2mp\hl2mp_gamerules.h"
$File "hl2mp\hl2mp_player.cpp"
$File "hl2mp\hl2mp_player.h"
$File "$SRCDIR\game\shared\hl2mp\hl2mp_player_shared.cpp"
$File "$SRCDIR\game\shared\hl2mp\hl2mp_player_shared.h"
$File "$SRCDIR\game\shared\hl2mp\hl2mp_weapon_parse.cpp"
$File "$SRCDIR\game\shared\hl2mp\hl2mp_weapon_parse.h"
$Folder "Weapons"
{
$File "hl2mp\grenade_satchel.cpp"
$File "hl2mp\grenade_satchel.h"
$File "hl2mp\grenade_tripmine.cpp"
$File "hl2mp\grenade_tripmine.h"
$File "hl2mp\te_hl2mp_shotgun_shot.cpp"
$File "hl2mp\te_hl2mp_shotgun_shot.h"
$File "$SRCDIR\game\shared\hl2mp\weapon_357.cpp"
$File "$SRCDIR\game\shared\hl2mp\weapon_ar2.cpp"
$File "$SRCDIR\game\shared\hl2mp\weapon_ar2.h"
$File "$SRCDIR\game\shared\hl2mp\weapon_crossbow.cpp"
$File "$SRCDIR\game\shared\hl2mp\weapon_crowbar.cpp"
$File "$SRCDIR\game\shared\hl2mp\weapon_frag.cpp"
$File "$SRCDIR\game\shared\hl2mp\weapon_hl2mpbase.cpp"
$File "$SRCDIR\game\shared\hl2mp\weapon_hl2mpbase.h"
$File "$SRCDIR\game\shared\hl2mp\weapon_hl2mpbase_machinegun.cpp"
$File "$SRCDIR\game\shared\hl2mp\weapon_hl2mpbase_machinegun.h"
$File "$SRCDIR\game\shared\hl2mp\weapon_hl2mpbasebasebludgeon.cpp"
$File "$SRCDIR\game\shared\hl2mp\weapon_hl2mpbasehlmpcombatweapon.cpp"
$File "$SRCDIR\game\shared\hl2mp\weapon_hl2mpbasehlmpcombatweapon.h"
$File "$SRCDIR\game\shared\hl2mp\weapon_physcannon.cpp"
$File "$SRCDIR\game\shared\hl2mp\weapon_physcannon.h"
$File "$SRCDIR\game\shared\hl2mp\weapon_pistol.cpp"
$File "$SRCDIR\game\shared\hl2mp\weapon_rpg.cpp"
$File "$SRCDIR\game\shared\hl2mp\weapon_rpg.h"
$File "$SRCDIR\game\shared\hl2mp\weapon_shotgun.cpp"
$File "$SRCDIR\game\shared\hl2mp\weapon_slam.cpp"
$File "$SRCDIR\game\shared\hl2mp\weapon_slam.h"
$File "$SRCDIR\game\shared\hl2mp\weapon_smg1.cpp"
$File "$SRCDIR\game\shared\hl2mp\weapon_stunstick.cpp"
}
}
////////////////////////////////////////////////////////////////////////////////////
// HL2 base shit below, ignore
$File "ai_relationship.cpp"
$File "basegrenade_concussion.cpp"
$File "basegrenade_contact.cpp"
$File "basegrenade_timed.cpp"
$File "EntityFlame.h"
$File "hl2\Func_Monitor.cpp"
$File "grenadethrown.cpp"
$File "grenadethrown.h"
$File "h_cycler.cpp"
$File "h_cycler.h"
$File "monstermaker.cpp"
$File "monstermaker.h"
$File "physics_bone_follower.h"
$File "$SRCDIR\game\shared\predicted_viewmodel.cpp"
$File "$SRCDIR\game\shared\predicted_viewmodel.h"
$File "$SRCDIR\game\shared\ragdoll_shared.h"
$File "$SRCDIR\game\shared\solidsetdefaults.h"
$File "$SRCDIR\game\shared\hl2\survival_gamerules.cpp"
$File "team_objectiveresource.cpp"
$File "team_objectiveresource.h"
$File "team_spawnpoint.cpp"
$File "team_spawnpoint.h"
$File "team_control_point.cpp"
$File "team_control_point.h"
$File "team_control_point_master.cpp"
$File "team_control_point_master.h"
$File "team_control_point_round.cpp"
$File "team_control_point_round.h"
$File "team_train_watcher.cpp"
$File "team_train_watcher.h"
$File "$SRCDIR\game\shared\teamplayroundbased_gamerules.cpp"
$File "$SRCDIR\game\shared\touchlink.h"
$File "trigger_area_capture.cpp"
$File "trigger_area_capture.h"
$File "$SRCDIR\game\shared\teamplay_round_timer.cpp"
$File "$SRCDIR\game\shared\teamplay_round_timer.h"
$Folder "HL2 DLL"
{
$File "hl2\ai_allymanager.cpp"
$File "hl2\ai_behavior_actbusy.cpp"
$File "hl2\ai_behavior_actbusy.h"
$File "hl2\ai_behavior_functank.cpp"
$File "hl2\ai_behavior_functank.h"
$File "hl2\ai_behavior_holster.cpp"
$File "hl2\ai_behavior_holster.h"
$File "hl2\ai_behavior_police.cpp"
$File "hl2\ai_behavior_police.h"
$File "hl2\ai_goal_police.cpp"
$File "hl2\ai_goal_police.h"
$File "hl2\ai_interactions.h"
$File "hl2\ai_spotlight.cpp"
$File "hl2\ai_spotlight.h"
$File "hl2\antlion_dust.cpp"
$File "hl2\antlion_dust.h"
$File "hl2\antlion_maker.cpp"
$File "hl2\antlion_maker.h"
$File "hl2\ar2_explosion.cpp"
$File "hl2\ar2_explosion.h"
$File "basebludgeonweapon.cpp"
$File "basebludgeonweapon.h"
$File "hl2\basehlcombatweapon.cpp"
$File "hl2\basehlcombatweapon.h"
$File "$SRCDIR\game\shared\hl2\basehlcombatweapon_shared.cpp"
$File "$SRCDIR\game\shared\hl2\basehlcombatweapon_shared.h"
$File "hl2\cbasehelicopter.cpp"
$File "hl2\cbasehelicopter.h"
$File "hl2\cbasespriteprojectile.cpp"
$File "hl2\cbasespriteprojectile.h"
$File "hl2\citadel_effects.cpp"
$File "$SRCDIR\game\shared\hl2\citadel_effects_shared.h"
$File "hl2\combine_mine.cpp"
$File "hl2\combine_mine.h"
$File "hl2\energy_wave.h"
$File "hl2\env_alyxemp.cpp"
$File "$SRCDIR\game\shared\hl2\env_alyxemp_shared.h"
$File "hl2\env_headcrabcanister.cpp"
$File "$SRCDIR\game\shared\hl2\env_headcrabcanister_shared.cpp"
$File "$SRCDIR\game\shared\hl2\env_headcrabcanister_shared.h"
$File "hl2\env_speaker.cpp"
$File "hl2\env_starfield.cpp"
$File "hl2\func_recharge.cpp"
$File "hl2\func_tank.cpp"
$File "hl2\func_tank.h"
$File "hl2\grenade_ar2.cpp"
$File "hl2\grenade_ar2.h"
$File "hl2\grenade_bugbait.cpp"
$File "hl2\grenade_bugbait.h"
$File "hl2\grenade_frag.cpp"
$File "hl2\grenade_frag.h"
$File "hl2\hl2_ai_network.cpp"
$File "hl2\hl2_eventlog.cpp"
$File "$SRCDIR\game\shared\hl2\hl2_gamerules.cpp"
$File "$SRCDIR\game\shared\hl2\hl2_gamerules.h"
$File "hl2\hl2_player.cpp"
$File "hl2\hl2_player.h"
$File "$SRCDIR\game\shared\hl2\hl2_player_shared.h"
$File "hl2\hl2_playerlocaldata.cpp"
$File "hl2\hl2_playerlocaldata.h"
$File "$SRCDIR\game\shared\hl2\hl2_shareddefs.h"
$File "hl2\hl2_triggers.cpp"
$File "$SRCDIR\game\shared\hl2\hl2_usermessages.cpp"
$File "$SRCDIR\game\shared\hl2\hl_gamemovement.cpp"
$File "$SRCDIR\game\shared\hl2\hl_gamemovement.h"
$File "$SRCDIR\game\shared\hl2\hl_movedata.h"
$File "hl2\hl_playermove.cpp"
$File "hl2\info_teleporter_countdown.cpp"
$File "hl2\item_ammo.cpp"
$File "hl2\item_battery.cpp"
$File "hl2\item_dynamic_resupply.cpp"
$File "hl2\item_dynamic_resupply.h"
$File "hl2\item_healthkit.cpp"
$File "hl2\item_itemcrate.cpp"
$File "hl2\item_suit.cpp"
$File "hl2\look_door.cpp"
$File "hl2\monster_dummy.cpp"
$File "hl2\npc_alyx.cpp"
$File "hl2\npc_alyx.h"
$File "hl2\npc_antlion.cpp"
$File "hl2\npc_antlion.h"
$File "hl2\npc_antlionguard.cpp"
$File "hl2\npc_apcdriver.cpp"
$File "hl2\npc_attackchopper.cpp"
$File "hl2\npc_attackchopper.h"
$File "hl2\npc_barnacle.cpp"
$File "hl2\npc_barnacle.h"
$File "hl2\npc_barney.cpp"
$File "hl2\npc_basescanner.cpp"
$File "hl2\npc_basescanner.h"
$File "hl2\npc_BaseZombie.cpp"
$File "hl2\npc_BaseZombie.h"
$File "hl2\npc_breen.cpp"
$File "hl2\npc_bullseye.cpp"
$File "hl2\npc_bullseye.h"
$File "hl2\npc_citizen17.cpp"
$File "hl2\npc_citizen17.h"
$File "hl2\npc_combine.cpp"
$File "hl2\npc_combine.h"
$File "hl2\npc_combinecamera.cpp"
$File "hl2\npc_combinedropship.cpp"
$File "hl2\npc_combinegunship.cpp"
$File "hl2\npc_combines.cpp"
$File "hl2\npc_combines.h"
$File "hl2\npc_cranedriver.cpp"
$File "hl2\npc_crow.cpp"
$File "hl2\npc_crow.h"
$File "hl2\npc_dog.cpp"
$File "hl2\npc_eli.cpp"
$File "hl2\npc_enemyfinder.cpp"
$File "hl2\npc_fisherman.cpp"
$File "hl2\npc_gman.cpp"
$File "hl2\npc_headcrab.cpp"
$File "hl2\npc_headcrab.h"
$File "hl2\npc_ichthyosaur.cpp"
$File "hl2\npc_kleiner.cpp"
$File "hl2\npc_launcher.cpp"
$File "hl2\npc_manhack.cpp"
$File "hl2\npc_manhack.h"
$File "hl2\npc_metropolice.cpp"
$File "hl2\npc_metropolice.h"
$File "hl2\npc_monk.cpp"
$File "hl2\npc_mossman.cpp"
$File "hl2\npc_playercompanion.cpp"
$File "hl2\npc_playercompanion.h"
$File "hl2\npc_PoisonZombie.cpp"
$File "hl2\npc_rollermine.cpp"
$File "hl2\npc_rollermine.h"
$File "hl2\npc_scanner.cpp"
$File "hl2\npc_stalker.cpp"
$File "hl2\npc_stalker.h"
$File "hl2\npc_strider.cpp"
$File "hl2\npc_strider.h"
$File "npc_talker.cpp"
$File "npc_talker.h"
$File "hl2\npc_turret_ceiling.cpp"
$File "hl2\npc_turret_floor.cpp"
$File "hl2\npc_turret_ground.cpp"
$File "hl2\npc_vortigaunt_episodic.cpp"
$File "hl2\npc_vortigaunt_episodic.h"
$File "hl2\npc_zombie.cpp"
$File "hl2\point_apc_controller.cpp"
$File "hl2\prop_combine_ball.cpp"
$File "hl2\prop_combine_ball.h"
$File "hl2\prop_thumper.cpp"
$File "hl2\proto_sniper.cpp"
$File "hl2\rotorwash.cpp"
$File "hl2\rotorwash.h"
$File "hl2\script_intro.cpp"
$File "hl2\script_intro.h"
$File "$SRCDIR\game\shared\script_intro_shared.cpp"
$File "hl2\vehicle_airboat.cpp"
$File "hl2\vehicle_apc.h"
$File "hl2\vehicle_crane.cpp"
$File "hl2\vehicle_crane.h"
$File "hl2\vehicle_prisoner_pod.cpp"
$File "hl2\vehicle_viewcontroller.cpp"
$File "hl2\weapon_alyxgun.h"
$File "hl2\weapon_annabelle.cpp"
$File "hl2\weapon_bugbait.cpp"
$File "hl2\weapon_crowbar.h"
$File "weapon_cubemap.cpp"
$Folder "unused"
{
$File "hl2\grenade_beam.cpp"
$File "hl2\grenade_beam.h"
$File "hl2\grenade_homer.cpp"
$File "hl2\grenade_homer.h"
$File "hl2\grenade_pathfollower.cpp"
$File "hl2\grenade_pathfollower.h"
$File "hl2\npc_missiledefense.cpp"
$File "hl2\vehicle_apc.cpp"
$File "hl2\weapon_cguard.cpp"
$File "hl2\weapon_flaregun.cpp"
$File "hl2\weapon_flaregun.h"
}
} }
} }
} }

View file

@ -0,0 +1,8 @@
// VPC included in client/server FF VPCs containing all shared
$Project
{
$Folder "FF Shared"
{
}
}

View file

@ -17,3 +17,15 @@ even when in a project unless you force generate them..
3. run 'vpc +ProjectName' to make it spit out vcxprojs. if it cant find your 3. run 'vpc +ProjectName' to make it spit out vcxprojs. if it cant find your
'ProjectName', you may need to add the vpc to your project file in default.vgc. 'ProjectName', you may need to add the vpc to your project file in default.vgc.
4. if you want to create a solution for a group (or single project for some wacky reason) pass '/mksln <sln name>' to vpc 4. if you want to create a solution for a group (or single project for some wacky reason) pass '/mksln <sln name>' to vpc
### File paths
_Adding_: $Folder has no effect on path when trying to find $File. it is solely for creating 'filters' in the VS project.
_Removing_: You must recreate the $Folder structure that was used when adding or else it wont actually remove shit!! eg.
$Folder "HL2MP"
{
-$File "hl2mp\hl2mp_client.cpp"
}
If you just try:
-$File "hl2mp\hl2mp_client.cpp"
It wont fucking work