;NSIS Modern User Interface version 1.70
;InstallOptions Example Script
;Written by Joost Verburg

SetCompressor /FINAL lzma
;---------------------
;Include Modern UI
!define PARENT_FOLDER "Counter-strike 1.6"
!define PRODUCT_NAME "PaRaDoX's IGRA CS1.6"
!define PRODUCT_VERSION "3.1-1.6"
!define PRODUCT_VIVERSION "3.1.1.6"
!define OFILE_NAME "PCS${PRODUCT_VERSION}-withBots.exe"
!define PRODUCT_PUBLISHER "PaRaDoX Inc."
!define PRODUCT_WEB_SITE "http://www.sp.edu.sg"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\PCSInstall3"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"

  !include "MUI.nsh"

!define MUI_ABORTWARNING
!define MUI_ICON "orange-install.ico"
!define MUI_UNICON "orange-uninstall.ico"
;--------------------------------
;General

  ;Name and file
  Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
  OutFile "${OFILE_NAME}"

  LicenseForceSelection checkbox

  ShowInstDetails show
  ShowUnInstDetails hide

  ;Default installation folder
  
  InstallDir "D:\S-1-522130932-8847-501\${PARENT_FOLDER}"

  ;Get installation folder from registry if available
  InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""

;--------------------------------
;Pages
  !insertmacro MUI_PAGE_WELCOME
  !define MUI_PAGE_CUSTOMFUNCTION_SHOW LicenseShow
  !insertmacro MUI_PAGE_LICENSE "license.rtf"
  !insertmacro MUI_PAGE_COMPONENTS
  !insertmacro MUI_PAGE_DIRECTORY
  !insertmacro MUI_PAGE_INSTFILES
  Page custom CustomPageC
  !insertmacro MUI_PAGE_FINISH

  !insertmacro MUI_UNPAGE_CONFIRM
  !insertmacro MUI_UNPAGE_INSTFILES

LicenseBkColor 4682B4
;License 4682B4



;--------------------------------
;Languages

  !insertmacro MUI_LANGUAGE "English"

;--------------------------------
;Styles
   WindowIcon "on"
   XPStyle "on"
   InstallColors FFCC00 4682B4
   InstProgressFlags smooth colored

VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "PaRaDoX's IGRA CS Installation ${PRODUCT_VERSION}"
VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "PaRaDoX is cool!"
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "PaRaDoX Inc."
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "ditto"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "© PaRaDoX's arse"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "PaRaDoX's IGRA CS Installation ${PRODUCT_VERSION}"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${PRODUCT_VERSION}"
VIAddVersionKey /LANG=${LANG_ENGLISH} "Website" "http://www.sp.edu.sg"
VIProductVersion "${PRODUCT_VIVERSION}"


;--------------------------------
;Reserve Files

  ;These files should be inserted before other files in the data block
  ;Keep these lines before any File command
  ;Only for solid compression (by default, solid compression is enabled for BZIP2 and LZMA)


  ReserveFile "ioC.ini"
  !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS

;--------------------------------
;Variables

  Var DSC_VALUE
  Var MD_VALUE
  Var M_VALUE

;--------------------------------
;Installer Sections

  Section "!CS-1.6 noReg(Minimalist)" SEC01

  SetOutPath "$INSTDIR"
  SetOverwrite ifdiff

  ;ADD YOUR OWN FILES HERE...
  File /nonfatal /a /r "${PARENT_FOLDER}\*"
  File "CDKey.txt"
  SetOutPath "$INSTDIR\cstrike\addons\metamod"
  exec "$INSTDIR\cstrike\addons\metamod\updPlugins.exe -addStandard"
  SetOutPath "$INSTDIR"
  
  MessageBox MB_ICONINFORMATION|MB_OK "The program will now be run for you to input your CD Key. Do not click on the links given till this has been done. When you have completed inputting the CD-Key, CLOSE THE GAME to continue installation."

  exec "notepad.exe $INSTDIR\CDKey.txt"
  execwait "$INSTDIR\hl.exe"
  
  CreateShortCut "$INSTDIR\Half-Life GAME.lnk" "$INSTDIR\hl.exe" "-game cstrike +exec adminpass.cfg" "$INSTDIR\hl.exe"
  
  ;Store installation folder
  WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR"

  ;Create uninstaller
  WriteUninstaller "$INSTDIR\Uninstall.exe"

SectionEnd

Section "PODBot" SEC02
SetOverwrite ifdiff
SetOutPath "$INSTDIR\cstrike\addons"
File /nonfatal /a /r "PODBot"
SetOutPath "$INSTDIR\cstrike\addons\metamod"
exec "$INSTDIR\cstrike\addons\metamod\updPlugins.exe -addBots"
SetOutpath "$INSTDIR"
SectionEnd

Section "Extra MM Plugins" SEC03
SetOverwrite ifdiff
SetOutPath "$INSTDIR\cstrike\addons\metamod\dlls"
File /nonfatal /a "restrictweapons_mm.dll"
File /nonfatal /a "extranade_mm.dll"
File /nonfatal /a "endround_mm.dll"
SetOutPath "$INSTDIR\cstrike\addons\metamod"
exec "$INSTDIR\cstrike\addons\metamod\updPlugins.exe -addRACC"
SetOutpath "$INSTDIR"
SectionEnd

;--------------------------------
;Installer Functions

Function LicenseShow
 ScrollLicense::Set /NOUNLOAD /LINES 10
FunctionEnd

Function .onInit

  ;Extract InstallOptions INI files
  !insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioC.ini"

FunctionEnd

LangString TEXT_IO_TITLE3 ${LANG_ENGLISH} "Additional program links"
LangString TEXT_IO_SUBTITLE3 ${LANG_ENGLISH} "You need a special shortcut to the program to run the game properly. This will help you create some."

Function CustomPageC

  !insertmacro MUI_HEADER_TEXT "$(TEXT_IO_TITLE3)" "$(TEXT_IO_SUBTITLE3)"
  !insertmacro MUI_INSTALLOPTIONS_DISPLAY "ioC.ini"
    ;Read a value from an InstallOptions INI file
  !insertmacro MUI_INSTALLOPTIONS_READ $DSC_VALUE "ioC.ini" "Field 3" "State"
  !insertmacro MUI_INSTALLOPTIONS_READ $MD_VALUE "ioC.ini" "Field 5" "State"
  !insertmacro MUI_INSTALLOPTIONS_READ $M_VALUE "ioC.ini" "Field 7" "State"

  ;Display a messagebox if check box was checked
  StrCmp $DSC_VALUE "1" "" +2
    CreateShortCut "$DESKTOP\Half-Life GAME.lnk" "$INSTDIR\hl.exe" "-game cstrike +exec adminpass.cfg" "$INSTDIR\hl.exe"

  StrCmp $MD_VALUE "1" "" +2
    CreateShortCut "$DOCUMENTS\Half-Life GAME.lnk" "$INSTDIR\hl.exe" "-game cstrike +exec adminpass.cfg" "$INSTDIR\hl.exe"

  StrCmp $M_VALUE "1" "" +2
    CreateShortCut "M:\Half-Life GAME.lnk" "$INSTDIR\hl.exe" "-game cstrike +exec adminpass.cfg" "$INSTDIR\hl.exe"



FunctionEnd

;--------------------------------
;Descriptions

  ;Language strings
  LangString DESC_Sec01 ${LANG_ENGLISH} "Installs the main game files."
  LangString DESC_Sec02 ${LANG_ENGLISH} "Installs the bots."
  LangString DESC_Sec03 ${LANG_ENGLISH} "Installs the optional MetaMod plugins."

  ;Assign language strings to sections
  !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
    !insertmacro MUI_DESCRIPTION_TEXT ${Sec01} $(DESC_Sec01)
    !insertmacro MUI_DESCRIPTION_TEXT ${Sec02} $(DESC_Sec02)
    !insertmacro MUI_DESCRIPTION_TEXT ${Sec03} $(DESC_Sec03)
  !insertmacro MUI_FUNCTION_DESCRIPTION_END

;--------------------------------
;Uninstaller Section


Function un.onUninstSuccess
  HideWindow
  MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."
FunctionEnd

Function un.onInit
  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2
  Abort
FunctionEnd

Section Uninstall
  RMDIR /r "$INSTDIR"
  Delete "$INSTDIR\Uninstall.exe"
  RMDIR /r /REBOOTOK "$INSTDIR"

  Delete "$DESKTOP\Half-Life GAME.lnk"
  Delete "$DOCUMENTS\Half-Life GAME.lnk"

  DeleteRegKey HKCU "Software\Valve\Half-Life\Settings"
  DeleteRegKey HKCU "Software\Valve\Half-Life\Settings"

  ;Store installation folder
  WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR"
  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
  DeleteRegKey /ifempty HKCU "Software\Valve"

  RMDIR /r /REBOOTOK "$INSTDIR"

  SetAutoClose false
SectionEnd
