Advertisement
Guest User

Untitled

a guest
Jun 9th, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 15.72 KB | None | 0 0
  1. #ifdef OBCO_USE_DYNAMIC_MOUNT_CODE 
  2. //TDT - Information: This is the new dynamic GCF mounting code. Basically each map can be set to be either HL2, Ep1, Ep2 or (if you're feeling daring for your mod) Portal content enabled. If you enable Ep2, you lose some functionality that HL2 has, and vice-versa.
  3. // as you can see. Mounting depends on a specific naming scheme for custom maps. These are ss_hl2_<map name>, ss_ep1_<mapname> and finally ss_ep2_<mapname>
  4. //REMEMBER ! ! ! ! To change ss_ to whatever prefix your mod uses or you WILL crash ! ! !
  5. //ALSO !!!!!!!!!!! Remember to change the mod folder search paths from obcoop to the name of your Mod folder. Otherwise you will have LOADS of problems on dynamically mounted maps!
  6.     if ( !Q_strnicmp( gpGlobals->mapname.ToCStr(), "ss_bg", 5 ))
  7.     {
  8.     //TDT - Information: Background maps use the static search paths for mounts. This is restrictive as to what's allowable in such maps but it's essential this not be changed due to main menu bugs.
  9.     }
  10.     else if ( !Q_strnicmp( gpGlobals->mapname.ToCStr(), "d1_", 3 )
  11.     || !Q_strnicmp( gpGlobals->mapname.ToCStr(), "d2_", 3 )
  12.     || !Q_strnicmp( gpGlobals->mapname.ToCStr(), "d3_", 3 )
  13.     || !Q_strnicmp( gpGlobals->mapname.ToCStr(), "dm_", 3 )
  14.     || !Q_strnicmp( gpGlobals->mapname.ToCStr(), "de_", 3 ) // Hack to make CSS defusal maps work.
  15.     || !Q_strnicmp( gpGlobals->mapname.ToCStr(), "cs_", 3 ) // Hack to make CSS hostage-rescue maps work.
  16.     || !Q_strnicmp( gpGlobals->mapname.ToCStr(), "testchmb", 8 ) //Allow portal maps to load as HL2.
  17.     || !Q_strnicmp( gpGlobals->mapname.ToCStr(), "escape", 6 ) //Allow portal maps to load as HL2.
  18.     || !Q_strnicmp( gpGlobals->mapname.ToCStr(), "ss_hl2_", 7 ) ) //Mounts required for HalfLife 2/Deathmatch content.
  19.     {
  20.         Msg("HALFLIFE 2 CONTENT IS BEING MOUNTED! \n");    
  21.         filesystem->RemoveAllSearchPaths(); // We have to remove all search paths or the game gets confused about model vertex counts etc.
  22.         //TDT - Information: Dedicated servers require different search paths to work.
  23.         if (sv_dedicated.GetBool())
  24.         {
  25.         filesystem->AddSearchPath("../orangebox", "EXECUTABLE_PATH");
  26.         filesystem->AddSearchPath("../orangebox", "PLATFORM");
  27.         filesystem->AddSearchPath("refusaltosubmit", "MOD");
  28.         filesystem->AddSearchPath("refusaltosubmit/bin", "GAMEBIN");
  29.         filesystem->AddSearchPath("refusaltosubmit", "GAME");
  30.         filesystem->AddSearchPath("hl2", "GAMEBIN");
  31.         filesystem->AddSearchPath("hl2", "GAME", PATH_ADD_TO_TAIL); //Add to the Tail
  32.         filesystem->MountSteamContent(-220);  //Half-Life 2
  33.         filesystem->AddSearchPath("refusaltosubmit", "DEFAULT_WRITE_PATH");
  34.         filesystem->AddSearchPath("refusaltosubmit", "LOGDIR");
  35.         filesystem->AddSearchPath("hl2mp", "GAME");
  36.         filesystem->MountSteamContent(-320);  //Half-Life 2:Deathmatch
  37.         filesystem->AddSearchPath("episodic", "GAME");
  38.         filesystem->AddSearchPath("ep2", "GAME");  
  39.         filesystem->MountSteamContent(-240); // Counterstrike: Source. Always mounts last - we don't want CSS stuff
  40.         filesystem->AddSearchPath("cstrike", "GAME"); // overriding the HL2/EP1/EP2 assets, but we still want access.
  41.         #ifdef OBCO_ENABLE_PORTAL_CONTENT_MOUNTING
  42.         filesystem->AddSearchPath("portal", "GAME");
  43.         filesystem->MountSteamContent(-400);  //Portal*/
  44.         Msg("PORTAL CONTENT IS BEING MOUNTED! \n");
  45.         #endif //OBCO_ENABLE_PORTAL_CONTENT_MOUNTING
  46.        
  47.         sv_hl2_mount.SetValue(1);
  48.         sv_ep1_mount.SetValue(0);
  49.         sv_ep2_mount.SetValue(0);
  50.         sv_failsafe_mount.SetValue(0);
  51.         }
  52.         else
  53.         {
  54.         filesystem->AddSearchPath("orangebox", "EXECUTABLE_PATH");
  55.         filesystem->AddSearchPath("orangebox", "PLATFORM");
  56.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit", "MOD");
  57.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit/bin", "GAMEBIN");
  58.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit", "GAME");
  59.         filesystem->AddSearchPath("hl2", "GAMEBIN");
  60.         filesystem->AddSearchPath("hl2", "GAME", PATH_ADD_TO_TAIL); //Add to the Tail
  61.         filesystem->MountSteamContent(-220);  //Half-Life 2
  62.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit", "DEFAULT_WRITE_PATH");
  63.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit", "LOGDIR");
  64.         filesystem->AddSearchPath("hl2mp", "GAME");
  65.         filesystem->MountSteamContent(-320);  //Half-Life 2:Deathmatch
  66.         filesystem->AddSearchPath("episodic", "GAME");
  67.         filesystem->AddSearchPath("ep2", "GAME");  
  68.         filesystem->MountSteamContent(-240); // Counterstrike: Source. Always mounts last - we don't want CSS stuff
  69.         filesystem->AddSearchPath("cstrike", "GAME"); // overriding the HL2/EP1/EP2 assets, but we still want access.
  70.         #ifdef OBCO_ENABLE_PORTAL_CONTENT_MOUNTING
  71.         filesystem->AddSearchPath("portal", "GAME");
  72.         filesystem->MountSteamContent(-400);  //Portal*/
  73.         Msg("PORTAL CONTENT IS BEING MOUNTED! \n");
  74.         #endif //OBCO_ENABLE_PORTAL_CONTENT_MOUNTING
  75.        
  76.         sv_hl2_mount.SetValue(1);
  77.         sv_ep1_mount.SetValue(0);
  78.         sv_ep2_mount.SetValue(0);
  79.         sv_failsafe_mount.SetValue(0);
  80.         }
  81.     }
  82.     else if ( !Q_strnicmp( gpGlobals->mapname.ToCStr(), "ep1_", 4 )
  83.     || !Q_strnicmp( gpGlobals->mapname.ToCStr(), "ss_ep1_", 7 ) ) //Mounts required for Episode 1 content.
  84.     {
  85.         Msg("EPISODE 1 CONTENT IS BEING MOUNTED! \n");
  86.         filesystem->RemoveAllSearchPaths(); // We have to remove all search paths or the game gets confused about model vertex counts etc.
  87.         //TDT - Information: Dedicated servers require different search paths to work.
  88.         if (sv_dedicated.GetBool())
  89.         {
  90.         filesystem->AddSearchPath("../orangebox", "EXECUTABLE_PATH");
  91.         filesystem->AddSearchPath("../orangebox", "PLATFORM");
  92.         filesystem->AddSearchPath("refusaltosubmit", "MOD");
  93.         filesystem->AddSearchPath("refusaltosubmit/bin", "GAMEBIN");
  94.         filesystem->AddSearchPath("refusaltosubmit", "GAME");
  95.         filesystem->AddSearchPath("episodic", "GAMEBIN");
  96.         filesystem->AddSearchPath("episodic", "GAME", PATH_ADD_TO_TAIL); //Add to the Tail
  97.         filesystem->MountSteamContent(-380);  //Half-Life 2-Episode 1
  98.         filesystem->AddSearchPath("hl2", "GAMEBIN");
  99.         filesystem->AddSearchPath("hl2", "GAME", PATH_ADD_TO_TAIL); //Add to the Tail
  100.         filesystem->MountSteamContent(-220);  //Half-Life 2
  101.         filesystem->AddSearchPath("refusaltosubmit", "DEFAULT_WRITE_PATH");
  102.         filesystem->AddSearchPath("refusaltosubmit", "LOGDIR");
  103.         filesystem->AddSearchPath("hl2mp", "GAME");
  104.         filesystem->MountSteamContent(-320);  //Half-Life 2:Deathmatch
  105.         filesystem->AddSearchPath("ep2", "GAME");  
  106.         filesystem->MountSteamContent(-240); // Counterstrike: Source. Always mounts last - we don't want CSS stuff
  107.         filesystem->AddSearchPath("cstrike", "GAME"); // overriding the HL2/EP1/EP2 assets, but we still want access.
  108.         #ifdef OBCO_ENABLE_PORTAL_CONTENT_MOUNTING
  109.         filesystem->AddSearchPath("portal", "GAME");
  110.         filesystem->MountSteamContent(-400);  //Portal*/
  111.         Msg("PORTAL CONTENT IS BEING MOUNTED! \n");
  112.         #endif //OBCO_ENABLE_PORTAL_CONTENT_MOUNTING
  113.        
  114.         sv_hl2_mount.SetValue(0);
  115.         sv_ep1_mount.SetValue(1);
  116.         sv_ep2_mount.SetValue(0);
  117.         sv_failsafe_mount.SetValue(0);
  118.         }
  119.         else
  120.         {
  121.         filesystem->AddSearchPath("orangebox", "EXECUTABLE_PATH");
  122.         filesystem->AddSearchPath("orangebox", "PLATFORM");
  123.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit", "MOD");
  124.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit/bin", "GAMEBIN");
  125.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit", "GAME");
  126.         filesystem->AddSearchPath("episodic", "GAMEBIN");
  127.         filesystem->AddSearchPath("episodic", "GAME", PATH_ADD_TO_TAIL); //Add to the Tail
  128.         filesystem->MountSteamContent(-380);  //Half-Life 2-Episode 1
  129.         filesystem->AddSearchPath("hl2", "GAMEBIN");
  130.         filesystem->AddSearchPath("hl2", "GAME", PATH_ADD_TO_TAIL); //Add to the Tail
  131.         filesystem->MountSteamContent(-220);  //Half-Life 2
  132.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit", "DEFAULT_WRITE_PATH");
  133.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit", "LOGDIR");
  134.         filesystem->AddSearchPath("hl2mp", "GAME");
  135.         filesystem->MountSteamContent(-320);  //Half-Life 2:Deathmatch
  136.         filesystem->AddSearchPath("ep2", "GAME");
  137.         filesystem->MountSteamContent(-240); // Counterstrike: Source. Always mounts last - we don't want CSS stuff
  138.         filesystem->AddSearchPath("cstrike", "GAME"); // overriding the HL2/EP1/EP2 assets, but we still want access.
  139.        
  140.         #ifdef OBCO_ENABLE_PORTAL_CONTENT_MOUNTING
  141.         filesystem->AddSearchPath("portal", "GAME");
  142.         filesystem->MountSteamContent(-400);  //Portal*/
  143.         Msg("PORTAL CONTENT IS BEING MOUNTED! \n");
  144.         #endif //OBCO_ENABLE_PORTAL_CONTENT_MOUNTING
  145.        
  146.         sv_hl2_mount.SetValue(0);
  147.         sv_ep1_mount.SetValue(1);
  148.         sv_ep2_mount.SetValue(0);
  149.         sv_failsafe_mount.SetValue(0);
  150.         }
  151.     }
  152.     else if ( !Q_strnicmp( gpGlobals->mapname.ToCStr(), "ep2_", 4 )
  153.     || !Q_strnicmp( gpGlobals->mapname.ToCStr(), "ss_ep2_", 7 )) //Mounts required for Episode 2 content.
  154.     {
  155.         Msg("EPISODE 2 CONTENT IS BEING MOUNTED! \n");
  156.         filesystem->RemoveAllSearchPaths(); // We have to remove all search paths or the game gets confused about model vertex counts etc.
  157.         //TDT - Information: Dedicated servers require different search paths to work.
  158.         if (sv_dedicated.GetBool())
  159.         {
  160.         filesystem->AddSearchPath("../orangebox", "EXECUTABLE_PATH");
  161.         filesystem->AddSearchPath("../orangebox", "PLATFORM");
  162.         filesystem->AddSearchPath("refusaltosubmit", "MOD");
  163.         filesystem->AddSearchPath("refusaltosubmit/bin", "GAMEBIN");
  164.         filesystem->AddSearchPath("refusaltosubmit", "GAME");
  165.         filesystem->AddSearchPath("ep2", "GAMEBIN");
  166.         filesystem->AddSearchPath("ep2", "GAME", PATH_ADD_TO_TAIL); //Add to the Tail
  167.         filesystem->MountSteamContent(-420);  //Half-Life 2-Episode 2
  168.         filesystem->AddSearchPath("hl2", "GAMEBIN");
  169.         filesystem->AddSearchPath("hl2", "GAME", PATH_ADD_TO_TAIL); //Add to the Tail
  170.         filesystem->MountSteamContent(-220);  //Half-Life 2
  171.         filesystem->AddSearchPath("refusaltosubmit", "DEFAULT_WRITE_PATH");
  172.         filesystem->AddSearchPath("refusaltosubmit", "LOGDIR");
  173.         filesystem->AddSearchPath("hl2mp", "GAME");
  174.         filesystem->MountSteamContent(-320);  //Half-Life 2:Deathmatch
  175.         filesystem->AddSearchPath("episodic", "GAME");
  176.         filesystem->MountSteamContent(-380);  //Half-Life 2-Episode 1
  177.         filesystem->MountSteamContent(-240); // Counterstrike: Source. Always mounts last - we don't want CSS stuff
  178.         filesystem->AddSearchPath("cstrike", "GAME"); // overriding the HL2/EP1/EP2 assets, but we still want access.
  179.        
  180.         #ifdef OBCO_ENABLE_PORTAL_CONTENT_MOUNTING
  181.         filesystem->AddSearchPath("portal", "GAME");
  182.         filesystem->MountSteamContent(-400);  //Portal*/
  183.         Msg("PORTAL CONTENT IS BEING MOUNTED! \n");
  184.         #endif //OBCO_ENABLE_PORTAL_CONTENT_MOUNTING
  185.        
  186.         sv_hl2_mount.SetValue(0);
  187.         sv_ep1_mount.SetValue(0);
  188.         sv_ep2_mount.SetValue(1);
  189.         sv_failsafe_mount.SetValue(0);
  190.         }
  191.         else
  192.         {
  193.         filesystem->AddSearchPath("orangebox", "EXECUTABLE_PATH");
  194.         filesystem->AddSearchPath("orangebox", "PLATFORM");
  195.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit", "MOD");
  196.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit/bin", "GAMEBIN");
  197.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit", "GAME");
  198.         filesystem->AddSearchPath("ep2", "GAMEBIN");
  199.         filesystem->AddSearchPath("ep2", "GAME", PATH_ADD_TO_TAIL); //Add to the Tail
  200.         filesystem->MountSteamContent(-420);  //Half-Life 2-Episode 2
  201.         filesystem->AddSearchPath("hl2", "GAMEBIN");
  202.         filesystem->AddSearchPath("hl2", "GAME", PATH_ADD_TO_TAIL); //Add to the Tail
  203.         filesystem->MountSteamContent(-220);  //Half-Life 2
  204.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit", "DEFAULT_WRITE_PATH");
  205.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit", "LOGDIR");
  206.         filesystem->AddSearchPath("hl2mp", "GAME");
  207.         filesystem->MountSteamContent(-320);  //Half-Life 2:Deathmatch
  208.         filesystem->AddSearchPath("episodic", "GAME");
  209.         filesystem->MountSteamContent(-380);  //Half-Life 2-Episode 1
  210.         filesystem->MountSteamContent(-240); // Counterstrike: Source. Always mounts last - we don't want CSS stuff
  211.         filesystem->AddSearchPath("cstrike", "GAME"); // overriding the HL2/EP1/EP2 assets, but we still want access.
  212.        
  213.         #ifdef OBCO_ENABLE_PORTAL_CONTENT_MOUNTING
  214.         filesystem->AddSearchPath("portal", "GAME");
  215.         filesystem->MountSteamContent(-400);  //Portal*/
  216.         Msg("PORTAL CONTENT IS BEING MOUNTED! \n");
  217.         #endif //OBCO_ENABLE_PORTAL_CONTENT_MOUNTING
  218.        
  219.         sv_hl2_mount.SetValue(0);
  220.         sv_ep1_mount.SetValue(0);
  221.         sv_ep2_mount.SetValue(1);
  222.         sv_failsafe_mount.SetValue(0);
  223.         }
  224.     }
  225.     else
  226.     {
  227.         Msg("WARNING ! FAIL-SAFE CONTENT IS BEING MOUNTED! MAP NAME NOT VALID FOR DYNAMIC GCF MOUNTING! FIX THIS OR CHANGE TO A DIFFERENT LEVEL ! \n");
  228.         filesystem->RemoveAllSearchPaths(); // We have to remove all search paths or the game gets confused about model vertex counts etc.
  229.         Msg("WARNING ! FAIL-SAFE CONTENT IS BEING MOUNTED! MAP NAME NOT VALID FOR DYNAMIC GCF MOUNTING! FIX THIS OR CHANGE TO A DIFFERENT LEVEL ! \n");
  230.         if (sv_dedicated.GetBool())
  231.         {
  232.         filesystem->AddSearchPath("../orangebox", "EXECUTABLE_PATH");
  233.         filesystem->AddSearchPath("../orangebox", "PLATFORM");
  234.         filesystem->AddSearchPath("refusaltosubmit", "MOD");
  235.         filesystem->AddSearchPath("refusaltosubmit/bin", "GAMEBIN");
  236.         filesystem->AddSearchPath("refusaltosubmit", "GAME");
  237.         Msg("WARNING ! FAIL-SAFE CONTENT IS BEING MOUNTED! MAP NAME NOT VALID FOR DYNAMIC GCF MOUNTING! FIX THIS OR CHANGE TO A DIFFERENT LEVEL ! \n");
  238.         filesystem->AddSearchPath("hl2mp", "GAME");
  239.         filesystem->MountSteamContent(-320);  //Half-Life 2:Deathmatch     
  240.         Msg("WARNING ! FAIL-SAFE CONTENT IS BEING MOUNTED! MAP NAME NOT VALID FOR DYNAMIC GCF MOUNTING! FIX THIS OR CHANGE TO A DIFFERENT LEVEL ! \n");
  241.         filesystem->AddSearchPath("refusaltosubmit", "DEFAULT_WRITE_PATH");
  242.         filesystem->AddSearchPath("refusaltosubmit", "LOGDIR");
  243.         filesystem->MountSteamContent(-240); // Counterstrike: Source. Always mounts last - we don't want CSS stuff
  244.         filesystem->AddSearchPath("cstrike", "GAME"); // overriding the HL2/EP1/EP2 assets, but we still want access.
  245.         sv_hl2_mount.SetValue(0);
  246.         sv_ep1_mount.SetValue(0);
  247.         sv_ep2_mount.SetValue(0);
  248.         sv_failsafe_mount.SetValue(1);
  249.         Msg("WARNING ! FAIL-SAFE CONTENT IS BEING MOUNTED! MAP NAME NOT VALID FOR DYNAMIC GCF MOUNTING! FIX THIS OR CHANGE TO A DIFFERENT LEVEL ! \n");
  250.         }
  251.         else
  252.         {
  253.         filesystem->AddSearchPath("orangebox", "EXECUTABLE_PATH");
  254.         filesystem->AddSearchPath("orangebox", "PLATFORM");
  255.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit", "MOD");
  256.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit/bin", "GAMEBIN");
  257.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit", "GAME");
  258.         Msg("WARNING ! FAIL-SAFE CONTENT IS BEING MOUNTED! MAP NAME NOT VALID FOR DYNAMIC GCF MOUNTING! FIX THIS OR CHANGE TO A DIFFERENT LEVEL ! \n");
  259.         filesystem->AddSearchPath("hl2mp", "GAME");
  260.         filesystem->MountSteamContent(-320);  //Half-Life 2:Deathmatch     
  261.         Msg("WARNING ! FAIL-SAFE CONTENT IS BEING MOUNTED! MAP NAME NOT VALID FOR DYNAMIC GCF MOUNTING! FIX THIS OR CHANGE TO A DIFFERENT LEVEL ! \n");
  262.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit", "DEFAULT_WRITE_PATH");
  263.         filesystem->AddSearchPath("../../../steamapps/SourceMods/refusaltosubmit", "LOGDIR");
  264.         filesystem->MountSteamContent(-240); // Counterstrike: Source. Always mounts last - we don't want CSS stuff
  265.         filesystem->AddSearchPath("cstrike", "GAME"); // overriding the HL2/EP1/EP2 assets, but we still want access.
  266.         sv_hl2_mount.SetValue(0);
  267.         sv_ep1_mount.SetValue(0);
  268.         sv_ep2_mount.SetValue(0);
  269.         sv_failsafe_mount.SetValue(1);
  270.         Msg("WARNING ! FAIL-SAFE CONTENT IS BEING MOUNTED! MAP NAME NOT VALID FOR DYNAMIC GCF MOUNTING! FIX THIS OR CHANGE TO A DIFFERENT LEVEL ! \n");
  271.         }
  272.     }  
  273. #endif //OBCO_USE_DYNAMIC_MOUNT_CODE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement