Update scripts for preparing Windows installer
Added windows batch file for portable use and removed batch without profile directory.
This commit is contained in:
+1
-1
@@ -1 +1 @@
|
||||
start bin_win32\ac_client.exe --init %1 %2 %3 %4 %5
|
||||
start bin_win32\ac_client.exe "--home=?MYDOCUMENTS?\My Games\AssaultCube\v1.2next" --init %1 %2 %3 %4 %5
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
%~d0
|
||||
cd %~p0
|
||||
start bin_win32\ac_client.exe --home=profile --init %1 %2 %3 %4 %5
|
||||
@@ -1 +0,0 @@
|
||||
start bin_win32\ac_client.exe "--home=?MYDOCUMENTS?\My Games\AssaultCube\v1.2next" --init %1 %2 %3 %4 %5
|
||||
@@ -1,37 +0,0 @@
|
||||
[Settings]
|
||||
NumFields=4
|
||||
|
||||
[Field 1]
|
||||
Type=RadioButton
|
||||
Flags=GROUP
|
||||
Left=20
|
||||
Right=255
|
||||
Top=20
|
||||
Bottom=30
|
||||
Text=Install Regularly
|
||||
State=1
|
||||
|
||||
[Field 2]
|
||||
Type=RadioButton
|
||||
Flags=
|
||||
Left=20
|
||||
Right=255
|
||||
Top=60
|
||||
Bottom=70
|
||||
Text=Install using "My Documents" directory for user data
|
||||
|
||||
[Field 3]
|
||||
Type=Label
|
||||
Text=Installs AssaultCube appropriate for a single user on Microsoft Windows XP and earlier. User data will be stored in the installation directory.
|
||||
Left=32
|
||||
Right=300
|
||||
Top=35
|
||||
Bottom=55
|
||||
|
||||
[Field 4]
|
||||
Type=Label
|
||||
Text=Installs AssaultCube for multiple users by configuring it to store user data inside the "My Documents" folder. Recommended for Microsoft Windows Vista and Windows 7.
|
||||
Left=32
|
||||
Right=300
|
||||
Top=75
|
||||
Bottom=105
|
||||
+83
-211
@@ -5,108 +5,45 @@
|
||||
|
||||
# Open Browser Window
|
||||
|
||||
# Uses $0
|
||||
Function openLinkNewWindow
|
||||
Push $3
|
||||
Push $2
|
||||
Push $1
|
||||
Push $0
|
||||
ReadRegStr $0 HKCR "http\shell\open\command" ""
|
||||
# Get browser path
|
||||
DetailPrint $0
|
||||
StrCpy $2 '"'
|
||||
StrCpy $1 $0 1
|
||||
StrCmp $1 $2 +2 # if path is not enclosed in " look for space as final char
|
||||
StrCpy $2 ' '
|
||||
StrCpy $3 1
|
||||
loop:
|
||||
StrCpy $1 $0 1 $3
|
||||
DetailPrint $1
|
||||
StrCmp $1 $2 found
|
||||
StrCmp $1 "" found
|
||||
IntOp $3 $3 + 1
|
||||
Goto loop
|
||||
!macro openLink un
|
||||
# Uses $0
|
||||
Function ${un}openLinkNewWindow
|
||||
Push $3
|
||||
Push $2
|
||||
Push $1
|
||||
Push $0
|
||||
ReadRegStr $0 HKCR "http\shell\open\command" ""
|
||||
# Get browser path
|
||||
DetailPrint $0
|
||||
StrCpy $2 '"'
|
||||
StrCpy $1 $0 1
|
||||
StrCmp $1 $2 +2 # if path is not enclosed in " look for space as final char
|
||||
StrCpy $2 ' '
|
||||
StrCpy $3 1
|
||||
loop:
|
||||
StrCpy $1 $0 1 $3
|
||||
DetailPrint $1
|
||||
StrCmp $1 $2 found
|
||||
StrCmp $1 "" found
|
||||
IntOp $3 $3 + 1
|
||||
Goto loop
|
||||
|
||||
found:
|
||||
StrCpy $1 $0 $3
|
||||
StrCmp $2 " " +2
|
||||
StrCpy $1 '$1"'
|
||||
found:
|
||||
StrCpy $1 $0 $3
|
||||
StrCmp $2 " " +2
|
||||
StrCpy $1 '$1"'
|
||||
|
||||
Pop $0
|
||||
Exec '$1 $0'
|
||||
Pop $1
|
||||
Pop $2
|
||||
Pop $3
|
||||
FunctionEnd
|
||||
Pop $0
|
||||
Exec '$1 $0'
|
||||
Pop $1
|
||||
Pop $2
|
||||
Pop $3
|
||||
FunctionEnd
|
||||
!macroend
|
||||
|
||||
# Uses $0
|
||||
Function un.openLinkNewWindow
|
||||
Push $3
|
||||
Push $2
|
||||
Push $1
|
||||
Push $0
|
||||
ReadRegStr $0 HKCR "http\shell\open\command" ""
|
||||
# Get browser path
|
||||
DetailPrint $0
|
||||
StrCpy $2 '"'
|
||||
StrCpy $1 $0 1
|
||||
StrCmp $1 $2 +2 # if path is not enclosed in " look for space as final char
|
||||
StrCpy $2 ' '
|
||||
StrCpy $3 1
|
||||
loop:
|
||||
StrCpy $1 $0 1 $3
|
||||
DetailPrint $1
|
||||
StrCmp $1 $2 found
|
||||
StrCmp $1 "" found
|
||||
IntOp $3 $3 + 1
|
||||
Goto loop
|
||||
!insertmacro openLink ""
|
||||
!insertmacro openLink "un."
|
||||
|
||||
found:
|
||||
StrCpy $1 $0 $3
|
||||
StrCmp $2 " " +2
|
||||
StrCpy $1 '$1"'
|
||||
|
||||
Pop $0
|
||||
Exec '$1 $0'
|
||||
Pop $1
|
||||
Pop $2
|
||||
Pop $3
|
||||
FunctionEnd
|
||||
|
||||
|
||||
Function SplitFirstStrPart
|
||||
Exch $R0
|
||||
Exch
|
||||
Exch $R1
|
||||
Push $R2
|
||||
Push $R3
|
||||
StrCpy $R3 $R1
|
||||
StrLen $R1 $R0
|
||||
IntOp $R1 $R1 + 1
|
||||
loop:
|
||||
IntOp $R1 $R1 - 1
|
||||
StrCpy $R2 $R0 1 -$R1
|
||||
StrCmp $R1 0 exit0
|
||||
StrCmp $R2 $R3 exit1 loop
|
||||
exit0:
|
||||
StrCpy $R1 ""
|
||||
Goto exit2
|
||||
exit1:
|
||||
IntOp $R1 $R1 - 1
|
||||
StrCmp $R1 0 0 +3
|
||||
StrCpy $R2 ""
|
||||
Goto +2
|
||||
StrCpy $R2 $R0 "" -$R1
|
||||
IntOp $R1 $R1 + 1
|
||||
StrCpy $R0 $R0 -$R1
|
||||
StrCpy $R1 $R2
|
||||
exit2:
|
||||
Pop $R3
|
||||
Pop $R2
|
||||
Exch $R1 ;rest
|
||||
Exch
|
||||
Exch $R0 ;first
|
||||
FunctionEnd
|
||||
|
||||
; CONFIGURATION
|
||||
|
||||
@@ -115,11 +52,11 @@ FunctionEnd
|
||||
SetCompressor /SOLID lzma
|
||||
|
||||
!define CURPATH ".\" ; must include the installer graphics and the \ac\ directory
|
||||
!define AC_FULLVERSION "v1.2.0.2"
|
||||
!define AC_FULLVERSIONINT "1.2.0.2"
|
||||
!define AC_FULLVERSION "v${AC_FULLVERSIONINT}"
|
||||
!define AC_SHORTNAME "AssaultCube"
|
||||
!define AC_FULLNAME "AssaultCube v1.2.0.2"
|
||||
!define AC_FULLNAMESAVE "AssaultCube_v1.2.0.2"
|
||||
!define AC_FULLNAME "AssaultCube ${AC_FULLVERSION}"
|
||||
!define AC_FULLNAMESAVE "AssaultCube_${AC_FULLVERSION}"
|
||||
!define AC_URLPROTOCOL "assaultcube"
|
||||
!define AC_MAJORVERSIONINT 1
|
||||
!define AC_MINORVERSIONINT 2
|
||||
@@ -131,6 +68,22 @@ InstallDir "$PROGRAMFILES\${AC_SHORTNAME}"
|
||||
InstallDirRegKey HKLM "Software\${AC_SHORTNAME}" ""
|
||||
RequestExecutionLevel admin ; require admin in Vista/7
|
||||
|
||||
Function LeaveDirectory
|
||||
IfFileExists $INSTDIR\Uninstall.exe 0 true
|
||||
MessageBox MB_YESNO|MB_ICONQUESTION \
|
||||
"The directory $INSTDIR already exists. \
|
||||
$\nPrevious AssaultCube version in this directory will be uninstalled, if you will install there new version. \
|
||||
$\n$\nDo you want to continue? Press 'No' to install AssaultCube in different directory." \
|
||||
IDYES true IDNO false
|
||||
true:
|
||||
ClearErrors
|
||||
ExecWait '$INSTDIR\Uninstall.exe /S'
|
||||
Goto next
|
||||
false:
|
||||
Abort
|
||||
next:
|
||||
FunctionEnd
|
||||
|
||||
; Interface Configuration
|
||||
|
||||
!define MUI_HEADERIMAGE
|
||||
@@ -148,9 +101,11 @@ UninstallIcon "${CURPATH}\icon.ico"
|
||||
|
||||
Page custom WelcomePage
|
||||
!insertmacro MUI_PAGE_LICENSE "${CURPATH}\mui_page_license.txt"
|
||||
Page custom InstallationTypePage
|
||||
!insertmacro MUI_PAGE_COMPONENTS
|
||||
|
||||
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE LeaveDirectory
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM"
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\${AC_SHORTNAME}"
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "start_menu"
|
||||
@@ -274,7 +229,6 @@ Page custom FinishPage
|
||||
Var DIALOG
|
||||
Var HEADLINE
|
||||
Var TEXT
|
||||
Var HWND
|
||||
Var IMAGECTL
|
||||
Var IMAGE
|
||||
|
||||
@@ -290,34 +244,15 @@ VIAddVersionKey "ProductVersion" "${AC_FULLVERSIONINT}"
|
||||
|
||||
Function .onInit
|
||||
|
||||
;Uninstall previous installation
|
||||
ReadRegStr $R0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${AC_SHORTNAME}" "UninstallString"
|
||||
StrCmp $R0 "" done
|
||||
|
||||
IfSilent uninst
|
||||
MessageBox MB_YESNO|MB_ICONQUESTION \
|
||||
"${AC_SHORTNAME} is already installed. $\n$\nDo you want to uninstall the previous installation?" \
|
||||
IDYES uninst \
|
||||
IDNO done
|
||||
|
||||
;Run the uninstaller silently
|
||||
uninst:
|
||||
ClearErrors
|
||||
ExecWait '$R0 /S'
|
||||
|
||||
done:
|
||||
|
||||
InitPluginsDir
|
||||
File /oname=$TEMP\welcome.bmp "${CURPATH}\welcome.bmp"
|
||||
|
||||
!insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "InstallTypes.ini" "InstallTypes.ini"
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function .onInstSuccess
|
||||
|
||||
IfSilent skipopenlink
|
||||
StrCpy $0 "http://assault.cubers.net/releasenotes/v1.2/"
|
||||
StrCpy $0 "http://assault.cubers.net/releasenotes/v${AC_MAJORVERSIONINT}.${AC_MINORVERSIONINT}/"
|
||||
Call openLinkNewWindow
|
||||
skipopenlink:
|
||||
|
||||
@@ -326,7 +261,7 @@ FunctionEnd
|
||||
Function un.onUninstSuccess
|
||||
|
||||
IfSilent skipopenlink
|
||||
StrCpy $0 "http://assault.cubers.net/uninstallnotes/v1.2/"
|
||||
StrCpy $0 "http://assault.cubers.net/uninstallnotes/v${AC_MAJORVERSIONINT}.${AC_MINORVERSIONINT}/"
|
||||
Call un.openLinkNewWindow
|
||||
skipopenlink:
|
||||
|
||||
@@ -460,78 +395,6 @@ Function FinishPage
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function DisableMultiuserOption
|
||||
|
||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "InstallTypes.ini" "Field 2" "Flags" "DISABLED"
|
||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "InstallTypes.ini" "Field 4" "Flags" "DISABLED"
|
||||
|
||||
; fix currently selected option
|
||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "InstallTypes.ini" "Field 2" "State" "0"
|
||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "InstallTypes.ini" "Field 1" "State" "1"
|
||||
|
||||
FunctionEnd
|
||||
|
||||
|
||||
Function InstallationTypePage
|
||||
|
||||
; check if "my documents" folder is present, might disable 2nd option
|
||||
|
||||
ReadRegStr $0 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" "Personal"
|
||||
StrCmp $0 "" nohome hashome
|
||||
nohome:
|
||||
|
||||
Call DisableMultiuserOption ; not present, disable option
|
||||
goto homecheckdone
|
||||
|
||||
hashome:
|
||||
homecheckdone:
|
||||
|
||||
|
||||
; check installed windows version, might change default option
|
||||
|
||||
GetVersion::WindowsVersion
|
||||
Pop $R0
|
||||
Push "." ; divider char
|
||||
Push $R0 ; input string
|
||||
Call SplitFirstStrPart
|
||||
Pop $R0 ; major version
|
||||
Pop $R1 ; minor version
|
||||
|
||||
StrCmp $R0 "6" 0 winvercheckdone ; vista
|
||||
|
||||
; suggest multiuser option on vista and later
|
||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "InstallTypes.ini" "Field 2" "State" "1"
|
||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "InstallTypes.ini" "Field 1" "State" "0"
|
||||
|
||||
winvercheckdone:
|
||||
|
||||
|
||||
; set up GUI
|
||||
|
||||
!insertmacro MUI_HEADER_TEXT "Installation Type" "Select the installation type"
|
||||
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "InstallTypes.ini"
|
||||
|
||||
Pop $HWND
|
||||
|
||||
GetDlgItem $1 $HWNDPARENT 1
|
||||
EnableWindow $1 0
|
||||
|
||||
!insertmacro MUI_INSTALLOPTIONS_SHOW
|
||||
Pop $0
|
||||
|
||||
FunctionEnd
|
||||
|
||||
|
||||
Function ConfigureWithoutAppdata
|
||||
|
||||
; configure ac without home dir
|
||||
|
||||
FileOpen $9 "$INSTDIR\AssaultCube.bat" w
|
||||
FileWrite $9 "start bin_win32\ac_client.exe --init %1 %2 %3 %4 %5$\r$\n"
|
||||
FileClose $9
|
||||
|
||||
FunctionEnd
|
||||
|
||||
; Installer Sections
|
||||
|
||||
Section "AssaultCube ${AC_FULLVERSION}" AC
|
||||
@@ -568,22 +431,12 @@ Section "AssaultCube ${AC_FULLVERSION}" AC
|
||||
SetShellVarContext all
|
||||
|
||||
CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
|
||||
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\${AC_SHORTNAME}.lnk" "$INSTDIR\AssaultCube.bat" "" "$INSTDIR\docs\images\favicon.ico" 0 SW_SHOWMINIMIZED
|
||||
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\${AC_SHORTNAME}.lnk" "$INSTDIR\assaultcube.bat" "" "$INSTDIR\docs\images\favicon.ico" 0 SW_SHOWMINIMIZED
|
||||
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\docs\images\favicon.ico" 0
|
||||
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\README.lnk" "$INSTDIR\README.html" "" "" 0
|
||||
|
||||
!insertmacro MUI_STARTMENU_WRITE_END
|
||||
|
||||
|
||||
; set up ac dir config
|
||||
|
||||
!insertmacro MUI_INSTALLOPTIONS_READ $R0 "InstallTypes.ini" "Field 1" "State"
|
||||
!insertmacro MUI_INSTALLOPTIONS_READ $R1 "InstallTypes.ini" "Field 2" "State"
|
||||
|
||||
StrCmp $R0 "1" 0 appdatadone
|
||||
Call ConfigureWithoutAppdata
|
||||
appdatadone:
|
||||
|
||||
SectionEnd
|
||||
|
||||
Section "OpenAL 1.1 redistributable" OAL
|
||||
@@ -597,7 +450,7 @@ Section "Desktop Shortcuts" DESKSHORTCUTS
|
||||
|
||||
SetShellVarContext all
|
||||
|
||||
CreateShortCut "$DESKTOP\${AC_SHORTNAME}.lnk" "$INSTDIR\AssaultCube.bat" "" "$INSTDIR\docs\images\favicon.ico" 0 SW_SHOWMINIMIZED
|
||||
CreateShortCut "$DESKTOP\${AC_SHORTNAME}.lnk" "$INSTDIR\assaultcube.bat" "" "$INSTDIR\docs\images\favicon.ico" 0 SW_SHOWMINIMIZED
|
||||
|
||||
SectionEnd
|
||||
|
||||
@@ -614,9 +467,28 @@ Section "Uninstall"
|
||||
|
||||
SetShellVarContext all
|
||||
|
||||
; delete directory
|
||||
; delete installation directory
|
||||
|
||||
RMDir /r "$INSTDIR"
|
||||
; RMDir /r "$INSTDIR" is not safe
|
||||
RMDir /r "$INSTDIR\bin_win32"
|
||||
RMDir /r "$INSTDIR\bin_win64"
|
||||
RMDir /r "$INSTDIR\bot"
|
||||
RMDir /r "$INSTDIR\config"
|
||||
Delete "$INSTDIR\demos\tutorial_demo.dmo"
|
||||
RMDir "$INSTDIR\demos"
|
||||
RMDir /r "$INSTDIR\docs"
|
||||
Delete "$INSTDIR\mods\ac_mods_README.html"
|
||||
RMDir "$INSTDIR\mods"
|
||||
RMDir /r "$INSTDIR\packages"
|
||||
RMDir "$INSTDIR\screenshots"
|
||||
Delete "$INSTDIR\assaultcube*.bat"
|
||||
Delete "$INSTDIR\changelog.txt"
|
||||
Delete "$INSTDIR\README*"
|
||||
Delete "$INSTDIR\server*.bat"
|
||||
|
||||
Delete "$INSTDIR\Uninstall.exe"
|
||||
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
; delete shortcuts
|
||||
|
||||
@@ -627,7 +499,7 @@ Section "Uninstall"
|
||||
Delete "$SMPROGRAMS\$StartMenuFolder\${AC_SHORTNAME}.lnk"
|
||||
Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk"
|
||||
Delete "$SMPROGRAMS\$StartMenuFolder\README.lnk"
|
||||
RmDir "$SMPROGRAMS\$StartMenuFolder"
|
||||
RMDir "$SMPROGRAMS\$StartMenuFolder"
|
||||
|
||||
; delete reg keys
|
||||
|
||||
|
||||
@@ -7,70 +7,36 @@
|
||||
|
||||
# Uses $0
|
||||
Function openLinkNewWindow
|
||||
Push $3
|
||||
Push $2
|
||||
Push $1
|
||||
Push $0
|
||||
ReadRegStr $0 HKCR "http\shell\open\command" ""
|
||||
# Get browser path
|
||||
Push $3
|
||||
Push $2
|
||||
Push $1
|
||||
Push $0
|
||||
ReadRegStr $0 HKCR "http\shell\open\command" ""
|
||||
# Get browser path
|
||||
DetailPrint $0
|
||||
StrCpy $2 '"'
|
||||
StrCpy $1 $0 1
|
||||
StrCmp $1 $2 +2 # if path is not enclosed in " look for space as final char
|
||||
StrCpy $2 '"'
|
||||
StrCpy $1 $0 1
|
||||
StrCmp $1 $2 +2 # if path is not enclosed in " look for space as final char
|
||||
StrCpy $2 ' '
|
||||
StrCpy $3 1
|
||||
loop:
|
||||
StrCpy $1 $0 1 $3
|
||||
DetailPrint $1
|
||||
StrCmp $1 $2 found
|
||||
StrCmp $1 "" found
|
||||
IntOp $3 $3 + 1
|
||||
Goto loop
|
||||
StrCpy $3 1
|
||||
loop:
|
||||
StrCpy $1 $0 1 $3
|
||||
DetailPrint $1
|
||||
StrCmp $1 $2 found
|
||||
StrCmp $1 "" found
|
||||
IntOp $3 $3 + 1
|
||||
Goto loop
|
||||
|
||||
found:
|
||||
StrCpy $1 $0 $3
|
||||
StrCmp $2 " " +2
|
||||
StrCpy $1 '$1"'
|
||||
found:
|
||||
StrCpy $1 $0 $3
|
||||
StrCmp $2 " " +2
|
||||
StrCpy $1 '$1"'
|
||||
|
||||
Pop $0
|
||||
Exec '$1 $0'
|
||||
Pop $1
|
||||
Pop $2
|
||||
Pop $3
|
||||
FunctionEnd
|
||||
|
||||
# Uses $0
|
||||
Function un.openLinkNewWindow
|
||||
Push $3
|
||||
Push $2
|
||||
Push $1
|
||||
Push $0
|
||||
ReadRegStr $0 HKCR "http\shell\open\command" ""
|
||||
# Get browser path
|
||||
DetailPrint $0
|
||||
StrCpy $2 '"'
|
||||
StrCpy $1 $0 1
|
||||
StrCmp $1 $2 +2 # if path is not enclosed in " look for space as final char
|
||||
StrCpy $2 ' '
|
||||
StrCpy $3 1
|
||||
loop:
|
||||
StrCpy $1 $0 1 $3
|
||||
DetailPrint $1
|
||||
StrCmp $1 $2 found
|
||||
StrCmp $1 "" found
|
||||
IntOp $3 $3 + 1
|
||||
Goto loop
|
||||
|
||||
found:
|
||||
StrCpy $1 $0 $3
|
||||
StrCmp $2 " " +2
|
||||
StrCpy $1 '$1"'
|
||||
|
||||
Pop $0
|
||||
Exec '$1 $0'
|
||||
Pop $1
|
||||
Pop $2
|
||||
Pop $3
|
||||
Pop $0
|
||||
Exec '$1 $0'
|
||||
Pop $1
|
||||
Pop $2
|
||||
Pop $3
|
||||
FunctionEnd
|
||||
|
||||
|
||||
@@ -80,19 +46,20 @@ FunctionEnd
|
||||
|
||||
SetCompressor /SOLID lzma
|
||||
|
||||
!define CURPATH "R:\projects\actioncube\_svn\trunk\ac\source\vcpp\buildEnv" ; CHANGE ME
|
||||
!define AC_VERSION "v1.0"
|
||||
!define AC_FULLVERSION "v1.0.2"
|
||||
!define AC_FULLVERSIONINT "1.0.2"
|
||||
!define CURPATH ".\" ; CHANGE ME
|
||||
!define AC_FULLVERSION "v1.2.0.2"
|
||||
!define AC_FULLVERSIONINT "1.2.0.2"
|
||||
!define AC_SHORTNAME "AssaultCube"
|
||||
!define AC_FULLNAME "AssaultCube v1.0"
|
||||
!define AC_FULLNAMESAVE "AssaultCube_v1.0"
|
||||
!define AC_FULLNAME "AssaultCube v1.2.0.2"
|
||||
!define AC_FULLNAMESAVE "AssaultCube_v1.2.0.2"
|
||||
!define AC_MAJORVERSIONINT 1
|
||||
!define AC_MINORVERSIONINT 2
|
||||
|
||||
Name "AssaultCube"
|
||||
OutFile "AssaultCube_${AC_FULLVERSION}-Update.exe"
|
||||
InstallDir "$PROGRAMFILES\${AC_FULLNAMESAVE}"
|
||||
InstallDirRegKey HKLM "Software\${AC_FULLNAMESAVE}" ""
|
||||
RequestExecutionLevel admin ; require admin in vista
|
||||
InstallDir "$PROGRAMFILES\${AC_SHORTNAME}"
|
||||
InstallDirRegKey HKLM "Software\${AC_SHORTNAME}" ""
|
||||
RequestExecutionLevel admin ; require admin in Vista/7
|
||||
|
||||
; Interface Configuration
|
||||
|
||||
@@ -241,24 +208,15 @@ Function .onInit
|
||||
InitPluginsDir
|
||||
File /oname=$TEMP\welcome.bmp "${CURPATH}\welcome.bmp"
|
||||
|
||||
!insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "InstallTypes.ini" "InstallTypes.ini"
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function .onInstSuccess
|
||||
|
||||
StrCpy $0 "http://assault.cubers.net/releasenotes/v1.0/"
|
||||
StrCpy $0 "http://assault.cubers.net/releasenotes/v${AC_MAJORVERSIONINT}.${AC_MINORVERSIONINT}/"
|
||||
Call openLinkNewWindow
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function un.onUninstSuccess
|
||||
|
||||
StrCpy $0 "http://assault.cubers.net/uninstallnotes/v1.0/"
|
||||
Call un.openLinkNewWindow
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function HideControls
|
||||
|
||||
LockWindow on
|
||||
@@ -351,7 +309,7 @@ Function WelcomePage
|
||||
|
||||
# validate existing installation
|
||||
ClearErrors
|
||||
ReadRegStr $0 HKLM "Software\${AC_FULLNAMESAVE}" ""
|
||||
ReadRegStr $0 HKLM "Software\${AC_SHORTNAME}" ""
|
||||
IfErrors 0 success
|
||||
MessageBox MB_OK|MB_ICONSTOP "Could not find an existing installation of AssaultCube that could be updated with this Update package. Please get the full package at http://assault.cubers.net/download.html"
|
||||
Quit
|
||||
@@ -402,7 +360,7 @@ Section "AssaultCube ${AC_FULLVERSION} Update" PATCH
|
||||
|
||||
SectionIn RO
|
||||
|
||||
WriteRegStr HKLM "Software\${AC_FULLNAMESAVE}" "version" ${AC_FULLVERSIONINT}
|
||||
WriteRegStr HKLM "Software\${AC_SHORTNAME}" "version" ${AC_FULLVERSIONINT}
|
||||
|
||||
SetOutPath "$INSTDIR"
|
||||
|
||||
@@ -411,8 +369,6 @@ Section "AssaultCube ${AC_FULLVERSION} Update" PATCH
|
||||
SectionEnd
|
||||
|
||||
|
||||
|
||||
|
||||
; set descriptions
|
||||
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
rem add new release tag to master branch of AssaulCube and documentation before start of AC installer preparing
|
||||
rem local branches should be compatible with remote
|
||||
rem you need to have installed 7-Zip and Subversion and added 7z.exe and svn.exe to PATH
|
||||
set acdir=ac
|
||||
set acdircompiled=ac_compiled
|
||||
if not exist "%acdir%\" (mkdir %acdir%) else (rmdir /S /Q %acdir% & mkdir %acdir%)
|
||||
if not exist "%acdircompiled%\" (mkdir %acdircompiled%) else (rmdir /S /Q %acdircompiled% & mkdir %acdircompiled%)
|
||||
|
||||
rem get tag with name of latest AC version
|
||||
git describe --tags --abbrev=0 > tmpFile
|
||||
set /p latest= < tmpFile
|
||||
del tmpFile
|
||||
|
||||
rem get AC files from latest local release tag
|
||||
cd ..\..\..\
|
||||
git archive --format zip --output source\vcpp\buildEnv\%acdir%\%latest%.zip %latest%
|
||||
cd source\vcpp\buildEnv\%acdir%
|
||||
7z x %latest%.zip
|
||||
7z x %latest%.zip -o..\%acdircompiled%
|
||||
del %latest%.zip
|
||||
|
||||
rem get documentation files from latest remote release tag
|
||||
svn export --force https://github.com/assaultcube/assaultcube.github.io/tags/%latest%/htdocs/docs/ docs
|
||||
|
||||
pause
|
||||
@@ -1,3 +0,0 @@
|
||||
svn export svn://svn.code.sf.net/p/actiongame/code/trunk/ac ac
|
||||
svn export --force svn://svn.code.sf.net/p/actiongame/code/ac_website/htdocs/docs ac\docs
|
||||
pause
|
||||
@@ -2,15 +2,37 @@
|
||||
set acdir=ac
|
||||
set workingacdir=..\..\..\
|
||||
|
||||
rem delete config
|
||||
del %acdir%\config\saved.cfg
|
||||
echo "" > %acdir%\config\servers.cfg
|
||||
rem delete stuff related to git and GitHub
|
||||
rmdir /S /Q %acdir%\.git
|
||||
del %acdir%\.gitattributes
|
||||
del %acdir%\.travis.yml
|
||||
for /r %acdir% %%i in (*) do if "%%~nxi"==".gitignore" del "%%i"
|
||||
|
||||
rem delete config and logs
|
||||
del %acdir%\config\init*.cfg
|
||||
del %acdir%\config\saved*.cfg
|
||||
del %acdir%\config\servervita*.cfg
|
||||
del %acdir%\config\servers.cfg
|
||||
del %acdir%\config\history
|
||||
del %acdir%\clientlog*.txt
|
||||
|
||||
rem create config template
|
||||
7z a -tzip -aoa %acdir%\config\configtemplates.zip .\%acdir%\config\autoexec.cfg .\%acdir%\config\favourites.cfg .\%acdir%\config\pcksources.cfg
|
||||
del %acdir%\config\autoexec.cfg
|
||||
del %acdir%\config\favourites.cfg
|
||||
del %acdir%\config\pcksources.cfg
|
||||
|
||||
rem delete map files
|
||||
del %acdir%\packages\maps\*.cgz
|
||||
del %acdir%\packages\maps\*.cfg
|
||||
del %acdir%\packages\maps\servermaps\incoming\*.cgz
|
||||
del %acdir%\packages\maps\servermaps\incoming\*.cfg
|
||||
|
||||
rem purge screenshots
|
||||
del /Q %acdir%\screenshots\*
|
||||
|
||||
rem purge demo directory
|
||||
del /Q %acdir%\demos\*
|
||||
rem purge demo directory, but leave tutorial demo, just in case of future use
|
||||
for %%i in (%acdir%\demos\*) do if not "%%~nxi"=="tutorial_demo.dmo" del /Q "%%i"
|
||||
|
||||
rem remove linux stuff
|
||||
del %acdir%\*.sh
|
||||
@@ -20,14 +42,8 @@ rmdir /S /Q %acdir%\bin_unix
|
||||
rem remove source files (those are available in the source pkg)
|
||||
rmdir /S /Q %acdir%\source
|
||||
|
||||
rem use assaultcube_release as launcher
|
||||
IF EXIST %acdir%\assaultcube_release.bat (
|
||||
del %acdir%\assaultcube.bat
|
||||
ren %acdir%\assaultcube_release.bat assaultcube.bat
|
||||
)
|
||||
|
||||
rem copy shadow files
|
||||
copy /Y %workingacdir%\packages\models\playermodels\shadows.dat %acdir%\packages\models\playermodels\shadows.dat
|
||||
copy /Y %workingacdir%\packages\models\misc\gib01\shadows.dat %acdir%\packages\models\misc\gib01\shadows.dat
|
||||
copy /Y %workingacdir%\packages\models\misc\gib02\shadows.dat %acdir%\packages\models\misc\gib02\shadows.dat
|
||||
copy /Y %workingacdir%\packages\models\misc\gib03\shadows.dat %acdir%\packages\models\misc\gib03\shadows.dat
|
||||
copy /Y %workingacdir%\packages\models\pickups\akimbo\shadows.dat %acdir%\packages\models\pickups\akimbo\shadows.dat
|
||||
@@ -37,12 +53,13 @@ copy /Y %workingacdir%\packages\models\pickups\helmet\shadows.dat %acdir%\packag
|
||||
copy /Y %workingacdir%\packages\models\pickups\kevlar\shadows.dat %acdir%\packages\models\pickups\kevlar\shadows.dat
|
||||
copy /Y %workingacdir%\packages\models\pickups\nade\shadows.dat %acdir%\packages\models\pickups\nade\shadows.dat
|
||||
copy /Y %workingacdir%\packages\models\pickups\pistolclips\shadows.dat %acdir%\packages\models\pickups\pistolclips\shadows.dat
|
||||
copy /Y %workingacdir%\packages\models\playermodels\shadows.dat %acdir%\packages\models\playermodels\shadows.dat
|
||||
copy /Y %workingacdir%\packages\models\weapons\assault\world\shadows.dat %acdir%\packages\models\weapons\assault\world\shadows.dat
|
||||
copy /Y %workingacdir%\packages\models\weapons\carbine\world\shadows.dat %acdir%\packages\models\weapons\carbine\world\shadows.dat
|
||||
copy /Y %workingacdir%\packages\models\weapons\grenade\static\shadows.dat %acdir%\packages\models\weapons\grenade\static\shadows.dat
|
||||
copy /Y %workingacdir%\packages\models\weapons\grenade\world\shadows.dat %acdir%\packages\models\weapons\grenade\world\shadows.dat
|
||||
copy /Y %workingacdir%\packages\models\weapons\knife\world\shadows.dat %acdir%\packages\models\weapons\knife\world\shadows.dat
|
||||
copy /Y %workingacdir%\packages\models\weapons\pistol\world\shadows.dat %acdir%\packages\models\weapons\pistol\world\shadows.dat
|
||||
copy /Y %workingacdir%\packages\models\weapons\carbine\world\shadows.dat %acdir%\packages\models\weapons\carbine\world\shadows.dat
|
||||
copy /Y %workingacdir%\packages\models\weapons\shotgun\world\shadows.dat %acdir%\packages\models\weapons\shotgun\world\shadows.dat
|
||||
copy /Y %workingacdir%\packages\models\weapons\sniper\world\shadows.dat %acdir%\packages\models\weapons\sniper\world\shadows.dat
|
||||
copy /Y %workingacdir%\packages\models\weapons\subgun\world\shadows.dat %acdir%\packages\models\weapons\subgun\world\shadows.dat
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
function get-patch
|
||||
{
|
||||
param($from, $to);
|
||||
# get diff summary as XML
|
||||
[xml] $summary = (svn diff $to $from -x --ignore-eol-style --xml --summarize);
|
||||
# loop through all diff/paths/path nodes
|
||||
# each node represents a modified/new file
|
||||
foreach($item in $summary.diff.paths.path)
|
||||
{
|
||||
# the SVN url
|
||||
$url=$_."#text";
|
||||
# the relative filename
|
||||
$file=($_."#text".Substring($to.Length));
|
||||
# the parent directory
|
||||
$dir=($file | split-path -parent);
|
||||
# create parent directory if it doesn't exist already
|
||||
if((test-path $dir) -eq $false) { mkdir $dir -force};
|
||||
# export current files from the SVN repository
|
||||
svn export $url $file
|
||||
}
|
||||
# package the current dir (.) into patch.zip
|
||||
sevenzip.exe a patch.zip .
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
AssaultCube is FREEWARE. By downloading the AssaultCube package(s) you agree that you may freely use and redistribute the AssaultCube package(s) UNMODIFIED (the AssaultCube package(s) can be originally found at http://sourceforge.net/projects/actiongame/files/ or downloaded with an SVN client from https://actiongame.svn.sourceforge.net/svnroot/actiongame) on any media, subject to the following licensing conditions:
|
||||
AssaultCube is FREEWARE. By downloading the AssaultCube package(s) you agree that you may freely use and redistribute the AssaultCube package(s) UNMODIFIED (the AssaultCube package(s) can be originally found at https://github.com/assaultcube/AC) on any media, subject to the following licensing conditions:
|
||||
|
||||
* AssaultCube is provided "as-is", without any express or implied warranty.
|
||||
In no event will the authors be held liable for any damages arising from the use of AssaultCube.
|
||||
@@ -12,4 +12,3 @@ AssaultCube is FREEWARE. By downloading the AssaultCube package(s) you agree tha
|
||||
PLEASE NOTE: This license is for the entire UNMODIFIED AssaultCube package(s). You may choose to disect, and use or redistribute, etc. pieces of AssaultCube, instead of the entire package(s) if you wish. HOWEVER, you must adhere to the license specified for that particular data. If no license is specified, you MUST assume that the data is COPYRIGHT and you are NOT allowed to redistribute that data outside of an UNMODIFIED AssaultCube package(s).
|
||||
|
||||
For more information, please see: http://assault.cubers.net/docs/license.html
|
||||
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
function new-patch
|
||||
{
|
||||
param($from, $to)
|
||||
# get diff summary as XML
|
||||
[xml] $summary = (svn diff $to $from -x --ignore-eol-style --xml --summarize)
|
||||
# loop through all diff/paths/path nodes
|
||||
# each node represents a modified/new file
|
||||
foreach($item in $summary.diff.paths.path)
|
||||
{
|
||||
# the SVN url
|
||||
$url=$item."#text"
|
||||
# the relative filename
|
||||
$file=($item."#text".Substring($to.Length))
|
||||
# the parent directory
|
||||
$dir=($file | split-path -parent)
|
||||
# create parent directory if it doesn't exist already
|
||||
if((test-path $dir) -eq $false) { mkdir $dir -force}
|
||||
# export current files from the SVN repository
|
||||
svn export $url $file
|
||||
}
|
||||
# package the current dir (.) into patch.zip
|
||||
sevenzip.exe a patch.zip .
|
||||
}
|
||||
@@ -1,2 +1,6 @@
|
||||
"%programfiles%\NSIS\makensis.exe" ac_patch.nsi
|
||||
IF EXIST "%programfiles%\NSIS\makensis.exe" (
|
||||
"%programfiles%\NSIS\makensis.exe" ac_patch.nsi
|
||||
) ELSE (
|
||||
"%programfiles(x86)%\NSIS\makensis.exe" ac_patch.nsi
|
||||
)
|
||||
pause
|
||||
@@ -1,11 +1,4 @@
|
||||
set exportDir=ac
|
||||
|
||||
rem purge old directory
|
||||
del /S /Q %exportDir%
|
||||
|
||||
rem call build processes
|
||||
call build_1_exportSVN.bat
|
||||
call build_1_exportACdev.bat
|
||||
call build_2_prepareACdirectory.bat
|
||||
call build_3_createInstaller.bat
|
||||
|
||||
pause
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
Quick installation notes for the "./buildEnv" folder:
|
||||
|
||||
* Install a command-line SVN client, then include it in your
|
||||
system path variable.
|
||||
* Edit the SVN commands and set your own username.
|
||||
* Install NSIS.
|
||||
* Edit ac.nsi and fix the CURPATH variable.
|
||||
* Install GitHub Desktop/a command line Git client.
|
||||
* Install a command-line SVN client.
|
||||
* Install 7-Zip.
|
||||
* Include git.exe, svn.exe, 7z.exe in your system path variable.
|
||||
* Install NSIS, minimum version 3.0.
|
||||
|
||||
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||||
It should be noted, that the new AssaultCube logos/icon files were gifted to
|
||||
@@ -55,3 +55,4 @@ With the understanding that:
|
||||
used, such as publicity or privacy rights.
|
||||
* Notice - For any reuse or distribution, you must make clear to others the license
|
||||
terms of this work. The best way to do this is with a link to this web page.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user