; planeshift_mb.nsi ; ; This script will install PlaneShift Client ; http://www.planeshift.it ; !macro BIMAGE IMAGE PARMS Push $0 GetTempFileName $0 File /oname=$0 "${IMAGE}" SetBrandingImage ${PARMS} $0 Delete $0 Pop $0 !macroend !define CSSOURCEDIR "d:\Luca\Crystal Space\CS" !define PSSOURCEDIR "d:\Luca\Crystal Space\planeshift" !define CELSOURCEDIR "d:\Luca\Crystal Space\cel" !define DEPLOYDIR "D:\Luca\PS\distro MB\deploy" !define GUIDEDIR "D:\Luca\PS\distro MB\guide" Name "Planeshift" ; name of application, used throughout this file. OutFile "PlaneShiftV0.2.009.exe" ; name of zipped up setup file BGGradient ; Display black to blue gradient behind installation Icon "${PSSOURCEDIR}\support\icons\icon1.ico" ; icon file must be 32x32 in 16 colors BrandingText "A Universe Is Not Enough" ; Sets the text that is shown in the bottom of the install window. ; Adds an XP manifest to the installer XPStyle on ; Add branding image to the installer (an image placeholder on the side). ; It is not enough to just add the placeholder, we must set the image too... ; We will later set the image in every pre-page function. ; We can also set just one persistent image in .onGUIInit AddBrandingImage left 300 ; Sets the font of the installer ;SetFont "Comic Sans MS" 8 ; Just to make it three pages... LicenseText "By installing Planeshift, you are agreeing to this license." LicenseData "psuserlicense.rtf" ; Some default compiler settings (uncomment and change at will): SetCompress auto ; (can be off or force) SetDatablockOptimize on ; (can be off) CRCCheck on ; (can be off) AutoCloseWindow false ; (can be true for the window go away automatically at end) SetDateSave on ; (can be on to have files restored to their orginal date) DirText "PlaneShift V0.2.009 (MolecularBlue)" ; Pages Page license licenseImage Page directory dirImage Page instfiles instImage Function licenseImage !insertmacro BIMAGE "${PSSOURCEDIR}\support\icons\wallpaper_01.bmp" /RESIZETOFIT FunctionEnd Function dirImage !insertmacro BIMAGE "${PSSOURCEDIR}\support\icons\wallpaper_01.bmp" /RESIZETOFIT FunctionEnd Function instImage !insertmacro BIMAGE "${PSSOURCEDIR}\support\icons\wallpaper_02.bmp" /RESIZETOFIT FunctionEnd ; Install dir InstallDir "$PROGRAMFILES\PlaneShift" InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\PlaneShift Team\PlaneShift" "" Section "" ; (default section) ; add files / whatever that need to be installed here. WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\PlaneShift Team\PlaneShift" "" "$INSTDIR" WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\PlaneShift" "DisplayName" "PlaneShift (remove only)" WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\PlaneShift" "UninstallString" '"$INSTDIR\uninst.exe"' ; ; Store all files ; ; msvc 7.0 dll SetOutPath $SYSDIR SetOverwrite off File 'C:\WINNT\system32\msvcr70.dll' File 'C:\WINNT\system32\msvcp70.dll' SetOverwrite on ; Main inst dir SetOutPath $INSTDIR ; Crystal Space Dlls File '${CSSOURCEDIR}\aws.dll' File '${CSSOURCEDIR}\bugplug.dll' File '${CSSOURCEDIR}\crossbld.dll' File '${CSSOURCEDIR}\csbmpimg.dll' File '${CSSOURCEDIR}\csconin.dll' File '${CSSOURCEDIR}\csconout.dll' File '${CSSOURCEDIR}\csfont.dll' File '${CSSOURCEDIR}\csgifimg.dll' File '${CSSOURCEDIR}\csjpgimg.dll' File '${CSSOURCEDIR}\csparser.dll' File '${CSSOURCEDIR}\cspngimg.dll' File '${CSSOURCEDIR}\cssaver.dll' File '${CSSOURCEDIR}\cssocket.dll' File '${CSSOURCEDIR}\cssynldr.dll' File '${CSSOURCEDIR}\cstgaimg.dll' File '${CSSOURCEDIR}\ddraw2d.dll' File '${CSSOURCEDIR}\dynavis.dll' File '${CSSOURCEDIR}\effects.dll' File '${CSSOURCEDIR}\emit.dll' File '${CSSOURCEDIR}\emitldr.dll' File '${CSSOURCEDIR}\engine.dll' File '${CSSOURCEDIR}\engseq.dll' File '${CSSOURCEDIR}\ensocket.dll' File '${CSSOURCEDIR}\explo.dll' File '${CSSOURCEDIR}\exploldr.dll' File '${CSSOURCEDIR}\fancycon.dll' File '${CSSOURCEDIR}\fire.dll' File '${CSSOURCEDIR}\fireldr.dll' File '${CSSOURCEDIR}\fontplex.dll' File '${CSSOURCEDIR}\fountain.dll' File '${CSSOURCEDIR}\fountldr.dll' File '${CSSOURCEDIR}\freefnt2.dll' File '${CSSOURCEDIR}\freefont.dll' File '${CSSOURCEDIR}\frustvis.dll' File '${CSSOURCEDIR}\genmesh.dll' File '${CSSOURCEDIR}\gl3d.dll' File '${CSSOURCEDIR}\glwin32.dll' File '${CSSOURCEDIR}\gmeshldr.dll' File '${CSSOURCEDIR}\gtreeldr.dll' File '${CSSOURCEDIR}\haze.dll' File '${CSSOURCEDIR}\hazeldr.dll' File '${CSSOURCEDIR}\ieplex.dll' File '${CSSOURCEDIR}\imgplex.dll' File '${CSSOURCEDIR}\inf3d.dll' File '${CSSOURCEDIR}\libjpeg.dll' File '${CSSOURCEDIR}\libmng.dll' File '${CSSOURCEDIR}\libpng.dll' File '${CSSOURCEDIR}\line3d.dll' File '${CSSOURCEDIR}\mballldr.dll' File '${CSSOURCEDIR}\memory.dll' File '${CSSOURCEDIR}\metaball.dll' File '${CSSOURCEDIR}\metagen.dll' File '${CSSOURCEDIR}\mikmod.dll' File '${CSSOURCEDIR}\motion.dll' File '${CSSOURCEDIR}\motldr.dll' File '${CSSOURCEDIR}\netman.dll' File '${CSSOURCEDIR}\null2d.dll' File '${CSSOURCEDIR}\null3d.dll' File '${CSSOURCEDIR}\nullmesh.dll' File '${CSSOURCEDIR}\objie.dll' File '${CSSOURCEDIR}\ogg.dll' File '${CSSOURCEDIR}\opcode.dll' File '${CSSOURCEDIR}\perfstat.dll' File '${CSSOURCEDIR}\png.dll' File '${CSSOURCEDIR}\povie.dll' File '${CSSOURCEDIR}\rain.dll' File '${CSSOURCEDIR}\rainldr.dll' File '${CSSOURCEDIR}\rapid.dll' File '${CSSOURCEDIR}\reporter.dll' File '${CSSOURCEDIR}\rlecodec.dll' File '${CSSOURCEDIR}\sequence.dll' File '${CSSOURCEDIR}\simpcon.dll' File '${CSSOURCEDIR}\sndaiff.dll' File '${CSSOURCEDIR}\sndau.dll' File '${CSSOURCEDIR}\sndds3d.dll' File '${CSSOURCEDIR}\sndiff.dll' File '${CSSOURCEDIR}\sndmod.dll' File '${CSSOURCEDIR}\sndogg.dll' File '${CSSOURCEDIR}\sndplex.dll' File '${CSSOURCEDIR}\sndsoft.dll' File '${CSSOURCEDIR}\sndwav.dll' File '${CSSOURCEDIR}\sndwaveout.dll' File '${CSSOURCEDIR}\snow.dll' File '${CSSOURCEDIR}\snowldr.dll' File '${CSSOURCEDIR}\soft3d.dll' File '${CSSOURCEDIR}\spiral.dll' File '${CSSOURCEDIR}\spirldr.dll' File '${CSSOURCEDIR}\spr2d.dll' File '${CSSOURCEDIR}\spr2dldr.dll' File '${CSSOURCEDIR}\spr3d.dll' File '${CSSOURCEDIR}\spr3dbin.dll' File '${CSSOURCEDIR}\spr3dldr.dll' File '${CSSOURCEDIR}\sprie.dll' File '${CSSOURCEDIR}\starldr.dll' File '${CSSOURCEDIR}\stars.dll' File '${CSSOURCEDIR}\stdrep.dll' File '${CSSOURCEDIR}\thing.dll' File '${CSSOURCEDIR}\thingldr.dll' File '${CSSOURCEDIR}\vfs.dll' File '${CSSOURCEDIR}\vorbis.dll' File '${CSSOURCEDIR}\vorbisfile.dll' File '${CSSOURCEDIR}\xmlparse.dll' File '${CSSOURCEDIR}\xmlread.dll' File '${CSSOURCEDIR}\zlib.dll' ; Crystal Space config files File '${CSSOURCEDIR}\vfs.cfg' File '${CSSOURCEDIR}\scf.cfg' ; Crystal Entity Layer Files File '${CELSOURCEDIR}\*.dll' ; Planeshift Client Program Files File '${PSSOURCEDIR}\pfcharacterdata.dll' File '${PSSOURCEDIR}\pflinearmovement.dll' File '${PSSOURCEDIR}\pfnpcdialog.dll' File '${PSSOURCEDIR}\pfproximitylist.dll' File '${PSSOURCEDIR}\psadmin.dll' File '${PSSOURCEDIR}\psgui.dll' File '${PSSOURCEDIR}\pssound.dll' File '${PSSOURCEDIR}\psclient.exe' File '${PSSOURCEDIR}\pssetup.exe' ;Matze updater File '${PSSOURCEDIR}\updater.exe' File '${PSSOURCEDIR}\updaterconfig.xml' ; sarm updater ;File '${PSSOURCEDIR}\fupdater.exe' ;File '${PSSOURCEDIR}\updater.xml' ; Planeshift Config Files File '${PSSOURCEDIR}\psclient.cfg' File '${PSSOURCEDIR}\keys.xml' ; recursively add ALL Deplor Dir File /r '${DEPLOYDIR}\*.*' ; PlaneShift Data Files SetOutPath $INSTDIR\data File '${PSSOURCEDIR}\data\guikeys.xml' File '${PSSOURCEDIR}\data\zoneinfo.xml' ; PlaneShift Cache Files File '${PSSOURCEDIR}\data\cache.zip' File '${PSSOURCEDIR}\data\gui.zip' File '${PSSOURCEDIR}\data\*.def' ; Crystal Space Config Files SetOutPath $INSTDIR\data\config File '${CSSOURCEDIR}\data\config\engine.cfg' File '${CSSOURCEDIR}\data\config\freetype.cfg' File '${CSSOURCEDIR}\data\config\gl3dfx.cfg' File '${CSSOURCEDIR}\data\config\glnvgf.cfg' File '${CSSOURCEDIR}\data\config\joystick.cfg' File '${CSSOURCEDIR}\data\config\mouse.cfg' File '${CSSOURCEDIR}\data\config\null3d.cfg' File '${CSSOURCEDIR}\data\config\opengl.cfg' File '${CSSOURCEDIR}\data\config\soft3d.cfg' File '${CSSOURCEDIR}\data\config\sound.cfg' File '${CSSOURCEDIR}\data\config\system.cfg' File '${CSSOURCEDIR}\data\config\video.cfg' ; pssetup def file File '${PSSOURCEDIR}\data\config\psclient-setup.def' ; Planeshift Fonts Files SetOutPath $INSTDIR\data\ttf File '${PSSOURCEDIR}\data\ttf\arial.ttf' File '${PSSOURCEDIR}\data\ttf\ariali.ttf' File '${PSSOURCEDIR}\data\ttf\becker-m.ttf' File '${PSSOURCEDIR}\data\ttf\comic.ttf' File '${PSSOURCEDIR}\data\ttf\cour.ttf' File '${PSSOURCEDIR}\data\ttf\scurlock.ttf' File '${PSSOURCEDIR}\data\ttf\verdana.ttf' ; Planeshift Art Files SetOutPath $INSTDIR\art File '${PSSOURCEDIR}\art\README' File '${PSSOURCEDIR}\art\gamelib.xml' File '${PSSOURCEDIR}\art\menulib.xml' File '${PSSOURCEDIR}\art\racelib.xml' File '${PSSOURCEDIR}\art\soundlib.xml' ; File '${PSSOURCEDIR}\art\models.zip' MUST BE IN DEPLOY DIR File '${PSSOURCEDIR}\art\ps.gif' File '${PSSOURCEDIR}\art\ps_small.gif' File '${PSSOURCEDIR}\art\psclient-setup.zip' SetOutPath $INSTDIR\art\backdrop File '${PSSOURCEDIR}\art\backdrop\*.*' SetOutPath $INSTDIR\art\buttons File '${PSSOURCEDIR}\art\buttons\*.*' SetOutPath $INSTDIR\art\buttons\icons File '${PSSOURCEDIR}\art\buttons\icons\*.*' SetOutPath $INSTDIR\art\cache File /r '${PSSOURCEDIR}\art\cache\*.*' SetOutPath $INSTDIR\art\gui File '${PSSOURCEDIR}\art\gui\*.*' ; Planeshift Music/Sound Files ;SetOutPath $INSTDIR\art\music ;File '${PSSOURCEDIR}\art\music\*.ogg' SetOutPath $INSTDIR\art\music\effects File '${PSSOURCEDIR}\art\music\effects\*.*' SetOutPath $INSTDIR\art\music\gui File '${PSSOURCEDIR}\art\music\gui\*.*' SetOutPath $INSTDIR\art\music\gui\ccreate File '${PSSOURCEDIR}\art\music\gui\ccreate\*.*' SetOutPath $INSTDIR\art\music\gui\menu File '${PSSOURCEDIR}\art\music\gui\menu\*.*' SetOutPath $INSTDIR\art\textures File '${PSSOURCEDIR}\art\textures\*.*' ;SetOutPath $INSTDIR\art\textures\races THIS SHOULD BE IN DEPLOY DIR ;File /r '${PSSOURCEDIR}\art\textures\races\*.*' SetOutPath $INSTDIR\art\textures\weapons File '${PSSOURCEDIR}\art\textures\weapons\*.*' ; things like chests SetOutPath $INSTDIR\art\things File '${PSSOURCEDIR}\art\things\*.*' SetOutPath $INSTDIR\art\things\weapons File '${PSSOURCEDIR}\art\things\weapons\*.*' ; Planeshift World Files SetOutPath $INSTDIR\art\world #File '${PSSOURCEDIR}\art\world\hydlaa.zip' File '${PSSOURCEDIR}\art\world\podium.zip' File '${PSSOURCEDIR}\art\world\lighting.xml' SetOutPath $INSTDIR\docs File '${PSSOURCEDIR}\docs\credit.txt' ;File '${PSSOURCEDIR}\docs\credit_AtomicBlue.txt' FILE '${PSSOURCEDIR}\support\wininstall\psuserlicense.rtf' SetOutPath $INSTDIR\support\icons File '${PSSOURCEDIR}\support\icons\icon1.ico' File '${PSSOURCEDIR}\support\icons\ps-gem.ico' File '${PSSOURCEDIR}\support\icons\manual.ico' File '${PSSOURCEDIR}\support\icons\setup.ico' File '${PSSOURCEDIR}\support\icons\updater.ico' ; PlaneShift rules Dir SetOutPath $INSTDIR\rules File '${PSSOURCEDIR}\rules\README' File '${PSSOURCEDIR}\rules\advantages.xml' File '${PSSOURCEDIR}\rules\jobs.xml' File '${PSSOURCEDIR}\rules\rpgrules.xml' ; Player Guide SetOutPath $INSTDIR\guide File /r '${GUIDEDIR}\*.*' ; ; End of files. ; ; Now set up shortcuts on Start Menu SetOutPath $INSTDIR CreateDirectory "$SMPROGRAMS\Planeshift" CreateShortCut "$SMPROGRAMS\Planeshift\Planeshift - OpenGL Mode.lnk" "$INSTDIR\psclient.exe" "-video=opengl" "$INSTDIR\support\icons\icon1.ico" 0 CreateShortCut "$SMPROGRAMS\Planeshift\Planeshift - Safe (Slow) Mode.lnk" "$INSTDIR\psclient.exe" "-video=software" "$INSTDIR\support\icons\icon1.ico" 0 CreateShortCut "$SMPROGRAMS\Planeshift\Planeshift Setup.lnk" "$INSTDIR\pssetup.exe" "" "$INSTDIR\support\icons\setup.ico" 0 CreateShortCut "$SMPROGRAMS\Planeshift\Planeshift Player Guide.lnk" "$INSTDIR\guide\playerguide.html" "" "$INSTDIR\support\icons\manual.ico" 0 CreateShortCut "$SMPROGRAMS\Planeshift\Planeshift Web Site!.lnk" "C:\Program Files\Internet Explorer\IEXPLORE.EXE" "http://www.planeshift.it" "$INSTDIR\support\icons\ps-gem.ico" 0 CreateShortCut "$SMPROGRAMS\Planeshift\Planeshift Updater.lnk" "$INSTDIR\updater.exe" "" "$INSTDIR\support\icons\updater.ico" 0 CreateShortCut "$SMPROGRAMS\Planeshift\Uninstall.lnk" "$INSTDIR\uninst.exe" ; Create Uninstaller WriteUninstaller "$INSTDIR\uninst.exe" SectionEnd ; end of default section ; Another page for uninstaller UninstallText "This will uninstall PlaneShift Client from your system" Section Uninstall ; Uninstall pages UninstPage uninstConfirm un.uninstImage UninstPage instfiles un.instImage ; add delete commands to delete whatever files/registry keys/etc you installed here. Delete "$INSTDIR\*.*" Delete "$INSTDIR\art\*.*" Delete "$INSTDIR\art\backdrop\*.*" Delete "$INSTDIR\art\buttons\*.*" Delete "$INSTDIR\art\cache\*.*" Delete "$INSTDIR\art\music\*.*" Delete "$INSTDIR\art\textures\*.*" Delete "$INSTDIR\art\world\*.*" Delete "$SMPROGRAMS\PlaneShift\*.lnk" Delete "$SMPROGRAMS\PlaneShift" DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\PlaneShift Team\PlaneShift" DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\PlaneShift" RMDir /r "$INSTDIR" SectionEnd ; end of uninstall section Function un.uninstImage !insertmacro BIMAGE "${PSSOURCEDIR}\support\icons\wallpaper_02.bmp" /RESIZETOFIT FunctionEnd Function un.instImage !insertmacro BIMAGE "${PSSOURCEDIR}\support\icons\wallpaper_02.bmp" /RESIZETOFIT FunctionEnd