2011-02-18 14:31:32 +00:00
|
|
|
; NSIS description file for Q3Rally installer
|
|
|
|
;
|
|
|
|
; EDIT WITH CARE!
|
|
|
|
;
|
|
|
|
; This file is used to automatically build the installers in the
|
|
|
|
; openSUSE build service, don't break this!
|
|
|
|
;
|
2017-07-10 01:33:41 +00:00
|
|
|
; you have to copy SDL2.dll and OpenAL32.dll here manually
|
2011-02-18 14:31:32 +00:00
|
|
|
|
|
|
|
!define VERSION "XXXVERSIONXXX"
|
|
|
|
!define RELEASE "XXXRELEASEXXX"
|
|
|
|
|
|
|
|
!define MODDIR "baseq3r"
|
|
|
|
!define PUBLISHER "The Q3Rally Team"
|
|
|
|
!define URL "http://q3rally.com/"
|
|
|
|
|
|
|
|
!define GAMENAME "Q3Rally"
|
2011-03-07 21:18:58 +00:00
|
|
|
!define CLIENT "q3rally.exe"
|
|
|
|
!define SERVER "q3rally_ded.exe"
|
2011-02-18 14:31:32 +00:00
|
|
|
!define GAMEDIR "Q3Rally"
|
|
|
|
!define GAME_FSNAME "q3rally"
|
|
|
|
|
|
|
|
!define MULTIUSER_MUI
|
|
|
|
!define MULTIUSER_EXECUTIONLEVEL Highest
|
|
|
|
!define MULTIUSER_INSTALLMODE_COMMANDLINE
|
|
|
|
!define MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY "Software\${GAME_FSNAME}"
|
|
|
|
!define MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME "Install_Mode"
|
|
|
|
!define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY "Software\${GAME_FSNAME}"
|
|
|
|
!define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME "Install_Dir"
|
|
|
|
!define MULTIUSER_INSTALLMODE_INSTDIR "${GAMEDIR}"
|
|
|
|
!include MultiUser.nsh
|
|
|
|
|
|
|
|
!include "MUI2.nsh"
|
2021-03-15 18:39:56 +00:00
|
|
|
!define MUI_ICON "../q3r_icon.ico"
|
2011-02-18 14:31:32 +00:00
|
|
|
|
|
|
|
; The name of the installer
|
|
|
|
Name "${GAMENAME} ${VERSION}"
|
|
|
|
|
|
|
|
; The file to write
|
2011-12-10 00:15:42 +00:00
|
|
|
OutFile "${GAME_FSNAME}-${VERSION}-${RELEASE}.x86.exe"
|
2011-02-18 14:31:32 +00:00
|
|
|
|
|
|
|
; The default installation directory
|
|
|
|
; set by Multiuser.nsh
|
|
|
|
;InstallDir "$PROGRAMFILES\${GAMEDIR}"
|
|
|
|
|
|
|
|
; Registry key to check for directory (so if you install again, it will
|
|
|
|
; overwrite the old one automatically)
|
|
|
|
; handled by Multiuser.nsh
|
|
|
|
;InstallDirRegKey HKLM "Software\${GAME_FSNAME}" "Install_Dir"
|
|
|
|
|
|
|
|
;--------------------------------
|
|
|
|
;Interface Settings
|
|
|
|
|
|
|
|
!define MUI_ABORTWARNING
|
|
|
|
|
|
|
|
;--------------------------------
|
|
|
|
;Pages
|
|
|
|
|
|
|
|
!insertmacro MULTIUSER_PAGE_INSTALLMODE
|
|
|
|
;!insertmacro MUI_PAGE_LICENSE "../../COPYING.txt"
|
|
|
|
!define MUI_COMPONENTSPAGE_NODESC
|
|
|
|
!insertmacro MUI_PAGE_COMPONENTS
|
|
|
|
!insertmacro MUI_PAGE_DIRECTORY
|
|
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
|
|
|
|
|
|
!insertmacro MUI_UNPAGE_CONFIRM
|
|
|
|
!insertmacro MUI_UNPAGE_INSTFILES
|
|
|
|
|
|
|
|
;--------------------------------
|
|
|
|
;Languages
|
|
|
|
|
|
|
|
!insertmacro MUI_LANGUAGE "English"
|
|
|
|
|
|
|
|
;--------------------------------
|
|
|
|
|
|
|
|
;--------------------------------
|
|
|
|
;Multiuser stuff
|
|
|
|
Function .onInit
|
|
|
|
!insertmacro MULTIUSER_INIT
|
|
|
|
FunctionEnd
|
|
|
|
|
|
|
|
Function un.onInit
|
|
|
|
!insertmacro MULTIUSER_UNINIT
|
|
|
|
FunctionEnd
|
|
|
|
|
|
|
|
; The stuff to install
|
|
|
|
Section "${GAMENAME} ${VERSION}-${RELEASE} (required)"
|
|
|
|
|
|
|
|
SectionIn RO
|
|
|
|
|
|
|
|
; Set output path to the installation directory.
|
|
|
|
SetOutPath $INSTDIR
|
|
|
|
|
2011-12-10 00:15:42 +00:00
|
|
|
!ifndef USE_INTERNAL_SPEEX
|
|
|
|
File "libspeex.dll"
|
|
|
|
!endif
|
|
|
|
!ifndef USE_INTERNAL_ZLIB
|
2011-02-18 14:31:32 +00:00
|
|
|
File "zlib1.dll"
|
2011-12-10 00:15:42 +00:00
|
|
|
!endif
|
|
|
|
!ifndef USE_INTERNAL_JPEG
|
|
|
|
File "jpeg8c.dll"
|
|
|
|
!endif
|
2011-02-18 14:31:32 +00:00
|
|
|
|
|
|
|
; Put file there
|
|
|
|
File "../../build/release-mingw32-x86/${SERVER}"
|
|
|
|
File "../../build/release-mingw32-x86/${CLIENT}"
|
2011-12-10 00:15:42 +00:00
|
|
|
!ifdef USE_RENDERER_DLOPEN
|
|
|
|
File "../../build/release-mingw32-x86/renderer_opengl1_x86.dll"
|
2017-07-10 01:33:41 +00:00
|
|
|
File "../../build/release-mingw32-x86/renderer_opengl2_x86.dll"
|
2011-12-10 00:15:42 +00:00
|
|
|
!endif
|
|
|
|
|
2011-02-18 14:31:32 +00:00
|
|
|
File "../../COPYING.txt"
|
|
|
|
File "/oname=README.txt" "../../README"
|
|
|
|
|
|
|
|
SetOutPath "$INSTDIR\${MODDIR}"
|
|
|
|
File "assets0.pk3"
|
|
|
|
File "../../build/release-mingw32-x86/${MODDIR}/cgamex86.dll"
|
|
|
|
File "../../build/release-mingw32-x86/${MODDIR}/qagamex86.dll"
|
|
|
|
File "../../build/release-mingw32-x86/${MODDIR}/uix86.dll"
|
|
|
|
|
|
|
|
; Write the installation path into the registry
|
|
|
|
WriteRegStr SHCTX "Software\${GAME_FSNAME}" ${MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME} "$INSTDIR"
|
|
|
|
WriteRegStr SHCTX "Software\${GAME_FSNAME}" ${MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME} "$MultiUser.InstallMode"
|
|
|
|
|
|
|
|
; Write the uninstall keys for Windows
|
|
|
|
WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GAME_FSNAME}" "DisplayName" "${GAMENAME}"
|
|
|
|
WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GAME_FSNAME}" "DisplayVersion" "${VERSION}-${RELEASE}"
|
|
|
|
WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GAME_FSNAME}" "Publisher" "${PUBLISHER}"
|
|
|
|
WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GAME_FSNAME}" "URLInfoAbout" "${URL}"
|
|
|
|
WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GAME_FSNAME}" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
|
|
|
WriteRegDWORD SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GAME_FSNAME}" "NoModify" 1
|
|
|
|
WriteRegDWORD SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GAME_FSNAME}" "NoRepair" 1
|
|
|
|
WriteUninstaller "uninstall.exe"
|
|
|
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
; Optional section (can be disabled by the user)
|
|
|
|
Section "Start Menu Shortcuts"
|
|
|
|
|
|
|
|
CreateDirectory "$SMPROGRAMS\${GAMENAME}"
|
|
|
|
CreateShortCut "$SMPROGRAMS\${GAMENAME}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
|
|
|
|
CreateShortCut "$SMPROGRAMS\${GAMENAME}\${GAMENAME}.lnk" "$INSTDIR\${CLIENT}" "" "$INSTDIR\${SERVER}" 0
|
|
|
|
|
|
|
|
SectionEnd
|
|
|
|
|
2017-07-10 01:33:41 +00:00
|
|
|
Section "SDL2.dll"
|
2011-02-18 14:31:32 +00:00
|
|
|
|
|
|
|
SetOutPath $INSTDIR
|
|
|
|
|
2017-07-10 01:33:41 +00:00
|
|
|
File "../../build/release-mingw32-x86/SDL2.dll"
|
2011-02-18 14:31:32 +00:00
|
|
|
|
|
|
|
SectionEnd
|
|
|
|
|
2011-12-10 00:15:42 +00:00
|
|
|
!ifdef USE_OPENAL_DLOPEN
|
|
|
|
Section "OpenAL-Soft library"
|
2011-02-18 14:31:32 +00:00
|
|
|
|
|
|
|
SetOutPath $INSTDIR
|
|
|
|
|
2011-12-10 00:15:42 +00:00
|
|
|
File "OpenAL32.dll"
|
2011-02-18 14:31:32 +00:00
|
|
|
|
|
|
|
SectionEnd
|
2011-12-10 00:15:42 +00:00
|
|
|
!endif
|
2011-02-18 14:31:32 +00:00
|
|
|
|
2011-12-10 00:15:42 +00:00
|
|
|
!ifdef USE_CURL_DLOPEN
|
|
|
|
Section "libcurl"
|
2011-02-18 14:31:32 +00:00
|
|
|
|
|
|
|
SetOutPath $INSTDIR
|
|
|
|
|
2011-12-10 00:15:42 +00:00
|
|
|
File "libcurl-4.dll"
|
2011-02-18 14:31:32 +00:00
|
|
|
|
|
|
|
SectionEnd
|
2011-12-10 00:15:42 +00:00
|
|
|
!endif
|
2011-02-18 14:31:32 +00:00
|
|
|
|
|
|
|
;--------------------------------
|
|
|
|
|
|
|
|
; Uninstaller
|
|
|
|
|
|
|
|
Section "Uninstall"
|
|
|
|
|
|
|
|
; Remove registry keys
|
|
|
|
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GAME_FSNAME}"
|
|
|
|
DeleteRegKey SHCTX "Software\${GAME_FSNAME}"
|
|
|
|
|
|
|
|
; Remove files and uninstaller
|
|
|
|
Delete $INSTDIR\${MODDIR}\pak0.pk3
|
|
|
|
Delete $INSTDIR\${MODDIR}\cgamex86.dll
|
|
|
|
Delete $INSTDIR\${MODDIR}\qagamex86.dll
|
|
|
|
Delete $INSTDIR\${MODDIR}\uix86.dll
|
|
|
|
Delete $INSTDIR\${CLIENT}
|
|
|
|
Delete $INSTDIR\${SERVER}
|
|
|
|
|
ioquake3 resync to revision 2398 from 2369.
This is the last ioquake3 revision before ioquake3 changed from subversion to git at the beginning of 2013.
#5808 - Include and use .glsl in source (rend2)
#5812 - Use refdef's coordinates when drawing to screen shadow fbo, and separate depth texture and screen texture coordinates in glsl shaders.
Include Rend2 renderer in MacOSX bundle
Include OpenGL1 and Rend2 renderers in MacOSX UB
Include Rend2 renderer in NSIS installer.
Include OpenGL1 and Rend2 renderers in Loki Setup Installer.
Have NSIS uninstaller delete rend2.
Split light sample into direct and ambient parts when using deluxemaps or per-vertex light vectors. Fixes #5813.
Fix writting voip data in demos (broke in r2102).
Fix server ignoring client move commands if voip data is included.
Allow changing cl_voip without restarting.
Fix assert failing in CL_ParseVoip() while flipping cl_voip off and on.
Only declare var_SampleToView in lightall shader when it is actually used.
Fix a couple files not ending with a newline.
Fix clients being able to reset their player state and respawn using donedl.
Fix passing arg9 (qvm only), arg10, and arg11 to vmMain for native libs and non-i386 compiled or interpated qvms. (Currently they aren't use in vmMain in game, cgame, or ui.)
Fix passing args[11] to args[15] from vm to engine on ppc64 and sparc64. Some of the args are used by game bot prediction syscalls. May have been causing bugs. Note: This was fixed for x86_64 in r2163.
Fix reconnect command to work after leaving server. (#5794)
Fix dedicated server crashing when using MSG_ReadDelta*, though it only happens if someone modifies the engine. (#5449)
Makefile fixes for OpenBSD by Jonathan Gray. (#5728)
Save all arguments from connect for reconnect command.
Remove unnecessary localhost check from reconnect command.
Support r_srgb even without hardware support. Also tweak default autoexposure/tonemap settings to look good on both r_srgb 0 and 1.
Changed the MacOS-X build system to make UB's containing i386 and x86_64 arches and made make-macosx.sh not build UB's but only standard binaries
Fix spectator client being switched from follow to free after map_restart if following a client with a higher client number.
Fix client unlinking issue caused by ent->s.number being set to followed client's ps->clientNum after map_restart. Reported by Ensiform.
Changes from Ensiform:
- In G_AddBot, try to allocate clientNum before doing anything else.
- In G_AddBot, don't set SVF_BOT and inuse. It's done in ClientConnect, plus inuse causes ClientDisconnect to be run for no reason.
- In G_AddBot, only set skill in bot useinfo once.
- Avoid using cl->ps.clientNum to check if cl is a bot.
Fix bot skill format so it doesn't always have a space at the beginning of it.
More fixes to the macosx buildsystem. This removes the SDL Framework and makes use of a SDL library that is position independant. This also brings back PPC builds into the UB and also as a standa alone build choice.
Have make-macosx.sh require the user to specify which architecture she/he wants to build for and suggest building UB's if the user is unaware of what architectures are
Lets list all the valid options.
2017-07-09 21:21:12 +00:00
|
|
|
!ifdef USE_RENDERER_DLOPEN
|
|
|
|
Delete $INSTDIR\renderer_opengl1_x86.dll
|
2017-07-10 01:33:41 +00:00
|
|
|
Delete $INSTDIR\renderer_opengl2_x86.dll
|
ioquake3 resync to revision 2398 from 2369.
This is the last ioquake3 revision before ioquake3 changed from subversion to git at the beginning of 2013.
#5808 - Include and use .glsl in source (rend2)
#5812 - Use refdef's coordinates when drawing to screen shadow fbo, and separate depth texture and screen texture coordinates in glsl shaders.
Include Rend2 renderer in MacOSX bundle
Include OpenGL1 and Rend2 renderers in MacOSX UB
Include Rend2 renderer in NSIS installer.
Include OpenGL1 and Rend2 renderers in Loki Setup Installer.
Have NSIS uninstaller delete rend2.
Split light sample into direct and ambient parts when using deluxemaps or per-vertex light vectors. Fixes #5813.
Fix writting voip data in demos (broke in r2102).
Fix server ignoring client move commands if voip data is included.
Allow changing cl_voip without restarting.
Fix assert failing in CL_ParseVoip() while flipping cl_voip off and on.
Only declare var_SampleToView in lightall shader when it is actually used.
Fix a couple files not ending with a newline.
Fix clients being able to reset their player state and respawn using donedl.
Fix passing arg9 (qvm only), arg10, and arg11 to vmMain for native libs and non-i386 compiled or interpated qvms. (Currently they aren't use in vmMain in game, cgame, or ui.)
Fix passing args[11] to args[15] from vm to engine on ppc64 and sparc64. Some of the args are used by game bot prediction syscalls. May have been causing bugs. Note: This was fixed for x86_64 in r2163.
Fix reconnect command to work after leaving server. (#5794)
Fix dedicated server crashing when using MSG_ReadDelta*, though it only happens if someone modifies the engine. (#5449)
Makefile fixes for OpenBSD by Jonathan Gray. (#5728)
Save all arguments from connect for reconnect command.
Remove unnecessary localhost check from reconnect command.
Support r_srgb even without hardware support. Also tweak default autoexposure/tonemap settings to look good on both r_srgb 0 and 1.
Changed the MacOS-X build system to make UB's containing i386 and x86_64 arches and made make-macosx.sh not build UB's but only standard binaries
Fix spectator client being switched from follow to free after map_restart if following a client with a higher client number.
Fix client unlinking issue caused by ent->s.number being set to followed client's ps->clientNum after map_restart. Reported by Ensiform.
Changes from Ensiform:
- In G_AddBot, try to allocate clientNum before doing anything else.
- In G_AddBot, don't set SVF_BOT and inuse. It's done in ClientConnect, plus inuse causes ClientDisconnect to be run for no reason.
- In G_AddBot, only set skill in bot useinfo once.
- Avoid using cl->ps.clientNum to check if cl is a bot.
Fix bot skill format so it doesn't always have a space at the beginning of it.
More fixes to the macosx buildsystem. This removes the SDL Framework and makes use of a SDL library that is position independant. This also brings back PPC builds into the UB and also as a standa alone build choice.
Have make-macosx.sh require the user to specify which architecture she/he wants to build for and suggest building UB's if the user is unaware of what architectures are
Lets list all the valid options.
2017-07-09 21:21:12 +00:00
|
|
|
!endif
|
|
|
|
|
2011-02-18 14:31:32 +00:00
|
|
|
Delete $INSTDIR\COPYING.txt
|
|
|
|
Delete $INSTDIR\README.txt
|
|
|
|
|
2011-12-10 00:15:42 +00:00
|
|
|
!ifndef USE_INTERNAL_SPEEX
|
|
|
|
Delete $INSTDIR\libspeex.dll
|
|
|
|
!endif
|
|
|
|
!ifndef USE_INTERNAL_ZLIB
|
2011-02-18 14:31:32 +00:00
|
|
|
Delete $INSTDIR\zlib1.dll
|
2011-12-10 00:15:42 +00:00
|
|
|
!endif
|
|
|
|
!ifndef USE_INTERNAL_JPEG
|
|
|
|
Delete $INSTDIR\jpeg8c.dll
|
|
|
|
!endif
|
2011-02-18 14:31:32 +00:00
|
|
|
|
2017-07-10 01:33:41 +00:00
|
|
|
Delete $INSTDIR\SDL2.dll
|
2011-12-10 00:15:42 +00:00
|
|
|
!ifdef USE_OPENAL_DLOPEN
|
2011-02-18 14:31:32 +00:00
|
|
|
Delete $INSTDIR\OpenAL32.dll
|
2011-12-10 00:15:42 +00:00
|
|
|
!endif
|
|
|
|
!ifdef USE_CURL_DLOPEN
|
|
|
|
Delete $INSTDIR\libcurl-4.dll
|
|
|
|
!endif
|
2011-02-18 14:31:32 +00:00
|
|
|
|
|
|
|
Delete $INSTDIR\uninstall.exe
|
|
|
|
|
|
|
|
; Remove shortcuts, if any
|
|
|
|
Delete "$SMPROGRAMS\${GAMENAME}\Uninstall.lnk"
|
|
|
|
Delete "$SMPROGRAMS\${GAMENAME}\${GAMENAME}.lnk"
|
|
|
|
|
|
|
|
; Remove directories used
|
|
|
|
RMDir "$SMPROGRAMS\${GAMENAME}"
|
|
|
|
RMDir "$INSTDIR\${MODDIR}"
|
|
|
|
RMDir "$INSTDIR"
|
|
|
|
|
|
|
|
SectionEnd
|