From 41130702a19945ebb714e45c08c5a14981c498b5 Mon Sep 17 00:00:00 2001 From: Dexter Haslem Date: Sat, 14 Sep 2013 23:40:57 -0600 Subject: [PATCH] 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. --- mp/src/game/client/client_ff.vpc | 18 +- mp/src/game/server/server_ff.vpc | 293 ++-------------------------- mp/src/game/shared/ff/ff_shared.vpc | 8 + vpc-notes.md | 12 ++ 4 files changed, 44 insertions(+), 287 deletions(-) create mode 100644 mp/src/game/shared/ff/ff_shared.vpc diff --git a/mp/src/game/client/client_ff.vpc b/mp/src/game/client/client_ff.vpc index dccb69c7..87aa2af2 100644 --- a/mp/src/game/client/client_ff.vpc +++ b/mp/src/game/client/client_ff.vpc @@ -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,12 +36,15 @@ $Project "Client (FF)" // $File "$SRCDIR\game\shared\ff\lua\luaman.cpp" // $File "$SRCDIR\game\shared\ff\lua\luaman.h" //} + + $Folder "Libraries" + { + $Lib lua + $Lib luabind + } } - } - - $Folder "Libraries" - { - $Lib lua - $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" } } diff --git a/mp/src/game/server/server_ff.vpc b/mp/src/game/server/server_ff.vpc index 76fd3f07..9effbec0 100644 --- a/mp/src/game/server/server_ff.vpc +++ b/mp/src/game/server/server_ff.vpc @@ -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 - $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" + $Folder "Libraries" { - $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" + $Lib lua + $Lib luabind } } - - //////////////////////////////////////////////////////////////////////////////////// - // 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" + // IMPORTANT: remove conflicting hl2dm SDK stuff as we implement our own!! + $Folder "HL2MP" { - $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" } } } diff --git a/mp/src/game/shared/ff/ff_shared.vpc b/mp/src/game/shared/ff/ff_shared.vpc new file mode 100644 index 00000000..2dc8ce09 --- /dev/null +++ b/mp/src/game/shared/ff/ff_shared.vpc @@ -0,0 +1,8 @@ +// VPC included in client/server FF VPCs containing all shared + +$Project +{ + $Folder "FF Shared" + { + } +} \ No newline at end of file diff --git a/vpc-notes.md b/vpc-notes.md index 657e470f..6d7ca789 100644 --- a/vpc-notes.md +++ b/vpc-notes.md @@ -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 ' 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 \ No newline at end of file