OpenAL is now downloaded and installed.

This commit is contained in:
Matthew Bowra-Dean
2010-03-04 17:41:30 +13:00
parent 49908be1c1
commit e195ac8f82

View File

@@ -1,4 +1,5 @@
!include "MUI2.nsh" !include "MUI2.nsh"
!include "ZipDLL.nsh"
Name "OpenRA" Name "OpenRA"
OutFile "OpenRA.exe" OutFile "OpenRA.exe"
@@ -13,6 +14,9 @@ SetCompressor lzma
!insertmacro MUI_LANGUAGE "English" !insertmacro MUI_LANGUAGE "English"
;***************************
;Section Definitions
;***************************
Section "Client" Client Section "Client" Client
SetOutPath "$INSTDIR" SetOutPath "$INSTDIR"
File "..\..\OpenRA.Game\bin\Debug\OpenRA.Game.exe" File "..\..\OpenRA.Game\bin\Debug\OpenRA.Game.exe"
@@ -40,14 +44,14 @@ SectionGroup /e "Mods"
Section "Command & Conquer" CNC Section "Command & Conquer" CNC
SetOutPath "$INSTDIR\mods\cnc" SetOutPath "$INSTDIR\mods\cnc"
File /r "..\..\mods\cnc\*.*" File /r "..\..\mods\cnc\*.*"
SectionEnd SectionEnd
Section "Red Alert: Aftermath" Aftermath Section "Red Alert: Aftermath" Aftermath
SetOutPath "$INSTDIR\mods\aftermath" SetOutPath "$INSTDIR\mods\aftermath"
File /r "..\..\mods\aftermath\*.*" File /r "..\..\mods\aftermath\*.*"
SectionEnd SectionEnd
Section "Red Alert: Next Generation" RA_NG Section "Red Alert: Next Generation" RA_NG
SetOutPath "$INSTDIR\mods\ra-ng" SetOutPath "$INSTDIR\mods\ra-ng"
File /r "..\..\mods\ra-ng\*.*" File /r "..\..\mods\ra-ng\*.*"
SectionEnd SectionEnd
SectionGroupEnd SectionGroupEnd
@@ -55,31 +59,63 @@ Section "Server" Server
SetOutPath "$INSTDIR" SetOutPath "$INSTDIR"
File "..\..\OpenRA.Server\bin\Debug\OpenRA.Server.exe" File "..\..\OpenRA.Server\bin\Debug\OpenRA.Server.exe"
SectionEnd SectionEnd
Var previousSelection ;***************************
;Dependency Sections
;***************************
Section "-OpenAl" OpenAl
SetOutPath "$TEMP"
NSISdl::download http://connect.creativelabs.com/openal/Downloads/oalinst.zip oalinst.zip
!insertmacro ZIPDLL_EXTRACT oalinst.zip OpenAL oalinst.exe
ExecWait "$TEMP\OpenAL\oalinst.exe"
SectionEnd
;***************************
;Section Descriptions
;***************************
LangString DESC_Client ${LANG_ENGLISH} "OpenRA client and dependencies"
LangString DESC_Server ${LANG_ENGLISH} "OpenRA server"
LangString DESC_RA ${LANG_ENGLISH} "Base Red Alert mod"
LangString DESC_CNC ${LANG_ENGLISH} "Base Command and Conquer mod"
LangString DESC_Aftermath ${LANG_ENGLISH} "Red Alert: Aftermath expansion mod (depends on base Red Alert mod)"
LangString DESC_RA_NG ${LANG_ENGLISH} "Next-gen Red Alert mod (depends on base Red Alert mod)"
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${Client} $(DESC_Client)
!insertmacro MUI_DESCRIPTION_TEXT ${Server} $(DESC_Server)
!insertmacro MUI_DESCRIPTION_TEXT ${RA} $(DESC_RA)
!insertmacro MUI_DESCRIPTION_TEXT ${CNC} $(DESC_CNC)
!insertmacro MUI_DESCRIPTION_TEXT ${Aftermath} $(DESC_Aftermath)
!insertmacro MUI_DESCRIPTION_TEXT ${RA_NG} $(DESC_RA_NG)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;***************************
;Functions
;***************************
Var previousSelection
Function .onInit Function .onInit
IntOp $0 ${SF_SELECTED} | ${SF_RO} IntOp $0 ${SF_SELECTED} | ${SF_RO}
SectionSetFlags ${Client} $0 SectionSetFlags ${Client} $0
IntOp $previousSelection ${SF_SELECTED} + 0 IntOp $previousSelection ${SF_SELECTED} + 0
FunctionEnd FunctionEnd
Function .onSelChange Function .onSelChange
SectionGetFlags ${RA} $0 SectionGetFlags ${RA} $0
IntOp $1 ${SF_SELECTED} & $0 IntOp $1 ${SF_SELECTED} & $0
IntCmp $1 $previousSelection done IntCmp $1 $previousSelection done
IntCmp 0 $1 deselected selected IntCmp 0 $1 deselected selected
deselected: deselected:
SectionSetFlags ${Aftermath} ${SF_RO} SectionSetFlags ${Aftermath} ${SF_RO}
SectionSetFlags ${RA_NG} ${SF_RO} SectionSetFlags ${RA_NG} ${SF_RO}
Goto done Goto done
selected: selected:
SectionSetFlags ${Aftermath} ${SF_SELECTED} SectionSetFlags ${Aftermath} ${SF_SELECTED}
SectionSetFlags ${RA_NG} ${SF_SELECTED} SectionSetFlags ${RA_NG} ${SF_SELECTED}
Goto done Goto done
done: done:
IntOp $previousSelection $1 + 0 IntOp $previousSelection $1 + 0
FunctionEnd FunctionEnd