Use libosso to prevent screen blanking
[neverball] / scripts / neverball.nsi
index 10fed8a..988afa4 100644 (file)
@@ -2,17 +2,29 @@
 
 !include "LogicLib.nsh"
 
+#------------------------------------------------------------------------------
+
+!ifndef VERSION
+!define VERSION "unknown"
+!endif
+
+!ifndef OUTFILE
+!define OUTFILE "../neverball-${VERSION}-setup.exe"
+!endif
+
 !define UNINSTALL_REG_ROOT \
     "Software\Microsoft\Windows\CurrentVersion\Uninstall\Neverball"
 
 #------------------------------------------------------------------------------
 
-OutFile "../neverball-${VERSION}-setup.exe"
+OutFile ${OUTFILE}
 Name "Neverball ${VERSION}"
 LicenseData "COPYING.txt"
 InstallDir "$PROGRAMFILES\Neverball"
 
 XPStyle on
+SetCompressor /solid lzma
+RequestExecutionLevel user
 
 #------------------------------------------------------------------------------
 
@@ -24,6 +36,7 @@ Page instfiles
 Function .onInit
     Call IsUserAdmin
     Pop $R0
+
     ${If} $R0 == "true"
         SetShellVarContext all
     ${EndIf}
@@ -32,24 +45,27 @@ FunctionEnd
 Section "Neverball/Neverputt"
     SectionIn RO
 
-    SetOutPath $INSTDIR
+    SetOutPath "$INSTDIR"
 
-    File *.txt
-    File /oname=AUTHORS.txt doc\AUTHORS.txt
-    File /oname=MANUAL.txt doc\MANUAL.txt
-
-    File /r /x .svn /x *.map /x obj data
+    File *.txt doc\*.txt
+    File /r /x .svn /x *.map /x *.obj data
     File /r locale
 
     File neverball.exe neverputt.exe *.dll
 
-    File /oname=data\icon\neverball.ico dist\newneverball.ico
-    File /oname=data\icon\neverputt.ico dist\newneverputt.ico
+    File /oname=data\icon\neverball.ico dist\ico\neverball.ico
+    File /oname=data\icon\neverputt.ico dist\ico\neverputt.ico
+
+    CreateDirectory "$INSTDIR\bin"
 
-    WriteUninstaller $INSTDIR\uninstall.exe
+    SetOutPath "$INSTDIR\bin"
 
+    File scripts\neverball.bat
+    File scripts\neverputt.bat
+    File contrib\curve.exe
 
-    # http://nsis.sourceforge.net/Add_uninstall_information_to_Add/Remove_Programs
+    # http://nsis.sourceforge.net/\
+    # Add_uninstall_information_to_Add/Remove_Programs
 
     WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
         "DisplayName" "Neverball ${VERSION}"
@@ -69,40 +85,43 @@ Section "Neverball/Neverputt"
         "NoModify" 1
     WriteRegDWORD SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
         "NoRepair" 1
+
+    WriteUninstaller "$INSTDIR\uninstall.exe"
 SectionEnd
 
 Section "Mapping tools (compiler, maps, ...)"
-    SetOutPath $INSTDIR
+    SetOutPath "$INSTDIR"
 
     File mapc.exe
+    File /oname=bin\mapc.bat scripts\mapc.bat
 
     SetOutPath "$INSTDIR\data"
 
     File /r /x ".svn" data\*.map
-    File /r /x ".svn" data\obj
+    File /r /x ".svn" data\*.obj
 SectionEnd
 
-SectionGroup "Create shortcuts"
+SectionGroup "Shortcuts"
     Section "In Start menu"
-        # Reset to get a proper working directory for short-cuts
-        SetOutPath $INSTDIR
+        # Reset to get a proper working directory
+        SetOutPath "$INSTDIR"
     
-        CreateDirectory "$SMPROGRAMS\Games"
+        CreateDirectory "$SMPROGRAMS\Neverball"
     
         CreateShortcut \
-            "$SMPROGRAMS\Games\Neverball.lnk" \
+            "$SMPROGRAMS\Neverball\Neverball.lnk" \
             "$INSTDIR\neverball.exe" ""       \
             "$INSTDIR\data\icon\neverball.ico"
     
         CreateShortcut \
-            "$SMPROGRAMS\Games\Neverputt.lnk" \
+            "$SMPROGRAMS\Neverball\Neverputt.lnk" \
             "$INSTDIR\neverputt.exe" ""       \
             "$INSTDIR\data\icon\neverputt.ico"
     SectionEnd
 
     Section "On desktop"
-        # Reset to get a proper working directory for short-cuts
-        SetOutPath $INSTDIR
+        # Reset to get a proper working directory
+        SetOutPath "$INSTDIR"
     
         CreateShortcut \
             "$DESKTOP\Neverball.lnk"          \
@@ -124,15 +143,16 @@ UninstPage instfiles
 Function un.onInit
     Call un.IsUserAdmin
     Pop $R0
+
     ${If} $R0 == "true"
         SetShellVarContext all
     ${EndIf}
 FunctionEnd
 
 Section "Uninstall"
-    Delete "$SMPROGRAMS\Games\Neverball.lnk"
-    Delete "$SMPROGRAMS\Games\Neverputt.lnk"
-    RMDir  "$SMPROGRAMS\Games"
+    Delete "$SMPROGRAMS\Neverball\Neverball.lnk"
+    Delete "$SMPROGRAMS\Neverball\Neverputt.lnk"
+    RMDir  "$SMPROGRAMS\Neverball"
     Delete "$DESKTOP\Neverball.lnk"
     Delete "$DESKTOP\Neverputt.lnk"
 
@@ -185,4 +205,4 @@ FunctionEnd
 
 #------------------------------------------------------------------------------
 
-# vim:sts=4:sw=4:et:nowrap:
+# vim:sts=4:sw=4:et: