First post, by Terrapin
- Rank
- Newbie
Hey there Vogonites!
I'm having a bit of trouble here. I'm attempting to create a potentially 'universal' file/folder structure for running DOS games via DOSbox. Have to give credit to 3D Realms for helping me figure a lot of this out using examples of their .bat and .conf files they use in the 3D Realms Anthology.
So, I'm working with Commander Keen - Goodbye Galaxy .conf. I've added entries for the user-created games: Keen7, Keen8, Keen9, and Keen10. Unfortunately, they run using their own .BAT files. When these files are run through the .BAT file used to run each game using a sort of GUI created in the .conf file under the Autoexec entry, DOSbox seems to ignore the 'exit' (and 'cls') command. I'll give examples of the batch and conf files I'm using to clear up any confusion...
The file/folder structure looks like this:
.\3D Realms Anthology\
-Commander Keen - Galaxy folder
-Commander Keen - Galaxy.BAT
Commander Keen - Galaxy\
-Keen7 folder
-Keen8 folder
-Keen9 folder
-Keen10 folder
-Keen4 files
-Keen5 files
-Keen6 files
-Keen Galaxy.conf
-joystick mapper file.map
Inside each Keen folder (for 7, 8, 9, and 10) there is a KeenX.bat file that applies a patch to the game and then calls the executable to make it run. The games do run, but upon exiting the game, it is left at the DOS prompt and does not exit on it's own with the provided 'exit' command which works for Keen4, 5 and 6 because DOSbox is calling to run their EXE files.
Here is the autoexec info located in the "Keen Galaxy.conf"
I removed the brackets around autoexec to avoid any problems with forum coding.
- autoexec
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
@echo off
Mount C ".."
C:
cls
echo.
echo [29;1m Commander Keen in: Goodbye Galaxy!
echo [30;1m by Apogee
echo.
echo [32;1m 1. Part 4 - Secret of the Oracle
echo [36;1m 2. Part 5 - The Armageddon Machine
echo [31;1m 3. Part 6 - Aliens Ate My Babysitter
echo [35;1m 4. Part 7 - The Keys of Krodacia
echo [33;1m 5. Part 8 - Dead In the Desert
echo [34;1m 6. Part 9 - Battle of the Brains
echo [38;1m 7. Part 10 - Mirror Menace
echo [37;1m 8. Exit
echo.
echo [30;1m NOTE: To switch between windowed and full-screen press ALT+ENTER
echo [0m
choice /c12345678 /s Choose your episode: /n
echo.
if errorlevel == 8 goto exit
if errorlevel == 7 goto e7
if errorlevel == 6 goto e6
if errorlevel == 5 goto e5
if errorlevel == 4 goto e4
if errorlevel == 3 goto e3
if errorlevel == 2 goto e2
if errorlevel == 1 goto e1
:e1
KEEN4E.exe
exit
:e2
KEEN5E.exe
exit
:e3
cd Keen6
Keen6.exe
exit
:e4
cd Keen7
Keen7.bat -noconsole -exit
exit
:e5
cd Keen8
Keen8.bat
cls
exit
:e6
cd Keen9
Keen9.bat
cls
exit
:e7
cd Keen10
Keen10.bat
cls
exit
:exit
exit
I added the cls command because I had read that sometimes you don't even need the 'exit' command; 'cls' will prompt DOSbox to exit for some reason or other.
EDIT: I also added the '-noconsole -exit' commands to the end of Keen7.bat as seen above and DOSbox ignored that. Upon ending the game, I was still stuck at the cmd prompt with an image left over from the game exiting.
Here is an example of Keen7.bat
- ck4patch KEEN7.PAT
[/list]
It calls ck4patch.exe and then tells it the patch to apply is named 'KEEN7.PAT'
I assume the exe file then calls upon Keen4.exe? Because the game does run.
I've also read that applying the '-noconsole -exit' commands help batch files to exit, but I'm not sure where to apply the commands. I've tried placing them at the end of what's contained in Keen7.bat, but that did not work.
Any help would be highly appreciated and would be a nice reference for others looking for this information.
Thanks!!