'**************************************************************************
'*                       WGenius.mst
'**************************************************************************

'$DEFINE DEBUG

'$INCLUDE 'setupapi.inc'

''Dialog ID's
CONST ASKQUIT			= 200
CONST DESTPATH			= 300
CONST DESTPATHH      = 2700
CONST EXITFAILURE		= 400
CONST EXITQUIT			= 600
CONST EXITSUCCESS		= 700
CONST BADPATH			= 6400
CONST BADPATHH       = 1700
CONST ISPACE			= 1300
CONST NOCOLORS       = 2300
CONST NOCOLORSH      = 3100
CONST TPSLICENSE	 = 4100

CONST LOGO = 1

GLOBAL DEST$        ''Default destination directory.

DECLARE SUB Install
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
DECLARE FUNCTION TRAGetColorCount LIB "mscuistf.dll" (hwnd%) AS INTEGER
DECLARE FUNCTION TRARegisterPath LIB "mscuistf.dll" (a$) AS INTEGER
DECLARE FUNCTION FDoesFileExist LIB "msdetstf.dll" (szFileName$, mode%) AS INTEGER
DECLARE FUNCTION LcbFreeDrive LIB "msdetstf.dll" (nDrive%) AS LONG


INIT:
	CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
	HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure

   SetBitmap CUIDLL$, LOGO
   SetTitle "Setup WinGenius Game Series Shareware Version"

   szInf$ = GetSymbolValue("STF_SRCINFPATH")
   szSrc$ = GetSymbolValue("STF_SRCDIR")
   IF szInf$ = "" THEN
   	szInf$ = GetSymbolValue("STF_CWDDIR") + "WGENIUS.INF"
   END IF

   SetSymbolValue "INIFile", szInf$

   ReadInfFile szInf$

   DEST$ = "C:\Wgsharew"         
   a% = TRARegisterPath(szSrc$)

LICENSE:
	sz$ = UIStartDlg(CUIDLL$, TPSLICENSE, "FLicenseDlgProc", 0, "")
	IF sz$ = "REACTIVATE" THEN
		GOTO LICENSE
	END IF

	IF sz$ = "CONTINUE" THEN
		UIPop 1
	ELSE
		GOSUB ASKQUIT
		GOTO LICENSE
	END IF
	
COLORS:
   color% = TRAGetColorCount(HwndFrame())
	IF color% = 0 THEN
COLORSL1:
		sz$ = UIStartDlg(CUIDLL$, NOCOLORS, "FConfirmDlgProc", NOCOLORSH, HELPPROC$)
		IF sz$ = "REACTIVATE" THEN
			GOTO COLORSL1
		ELSEIF sz$ = "EXIT" THEN
			GOSUB ASKQUIT
			GOTO COLORS
		END IF
		UIPop 1
	END IF
	

GETPATH:
	SetSymbolValue "EditTextIn", DEST$
	SetSymbolValue "EditFocus", "END"
GETPATHL1:
	sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", DESTPATHH, HELPPROC$)
	IF sz$ = "REACTIVATE" THEN
		GOTO GETPATHL1
	END IF

	DEST$ = GetSymbolValue("EditTextOut")

	IF sz$ = "CONTINUE" THEN
		IF IsDirWritable(DEST$) = 0 THEN
			GOSUB BADPATH
			GOTO GETPATHL1
		END IF
	ELSE
		GOSUB ASKQUIT
		GOTO GETPATH
	END IF

	drive$ = MID$(DEST$, 1, 1)
	drive$ = UCASE$(drive$)

	bfree& = LcbFreeDrive(ASC(UCASE$(drive$)) - ASC("A") + 1)

	IF bfree& < 3100000 THEN
		SetSymbolValue "ConfirmTextIn", ""
		SetSymbolValue "ConfirmTextIn", drive$
ISPACE1:
		sz$ = UIStartDlg(CUIDLL$, ISPACE, "FConfirmDlgProc", 0, "")
		IF sz$ = "REACTIVATE" THEN
			GOTO ISPACE1
		END IF

		IF sz$ = "EXIT" THEN
			GOSUB ASKQUIT
			GOTO ISPACE1
		END IF

		UIPop 1
	
		IF sz$ = "CHANGE" THEN
			GOTO GETPATHL1
		ELSE
			UIPop 1
		END IF
	ELSE
		UIPop 1
	END IF


DOINSTALL:

    Install


QUIT:
   ON ERROR GOTO ERRQUIT

	IF ERR = 0 THEN
        	dlg% = EXITSUCCESS

    ELSEIF ERR = STFQUIT THEN
        dlg% = EXITQUIT
    ELSE
        dlg% = EXITFAILURE
    END IF
QUITL1:
    sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
    IF sz$ = "REACTIVATE" THEN
        GOTO QUITL1
    END IF
    UIPop 1

    END

ERRQUIT:
    END

BADPATH:
    sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", BADPATHH, HELPPROC$)
    IF sz$ = "REACTIVATE" THEN
        GOTO BADPATH
    END IF
    UIPop 1
    RETURN


ASKQUIT:
    sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")

    IF sz$ = "EXIT" THEN
        UIPopAll
        ERROR STFQUIT
    ELSEIF sz$ = "REACTIVATE" THEN
        GOTO ASKQUIT
    ELSE
        UIPop 1
    END IF
    RETURN


SUB Install STATIC

	SrcDir$ = GetSymbolValue("STF_SRCDIR")            
	win$ = GetWindowsSysDir()
	winnb$ = MID$(win$, 1, LEN(win$)-1)

	AddSectionFilesToCopyList "Ctl3d" ,SrcDir$, winnb$
	AddSectionFilesToCopyList "Art",SrcDir$, DEST$    
	AddSectionFilesToCopyList "Bin",SrcDir$, DEST$ 
	AddSectionFilesToCopyList "Sounds",SrcDir$, DEST$

	SetCopyGaugePosition 120, 80

	CopyFilesInCopyList
	
	grp$ = "WinGenius Shareware Version"

	CreateProgmanGroup grp$, "", cmoNone
	ShowProgmanGroup  grp$, 1, cmoNone   
	
    exe$ = MakePath(DEST$, "Wbaffle.exe")
	CreateProgmanItem grp$, "Shareware WinBaffle", exe$, "", cmoOverwrite

	exe$ = MakePath(DEST$, "Wchecker.exe")
    CreateProgmanItem grp$, "Shareware WinCheckers", exe$, "", cmoOverwrite  
    
	exe$ = MakePath(DEST$, "Wconnect.exe")
    CreateProgmanItem grp$, "Shareware WinConnect", exe$, "", cmoOverwrite

	exe$ = MakePath(DEST$, "Winjump.exe")
    CreateProgmanItem grp$, "Shareware WinJump", exe$, "", cmoOverwrite

	exe$ = MakePath(DEST$, "Winhex.exe")
    CreateProgmanItem grp$, "Shareware WinHex", exe$, "", cmoOverwrite
    
	exe$ = MakePath(DEST$, "Order.wri")
    CreateProgmanItem grp$, "Order Form", exe$, "", cmoOverwrite	

	exe$ = MakePath(DEST$, "Dealers.exe")
    CreateProgmanItem grp$, "Dealer List", exe$, "", cmoOverwrite	
    	
                                                      
END SUB


FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
    IF szDir$ = "" THEN
        MakePath = szFile$
    ELSEIF szFile$ = "" THEN
        MakePath = szDir$
    ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
        MakePath = szDir$ + szFile$
    ELSE
        MakePath = szDir$ + "\" + szFile$
    END IF
END FUNCTION
