@echo off
rem
rem     24.08.02 Angus Oliver  angus_oliver@yahoo.com
rem

rem ****            initialise variables                 *****

set drive_letter=D

rem **********************************************************
rem ****                sort parameters                 ******
rem **********************************************************

if not "%1"=="/?" goto :cd_drive

:help
rem ****                help                            ******
echo.
echo Copies relevant files from Zork Grand Inquisitor
echo CDs to hard drive, and enables content to be
echo accessed instead of CD. Fixes XP problem :)
echo.
echo Usage: Grand_Inquisitor [CD drive label]
echo.
echo   [CD drive label]         To specify CD with a different label than D:\.
echo.                           Eg. Grand_Inquisitor G
echo.
echo.
goto :EOF

:cd_drive
if not "%1"=="" set drive_letter=%1

rem **********************************************************
rem ****               create directories               ******
rem **********************************************************

set CD1=%~dp0CD1
set CD1_ZGI=%~dp0CD1\ZGI\
set CD1_ZASSETS1=%~dp0CD1\ZASSETS1\
set CD2=%~dp0CD2
set CD2_ZASSETS2=%~dp0CD2\ZASSETS2\

md "%CD1_ZGI%"
md "%CD1_ZASSETS1%"
md "%CD2_ZASSETS2%"

rem **********************************************************
rem ****                   copy files                   ******
rem **********************************************************

echo.
echo Please Insert Disc 1 into CD drive %drive_letter%:\ and press spacebar...
pause
echo.
echo This takes a few minutes...
echo.

xcopy %drive_letter%:\zgi "%CD1_ZGI%" /K /Y /E
xcopy %drive_letter%:\ZASSETS1 "%CD1_ZASSETS1%" /K /Y /E

echo.
echo Please Insert Disc 2 into CD drive %drive_letter%:\ and press spacebar...
pause
echo.
echo This takes a few minutes...
echo.

xcopy %drive_letter%:\ZASSETS2 "%CD2_ZASSETS2%" /K /Y /E

rem **********************************************************
rem ****                 find inquis.zix                ******
rem **********************************************************
:find

if exist INQUIS_old.ZIX (
       echo.
       echo This process has been run before!
       echo No need to run again..
       echo.
       echo Terminating...
       goto :EOL
)

if exist INQUIS.ZIX (
       copy INQUIS.ZIX INQUIS_old.ZIX
       more +3 INQUIS_old.ZIX > INQUIS_old_3.ZIX
       more +24 INQUIS_old_3.ZIX > INQUIS_old_27.ZIX
       del /F /Q INQUIS.ZIX
) else (
       echo File INQUIS.ZIX not present!!
       %beep_command%
       goto :EOL
)

for /F "eol=- tokens=1,2,3*" %%I in (INQUIS_old.ZIX) do (

       if %%J == %%K (
               echo %%I %%K %%L >> INQUIS.ZIX
       )
)

echo 0 %CD1% zgi_1 'Zork Grand Inquisitor Disk 1 >> INQUIS.ZIX
echo 1 %CD2% zgi_2 'Zork Grand Inquisitor Disk 2 >> INQUIS.ZIX

echo ---------------------------- >> INQUIS.ZIX

for /F "tokens=1,2* delims=\ " %%I in (INQUIS_old_3.ZIX) do (
       if %%I == DIR: (
               echo %%I %%J\%%K >> INQUIS.ZIX
       ) else (
               if %%I == CD0: (
                       if %%J == zgi (
                               echo DIR: .\%CD1%%%J\%%K >> INQUIS.ZIX
                       ) else (
                               if %%J == zassets1 (
                                       echo DIR: .\%CD1%%%J\%%K >> INQUIS.ZIX
                               )
                       )
               ) else (
                       if %%I == CD1: (
                               echo DIR: .\%CD2%%%J\%%K >> INQUIS.ZIX
                       )
               )
       )
)

type INQUIS_old_27.ZIX >> INQUIS.ZIX

:EOL

del /Q INQUIS_old_3.ZIX
del /Q INQUIS_old_27.ZIX

set debug=
set drive_letter=
set beep_command=