diff --git a/gameinfo.txt b/gameinfo.txt new file mode 100644 index 000000000..f70269fc2 --- /dev/null +++ b/gameinfo.txt @@ -0,0 +1,75 @@ +"GameInfo" +{ + game "My Mod" //This is what is shown on Steam + title "HALF-LIFE'" //This is the main menu title + title2 "" //This goes under title1 as a subtitle, e.g. Episode 2 + + type singleplayer_only + + FileSystem + { + SteamAppId 243730 // This sets the app ID in Steam + + // + // The code that loads this file automatically does a few things here: + // + // 1. For each "Game" search path, it adds a "GameBin" path, in \bin + // 2. For each "Game" search path, it adds another "Game" path in front of it with _ at the end. + // For example: c:\hl2\cstrike on a french machine would get a c:\hl2\cstrike_french path added to it. + // 3. For the first "Game" search path, it adds a search path called "MOD". + // 4. For the first "Game" search path, it adds a search path called "DEFAULT_WRITE_PATH". + // + + // + // Search paths are relative to the base directory, which is where hl2.exe is found. + // + // |gameinfo_path| points at the directory where gameinfo.txt is. + // We always want to mount that directory relative to gameinfo.txt, so + // people can mount stuff in c:\mymod, and the main game resources are in + // someplace like c:\program files\valve\steam\steamapps\half-life 2. + // + SearchPaths + { + // First, mount all user customizations. This will search for VPKs and subfolders + // and mount them in alphabetical order. The easiest way to distribute a mod is to + // pack up the custom content into a VPK. To "install" a mod, just drop it in this + // folder. + // + // Note that this folder is scanned only when the game is booted. + game+mod ep2/custom/* + game+mod episodic/custom/* + game+mod hl2/custom/* + + // Now search loose files. We'll set the directory containing the gameinfo.txt file + // as the first "mod" search path (after any user customizations). This is also the one + // that's used when writing to the "mod" path. + game+mod+mod_write+default_write_path |gameinfo_path|. + gamebin |gameinfo_path|bin + + // We search VPK files before ordinary folders, because most files will be found in + // VPK and we can avoid making thousands of file system calls to attempt to open files + // in folders where they don't exist. (Searching a VPK is much faster than making an operating + // system call.) + //NOTE: Order does matter, things loaded first override things after + game_lv hl2/hl2_lv.vpk + game+mod ep2/ep2_english.vpk + game+mod ep2/ep2_pak.vpk + game |all_source_engine_paths|episodic/ep1_english.vpk + game |all_source_engine_paths|episodic/ep1_pak.vpk + game |all_source_engine_paths|hl2/hl2_english.vpk + game |all_source_engine_paths|hl2/hl2_pak.vpk + game |all_source_engine_paths|hl2/hl2_textures.vpk + game |all_source_engine_paths|hl2/hl2_sound_vo_english.vpk + game |all_source_engine_paths|hl2/hl2_sound_misc.vpk + game |all_source_engine_paths|hl2/hl2_misc.vpk + platform |all_source_engine_paths|platform/platform_misc.vpk + //If you want to mount another games assets like Counter-Strike you would add them after this comment + //Example: game |all_source_engine_paths|cstrike/cstrike_pak.vpk + + // Last, mount in shared HL2 loose files + game |all_source_engine_paths|episodic + game |all_source_engine_paths|hl2 + platform |all_source_engine_paths|platform + } + } +}