diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 94ddf12..2328b3a 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,3 +1,18 @@ +**** v1.7 (Apr 2018) + +- Included Simple Quake Launcher 2 instead of the original Simple Quake Launcher 1.x, and changed the readme-files discussion to be appropriate for SQL2. Note that this new version now requires the .Net Framework 4.5 instead of 3.5. + +- Changed the installer to do Arcane Dimensions 1.7 rather than 1.5. Note that 1.7 will go into a different folder than 1.5, so if you want to clean up an existing 1.5 install you will have to handle that manually. + +- Fixed the installation of the Arcanum mod to also include the required Drake mod in the same folder. + +- Added 30 or so additional things to install, as a result of re-interpreting "highly rated" and also picking up newer releases. + +- Added the ability to launch into Quake directly from the installer. + +- Documented r_viewmodel_quake in autoexec.cfg.example. Works for both Mark V and Quakespasm. + + **** v1.6 (Sep 2017) - Updated some minor comments here and there. diff --git a/README.md b/README.md index d9e16a5..69c9a63 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ Check the README_FIRST.txt file to see what is going on here. -A "release" of this is made by zipping up all of the files in this repo (except for this file) along with the latest releases of Simple Quake Launcher and the Mark V Quake engine. +A "release" of this is made by zipping up all of the files in this repo (except for this file) along with the latest stable releases of Simple Quake Launcher 2 and the Mark V Quake engine. diff --git a/README_FIRST.txt b/README_FIRST.txt index 73ad552..37211b1 100644 --- a/README_FIRST.txt +++ b/README_FIRST.txt @@ -2,11 +2,11 @@ This package is one way to get going with the "state of the art" in Quake singleplayer. It's meant to be a convenient bundle of useful tools and explanations. The tools included in here are: -- The Simple Quake Launcher by "MaxEd", from https://sourceforge.net/projects/simplequakelauncher/ . +- Simple Quake Launcher 2 by "MaxEd", from https://github.com/m-x-d/Simple-Quake-Launcher-2/releases/latest - The Mark V "Quake engine" (Quake-playing program) by "Baker" and other contributors, from http://quakeone.com/markv/ . The Mark V website has additional info about the engine, more credits info, and links to other stuff you might want to download. Also note that there are several other Quake engines out there; see the "quake_engines.txt" file in the "readmes\other_stuff" folder if you're curious. -- An installer to help set up the Quake game data files and soundtrack, and a few of the many custom singleplayer addons for Quake. +- An installer to help set up the Quake game data files and soundtrack, and some of the many custom singleplayer addons for Quake. The installer can also help launch and play those addons once they are installed. You might want to keep an eye out in the future for a newer release of Mark V. You can just drop new Mark V files in here and replace the older versions. @@ -15,7 +15,7 @@ You might want to keep an eye out in the future for a newer release of Mark V. Y The included version of Mark V is build 1036 from January 2017. -As for this whole package of stuff, it's version 1.6. If you want to see what has changed since the previous releases, see CHANGELOG.txt. If you've been using a previous version of this package, you can overwrite those files with the ones from this new release; that won't hurt whatever Quake configuration you've set up. +As for this whole package of stuff, it's version 1.7. If you want to see what has changed since the previous releases, see "CHANGELOG.txt". If you've been using a previous version of this package, you can overwrite those files with the ones from this new release; that won't hurt whatever Quake configuration you've set up. *** How to use this @@ -26,15 +26,17 @@ You can also just use this package as a new Quake installation starting from scr Things to do: +- Note that Simple Quake Launcher 2 and some aspects of the installer make use of Microsoft .Net Framework version 4.5 or later. If you are on Windows 8 or 10, you are probably fine. For more details, especially if you are on Windows 7 or Vista, see the "1_setup.txt" file in the "readmes\basic" folder. + - If you're starting a new Quake installation from scratch here, you need to move or copy your "pak0.pak" and "pak1.pak" files (Quake game data) into the "id1" folder. If you already have another Quake installation on your computer somewhere, you can try running the "installer" batch file and choosing the first menu option; this can usually automatically find and copy those pak files for you. -- Also in the "installer" menu, you can pick the second option to install the Quake soundtrack. +- Also in the installer menu, you can pick the second option to install the Quake soundtrack. -- Explore other options in the "installer" menu for some selected user-created addons. The "Episodes released in 2016" option is a good way to get started with some recent stuff. +- Quit out of the installer and run mark_v.exe just to make sure stuff works, and get your desired configuration set up. The menus are sufficient for normal setup, but you can also get more "hands-on" and manually modify config files if you like. These readme files will provide more details about that if you want them. -- Run Quake, using "mark_v_winquake.exe" (acts like WinQuake), or "mark_v.exe" (acts like GLQuake), or "dx9_mark_v.exe" (like "mark_v.exe", but uses DirectX instead of OpenGL). If you want to play missionpacks or other addons, it's easier if you use "SQLauncher.exe", the Simple Quake Launcher (which requires .Net 3.5 to be installed). +- Quit out of Quake and launch the installer again. Explore the options in the installer menu to install and play some user-created addons. -- Once you're in-game, use the Mark V menus to configure Quake the way you like it. The menus are sufficient for normal setup, but you can also get more "hands-on" and manually modify config files if you like. +- Alternately you can use "SQLauncher2.exe", the Simple Quake Launcher 2, as another great way to manage launching Quake to play custom addons or official missionpacks or the original campaign. If you're a Quake veteran that's probably all you need to know. diff --git a/id1/autoexec-cfg-example-annotated.txt b/id1/autoexec-cfg-example-annotated.txt index 664bee6..9a88172 100644 --- a/id1/autoexec-cfg-example-annotated.txt +++ b/id1/autoexec-cfg-example-annotated.txt @@ -126,6 +126,16 @@ //gl_texture_anisotropy 8 +// weapon rendering +//------------------------------------------------------------------- + +// Set r_viewmodel_quake to a value of 1 to make the position of the held +// weapon's model be more like it is in WinQuake. +// Default is 0. Uncomment the following line to set some other value. + +//r_viewmodel_quake 1 + + // particle shape (this doesn't apply to the winquake variant) //------------------------------------------------------------------- diff --git a/id1/autoexec.cfg.example b/id1/autoexec.cfg.example index 89f5b93..ed4f52c 100644 --- a/id1/autoexec.cfg.example +++ b/id1/autoexec.cfg.example @@ -62,6 +62,16 @@ //gl_texture_anisotropy 8 +// weapon rendering +//------------------------------------------------------------------- + +// Set r_viewmodel_quake to a value of 1 to make the position of the held +// weapon's model be more like it is in WinQuake. +// Default is 0. Uncomment the following line to set some other value. + +//r_viewmodel_quake 1 + + // particle shape (this doesn't apply to the winquake variant) //------------------------------------------------------------------- diff --git a/installer.bat b/installer.bat index f776193..86a05e2 100644 --- a/installer.bat +++ b/installer.bat @@ -10,10 +10,11 @@ echo 1: Find ^& copy pak files ^(game data^) on this computer echo 2: Install soundtrack music files echo( echo Additional content: -echo 3: Episodes released in 2016 -echo 4: "Modern" episodes from pre-2016 +echo 3: Latest episodes ^(released in 2016 or later^) +echo 4: Modern episodes from pre-2016 echo 5: Classic episodes -echo 6: Other highly-rated maps up thru 2016 +echo 6: Other highly-rated maps ^(part 1^) +echo 7: Other highly-rated maps ^(part 2^) echo( set menu_choice=eof set /p menu_choice=choose a number or just press Enter to exit: @@ -43,3 +44,7 @@ goto :menu :6 call "installers/install_other_picks.bat" goto :menu + +:7 +call "installers/install_other_picks_2.bat" +goto :menu diff --git a/installers/_mod_install.cmd b/installers/_mod_install.cmd index 3455fc4..0c20d49 100644 --- a/installers/_mod_install.cmd +++ b/installers/_mod_install.cmd @@ -80,4 +80,5 @@ set %gamedir%_success=true REM finally restore original working dir to be nice :exit +echo( popd diff --git a/installers/_mod_launch.cmd b/installers/_mod_launch.cmd new file mode 100644 index 0000000..e5e60e9 --- /dev/null +++ b/installers/_mod_launch.cmd @@ -0,0 +1,76 @@ +REM save working dir and change to dir that holds this script +pushd "%~dp0" + +REM capture map and other commandline args +if "%1"=="" ( + echo Missing the command-line args for base game, gamedir, and startmap. + echo FYI: + echo Usually you wouldn't run this file directly; it's used by other + echo batch files. + goto :N +) +set game_arg= -game "%~1" +set start_map=%~2 +set base_game=%~3 + +REM CD up to Quake engine dir if necessary +if "%quake_exe%"=="" ( + set quake_exe=mark_v.exe +) +if not exist "%quake_exe%" ( + cd .. + if not exist "%quake_exe%" ( + echo Couldn't find "%quake_exe%" in this folder or parent folder. + goto :N + ) +) + +echo Do you want to launch Quake now with "%~1" loaded? + +if "%start_map%"=="" ( + set start_map_arg= + echo Since there is no specific "start map" for this mod, you will have to + echo handle map selection on your own ^(through the console, or through the + echo Single Player Levels menu of Mark V^). + echo Do NOT just start a New Game through the Single Player menu. +) else ( + set start_map_arg= +map "%start_map%" + echo You will begin in its map "%start_map%" ^(which may or may not provide + echo for in-map skill selection^). +) + +if "%base_game%"=="" ( + set base_game_arg= +) else ( + set base_game_arg= -%base_game% +) + +echo( +echo Launch options: +echo y: launch without explicitly setting a skill +echo n: do not launch +echo 0-3: launch and set a default initial skill +echo( +set skill_arg= +set launch_choice=y +set /p launch_choice=choose an option, or just press Enter to launch: +goto %launch_choice% + +:0 +:1 +:2 +:3 +set skill_arg= +skill %launch_choice% + +:y +:Y +set quake_command=".\%quake_exe%"%base_game_arg%%game_arg%%skill_arg%%start_map_arg% +echo( +echo running: %quake_command% +start "" /b /wait %quake_command% + +:n +:N +REM finally restore original working dir to be nice +echo( +popd diff --git a/installers/_mod_patch_install.cmd b/installers/_mod_patch_install.cmd index e51e2b3..23c1b32 100644 --- a/installers/_mod_patch_install.cmd +++ b/installers/_mod_patch_install.cmd @@ -113,4 +113,5 @@ set %temp_gamedir%_success=true REM finally restore original working dir to be nice :exit +echo( popd diff --git a/installers/install_2016_episodes.bat b/installers/install_2016_episodes.bat index b172297..c77c70e 100644 --- a/installers/install_2016_episodes.bat +++ b/installers/install_2016_episodes.bat @@ -1,6 +1,10 @@ @echo off -REM Installer for DOPA and AD episodes. +REM Installer for mapsets that fit the following criteria: +REM * released in 2016 or later +REM * a start map and at least four non-startmaps +REM * Quaddicted editor rating "Excellent" +REM * Quaddicted user rating 4.0 or better (normalized Bayesian average) REM save working dir and change to dir that holds this script pushd "%~dp0" @@ -13,18 +17,27 @@ if not exist "%markv_exe%" ( cd .. if not exist "%markv_exe%" ( echo Couldn't find "%markv_exe%" in this folder or parent folder. - goto :exit + pause + goto :exit ) ) :menu cls call :installed_check dopa -call :installed_check ad_v1_50final +call :installed_check gotshun-never-released_levels +call :installed_check func_mapjam9_2 +call :installed_check qump +call :installed_check ad_v1_70final +call :installed_check dm4jam echo( -echo Custom episodes released in 2016: -echo 1: dopa - Dimension of the Past%dopa_installed% -echo 2: ad_v1_50final - Arcane Dimensions 1.5%ad_v1_50final_installed% +echo Custom episodes released in 2016 or later: +echo 1: dopa - Dimension of the Past ^(2016^)%dopa_installed% +echo 2: gotshun-never-released_levels - The "lost" levels ^(2016^)%gotshun-never-released_levels_installed% +echo 3: func_mapjam9_2 - Func Map Jam 9 - Contract Revoked / Knave theme ^(2017^)%func_mapjam9_2_installed% +echo 4: qump - Quake Upstart Mapping Project ^(2017^)%qump_installed% +echo 5: ad_v1_70final - Arcane Dimensions 1.7 ^(2017^)%ad_v1_70final_installed% +echo 6: dm4jam - DM4 Jam ^(2018^)%dm4jam_installed% echo( set menu_choice=menu_exit set /p menu_choice=choose a number or just press Enter to exit: @@ -32,30 +45,139 @@ echo( goto %menu_choice% :1 -if exist dopa ( - echo The "dopa" gamedir already exists. -) else ( +if not exist dopa ( call "%~dp0\_mod_install.cmd" dopa ) +if exist dopa ( + call "%~dp0\_mod_launch.cmd" dopa start +) pause goto :menu :2 -REM for Arcane Dimensions 1.5 also install the patch -set ad_v1_50patch1_success= -if exist ad_v1_50final ( - echo The "ad_v1_50final" gamedir already exists. +REM The "lost" levels doesn't normally have its own gamedir, but let's give it one +if not exist gotshun-never-released_levels ( + if not exist "hipnotic\pak0.pak" ( + echo This content requires missionpack 1 to currently be installed. + echo( + pause + goto :menu + ) else ( + call "%~dp0\_mod_install.cmd" gotshun-never-released_levels + md gotshun-never-released_levels 2> nul + md gotshun-never-released_levels\maps 2> nul + move id1\maps\q1map1.bsp gotshun-never-released_levels\maps > nul + move id1\maps\e1u?.bsp gotshun-never-released_levels\maps > nul + move id1\maps\e1sl1.bsp gotshun-never-released_levels\maps > nul + move id1\maps\e2u?.bsp gotshun-never-released_levels\maps > nul + move id1\maps\e2sl1.bsp gotshun-never-released_levels\maps > nul + move id1\maps\finale.bsp gotshun-never-released_levels\maps > nul + move id1\maps\readme.txt gotshun-never-released_levels > nul + ) +) +if exist gotshun-never-released_levels ( + call "%~dp0\_mod_launch.cmd" gotshun-never-released_levels q1map1 hipnotic + echo If you launch "gotshun-never-released_levels" outside of this installer, make sure to specify + echo missionpack 1 as the base game. + echo( +) +pause +goto :menu + +:3 +REM for Func Map Jam 9 also install Quoth if necessary +REM note that the "quoth" folder name is required for Quoth +if not exist quoth ( + call "%~dp0\_mod_install.cmd" http://www.quaketastic.com/files/single_player/mods/quoth2pt2full.zip + if exist quoth2pt2full ( + move quoth2pt2full quoth > nul + del /q id1\_library\quoth2pt2full.zip + ) +) +if exist quoth ( + if not exist func_mapjam9_2 ( + call "%~dp0\_mod_install.cmd" func_mapjam9_2 + ) ) else ( - call "%~dp0\_mod_install.cmd" ad_v1_50final - if exist ad_v1_50final ( - call "%~dp0\_mod_patch_install.cmd" http://www.simonoc.com/files/ad/ad_v1_50patch1.zip ad_v1_50final + echo Failed to install required base mod "quoth". Skipping "func_mapjam9_2" install. + echo( + pause + goto :menu +) +if exist func_mapjam9_2 ( + call "%~dp0\_mod_launch.cmd" func_mapjam9_2 start quoth + echo If you launch "func_mapjam9_2" outside of this installer, make sure to specify + echo Quoth as the base game. + echo( +) +goto :menu + +:4 +REM Quake Upstart Mapping Project doesn't normally have its own gamedir, but let's give it one +if not exist qump ( + call "%~dp0\_mod_install.cmd" qump + md qump 2> nul + md qump\gfx 2> nul + md qump\gfx\env 2> nul + md qump\maps 2> nul + md qump\maps\source 2> nul + md qump\music 2> nul + move id1\gfx\env\moonhigh_*.tga qump\gfx\env > nul + move id1\gfx\env\stormydays_*.tga qump\gfx\env > nul + move id1\gfx\env\voidsmoke_*.tga qump\gfx\env > nul + move id1\maps\qump_*.* qump\maps > nul + move id1\maps\start.bsp qump\maps > nul + move id1\maps\start.lit qump\maps > nul + move id1\maps\source\qump_*.* qump\maps\source > nul + move id1\maps\source\start.map qump\maps\source > nul + move id1\music\track12.ogg qump\music > nul + move "id1\qump read me.txt" qump > nul + REM delete these uncommon dirs if empty + rd id1\gfx\env 2> nul + rd id1\gfx 2> nul + rd id1\maps\source 2> nul +) +if exist qump ( + call "%~dp0\_mod_launch.cmd" qump start +) +pause +goto :menu + +:5 +REM for Arcane Dimensions 1.7 also install the patch +set ad_v1_70patch1_success= +if not exist ad_v1_70final ( + call "%~dp0\_mod_install.cmd" ad_v1_70final + if exist ad_v1_70final ( + call "%~dp0\_mod_patch_install.cmd" http://www.quaddicted.com/filebase/ad_v1_70patch1.zip ad_v1_70final ) ) -if "%ad_v1_50patch1_success%"=="false" ( - rd /q /s ad_v1_50final +if "%ad_v1_70patch1_success%"=="false" ( + rd /q /s ad_v1_70final echo Failed to apply patch; rolled back the mod install. Maybe try again? echo If you really want to install just the unpatched mod, you can enter - echo "install ad_v1_50final" in the Mark V console. + echo "install ad_v1_70final" in the Mark V console. + echo( + pause + goto :menu +) +if exist ad_v1_70final ( + echo Note that the included map ad_sepulcher is not playable with the + echo Mark V engine, at the time of writing this. + echo The latest version of the Quakespasm engine is recommended for that map. + echo( + call "%~dp0\_mod_launch.cmd" ad_v1_70final start +) +pause +goto :menu + +:6 +if not exist dm4jam ( + call "%~dp0\_mod_install.cmd" dm4jam + call :dm4jam_fix +) +if exist dm4jam ( + call "%~dp0\_mod_launch.cmd" dm4jam start ) pause goto :menu @@ -65,10 +187,48 @@ popd goto :eof -REM function used above +REM functions used above + :installed_check if exist "%1" ( - set %1_installed= - already installed + set %1_installed= - ready to play ) else ( set %1_installed= ) +goto :eof + +REM Mark V does not correctly extract dm4jam +REM so we'll do it from this batch file if possible. +:dm4jam_fix +if exist dm4jam\demo1.dem ( + goto :eof +) +del /q id1\maps\dm4jam_*.* 2> nul +del /q id1\maps\start.* 2> nul +call :net45_check +if "%net45_installed%"=="true" ( + echo Fixing some install issues... + powershell.exe -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('id1\_library\dm4jam.zip', 'dm4jam'); }" +) +if exist dm4jam\demo1.dem ( + goto :eof +) +rd /s /q dm4jam 2> nul +echo Mark V has issues installing "dm4jam"; unable to fix. +echo You can get "dm4jam.zip" from the "id1\_library" folder and +echo extract it manually into a "dm4jam" mod folder. +echo( +goto :eof + +:net45_check +powershell.exe -nologo -noprofile -command "& { trap { exit 1; } Add-Type -A 'System.IO.Compression.FileSystem'; }" > nul 2>&1 +if %errorlevel% equ 0 ( + set net45_installed=true +) else ( + echo The installed version of the .Net Framework ^(and/or of PowerShell^) prevents + echo the automatic fixing of some install issues. See "readmes\basic\1_setup.txt" + echo for more details. + echo( + set net45_installed=false +) +goto :eof diff --git a/installers/install_classic_episodes.bat b/installers/install_classic_episodes.bat index becdd1f..716447b 100644 --- a/installers/install_classic_episodes.bat +++ b/installers/install_classic_episodes.bat @@ -2,9 +2,9 @@ REM Installer for mapsets that fit the following criteria: REM * Nehahra and previous releases -REM * at least four non-startmaps +REM * a start map and at least four non-startmaps REM * Quaddicted editor rating "Excellent" -REM * Quaddicted user rating 4.0 or better +REM * Quaddicted user rating 4.0 or better (normalized Bayesian average) REM save working dir and change to dir that holds this script pushd "%~dp0" @@ -17,22 +17,27 @@ if not exist "%markv_exe%" ( cd .. if not exist "%markv_exe%" ( echo Couldn't find "%markv_exe%" in this folder or parent folder. - goto :exit + pause + goto :exit ) ) :menu cls +call :installed_check prodigy_se call :installed_check bbelief call :installed_check mexx9 call :installed_check zer +call :installed_check descent call :installed_check nehahra echo( echo "Classic" custom episodes to install: -echo 1: bbelief - Beyond Belief (1997)%bbelief_installed% -echo 2: mexx9 - Penumbra of Domination (1997)%mexx9_installed% -echo 3: zer - Zerstorer (1997)%zer_installed% -echo 4: nehahra - Nehahra (2000)%nehahra_installed% +echo 1: prodigy_se - Prodigy Special Edition ^(1997^)%prodigy_se_installed% +echo 2: bbelief - Beyond Belief ^(1997^)%bbelief_installed% +echo 3: mexx9 - Penumbra of Domination ^(1997^)%mexx9_installed% +echo 4: zer - Zerstoerer ^(1997^)%zer_installed% +echo 5: descent - ^(The Final^) Descent ^(2000^)%descent_installed% +echo 6: nehahra - Nehahra ^(2000^)%nehahra_installed% echo( set menu_choice=menu_exit set /p menu_choice=choose a number or just press Enter to exit: @@ -40,11 +45,19 @@ echo( goto %menu_choice% :1 +if not exist prodigy_se ( + call "%~dp0\_mod_install.cmd" prodigy_se +) +if exist prodigy_se ( + call "%~dp0\_mod_launch.cmd" prodigy_se start +) +pause +goto :menu + +:2 REM for Beyond Belief also install the patch set bbelief6_fix_success= -if exist bbelief ( - echo The "bbelief" gamedir already exists. -) else ( +if not exist bbelief ( call "%~dp0\_mod_install.cmd" bbelief if exist bbelief ( call "%~dp0\_mod_patch_install.cmd" bbelief6_fix bbelief @@ -55,26 +68,31 @@ if "%bbelief6_fix_success%"=="false" ( echo Failed to apply patch; rolled back the mod install. Maybe try again? echo If you really want to install just the unpatched mod, you can enter echo "install bbelief" in the Mark V console. + echo( + pause + goto :menu +) +if exist bbelief ( + call "%~dp0\_mod_launch.cmd" bbelief bbstart ) pause goto :menu -:2 -if exist mexx9 ( - echo The "mexx9" gamedir already exists. -) else ( +:3 +if not exist mexx9 ( call "%~dp0\_mod_install.cmd" mexx9 ) +if exist mexx9 ( + call "%~dp0\_mod_launch.cmd" mexx9 mexx9 +) pause goto :menu -:3 -REM for Zerstorer also install the patches +:4 +REM for Zerstoerer also install the patches set zer11_success= set zerend_fix_success= -if exist zer ( - echo The "zer" gamedir already exists. -) else ( +if not exist zer ( call "%~dp0\_mod_install.cmd" zer if exist zer ( call "%~dp0\_mod_patch_install.cmd" zer11 zer @@ -93,17 +111,37 @@ if "%good_zer_patches%"=="false" ( echo Failed to apply patch; rolled back the mod install. Maybe try again? echo If you really want to install just the unpatched mod, you can enter echo "install zer" in the Mark V console. + echo( + pause + goto :menu +) +if exist zer ( + call "%~dp0\_mod_launch.cmd" zer start ) pause goto :menu -:4 -if exist nehahra ( - echo The "nehahra" gamedir already exists. -) else ( +:5 +if not exist descent ( + call "%~dp0\_mod_install.cmd" descent +) +if exist descent ( + call "%~dp0\_mod_launch.cmd" descent start +) +pause +goto :menu + +:6 +if not exist nehahra ( call "%~dp0\_mod_install.cmd" nehahra call :nehahra_fix ) +if exist nehahra ( + call "%~dp0\_mod_launch.cmd" nehahra nehstart nehahra + echo If you launch "nehahra" outside of this installer, make sure to specify + echo Nehahra as the base game. + echo( +) pause goto :menu @@ -116,7 +154,7 @@ REM functions used above :installed_check if exist "%1" ( - set %1_installed= - already installed + set %1_installed= - ready to play ) else ( set %1_installed= ) diff --git a/installers/install_modern_episodes.bat b/installers/install_modern_episodes.bat index c70bf0b..2e5d2c0 100644 --- a/installers/install_modern_episodes.bat +++ b/installers/install_modern_episodes.bat @@ -2,9 +2,9 @@ REM Installer for mapsets that fit the following criteria: REM * released after Nehahra and before Arcane Dimensions -REM * at least four non-startmaps +REM * a start map and at least four non-startmaps REM * Quaddicted editor rating "Excellent" -REM * Quaddicted user rating 4.0 or better +REM * Quaddicted user rating 4.0 or better (normalized Bayesian average) REM save working dir and change to dir that holds this script pushd "%~dp0" @@ -17,32 +17,47 @@ if not exist "%markv_exe%" ( cd .. if not exist "%markv_exe%" ( echo Couldn't find "%markv_exe%" in this folder or parent folder. - goto :exit + pause + goto :exit ) ) :menu cls call :installed_check oum +call :installed_check rapture +call :installed_check soe_full call :installed_check contract call :installed_check terra call :installed_check chapters call :installed_check travail call :installed_check warpspasm +call :installed_check rmx-pack call :installed_check nsoe2 call :installed_check arcanum +call :installed_check dmc3 +call :installed_check unforgiven call :installed_check rrp +call :installed_check func_mapjam5 +call :installed_check mapjam6 echo( -echo "Modern" custom episodes to install: -echo 1: oum - Operation: Urth Majik (2001)%oum_installed% -echo 2: contract - Contract Revoked (2002)%contract_installed% -echo 3: terra - Terra (2005)%terra_installed% -echo 4: chapters - Contract Revoked: The Lost Chapters (2005)%chapters_installed% -echo 5: travail - Travail (2007)%travail_installed% -echo 6: warpspasm - Warp Spasm (2007)%warpspasm_installed% -echo 7: nsoe2 - Soul of Evil: Indian Summer (2008)%nsoe2_installed% -echo 8: arcanum - Arcanum (2011)%arcanum_installed% -echo 9: rrp - Rubicon Rumble Pack (2014)%rrp_installed% +echo Modern ^(pre-2016^) custom episodes to install: +echo 1: oum - Operation: Urth Majik ^(2001^)%oum_installed% +echo 2: rapture - Rapture ^(2001^)%rapture_installed% +echo 3: soe_full - Soul of Evil ^(2002^)%soe_full_installed% +echo 4: contract - Contract Revoked ^(2002^)%contract_installed% +echo 5: terra - Terra ^(2005^)%terra_installed% +echo 6: chapters - Contract Revoked: The Lost Chapters ^(2005^)%chapters_installed% +echo 7: travail - Travail ^(2007^)%travail_installed% +echo 8: warpspasm - Warp Spasm ^(2007^)%warpspasm_installed% +echo 9: rmx-pack - Remix Map Pack ^(2008^)%rmx-pack_installed% +echo 10: nsoe2 - Soul of Evil: Indian Summer ^(2008^)%nsoe2_installed% +echo 11: arcanum - Arcanum ^(2011^)%arcanum_installed% +echo 12: dmc3 - Deathmatch Classics Vol. 3 ^(2011^)%dmc3_installed% +echo 13: unforgiven - Unforgiven ^(2011^)%unforgiven_installed% +echo 14: rrp - Rubicon Rumble Pack ^(2014^)%rrp_installed% +echo 15: func_mapjam5 - Func Map Jam 5 - The Qonquer Map Jam ^(2015^)%func_mapjam5_installed% +echo 16: mapjam6 - Func Map Jam 6 - Fire and Brimstone ^(2015^)%mapjam6_installed% echo( set menu_choice=menu_exit set /p menu_choice=choose a number or just press Enter to exit: @@ -50,54 +65,78 @@ echo( goto %menu_choice% :1 -if exist oum ( - echo The "oum" gamedir already exists. -) else ( +if not exist oum ( call "%~dp0\_mod_install.cmd" oum ) +if exist oum ( + call "%~dp0\_mod_launch.cmd" oum start +) pause goto :menu :2 -if exist contract ( - echo The "contract" gamedir already exists. -) else ( - call "%~dp0\_mod_install.cmd" contract +if not exist rapture ( + call "%~dp0\_mod_install.cmd" rapture +) +if exist rapture ( + call "%~dp0\_mod_launch.cmd" rapture start ) pause goto :menu :3 +if not exist soe_full ( + call "%~dp0\_mod_install.cmd" soe_full +) +if exist soe_full ( + call "%~dp0\_mod_launch.cmd" soe_full start +) +pause +goto :menu + +:4 +if not exist contract ( + call "%~dp0\_mod_install.cmd" contract +) +if exist contract ( + call "%~dp0\_mod_launch.cmd" contract start +) +pause +goto :menu + +:5 REM Terra doesn't normally have its own gamedir, but let's give it one -if exist terra ( - echo The "terra" gamedir already exists. -) else ( +if not exist terra ( call "%~dp0\_mod_install.cmd" terra md terra 2> nul md terra\maps 2> nul move id1\maps\terra?.bsp terra\maps > nul move id1\maps\terra.txt terra > nul ) +if exist terra ( + call "%~dp0\_mod_launch.cmd" terra terra1 +) pause goto :menu -:4 -if exist chapters ( - echo The "chapters" gamedir already exists. -) else ( +:6 +if not exist chapters ( call "%~dp0\_mod_install.cmd" chapters ) -echo Make sure to specify missionpack 1 as the base game when playing "chapters". -echo This is necessary even if you don't have missionpack 1 currently installed. +if exist chapters ( + call "%~dp0\_mod_launch.cmd" chapters start hipnotic + echo If you launch "chapters" outside of this installer, make sure to specify + echo missionpack 1 as the base game. In this case, that base game is necessary + echo even if you don't have missionpack 1 currently installed. + echo( +) pause goto :menu -:5 +:7 REM for Travail also install the soundtrack set quake_travail_soundtrack_markv_fix_success= -if exist travail ( - echo The "travail" gamedir already exists. -) else ( +if not exist travail ( call "%~dp0\_mod_install.cmd" travail if exist travail ( call "%~dp0\_mod_patch_install.cmd" http://www.eclecticmenagerie.com/jl/quake/quake_travail_soundtrack_markv.zip travail music_placeholder_delete_me.pak @@ -108,11 +147,17 @@ if "%quake_travail_soundtrack_markv_fix_success%"=="false" ( echo Failed to get mod soundtrack; rolled back the mod install. Maybe try again? echo If you want to install just the mod without its soundtrack, you can enter echo "install travail" in the Mark V console. + echo( + pause + goto :menu +) +if exist travail ( + call "%~dp0\_mod_launch.cmd" travail start ) pause goto :menu -:6 +:8 REM for Warp Spasm also install Quoth if necessary REM note that the "quoth" folder name is required for Quoth if not exist quoth ( @@ -123,44 +168,156 @@ if not exist quoth ( ) ) if exist quoth ( - if exist warpspasm ( - echo The "warpspasm" gamedir already exists. - ) else ( + if not exist warpspasm ( call "%~dp0\_mod_install.cmd" warpspasm call :warpspasm_fix ) ) else ( echo Failed to install required base mod "quoth". Skipping "warpspasm" install. + echo( + pause + goto :menu +) +if exist warpspasm ( + call "%~dp0\_mod_launch.cmd" warpspasm start quoth + echo If you launch "warpspasm" outside of this installer, make sure to specify + echo Quoth as the base game. + echo( ) -echo Make sure to specify Quoth as the base game when playing "warpspasm". pause goto :menu -:7 -if exist nsoe2 ( - echo The "nsoe2" gamedir already exists. -) else ( +:9 +REM Remix Map Pack doesn't normally have its own gamedir, but let's give it one +if not exist rmx-pack ( + call "%~dp0\_mod_install.cmd" rmx-pack + md rmx-pack 2> nul + md rmx-pack\gfx 2> nul + md rmx-pack\gfx\env 2> nul + md rmx-pack\maps 2> nul + move id1\*rmx*.txt rmx-pack > nul + move id1\gfx\env\elbrus256*.tga rmx-pack\gfx\env > nul + move id1\maps\*rmx*.* rmx-pack\maps > nul + move id1\maps\start.bsp rmx-pack\maps > nul + REM delete these unneeded files + del /q id1\fitz-rmx.bat + del /q id1\gnu.txt + del /q id1\mx.txt + REM delete these uncommon dirs if empty + rd id1\gfx\env 2> nul + rd id1\gfx 2> nul +) +if exist rmx-pack ( + call "%~dp0\_mod_launch.cmd" rmx-pack start +) +pause +goto :menu + +:10 +if not exist nsoe2 ( call "%~dp0\_mod_install.cmd" nsoe2 ) +if exist nsoe2 ( + call "%~dp0\_mod_launch.cmd" nsoe2 start +) pause goto :menu -:8 -if exist arcanum ( - echo The "arcanum" gamedir already exists. -) else ( +:11 +REM for Arcanum also install the Drake mod +set drake290111_success= +if not exist arcanum ( call "%~dp0\_mod_install.cmd" arcanum call :arcanum_fix + if exist arcanum ( + call "%~dp0\_mod_patch_install.cmd" http://www.quaddicted.com/filebase/drake290111.zip arcanum + ) +) +if "%drake290111_success%"=="false" ( + rd /q /s arcanum + echo Failed to install the required "Drake" mod; rolled back the mod install. + echo Maybe try again? + echo( + pause + goto :menu +) +if exist arcanum ( + call "%~dp0\_mod_launch.cmd" arcanum arcstart ) pause goto :menu -:9 -if exist rrp ( - echo The "rrp" gamedir already exists. -) else ( +:12 +REM Deathmatch Classics Vol. 3 doesn't normally have its own gamedir, but let's give it one +if not exist dmc3 ( + call "%~dp0\_mod_install.cmd" dmc3 + md dmc3 2> nul + md dmc3\maps 2> nul + md dmc3\maps\src 2> nul + move id1\maps\dmc3.txt dmc3 > nul + move id1\maps\dmc3*.bsp dmc3\maps > nul + move id1\maps\src\dmc3*.map dmc3\maps\src > nul + REM delete these uncommon dirs if empty + rd id1\maps\src 2> nul +) +if exist dmc3 ( + call "%~dp0\_mod_launch.cmd" dmc3 dmc3 +) +pause +goto :menu + +:13 +if not exist unforgiven ( + call "%~dp0\_mod_install.cmd" unforgiven +) +if exist unforgiven ( + call "%~dp0\_mod_launch.cmd" unforgiven unfstart +) +pause +goto :menu + +:14 +if not exist rrp ( call "%~dp0\_mod_install.cmd" rrp ) +if exist rrp ( + call "%~dp0\_mod_launch.cmd" rrp start +) +pause +goto :menu + +:15 +REM for Func Map Jam 5 also install the Quicker Qonquer mod +set QuickerQonquer_success= +if not exist func_mapjam5 ( + call "%~dp0\_mod_install.cmd" func_mapjam5 + if exist func_mapjam5 ( + call "%~dp0\_mod_patch_install.cmd" http://www.quaddicted.com/files/mods/QuickerQonquer.zip func_mapjam5 maps\QArena.bsp maps\QStart.bsp + ) +) +if "%QuickerQonquer_success%"=="false" ( + rd /q /s func_mapjam5 + echo Failed to apply the "Quicker Qonquer" patch; rolled back the mod install. Maybe try again? + echo If you really want to install just the unpatched mod, you can enter + echo "install func_mapjam5" in the Mark V console. + echo( + pause + goto :menu +) +if exist func_mapjam5 ( + call "%~dp0\_mod_launch.cmd" func_mapjam5 start +) +pause +goto :menu + +:16 +if not exist mapjam6 ( + call "%~dp0\_mod_install.cmd" mapjam6 + call :mapjam6_fix +) +if exist mapjam6 ( + call "%~dp0\_mod_launch.cmd" mapjam6 start +) pause goto :menu @@ -173,13 +330,13 @@ REM functions used above :installed_check if exist "%1" ( - set %1_installed= - already installed + set %1_installed= - ready to play ) else ( set %1_installed= ) goto :eof -REM Mark V as of build 1020 does not correctly extract arcanum +REM Mark V does not correctly extract arcanum REM so we'll do it from this batch file if possible. :arcanum_fix if exist arcanum\maps\arcstart.bsp ( @@ -195,21 +352,52 @@ if "%net45_installed%"=="true" ( if exist arcanum\maps\arcstart.bsp ( goto :eof ) -md arcanum 2> nul -echo Mark V has issues installing "arcanum". +rd /s /q arcanum 2> nul +echo Mark V has issues installing "arcanum"; unable to fix. echo You can get "arcanum.zip" from the "id1\_library" folder and -echo extract it manually into the "id1\arcanum" folder. +echo extract it manually into an "arcanum" mod folder. +echo You will also need to manually download and install the Drake mod into +echo the same folder, from: http://www.quaddicted.com/filebase/drake290111.zip +echo( goto :eof :warpspasm_fix del /q warpspasm\dll 2> nul goto :eof +REM Mark V does not correctly extract mapjam6 +REM so we'll do it from this batch file if possible. +:mapjam6_fix +if exist mapjam6\maps\start.bsp ( + goto :eof +) +del /q id1\maps\jam6_*.* 2> nul +del /q id1\maps\start.bsp 2> nul +del /q id1\maps\start.lit 2> nul +call :net45_check +if "%net45_installed%"=="true" ( + echo Fixing some install issues... + powershell.exe -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('id1\_library\mapjam6.zip', 'mapjam6'); }" +) +if exist mapjam6\maps\start.bsp ( + goto :eof +) +rd /s /q mapjam6 2> nul +echo Mark V has issues installing "mapjam6"; unable to fix. +echo You can get "mapjam6.zip" from the "id1\_library folder" and +echo extract it manually into a "mapjam6" mod folder. +echo( +goto :eof + :net45_check -reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" /v Release > nul 2>&1 +powershell.exe -nologo -noprofile -command "& { trap { exit 1; } Add-Type -A 'System.IO.Compression.FileSystem'; }" > nul 2>&1 if %errorlevel% equ 0 ( set net45_installed=true ) else ( + echo The installed version of the .Net Framework ^(and/or of PowerShell^) prevents + echo the automatic fixing of some install issues. See "readmes\basic\1_setup.txt" + echo for more details. + echo( set net45_installed=false ) goto :eof diff --git a/installers/install_music.bat b/installers/install_music.bat index eae9f8b..139b4b8 100644 --- a/installers/install_music.bat +++ b/installers/install_music.bat @@ -13,7 +13,8 @@ if not exist "%markv_exe%" ( cd .. if not exist "%markv_exe%" ( echo Couldn't find "%markv_exe%" in this folder or parent folder. - goto :exit + pause + goto :exit ) ) diff --git a/installers/install_other_picks.bat b/installers/install_other_picks.bat index 86f6a88..771c4b2 100644 --- a/installers/install_other_picks.bat +++ b/installers/install_other_picks.bat @@ -1,11 +1,9 @@ @echo off REM Installer for maps that fit the following criteria: -REM * released in 2016 or earlier -REM * it (or a variant) is NOT included in Arcane Dimensions REM * it (or a variant) is NOT included in other selected episodes REM * Quaddicted editor rating "Excellent" -REM * Quaddicted user rating 4.5 or better +REM * Quaddicted user rating 4.5 or better (normalized Bayesian average) REM save working dir and change to dir that holds this script pushd "%~dp0" @@ -18,34 +16,47 @@ if not exist "%markv_exe%" ( cd .. if not exist "%markv_exe%" ( echo Couldn't find "%markv_exe%" in this folder or parent folder. - goto :exit + pause + goto :exit ) ) :menu cls call :installed_check czg07 +call :installed_check koohoo +call :installed_check czg03 call :installed_check gmsp3 +call :installed_check ac +call :installed_check e1m1rmx +call :installed_check menk call :installed_check kinn_marcher +call :installed_check lunsp1 +call :installed_check red777 +call :installed_check fmb_bdg +call :installed_check apsp2 +call :installed_check arwop +call :installed_check mappi call :installed_check rubicon2 call :installed_check ne_ruins -call :installed_check honey -call :installed_check apsp3 -call :installed_check ivory1b -call :installed_check func_mapjam2 -call :installed_check mapjam6 echo( -echo A selection of other maps to install: -echo 1: czg07 - Insomnia (2000)%czg07_installed% -echo 2: gmsp3 - Day of the Lords (2003)%gmsp3_installed% -echo 3: kinn_marcher - The Marcher Fortress (2005)%kinn_marcher_installed% -echo 4: rubicon2 - Rubicon 2 (2011)%rubicon2_installed% -echo 5: ne_ruins - The Altar of Storms (2011)%ne_ruins_installed% -echo 6: honey - Honey (2012)%honey_installed% -echo 7: apsp3 - Subterranean Library (2012)%apsp3_installed% -echo 8: ivory1b - The Ivory Tower (2013)%ivory1b_installed% -echo 9: func_mapjam2 - Func Map Jam 2 (2014)%func_mapjam2_installed% -echo 10: mapjam6 - Func Map Jam 6 (2015)%mapjam6_installed% +echo A selection of other maps to install ^(part 1^): +echo 1: czg07 - Insomnia ^(2000^)%czg07_installed% +echo 2: koohoo - The Castle of Koohoo ^(2001^)%koohoo_installed% +echo 3: czg03 - Ceremonial Circles ^(2001^)%czg03_installed% +echo 4: gmsp3 - Day of the Lords ^(2003^)%gmsp3_installed% +echo 5: ac - Adamantine Cruelty ^(2004^)%ac_installed% +echo 6: e1m1rmx - The Slipgate Duplex ^(2004^)%e1m1rmx_installed% +echo 7: menk - Menkalinan ^(2004^)%menk_installed% +echo 8: kinn_marcher - The Marcher Fortress ^(2005^)%kinn_marcher_installed% +echo 9: lunsp1 - Concentric Devastation ^(2005^)%lunsp1_installed% +echo 10: red777 - Red 777 ^(2005^)%red777_installed% +echo 11: fmb_bdg - This Onion ^(2007^)%fmb_bdg_installed% +echo 12: apsp2 - Plumbers Don't Wear Ties ^(2009^)%apsp2_installed% +echo 13: arwop - A Roman Wilderness Of Pain ^(2009^)%arwop_installed% +echo 14: mappi - Red Slammer ^(2010^)%mappi_installed% +echo 15: rubicon2 - Rubicon 2 ^(2011^)%rubicon2_installed% +echo 16: ne_ruins - The Altar of Storms ^(2011^)%ne_ruins_installed% echo( set menu_choice=menu_exit set /p menu_choice=choose a number or just press Enter to exit: @@ -53,66 +64,170 @@ echo( goto %menu_choice% :1 -if exist czg07 ( - echo The "czg07" gamedir already exists. -) else ( +if not exist czg07 ( call "%~dp0\_mod_install.cmd" czg07 ) +if exist czg07 ( + call "%~dp0\_mod_launch.cmd" czg07 czg07 +) pause goto :menu :2 +if not exist koohoo ( + call "%~dp0\_mod_install.cmd" koohoo +) +if exist koohoo ( + call "%~dp0\_mod_launch.cmd" koohoo start +) +pause +goto :menu + +:3 +REM Ceremonial Circles doesn't normally have its own gamedir, but let's give it one +if not exist czg03 ( + call "%~dp0\_mod_install.cmd" czg03 + md czg03 2> nul + md czg03\maps 2> nul + move id1\maps\czg03.bsp czg03\maps > nul + move id1\maps\czg03.txt czg03 > nul +) +if exist czg03 ( + call "%~dp0\_mod_launch.cmd" czg03 czg03 +) +pause +goto :menu + +:4 REM Day of the Lords doesn't normally have its own gamedir, but let's give it one -if exist gmsp3 ( - echo The "gmsp3" gamedir already exists. -) else ( +if not exist gmsp3 ( call "%~dp0\_mod_install.cmd" gmsp3 md gmsp3 2> nul md gmsp3\maps 2> nul move id1\maps\gmsp3v2.bsp gmsp3\maps > nul move id1\maps\gmsp3.txt gmsp3 > nul ) +if exist gmsp3 ( + call "%~dp0\_mod_launch.cmd" gmsp3 gmsp3v2 +) pause goto :menu -:3 -if exist kinn_marcher ( - echo The "kinn_marcher" gamedir already exists. -) else ( +:5 +REM Adamantine Cruelty doesn't normally have its own gamedir, but let's give it one +if not exist ac ( + call "%~dp0\_mod_install.cmd" ac + md ac 2> nul + md ac\maps 2> nul + move id1\maps\ac.bsp ac\maps > nul + move id1\maps\acstart.bsp ac\maps > nul + move id1\maps\ac.txt ac > nul +) +if exist ac ( + call "%~dp0\_mod_launch.cmd" ac acstart +) +pause +goto :menu + +:6 +REM The Slipgate Duplex doesn't normally have its own gamedir, but let's give it one +if not exist e1m1rmx ( + call "%~dp0\_mod_install.cmd" e1m1rmx + md e1m1rmx 2> nul + md e1m1rmx\maps 2> nul + move id1\maps\e1m1rmx.bsp e1m1rmx\maps > nul + move id1\maps\e1m1rmx.map e1m1rmx\maps > nul + move id1\maps\e1m1rmx_q3.map e1m1rmx\maps > nul + move id1\maps\e1m1rmx.txt e1m1rmx > nul +) +if exist e1m1rmx ( + call "%~dp0\_mod_launch.cmd" e1m1rmx e1m1rmx +) +pause +goto :menu + +:7 +REM Menkalinan doesn't normally have its own gamedir, but let's give it one +if not exist menk ( + call "%~dp0\_mod_install.cmd" menk + md menk 2> nul + md menk\maps 2> nul + move id1\maps\menk.bsp menk\maps > nul + move id1\maps\menkstart.bsp menk\maps > nul + move id1\maps\menk.txt menk > nul +) +if exist menk ( + call "%~dp0\_mod_launch.cmd" menk menkstart +) +pause +goto :menu + +:8 +if not exist kinn_marcher ( call "%~dp0\_mod_install.cmd" kinn_marcher ) +if exist kinn_marcher ( + call "%~dp0\_mod_launch.cmd" kinn_marcher marcher +) pause goto :menu -:4 -if exist rubicon2 ( - echo The "rubicon2" gamedir already exists. -) else ( - call "%~dp0\_mod_install.cmd" rubicon2 +:9 +if not exist lunsp1 ( + call "%~dp0\_mod_install.cmd" lunsp1 +) +if exist lunsp1 ( + call "%~dp0\_mod_launch.cmd" lunsp1 lunsp1 ) pause goto :menu -:5 -if exist ne_ruins ( - echo The "ne_ruins" gamedir already exists. +:10 +REM for Red 777 also install Quoth if necessary +REM note that the "quoth" folder name is required for Quoth +if not exist quoth ( + call "%~dp0\_mod_install.cmd" http://www.quaketastic.com/files/single_player/mods/quoth2pt2full.zip + if exist quoth2pt2full ( + move quoth2pt2full quoth > nul + del /q id1\_library\quoth2pt2full.zip + ) +) +REM Red 777 doesn't normally have its own gamedir, but let's give it one +if exist quoth ( + if not exist red777 ( + call "%~dp0\_mod_install.cmd" red777 + md red777 2> nul + md red777\maps 2> nul + move id1\maps\red777.bsp red777\maps > nul + move id1\maps\red777.txt red777 > nul + ) ) else ( - call "%~dp0\_mod_install.cmd" ne_ruins + echo Failed to install required base mod "quoth". Skipping "red777" install. + echo( + pause + goto :menu +) +if exist red777 ( + call "%~dp0\_mod_launch.cmd" red777 red777 quoth + echo If you launch "red777" outside of this installer, make sure to specify + echo Quoth as the base game. + echo( ) pause goto :menu -:6 -if exist honey ( - echo The "honey" gamedir already exists. -) else ( - call "%~dp0\_mod_install.cmd" honey +:11 +if not exist fmb_bdg ( + call "%~dp0\_mod_install.cmd" fmb_bdg +) +if exist fmb_bdg ( + call "%~dp0\_mod_launch.cmd" fmb_bdg fmb_bdg1 ) pause goto :menu -:7 -REM for Subterranean Library also install Quoth if necessary +:12 +REM for Plumbers Don't Wear Ties also install Quoth if necessary REM note that the "quoth" folder name is required for Quoth if not exist quoth ( call "%~dp0\_mod_install.cmd" http://www.quaketastic.com/files/single_player/mods/quoth2pt2full.zip @@ -121,45 +236,73 @@ if not exist quoth ( del /q id1\_library\quoth2pt2full.zip ) ) +REM Plumbers Don't Wear Ties doesn't normally have its own gamedir, but let's give it one if exist quoth ( - if exist apsp3 ( - echo The "apsp3" gamedir already exists. - ) else ( - call "%~dp0\_mod_install.cmd" apsp3 - call :apsp3_fix + if not exist apsp2 ( + call "%~dp0\_mod_install.cmd" apsp2 + md apsp2 2> nul + md apsp2\maps 2> nul + move id1\maps\apsp2.bsp apsp2\maps > nul + move id1\maps\apsp2.map apsp2\maps > nul + move id1\maps\apsp2.txt apsp2 > nul + move id1\maps\apsp2.rmf apsp2 > nul ) ) else ( - echo Failed to install required base mod "quoth". Skipping "apsp3" install. + echo Failed to install required base mod "quoth". Skipping "apsp2" install. + echo( + pause + goto :menu +) +if exist apsp2 ( + call "%~dp0\_mod_launch.cmd" apsp2 apsp2 quoth + echo If you launch "apsp2" outside of this installer, make sure to specify + echo Quoth as the base game. + echo( ) -echo Make sure to specify Quoth as the base game when playing "apsp3". pause goto :menu -:8 -if exist ivory1b ( - echo The "ivory1b" gamedir already exists. -) else ( - call "%~dp0\_mod_install.cmd" ivory1b +:13 +if not exist arwop ( + call "%~dp0\_mod_install.cmd" arwop +) +if exist arwop ( + call "%~dp0\_mod_launch.cmd" arwop start ) pause goto :menu -:9 -if exist func_mapjam2 ( - echo The "func_mapjam2" gamedir already exists. -) else ( - call "%~dp0\_mod_install.cmd" func_mapjam2 - call :func_mapjam2_fix +:14 +REM Red Slammer doesn't normally have its own gamedir, but let's give it one +if not exist mappi ( + call "%~dp0\_mod_install.cmd" mappi + md mappi 2> nul + md mappi\maps 2> nul + move id1\maps\mappi.bsp mappi\maps > nul + move id1\maps\mappi.txt mappi > nul +) +if exist mappi ( + call "%~dp0\_mod_launch.cmd" mappi mappi ) pause goto :menu -:10 -if exist mapjam6 ( - echo The "mapjam6" gamedir already exists. -) else ( - call "%~dp0\_mod_install.cmd" mapjam6 - call :mapjam6_fix +:15 +if not exist rubicon2 ( + call "%~dp0\_mod_install.cmd" rubicon2 +) +if exist rubicon2 ( + call "%~dp0\_mod_launch.cmd" rubicon2 start +) +pause +goto :menu + +:16 +if not exist ne_ruins ( + call "%~dp0\_mod_install.cmd" ne_ruins +) +if exist ne_ruins ( + call "%~dp0\_mod_launch.cmd" ne_ruins start ) pause goto :menu @@ -173,87 +316,8 @@ REM functions used above :installed_check if exist "%1" ( - set %1_installed= - already installed + set %1_installed= - ready to play ) else ( set %1_installed= ) goto :eof - -REM Mark V as of build 1020 does not correctly extract apsp3 -REM so we'll do it from this batch file if possible. -:apsp3_fix -if exist apsp3\maps\apsp3.bsp ( - goto :eof -) -del /q id1\apsp3.* 2> nul -del /q id1\maps\apsp3.bsp 2> nul -del /q id1\sound\ambience\blood.wav 2> nul -REM delete these uncommon dirs if empty -rd id1\sound\ambience 2> nul -rd id1\sound 2> nul -call :net45_check -if "%net45_installed%"=="true" ( - echo Fixing some install issues... - powershell.exe -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('id1\_library\apsp3.zip', '.'); }" -) -if exist apsp3\maps\apsp3.bsp ( - goto :eof -) -md apsp3 2> nul -echo Mark V has issues installing "apsp3". -echo You can get "apsp3.zip" from the "id1\_library folder" and -echo extract it manually into the "id1\apsp3" folder. -goto :eof - -REM Mark V as of build 1020 does not correctly extract func_mapjam2 -REM so we'll do it from this batch file if possible. -:func_mapjam2_fix -if exist func_mapjam2\maps\jam2_cocerello.bsp ( - goto :eof -) -del /q id1\maps\jam2_*.* 2> nul -call :net45_check -if "%net45_installed%"=="true" ( - echo Fixing some install issues... - powershell.exe -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('id1\_library\func_mapjam2.zip', 'func_mapjam2'); }" -) -if exist func_mapjam2\maps\jam2_cocerello.bsp ( - goto :eof -) -md func_mapjam2 2> nul -echo Mark V has issues installing "func_mapjam2". -echo You can get "func_mapjam2.zip" from the "id1\_library folder" and -echo extract it manually into the "id1\func_mapjam2" folder. -goto :eof - -REM Mark V as of build 1020 does not correctly extract mapjam6 -REM so we'll do it from this batch file if possible. -:mapjam6_fix -if exist mapjam6\maps\start.bsp ( - goto :eof -) -del /q id1\maps\jam6_*.* 2> nul -del /q id1\maps\start.bsp 2> nul -del /q id1\maps\start.lit 2> nul -call :net45_check -if "%net45_installed%"=="true" ( - echo Fixing some install issues... - powershell.exe -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('id1\_library\mapjam6.zip', 'mapjam6'); }" -) -if exist mapjam6\maps\start.bsp ( - goto :eof -) -md mapjam6 2> nul -echo Mark V has issues installing "mapjam6". -echo You can get "mapjam6.zip" from the "id1\_library folder" and -echo extract it manually into the "id1\mapjam6" folder. -goto :eof - -:net45_check -reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" /v Release > nul 2>&1 -if %errorlevel% equ 0 ( - set net45_installed=true -) else ( - set net45_installed=false -) -goto :eof diff --git a/installers/install_other_picks_2.bat b/installers/install_other_picks_2.bat new file mode 100644 index 0000000..1859879 --- /dev/null +++ b/installers/install_other_picks_2.bat @@ -0,0 +1,347 @@ +@echo off + +REM Installer for maps that fit the following criteria: +REM * it (or a variant) is NOT included in other selected episodes +REM * Quaddicted editor rating "Excellent" +REM * Quaddicted user rating 4.5 or better (normalized Bayesian average) + +REM save working dir and change to dir that holds this script +pushd "%~dp0" + +REM set the Mark V executable to use +set markv_exe=mark_v.exe + +REM CD up to Mark V dir if necessary +if not exist "%markv_exe%" ( + cd .. + if not exist "%markv_exe%" ( + echo Couldn't find "%markv_exe%" in this folder or parent folder. + pause + goto :exit + ) +) + +:menu +cls +call :installed_check honey +call :installed_check e1m5quotha +call :installed_check apsp3 +call :installed_check something_wicked +call :installed_check fmb_bdg2 +call :installed_check mstalk1c +call :installed_check ivory1b +call :installed_check func_mapjam1 +call :installed_check func_mapjam2 +call :installed_check func_mapjam3 +call :installed_check retrojam6 +echo( +echo A selection of other maps to install ^(part 2^): +echo 17: honey - Honey ^(2012^)%honey_installed% +echo 18: e1m5quotha - Gloomier Keep ^(2012^)%e1m5quotha_installed% +echo 19: apsp3 - Subterranean Library ^(2012^)%apsp3_installed% +echo 20: something_wicked - Something Wicked This Way Comes ^(2012^)%something_wicked_installed% +echo 21: fmb_bdg2 - For My Babies - Bin Dunne Gorne 2 ^(2013^)%fmb_bdg2_installed% +echo 22: mstalk1c - Midnight Stalker ^(2013^)%mstalk1c_installed% +echo 23: ivory1b - The Ivory Tower ^(2013^)%ivory1b_installed% +echo 24: func_mapjam1 - Func Map Jam 1 - Honey Theme ^(2014^)%func_mapjam1_installed% +echo 25: func_mapjam2 - Func Map Jam 2 - IKblue/IKwhite Theme ^(2014^)%func_mapjam2_installed% +echo 26: func_mapjam3 - Func Map Jam 3 - Zerstoerer theme ^(2014^)%func_mapjam3_installed% +echo 27: retrojam6 - Retro Jam 6 - Egyptian theme ^(2017^)%retrojam6_installed% +echo( +set menu_choice=menu_exit +set /p menu_choice=choose a number or just press Enter to exit: +echo( +goto %menu_choice% + +:17 +if not exist honey ( + call "%~dp0\_mod_install.cmd" honey +) +if exist honey ( + call "%~dp0\_mod_launch.cmd" honey start +) +pause +goto :menu + +:18 +REM for Gloomier Keep also install Quoth if necessary +REM note that the "quoth" folder name is required for Quoth +if not exist quoth ( + call "%~dp0\_mod_install.cmd" http://www.quaketastic.com/files/single_player/mods/quoth2pt2full.zip + if exist quoth2pt2full ( + move quoth2pt2full quoth > nul + del /q id1\_library\quoth2pt2full.zip + ) +) +REM Gloomier Keep doesn't normally have its own gamedir, but let's give it one +if exist quoth ( + if not exist e1m5quotha ( + call "%~dp0\_mod_install.cmd" e1m5quotha + md e1m5quotha 2> nul + md e1m5quotha\maps 2> nul + move id1\maps\e1m5quoth*.bsp e1m5quotha\maps > nul + move id1\maps\e1m5quotha.txt e1m5quotha > nul + ) +) else ( + echo Failed to install required base mod "quoth". Skipping "e1m5quotha" install. + echo( + pause + goto :menu +) +if exist e1m5quotha ( + call "%~dp0\_mod_launch.cmd" e1m5quotha e1m5quotha quoth + echo If you launch "e1m5quotha" outside of this installer, make sure to specify + echo Quoth as the base game. + echo( +) +pause +goto :menu + +:19 +REM for Subterranean Library also install Quoth if necessary +REM note that the "quoth" folder name is required for Quoth +if not exist quoth ( + call "%~dp0\_mod_install.cmd" http://www.quaketastic.com/files/single_player/mods/quoth2pt2full.zip + if exist quoth2pt2full ( + move quoth2pt2full quoth > nul + del /q id1\_library\quoth2pt2full.zip + ) +) +if exist quoth ( + if not exist apsp3 ( + call "%~dp0\_mod_install.cmd" apsp3 + call :apsp3_fix + ) +) else ( + echo Failed to install required base mod "quoth". Skipping "apsp3" install. + echo( + pause + goto :menu +) +if exist apsp3 ( + call "%~dp0\_mod_launch.cmd" apsp3 apsp3 quoth + echo If you launch "apsp3" outside of this installer, make sure to specify + echo Quoth as the base game. + echo( +) +pause +goto :menu + +:20 +if not exist something_wicked ( + call "%~dp0\_mod_install.cmd" something_wicked +) +if exist something_wicked ( + call "%~dp0\_mod_launch.cmd" something_wicked wickedstart +) +pause +goto :menu + +:21 +if not exist fmb_bdg2 ( + call "%~dp0\_mod_install.cmd" fmb_bdg2 + del /q fmb_bdg2\bat +) +if exist fmb_bdg2 ( + call "%~dp0\_mod_launch.cmd" fmb_bdg2 start_____ +) +pause +goto :menu + +:22 +if not exist mstalk1c ( + call "%~dp0\_mod_install.cmd" mstalk1c +) +if exist mstalk1c ( + call "%~dp0\_mod_launch.cmd" mstalk1c mstalk +) +pause +goto :menu + +:23 +if not exist ivory1b ( + call "%~dp0\_mod_install.cmd" ivory1b +) +if exist ivory1b ( + call "%~dp0\_mod_launch.cmd" ivory1b ivory +) +pause +goto :menu + +:24 +if not exist func_mapjam1 ( + call "%~dp0\_mod_install.cmd" func_mapjam1 + call :func_mapjam1_fix +) +if exist func_mapjam1 ( + call "%~dp0\_mod_launch.cmd" func_mapjam1 +) +pause +goto :menu + +:25 +if not exist func_mapjam2 ( + call "%~dp0\_mod_install.cmd" func_mapjam2 + call :func_mapjam2_fix +) +if exist func_mapjam2 ( + call "%~dp0\_mod_launch.cmd" func_mapjam2 +) +pause +goto :menu + +:26 +REM for Func Map Jam 3 also install the patch +REM can't use normal patch installer tho since it only includes bsp/lit files +set jam3_mfx_fix_success= +if not exist func_mapjam3 ( + call "%~dp0\_mod_install.cmd" func_mapjam3 + if exist func_mapjam3 ( + set jam3_mfx_fix_success=false + echo Installing patch "jam3_mfx_fix" for "func_mapjam3"... + call "%~dp0\_mod_install.cmd" jam3_mfx_fix + if exist id1\maps\jam3_mfx.bsp ( + echo Adding/patching files: + echo func_mapjam3\maps + echo jam3_mfx.bsp + move id1\maps\jam3_mfx.bsp func_mapjam3\maps > nul + echo jam3_mfx.lit + move id1\maps\jam3_mfx.lit func_mapjam3\maps > nul + del /q id1\_library\jam3_mfx_fix.zip + echo Patched. + echo( + set jam3_mfx_fix_success=true + ) else ( + echo Failed to extract patch files from: "id1\_library\jam3_mfx_fix.zip" + echo Leaving that zipfile in place for investigation. + echo( + ) + ) +) +if "%jam3_mfx_fix_success%"=="false" ( + rd /q /s func_mapjam3 + echo Failed to apply patch; rolled back the mod install. Maybe try again? + echo If you really want to install just the unpatched mod, you can enter + echo "install func_mapjam3" in the Mark V console. + echo( + pause + goto :menu +) +if exist func_mapjam3 ( + echo Note that this mod happens to include the original Zerstoerer campaign + echo maps, but for the Func Jam 3 maps you will want to pick maps with names + echo that begin with "jam3_". + echo( + call "%~dp0\_mod_launch.cmd" func_mapjam3 +) +pause +goto :menu + +:27 +if not exist retrojam6 ( + call "%~dp0\_mod_install.cmd" retrojam6 +) +if exist retrojam6 ( + call "%~dp0\_mod_launch.cmd" retrojam6 +) +pause +goto :menu + +:menu_exit +popd +goto :eof + + +REM functions used above + +:installed_check +if exist "%1" ( + set %1_installed= - ready to play +) else ( + set %1_installed= +) +goto :eof + +REM Mark V does not correctly extract apsp3 +REM so we'll do it from this batch file if possible. +:apsp3_fix +if exist apsp3\maps\apsp3.bsp ( + goto :eof +) +del /q id1\apsp3.* 2> nul +del /q id1\maps\apsp3.bsp 2> nul +del /q id1\sound\ambience\blood.wav 2> nul +REM delete these uncommon dirs if empty +rd id1\sound\ambience 2> nul +rd id1\sound 2> nul +call :net45_check +if "%net45_installed%"=="true" ( + echo Fixing some install issues... + powershell.exe -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('id1\_library\apsp3.zip', '.'); }" +) +if exist apsp3\maps\apsp3.bsp ( + goto :eof +) +rd /s /q apsp3 2> nul +echo Mark V has issues installing "apsp3"; unable to fix. +echo You can get "apsp3.zip" from the "id1\_library folder" and +echo extract it manually into an "apsp3" mod folder. +echo( +goto :eof + +REM Mark V does not correctly extract func_mapjam1 +REM so we'll do it from this batch file if possible. +:func_mapjam1_fix +if exist func_mapjam1\maps\jam1_arrrcee.bsp ( + goto :eof +) +del /q id1\maps\jam1_*.* 2> nul +call :net45_check +if "%net45_installed%"=="true" ( + echo Fixing some install issues... + powershell.exe -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('id1\_library\func_mapjam1.zip', 'func_mapjam1'); }" +) +if exist func_mapjam1\maps\jam1_arrrcee.bsp ( + goto :eof +) +rd /s /q func_mapjam1 2> nul +echo Mark V has issues installing "func_mapjam1"; unable to fix. +echo You can get "func_mapjam1.zip" from the "id1\_library folder" and +echo extract it manually into a "func_mapjam1" mod folder. +echo( +goto :eof + +REM Mark V does not correctly extract func_mapjam2 +REM so we'll do it from this batch file if possible. +:func_mapjam2_fix +if exist func_mapjam2\maps\jam2_cocerello.bsp ( + goto :eof +) +del /q id1\maps\jam2_*.* 2> nul +call :net45_check +if "%net45_installed%"=="true" ( + echo Fixing some install issues... + powershell.exe -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('id1\_library\func_mapjam2.zip', 'func_mapjam2'); }" +) +if exist func_mapjam2\maps\jam2_cocerello.bsp ( + goto :eof +) +rd /s /q func_mapjam2 2> nul +echo Mark V has issues installing "func_mapjam2"; unable to fix. +echo You can get "func_mapjam2.zip" from the "id1\_library folder" and +echo extract it manually into a "func_mapjam2" mod folder. +echo( +goto :eof + +:net45_check +powershell.exe -nologo -noprofile -command "& { trap { exit 1; } Add-Type -A 'System.IO.Compression.FileSystem'; }" > nul 2>&1 +if %errorlevel% equ 0 ( + set net45_installed=true +) else ( + echo The installed version of the .Net Framework ^(and/or of PowerShell^) prevents + echo the automatic fixing of some install issues. See "readmes\basic\1_setup.txt" + echo for more details. + echo( + set net45_installed=false +) +goto :eof diff --git a/installers/install_pakfiles.bat b/installers/install_pakfiles.bat index f961944..8d4b6ef 100644 --- a/installers/install_pakfiles.bat +++ b/installers/install_pakfiles.bat @@ -15,6 +15,7 @@ if not exist "%markv_exe%" ( if not exist "%markv_exe%" ( if not exist "id1" ( echo Couldn't find "%markv_exe%" or "id1" in this folder or parent folder. + pause goto :exit ) ) @@ -24,7 +25,7 @@ set basedir=%cd% cls -echo This script will look for pak files (Quake game data) that are already +echo This script will look for pak files ^(Quake game data^) that are already echo on this computer's disks, and copy them into this Quake installation. echo( diff --git a/installers/mod_extras/ac/quake.rc b/installers/mod_extras/ac/quake.rc new file mode 100644 index 0000000..465cf2a --- /dev/null +++ b/installers/mod_extras/ac/quake.rc @@ -0,0 +1,19 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg + +// settings that came with this mod +// you can of course modify these if you need to +r_wateralpha 0.3 +r_maxedges 4000 +r_maxsurfs 4000 + +// run a user script file if present +exec autoexec.cfg + +// stuff command line statements +stuffcmds + +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/apsp2/quake.rc b/installers/mod_extras/apsp2/quake.rc new file mode 100644 index 0000000..0dabf5b --- /dev/null +++ b/installers/mod_extras/apsp2/quake.rc @@ -0,0 +1,17 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg + +// settings that came with this mod +// you can of course modify these if you need to +r_waterwarp 0 + +// run a user script file if present +exec autoexec.cfg + +// stuff command line statements +stuffcmds + +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/arwop/quake.rc b/installers/mod_extras/arwop/quake.rc new file mode 100644 index 0000000..faac04d --- /dev/null +++ b/installers/mod_extras/arwop/quake.rc @@ -0,0 +1,10 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg +// run a user script file if present +exec autoexec.cfg +// stuff command line statements +stuffcmds +// ARWOP has its own demo, so run it! +startdemos demo1 diff --git a/installers/mod_extras/czg03/quake.rc b/installers/mod_extras/czg03/quake.rc new file mode 100644 index 0000000..7239184 --- /dev/null +++ b/installers/mod_extras/czg03/quake.rc @@ -0,0 +1,19 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg + +// settings that came with this mod +// you can of course modify these if you need to +r_wateralpha 1 +r_shadows 0 +gl_flashblend 0 + +// run a user script file if present +exec autoexec.cfg + +// stuff command line statements +stuffcmds + +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/dmc3/quake.rc b/installers/mod_extras/dmc3/quake.rc new file mode 100644 index 0000000..2476c86 --- /dev/null +++ b/installers/mod_extras/dmc3/quake.rc @@ -0,0 +1,10 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg +// run a user script file if present +exec autoexec.cfg +// stuff command line statements +stuffcmds +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/e1m1rmx/quake.rc b/installers/mod_extras/e1m1rmx/quake.rc new file mode 100644 index 0000000..2476c86 --- /dev/null +++ b/installers/mod_extras/e1m1rmx/quake.rc @@ -0,0 +1,10 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg +// run a user script file if present +exec autoexec.cfg +// stuff command line statements +stuffcmds +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/e1m5quotha/quake.rc b/installers/mod_extras/e1m5quotha/quake.rc new file mode 100644 index 0000000..2476c86 --- /dev/null +++ b/installers/mod_extras/e1m5quotha/quake.rc @@ -0,0 +1,10 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg +// run a user script file if present +exec autoexec.cfg +// stuff command line statements +stuffcmds +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/fmb_bdg/quake.rc b/installers/mod_extras/fmb_bdg/quake.rc new file mode 100644 index 0000000..2476c86 --- /dev/null +++ b/installers/mod_extras/fmb_bdg/quake.rc @@ -0,0 +1,10 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg +// run a user script file if present +exec autoexec.cfg +// stuff command line statements +stuffcmds +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/fmb_bdg2/quake.rc b/installers/mod_extras/fmb_bdg2/quake.rc new file mode 100644 index 0000000..2476c86 --- /dev/null +++ b/installers/mod_extras/fmb_bdg2/quake.rc @@ -0,0 +1,10 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg +// run a user script file if present +exec autoexec.cfg +// stuff command line statements +stuffcmds +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/func_mapjam9_2/quake.rc b/installers/mod_extras/func_mapjam9_2/quake.rc new file mode 100644 index 0000000..2476c86 --- /dev/null +++ b/installers/mod_extras/func_mapjam9_2/quake.rc @@ -0,0 +1,10 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg +// run a user script file if present +exec autoexec.cfg +// stuff command line statements +stuffcmds +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/gotshun-never-released_levels/quake.rc b/installers/mod_extras/gotshun-never-released_levels/quake.rc new file mode 100644 index 0000000..2476c86 --- /dev/null +++ b/installers/mod_extras/gotshun-never-released_levels/quake.rc @@ -0,0 +1,10 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg +// run a user script file if present +exec autoexec.cfg +// stuff command line statements +stuffcmds +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/koohoo/quake.rc b/installers/mod_extras/koohoo/quake.rc new file mode 100644 index 0000000..f7332da --- /dev/null +++ b/installers/mod_extras/koohoo/quake.rc @@ -0,0 +1,21 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg + +// settings that came with this mod +// you can of course modify these if you need to +r_wateralpha "0.6" //this transparency level is the best for this map +r_shadows "0" //better to disable shadows to speed things up +gl_flashblend "0" //to disable light globes around the light sources +gl_ztrick "0" //to disable distant objects flickering +gl_keeptjunctions "1" //to remove white dots on the polygons edges + +// run a user script file if present +exec autoexec.cfg + +// stuff command line statements +stuffcmds + +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/lunsp1/quake.rc b/installers/mod_extras/lunsp1/quake.rc new file mode 100644 index 0000000..2476c86 --- /dev/null +++ b/installers/mod_extras/lunsp1/quake.rc @@ -0,0 +1,10 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg +// run a user script file if present +exec autoexec.cfg +// stuff command line statements +stuffcmds +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/mappi/quake.rc b/installers/mod_extras/mappi/quake.rc new file mode 100644 index 0000000..2476c86 --- /dev/null +++ b/installers/mod_extras/mappi/quake.rc @@ -0,0 +1,10 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg +// run a user script file if present +exec autoexec.cfg +// stuff command line statements +stuffcmds +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/menk/quake.rc b/installers/mod_extras/menk/quake.rc new file mode 100644 index 0000000..20b6f96 --- /dev/null +++ b/installers/mod_extras/menk/quake.rc @@ -0,0 +1,18 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg + +// settings that came with this mod +// you can of course modify these if you need to +r_maxedges 10000 +r_maxsurfs 10000 + +// run a user script file if present +exec autoexec.cfg + +// stuff command line statements +stuffcmds + +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/prodigy_se/quake.rc b/installers/mod_extras/prodigy_se/quake.rc new file mode 100644 index 0000000..2476c86 --- /dev/null +++ b/installers/mod_extras/prodigy_se/quake.rc @@ -0,0 +1,10 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg +// run a user script file if present +exec autoexec.cfg +// stuff command line statements +stuffcmds +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/qump/quake.rc b/installers/mod_extras/qump/quake.rc new file mode 100644 index 0000000..2476c86 --- /dev/null +++ b/installers/mod_extras/qump/quake.rc @@ -0,0 +1,10 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg +// run a user script file if present +exec autoexec.cfg +// stuff command line statements +stuffcmds +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/red777/quake.rc b/installers/mod_extras/red777/quake.rc new file mode 100644 index 0000000..2476c86 --- /dev/null +++ b/installers/mod_extras/red777/quake.rc @@ -0,0 +1,10 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg +// run a user script file if present +exec autoexec.cfg +// stuff command line statements +stuffcmds +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/retrojam6/quake.rc b/installers/mod_extras/retrojam6/quake.rc new file mode 100644 index 0000000..2476c86 --- /dev/null +++ b/installers/mod_extras/retrojam6/quake.rc @@ -0,0 +1,10 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg +// run a user script file if present +exec autoexec.cfg +// stuff command line statements +stuffcmds +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/rmx-pack/quake.rc b/installers/mod_extras/rmx-pack/quake.rc new file mode 100644 index 0000000..2476c86 --- /dev/null +++ b/installers/mod_extras/rmx-pack/quake.rc @@ -0,0 +1,10 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg +// run a user script file if present +exec autoexec.cfg +// stuff command line statements +stuffcmds +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/something_wicked/quake.rc b/installers/mod_extras/something_wicked/quake.rc new file mode 100644 index 0000000..2476c86 --- /dev/null +++ b/installers/mod_extras/something_wicked/quake.rc @@ -0,0 +1,10 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg +// run a user script file if present +exec autoexec.cfg +// stuff command line statements +stuffcmds +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/installers/mod_extras/unforgiven/quake.rc b/installers/mod_extras/unforgiven/quake.rc new file mode 100644 index 0000000..2476c86 --- /dev/null +++ b/installers/mod_extras/unforgiven/quake.rc @@ -0,0 +1,10 @@ +// load the base configuration +exec default.cfg +// load the last saved configuration +exec config.cfg +// run a user script file if present +exec autoexec.cfg +// stuff command line statements +stuffcmds +// no special demos to run +//startdemos demo1 demo2 demo3 diff --git a/readmes/basic/1_setup.txt b/readmes/basic/1_setup.txt index a2186ae..c4b165c 100644 --- a/readmes/basic/1_setup.txt +++ b/readmes/basic/1_setup.txt @@ -1,15 +1,26 @@ +**** .Net Framework + +Simple Quake Launcher 2 and some aspects of the installer make use of Microsoft .Net Framework version 4.5 or later. If you are on Windows 8 or 10, you should be good to go. + +If you are on Windows 7 or Vista, you may need to get a recent version of the .Net Framework from from https://www.microsoft.com/net/download/all ... make sure that you get a ".Net Framework" runtime package, not anything else like ".Net Core" or a developer pack or etc. + +FYI, unfortunately there is a problem with the combination of .Net Framework 4.7.1 (and maybe later versions) and pre-5.1 versions of PowerShell. If you have that combo of software on your system then some things here will not work. If you're choosing which version of .Net to install, you may want to stick with .Net 4.7 or earlier. Or, you could get PowerShell 5.1 from https://www.microsoft.com/en-us/download/details.aspx?id=54616 + +(Sorry about that potential hassle.) + + **** Game data -First you need two game data files from Quake: "pak0.pak" and "pak1.pak". Put these files inside the "id1" folder, and you're ready to play Quake. +You need two game data files from Quake: "pak0.pak" and "pak1.pak". Put these files inside the "id1" folder, and you're ready to play Quake. Similarly, if you own and want to play the official Quake missionpacks, each of those also has its own "pak0.pak" file that goes into its own unique game folder (next to the "id1" folder): the "hipnotic" folder for missionpack 1, or "rogue" for missionpack 2. The first option in the menu of the "installer" batch file can usually locate and copy the necessary pak files if you already have Quake installed somewhere else on this same computer. If you're having difficulties finding your pak files, see "readmes\other_stuff\pak_files.txt". -**** Simple Quake Launcher +**** Simple Quake Launcher 2 -Once you have these pak files in place, the easiest way to play is often by using the Simple Quake Launcher, "SQLauncher.exe". This program has a requirement for Microsoft .Net Framework 3.5. If you don't have .Net 3.5 installed, Windows may ask to install it the first time you run the Simple Quake Launcher; otherwise you'll need to get it from http://www.microsoft.com/download/en/details.aspx?id=25150 +Once you have these pak files in place, one easy way to play Quake is by using Simple Quake Launcher 2, "SQLauncher2.exe". This program has a requirement for Microsoft .Net Framework 4.5 or later, as mentioned above. **** DirectX 9 Runtime @@ -26,10 +37,10 @@ FYI the installer will run the Mark V engine in order to perform a download. You **** Additional singleplayer content -Other choices in the installer menu can be used to download some of the many community-created singleplayer adventures. These choices, and ways to find all the rest of the available Quake singleplayer content, are discussed in the maps_and_mods readmes. +Other choices in the installer menu can be used to download and play some of the many community-created singleplayer adventures. These choices, and ways to find all the rest of the available Quake singleplayer content, are discussed in the maps_and_mods readmes. -For starters you might want to download a couple of recent releases: "Dimension of the Past" and "Arcane Dimensions 1.5". The "Episodes released in 2016" installer option will let you download and install either or both of these. +For starters you might want to download a couple of recent releases: "Dimension of the Past" and "Arcane Dimensions 1.7". The "Latest episodes" installer option will let you download and install these (among other things). You can then use the installer to launch directly into Quake to play that new content. "Dimension of the Past" is the "fifth Quake episode" created by J.F. Gustafsson and released by Machine Games in honor of Quake's 20th anniversary. It's a polished release but has an old-school look and feel with classic Quake gameplay. -"Arcane Dimensions" is a map collection and partial-conversion mod from Simon O'Callaghan ("sock") and several more of the Quake community's current mappers and coders. Check the readme included in the "ad_v1_50final" folder for complete credits. It features large detailed environments along with new monsters and weapons, pushing the envelope of Quake-ish-ness. \ No newline at end of file +"Arcane Dimensions" is a map collection and partial-conversion mod from Simon O'Callaghan ("sock") and several more of the Quake community's current mappers and coders. Check the readme included in the "ad_v1_70final" folder for complete credits. It features large detailed environments along with new monsters and weapons, pushing the envelope of Quake-ish-ness. \ No newline at end of file diff --git a/readmes/basic/2_running.txt b/readmes/basic/2_running.txt index 4bc4647..1c765f6 100644 --- a/readmes/basic/2_running.txt +++ b/readmes/basic/2_running.txt @@ -1,21 +1,48 @@ +**** Before you run any addons + +It's good to run mark_v.exe at least once before playing any custom content, and set up your desired configuration. Any settings that you configure in the default Quake game will be used as a starting point when you later launch custom content. + + +**** Running addons through the installer + +The "installer" batch file not only provides options for installing selected addons, but it also is an easy way to launch Quake. + +After you have installed an item, or if you select an already-installed item, the installer will give you the option to play it, with a menu that looks like this: + +Launch options: +y: launch without explicitly setting a skill +n: do not launch +0-3: launch and set a default initial skill + +If you choose "y" or just press Enter, the addon will be launched using a default skill value. Usually the default skill is 1 ("Normal"), but you may want to set up a different default skill for yourself as described in the "readmes\other_stuff\no_launcher.txt" file. Then you can always just hammer the Enter key to quickly launch stuff without needing to specifically enter a skill value. (If the addon comes with its own "start" map, it may also provide a way to select the skill value in-game.) + +If the addon is a multi-map collection that doesn't have its own startmap, you will need to select the map you want to play after Quake has launched. Mark V's "Single Player" menu includes a "Levels" menu you can use to do this. + +Using the installer is the easiest way to correctly launch one of these addons, but it has limitations: + +- It can only launch the same addons that it knows how to install. Once you branch out into playing other stuff, you'll need to use Simple Quake Launcher 2 or other methods. + +- It will always run mark_v.exe as the Quake engine. If you would rather it use a different Quake engine, that's possible if you are familiar with editing batch files or setting Windows environment variables, but you might just want to use Simple Quake Launcher 2 instead. + +(If you do want to mess around with how the installer chooses the Quake engine to run, see the installers\_mod_launch.cmd file and how it uses the quake_exe variable.) + + **** Using the launcher -The Simple Quake Launcher is a great way to start up Quake, especially when you want to do anything besides just starting the original campaign. +The Simple Quake Launcher 2 is another great way to start up Quake. It's not quite as easy as the installer, but it's more powerful. -When you run "SQLauncher.exe", you'll get a dialog window with a few settings to choose. +When you run "SQLauncher2.exe", you'll get a dialog window with a few settings to choose. The first thing to choose is the "Engine": -- Pick "mark_v.exe" if you want a GLQuake look. -- Or you could pick "dx9_mark_v.exe" (also a GLQuake look). This program uses the DirectX graphics interface instead of OpenGL. Depending on your video card and drivers, it may perform better than "mark_v.exe". -- Pick "mark_v_winquake.exe" if you want a more original-Quake-ish WinQuake look, instead of a GLQuake-ish look. +- Pick "mark_v" if you want a GLQuake look. +- Or you could pick "dx9_mark_v" (also a GLQuake look). This program uses the DirectX graphics interface instead of OpenGL. Depending on your video card and drivers, it may perform better than "mark_v". +- Pick "mark_v_winquake" if you want a more original-Quake-ish WinQuake look, instead of a GLQuake-ish look. Don't worry about the "Resolution" setting; you can pick your video settings in the Mark V in-game menus. -Leave the "Base Game" set to "Quake" for now. +Leave the "Game" set to "Quake" for now. -For "Game", choose "[Default]" if you want to play the original Quake campaign. You may want to at least launch the original Quake campaign once before trying anything else, because any settings that you configure in the default Quake game will be used as a starting point when you later launch custom content. - -If you have other content installed, there will be additional choices available for "Game". E.g. you could choose "dopa" for "Dimension of the Past", or "ad_v1_50final" for "Arcane Dimensions", if you have those installed. +For "Mod", choose "[Default]" if you want to play the original Quake campaign. If you have other content installed, there will be additional choices available for "Mod". E.g. you could choose "dopa" for "Dimension of the Past", or "ad_v1_70final" for "Arcane Dimensions", if you have those installed. When you've picked what you want to play, click the big "Launch" button at the bottom, and away you go! @@ -23,15 +50,10 @@ The launcher has other options that allow you to jump directly into individual m (But it never hurts to specify your desired skill when launching custom content, just in case.) - -**** Other base games - -If you have an official missionpack installed and want to play that, you would choose that missionpack as the "Base Game" and choose "[Default]" for the "Game". +If you have an official missionpack installed and want to play that, you would choose that missionpack as the "Game" and choose "[Default]" for the "Mod". There may also be other occasions when you will need to choose special base game settings when playing custom content, as described in the maps_and_mods readmes. -If you ever have a problem where the launcher doesn't allow you to change the "Base Game" to what you want: change the Game to "[Default]" and hit the refresh button to the left. - **** Mark V autosaves diff --git a/readmes/maps_and_mods/1_installing.txt b/readmes/maps_and_mods/1_installing.txt index 52be1ac..1a51888 100644 --- a/readmes/maps_and_mods/1_installing.txt +++ b/readmes/maps_and_mods/1_installing.txt @@ -1,37 +1,42 @@ **** Installer -This package includes an "installer" batch file to make it as easy as possible to download and install a sampler of good user-created Quake content. This process will also apply any essential patches to a downloaded mod, and sometimes make other fixes to a mod so that it can use mod-recommended settings without nuking settings that you have in your own "autoexec.cfg" file. +This package includes an "installer" batch file to make it as easy as possible to download, install, and run a sampler of good user-created Quake content. This process will also apply any essential patches to a downloaded mod, and sometimes make other fixes to a mod so that it can use mod-recommended settings without nuking settings that you have in your own "autoexec.cfg" file. Note that this install process makes use of Mark V ("mark_v.exe"). So if you are not on Windows or don't have Mark V available, it won't work. It also requires the quaddicted.com website to be up, since that's where the files come from. The installer choices are: -* Episodes released in 2016 - Covers installing "Dimension of the Past" and/or "Arcane Dimensions". +* Latest episodes - Covers recent highly-rated episodes. An "episode" in this sense contains a start map (used as a starting point or a hub) and at least four other maps. -* "Modern" episodes from pre-2016 - Covers highly-rated episodes released after "Nehahra". +* Modern episodes - Covers highly-rated episodes released after "Nehahra" and up through 2015. * Classic episodes - Covers highly-rated episodes up through "Nehahra". -* Other highly-rated maps up thru 2016 - Other highly-rated content not covered by the other choices above. +* Other highly-rated maps - Other content not covered by the other choices above. -This is NOT all the worthwhile Quake singleplayer content, not by a long shot. Even many of my personal favorites are not covered by these choices. If you enjoy Quake SP I really recommend checking out other things at quaddicted.com, as described in the "3_explore_more.txt" file. +This is NOT all the worthwhile Quake singleplayer content, not by a long shot. If you enjoy Quake SP I really recommend checking out other things at quaddicted.com, as described in the "3_explore_more.txt" file. -A few of these mods do require using special "Base Game" settings in the Simple Quake Launcher. Specifically: -- apsp3 and warpspasm each require using the "Quoth" base game. (Installing these using the "installer" batch file will also get Quoth for you if necessary.) +**** Installer issues -- chapters requires specifying the "EP1: Scourge of Armagon" base game. This is true even if you do not have that missionpack currently installed! +Mark V (at least up through the January 2017 build) will incorrectly install a few of the maps/mods covered by this installer: arcanum, apsp3, dm4jam, func_mapjam1, func_mapjam2, and mapjam6. -- nehahra requires using the "Nehahra" base game (and also "nehahra" as the game setting). +The installer script will detect that problem, and it will automatically correct it if you have .Net 4.5 (or later) installed to enable some unzip operations. If the installer tells you that you need to install/update your .Net stuff, see the ".Net Framework" part at the beginning of the "1_setup.txt" file in the "readmes\basic" folder. +If the installer can't automatically correct the problem, it will tell you where the downloaded zipfile is so that you can extract the mod manually if you like. -**** Installer issues -Mark V (at least up through the January 2017 build) will incorrectly install a few of the maps/mods covered by this installer: "arcanum", "apsp3", "func_mapjam2", and "mapjam6". +**** Mod folders -The installer script will detect that problem, and it will automatically correct it if you have .Net 4.5 installed to enable some unzip operations. (If you are on Windows 8 or 10 then you do have .Net 4.5 already.) +This installer will put any download into its own folder, even if it is purely new content that doesn't override any original content and isn't actually a "mod". Even a single map .bsp file will get stashed under its own dedicated mod folder, when it could also have worked perfectly well if placed into the "id1\maps" folder. -If the installer can't automatically correct the problem, it will tell you where the downloaded zipfile is so that you can extract the mod manually if you like. +If you're curious about why it's handled that way here, there's a few reasons, including: +- There's no chance of accidental conflicts with other downloaded stuff. +- If it's a multi-map set, it's easy to come back at some later time and find which maps belong to it. +- It's easy to have config settings that are specific to the maps. +- It's easy to correctly uninstall it later (see below), including all related config and savegames etc. + +This does potentially result in a lot of folders in your Quake directory; oh well. Everything's a tradeoff! **** Uninstalling diff --git a/readmes/maps_and_mods/2_running.txt b/readmes/maps_and_mods/2_running.txt index 390b8b2..915a7f3 100644 --- a/readmes/maps_and_mods/2_running.txt +++ b/readmes/maps_and_mods/2_running.txt @@ -1,24 +1,39 @@ +This file is strictly about considerations when using Simple Quake Launcher 2 (or a similar launcher). + +If you're using the installer as your launcher, then all of this stuff is taken care of for you. The installer will also show you the Quake command line it is using for the launch, so you can get a feel of how these settings work. Simple Quake Launcher 2 isn't as automatic, but it will come in handy when you try out other addons beyond the ones covered by the installer. + + **** Game -If the content is in its own game folder, use the Simple Quake Launcher to select that game folder as the "Game" to launch. This will always be the case for content installed through these batch files! +Most addons just use "Quake" for the "Game" setting, but in some cases an included readme file may tell you differently. -Otherwise select the "[Default]" game. +A readme that mentions the "-hipnotic" command-line argument is an indicator that you should specify "MP1: Scourge of Armagon" as the "Game" in the launcher. A mention of "-rogue" is an indicator to specify "MP2: Dissolution of Eternity" as the "Game". +Some addons may ask that you use missionpack 1 even if you don't have that missionpack installed. In that case, the mod doesn't use any assets from the missionpack, but it does use some missionpack-specific code inside your Quake engine. -**** Base Game +Some addons require using the mod Quoth as the base game. If you don't have Quoth you can get it from https://tomeofpreach.wordpress.com/quoth/ and install it into a game folder named "quoth". -Most addons just use "Quake" for the "Base Game" setting, but in some cases an included readme file may tell you differently. +Quoth is the "Game" to specify if a readme mentions using the "-quoth" command-line argument or generally talks about having a Quoth requirement. Even if the readme mentions both "-quoth" and "-hipnotic", then specifying just "Quoth" as the "Game" in the launcher is still the thing to do. -A readme that mentions the "-hipnotic" command-line argument is an indicator that you should specify "EP1: Scourge of Armagon" as the "Base Game" in the launcher. A mention of "-rogue" is an indicator to specify "EP2: Dissolution of Eternity" as the "Base Game". +For the maps and episodes covered by this installer, FYI these are the ones that have special base game requirements: -Some addons may ask that you specify missionpack 1 as the base game even if you don't have that missionpack installed. In that case, the mod doesn't use any assets from the missionpack, but it does use some missionpack-specific code inside your Quake engine. +- apsp2, apsp3, e1m5quotha, func_mapjam9_2, red777, and warpspasm require specifying "Quoth" as the "Game". Installing these using the "installer" batch file will also get and install Quoth for you if necessary, and tell you that Quoth is required when playing that content. -Some addons require using the mod Quoth as the base game. If you don't have Quoth you can get it from https://tomeofpreach.wordpress.com/quoth/ and install it into a game folder named "quoth". +- gotshun-never-released_levels requires specifying "MP1: Scourge of Armagon" as the "Game". That missionpack must also currently be installed. + +- chapters requires specifying "MP1: Scourge of Armagon" as the "Game". This is true even if you do not have that missionpack currently installed! + +- nehahra requires specifying "Nehahra" as the "Game". + + +**** Mod + +If the content is in its own game folder -- which will always be the case for content installed through these batch files! -- then use Simple Quake Launcher 2 to select that game folder as the "Mod" to launch. -Quoth is the base game if a readme mentions using the "-quoth" command-line argument or generally talks about having a Quoth requirement. Even if the readme mentions both "-quoth" and "-hipnotic", then specifying just "Quoth" as the base game in the launcher is still the thing to do. +Otherwise select the "[Default]" mod. -**** Requirements +**** Other requirements Check the addon's readme file to see if there are any special requirements for running it, or anything that you should know about new weapons or monsters. @@ -29,8 +44,8 @@ However if you're playing content that was installed in some other way, and you' **** Launching -Once you have the "Base Game" and "Game" set, pick the map and skill setting you want to play, and launch. +Once you have the "Game" and "Mod" set, pick the map and skill setting you want to play, and launch. -For custom episodes, the Simple Quake Launcher will often figure out the first map of the episode and select it by default. You can also check any included readme file to see what the first map should be. +For custom episodes, Simple Quake Launcher 2 will often figure out the first map of the episode and select it by default. You can also check any included readme file to see what the first map should be. Some addons do not have a startmap or hub map, and are just a collection of individual maps. In that case you'll need to select and launch each map individually to play it. \ No newline at end of file diff --git a/readmes/maps_and_mods/3_explore_more.txt b/readmes/maps_and_mods/3_explore_more.txt index 6910bc2..9aa561b 100644 --- a/readmes/maps_and_mods/3_explore_more.txt +++ b/readmes/maps_and_mods/3_explore_more.txt @@ -10,7 +10,7 @@ Note that both Quake Injector and also the Mark V install feature (see below) li * Click "OK" to close the dialog and apply the settings. -One thing to look out for though is that the Mark V install feature (and therefore these batch scripts that use it) doesn't work exactly the same as Quake Injector when it comes to choosing the name for a mod folder. For example Mark V will install Arcane Dimensions 1.5 in the "ad_v1_50final" folder, while Quake Injector will store it in the "ad" folder. So to avoid confusion and wasted disk space on duplicate stuff, it's best to settle on using only one of these install methods. +One thing to look out for though is that the Mark V install feature (and therefore these batch scripts that use it) doesn't work exactly the same as Quake Injector when it comes to choosing the name for a mod folder. For example Mark V will install Arcane Dimensions 1.7 in the "ad_v1_70final" folder, while Quake Injector will store it in the "ad" folder. So to avoid confusion and wasted disk space on duplicate stuff, it's best to settle on using only one of these install methods. **** DIY @@ -30,4 +30,4 @@ If you want more discussion about running Quake addons, see this Steam guide: ht **** Mark V install -The Mark V Quake engine supports an "install" command in the Quake console that will automatically download and install content. This is pretty neat, but as of January 2017, there are still some pieces of content that Mark V does not install correctly. So I won't go into a lot of details about the "install" command in this readme. The installer batch files in this package do make use of that command though. \ No newline at end of file +The Mark V Quake engine supports an "install" command in the Quake console that will automatically download and install content. This is pretty neat, but there some pieces of content that Mark V does not install correctly. So I won't go into a lot of details about the "install" command in this readme. The installer batch files in this package do make use of that command though. \ No newline at end of file diff --git a/readmes/other_stuff/mod_requirements.txt b/readmes/other_stuff/mod_requirements.txt index f18966e..0c06460 100644 --- a/readmes/other_stuff/mod_requirements.txt +++ b/readmes/other_stuff/mod_requirements.txt @@ -10,8 +10,8 @@ If the readme says that it requires an engine that supports the "bsp2" map forma Also with Mark V you shouldn't have to worry about any recommendations for increasing "heapsize", "zone", "winmem", or "max_edicts". Mark V defaults to sufficiently large values already for these (and many other) settings. -If other settings or Quake command-line arguments are recommended in the readme, there are various ways to handle those. The simplest way, without making any config files, is to use the "Extra Args" box in the Simple Quake Launcher. Command-line arguments can be placed in there verbatim, and console settings can be placed there with a "+" in front of them. For example a recommended setting of 0.3 for r_wateralpha can be handled with "+r_wateralpha 0.3" in that "Extra Args" box. Just make sure you leave a space between each thing you add into this box. +If other settings or Quake command-line arguments are recommended in the readme, there are various ways to handle those. The simplest way, without making any config files, is to use the "Command Line" box in the Simple Quake Launcher. Command-line arguments can be placed in there verbatim, and console settings can be placed there with a "+" in front of them. For example a recommended setting of 0.3 for r_wateralpha can be handled by adding "+r_wateralpha 0.3" into that box. You should add any such settings before the final "+map" portion of the command line, so that they will get applied before that first map is loaded. -Anything you add to the "Extra Args" box will be remembered for future uses of the launcher, so delete those extra args when you no longer need them. +Changes you make to the "Command Line" box will be remembered for future uses of the launcher. Other Quake launcher programs (like Quake Injector) will have similar means of specifying command-line arguments. \ No newline at end of file diff --git a/readmes/other_stuff/no_launcher.txt b/readmes/other_stuff/no_launcher.txt index 856feaa..628db91 100644 --- a/readmes/other_stuff/no_launcher.txt +++ b/readmes/other_stuff/no_launcher.txt @@ -1,6 +1,6 @@ **** Launching without a launcher -If you don't have or want to use a launcher, the main things you'll need to know are the name of the game folder that you want to activate (if any), the name of the map you want to play, and whether the map/mod requires a base game like Quoth or a missionpack. The maps_and_mods readmes describe how to find out if there is a base game requirement. +If you don't have or want to use a launcher, the main things you'll need to know are the name of the game (mod) folder that you want to activate (if any), the name of the map you want to play, and whether the map/mod requires a base game like Quoth or a missionpack. The maps_and_mods readmes describe how to find out if there is a base game requirement. When you know those things, you can handle all launcher-type activities from within the Quake menus and console, at least on some Quake engines. To keep it somewhat simple, this readme will mainly talk about the Mark V engine, but Quakespasm is very similar (only lacking the Levels menu). Other Quake engines may have similar capabilities. @@ -14,24 +14,24 @@ To open the Quake console, use the key under the ESC key on your keyboard (for t This readme will just mention a few console commands. If you're curious to learn more, much of this guide is relevant: http://steamcommunity.com/sharedfiles/filedetails/?id=120426294 -**** Setting the Base Game and Game +**** Setting the Base Game and Mod If the map you want to run is just a .bsp file in the "id1\maps" folder, skip this section. That's the normal/default map location and doesn't involve any mod code. -Otherwise though, you'll need to specify the game folder to activate. The map/mod may also have a Base Game requirement (as specified in its readme). +Otherwise though, you'll need to specify the mod folder to activate. The map/mod may also have a base game requirement (as specified in its readme). You specify these things using the "game" command in the Quake console. -If the game folder is named "foo" and doesn't require a special Base Game, then you would activate it with this command: +If the folder containing the addon content is named "foo" and doesn't require a special base game, then you would activate it with this command: game foo; exec quake.rc -If the game folder is named "foo" and requires Quoth as a Base Game, then you would activate it with this command: +If the folder is named "foo" and requires Quoth as a base game, then you would activate it with this command: game foo -quoth; exec quake.rc -If the game folder is named "foo" and requires missionpack 1 as a Base Game, then you would activate it with this command: +If the folder is named "foo" and requires missionpack 1 as a base game, then you would activate it with this command: game foo -hipnotic; exec quake.rc -If the game folder is named "foo" and requires missionpack 2 as a Base Game, then you would activate it with this command: +If the folder is named "foo" and requires missionpack 2 as a base game, then you would activate it with this command: game foo -rogue; exec quake.rc If you're curious about "quake.rc" and why you usually want to exec that config file (but sometimes might not), see the last section of this readme below. @@ -51,7 +51,7 @@ If you don't have this setting in your autoexec.cfg, or if you do but you want t Mark V has an in-game menu that you can use to choose the map. Press ESC if necessary to get to the main Quake menu, then choose Single Player, then choose Levels. -This menu shows all maps that can be played with your currently active game folder (if any). This includes any maps in the game folder as well as the maps from the Base Game. Scroll through the list, find the map you want, and press Enter/Return to launch the map. +This menu shows all maps that can be played with your currently active mod (if any). This includes any maps under the mod's folder as well as the maps from the base game. Scroll through the list, find the map you want, and press Enter/Return to launch the map. If you're using Quakespasm or some other engine that doesn't have a Levels menu, you can use the Quake console. You'll need to know the map filename. If for example the filename of the map you want to play is "whatsit.bsp", you would use the console command: map whatsit @@ -69,11 +69,11 @@ The files in a mod release may contain a new different "quake.rc" that sets some (If you want a lot more discussion about "quake.rc", see https://tomeofpreach.wordpress.com/2013/09/05/quake-rc-and-being-a-good-citizen/ ) -When you start up Quake, it will execute "quake.rc". This includes the case of starting up Quake with the "-game" command-line argument to make it immediately switch to a particular game folder. So in original Quake (before the "game" console command was added) mods were created under the expectation that "quake.rc" would be run when a mod was activated. Some mods rely on this behavior. Not many, but some. +When you start up Quake, it will execute "quake.rc". This includes the case of starting up Quake with the "-game" command-line argument to make it immediately switch to a particular mod folder. So in original Quake (before the "game" console command was added) mods were created under the expectation that "quake.rc" would be run when a mod was activated. Some mods rely on this behavior. Not many, but some. So why doesn't the "game" console command execute "quake.rc"? ** -This is something that Quake developers have talked about for quite a while. One argument has to do with the fact that some mods do rude things with their config files. For example a mod might contain an "autoexec.cfg" that overrides your own "id1\autoexec.cfg" file. So if you're using the "game" console command to activate a mod, you might want to still have the choice as to whether or not you want to execute "quake.rc" (and the other config files that it runs). +This is something that Quake community developers have talked about for quite a while. One argument has to do with the fact that some mods do rude things with their config files. For example a mod might contain an "autoexec.cfg" that overrides your own "id1\autoexec.cfg" file. So if you're using the "game" console command to activate a mod, you might want to still have the choice as to whether or not you want to execute "quake.rc" (and the other config files that it runs). But usually IMO executing "quake.rc" after activating a mod is the right thing to do, which is why I recommended that above. diff --git a/readmes/other_stuff/quake_engines.txt b/readmes/other_stuff/quake_engines.txt index 23ee917..70c23a8 100644 --- a/readmes/other_stuff/quake_engines.txt +++ b/readmes/other_stuff/quake_engines.txt @@ -2,7 +2,7 @@ A program that plays Quake is often called a "Quake engine" or a "source port". Community members have been working on such things since soon after the original Quake source code was released back in the 90s. -The following Steam guide has an overview of some of the most-used current engines, although I've let it get a little out of date in some parts: http://steamcommunity.com/sharedfiles/filedetails/?id=118401000 +The following Steam guide has an overview of some of the most-used current engines, although I've let it get outdated in some parts: http://steamcommunity.com/sharedfiles/filedetails/?id=118401000 Different Quake engines have different goals. Some are focussed on singleplayer, some on multiplayer; some are mostly about fixing bugs or adding "quality of life" features, while others are about supporting new visual effects; etc. @@ -13,6 +13,6 @@ For this little package I've chosen to include only the Mark V engine, from http For singleplayer, Mark V is in a good spot on the spectrum of authenticity, compatibility, and usability. Its native support for downloading and installing mods also comes in handy. -Note that while it's been tested well, Mark V is still relatively new and there's a chance that some custom Quake content might not work with it for some quirky reason. If you run across any problems using Mark V for playing singleplayer content, I would recommend Quakespasm as an alternative (http://quakespasm.sourceforge.net/download.htm). +Note that while it's been tested well, Mark V is still relatively new. If you run across any problems using Mark V for playing singleplayer content, I would recommend Quakespasm as an alternative (http://quakespasm.sourceforge.net/download.htm). -Quakespasm has long been the go-to Quake engine for singleplayer content, and I didn't include it in this package mainly because its defaults and menu options aren't quite as friendly as those in Mark V. For running Quakespasm on Windows, I recommend getting the 64-bit download for Quakespasm and then using "quakespasm-sdl2.exe" as the Quake engine; you can run it using the Simple Quake Launcher just like you do with Mark V. \ No newline at end of file +Quakespasm has long been the go-to Quake engine for singleplayer content, and I didn't include it in this package mainly because its defaults and menu options aren't quite as friendly as those in Mark V. For running Quakespasm on Windows, I recommend getting the latest 64-bit download for Quakespasm and then using "quakespasm.exe" as the Quake engine; you can run it using Simple Quake Launcher 2 or any other launcher just like you do with Mark V. \ No newline at end of file