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\shared\ff\ff_shared.vpc"
$Macro THIRDPARTYDIR "$SRCDIR\thirdparty"
$Configuration
@ -25,6 +27,7 @@ $Project "Client (FF)"
{
$Folder "Source Files"
{
// for FF Shared, see game\shared\ff\ff_shared.vpc
$Folder "FF"
{
//TODO:
@ -33,8 +36,6 @@ $Project "Client (FF)"
// $File "$SRCDIR\game\shared\ff\lua\luaman.cpp"
// $File "$SRCDIR\game\shared\ff\lua\luaman.h"
//}
}
}
$Folder "Libraries"
{
@ -42,3 +43,8 @@ $Project "Client (FF)"
$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 "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\shared\ff\ff_shared.vpc"
$Macro VSLIBDIR "." [!$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"
$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"
{
// for FF Shared, see game\shared\ff\ff_shared.vpc
$Folder "FF"
{
$File "FF\ff_client.cpp"
@ -40,288 +39,20 @@ $Project "Server (FF)"
$File "FF\ff_scriptman.cpp"
$File "FF\ff_scriptman.h"
}
$Folder "Libraries"
{
$Lib lua
$Lib luabind
}
}
//$Folder "Link Libraries"
//{
//}
// HL2DM sdk code, remove files as FF classes are implemented
// IMPORTANT: remove conflicting hl2dm SDK stuff as we implement our own!!
$Folder "HL2MP"
{
$File "hl2mp\hl2mp_bot_temp.cpp"
$File "hl2mp\hl2mp_bot_temp.h"
//$File "hl2mp\hl2mp_client.cpp"
$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"
}
-$File "hl2mp\hl2mp_client.cpp"
-$File "hl2mp\hl2mp_gameinterface.cpp"
-$File "hl2mp\hl2mp_gameinterface.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
'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
### 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