From 5d69ab51fd28961fd43b7e7646768b5a6dcbcb25 Mon Sep 17 00:00:00 2001 From: tobigun Date: Sat, 21 Mar 2009 19:16:07 +0000 Subject: lua stuff moved to experimental folder git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@1642 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Lua/installer/UltraStar Deluxe.nsi | 1189 +++++++++++++++++++++++ Lua/installer/languages/English.nsh | 94 ++ Lua/installer/languages/German.nsh | 93 ++ Lua/installer/settings/GameExplorer.nsh | 198 ++++ Lua/installer/settings/files_main_install.nsh | 55 ++ Lua/installer/settings/files_main_uninstall.nsh | 83 ++ Lua/installer/settings/functions.nsh | 77 ++ Lua/installer/settings/settings-1031.ini | 131 +++ Lua/installer/settings/settings-1033.ini | 131 +++ Lua/installer/settings/variables.nsh | 76 ++ 10 files changed, 2127 insertions(+) create mode 100644 Lua/installer/UltraStar Deluxe.nsi create mode 100644 Lua/installer/languages/English.nsh create mode 100644 Lua/installer/languages/German.nsh create mode 100644 Lua/installer/settings/GameExplorer.nsh create mode 100644 Lua/installer/settings/files_main_install.nsh create mode 100644 Lua/installer/settings/files_main_uninstall.nsh create mode 100644 Lua/installer/settings/functions.nsh create mode 100644 Lua/installer/settings/settings-1031.ini create mode 100644 Lua/installer/settings/settings-1033.ini create mode 100644 Lua/installer/settings/variables.nsh (limited to 'Lua/installer') diff --git a/Lua/installer/UltraStar Deluxe.nsi b/Lua/installer/UltraStar Deluxe.nsi new file mode 100644 index 00000000..c8df95dd --- /dev/null +++ b/Lua/installer/UltraStar Deluxe.nsi @@ -0,0 +1,1189 @@ +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; UltraStar Deluxe Installer: Main +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +!include MUI2.nsh +!include WinVer.nsh +!include LogicLib.nsh +!include InstallOptions.nsh + +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; Variables +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +; Installer Paths: + +!define path_settings ".\settings" +!define path_languages ".\languages" +!define path_images "..\installerdependencies\images" +!define path_plugins "..\installerdependencies\plugins" +!define path_gdf "$WINDIR\gdf.dll" + +!addPluginDir "${path_plugins}\" + +!include "${path_settings}\variables.nsh" +!include "${path_settings}\GameExplorer.nsh" +!include "${path_settings}\functions.nsh" + +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; Export Settings +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +SetCompress Auto +SetCompressor /SOLID lzma +SetCompressorDictSize 32 +SetDatablockOptimize On + +XPStyle on + +Name "${name} v.${version}" +Brandingtext "${name} v.${version} Installation" +OutFile "ultrastardx-${version}-installer-full.exe" + +InstallDir "$PROGRAMFILES\${name}" + +; Windows Vista: + +RequestExecutionLevel user + +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; Interface Settings +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +; Icons: + +!define MUI_ICON "${path_images}\${img_install}" +!define MUI_UNICON "${path_images}\${img_uninstall}" + +; Header and Side Images: + +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_BITMAP "${path_images}\${img_header}" +!define MUI_HEADERIMAGE_UNBITMAP "${path_images}\${img_header}" + +!define MUI_WELCOMEFINISHPAGE_BITMAP "${path_images}\${img_side}" +!define MUI_UNWELCOMEFINISHPAGE_BITMAP "${path_images}\${img_side}" + +; Abort Warnings: + +!define MUI_ABORTWARNING +!define MUI_ABORTWARNING_TEXT "$(abort_install)" +!define MUI_ABORTWARNING_CANCEL_DEFAULT + +!define MUI_UNABORTWARNING +!define MUI_UNABORTWARNING_TEXT "$(abort_uninstall)" +!define MUI_UNABORTWARNING_CANCEL_DEFAULT + +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; Pages Installation Routine Settings +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +; Welcome Page: + +!define MUI_WELCOMEPAGE_TITLE_3LINES +!define MUI_WELCOMEPAGE_TITLE "$(page_welcome_title)" +!define MUI_WELCOMEPAGE_TEXT "$(page_welcome_txt)" + +; License Page: + +!define MUI_LICENSEPAGE_RADIOBUTTONS + +; Components Page: + +!define MUI_COMPONENTSPAGE_SMALLDESC +!define MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO $(page_components_info) + +; Finish Pages: + +!define MUI_FINISHPAGE_TITLE_3LINES + +!define MUI_FINISHPAGE_TEXT_LARGE +!define MUI_FINISHPAGE_TEXT "$(page_finish_txt)" + +!define MUI_FINISHPAGE_RUN "$INSTDIR\${exe}.exe" +!define MUI_FINISHPAGE_RUN_NOTCHECKED + +!define MUI_FINISHPAGE_LINK "$(page_finish_linktxt)" +!define MUI_FINISHPAGE_LINK_LOCATION "${homepage}" + +!define MUI_FINISHPAGE_SHOWREADME +!define MUI_FINISHPAGE_SHOWREADME_TEXT $(page_finish_desktop) +!define MUI_FINISHPAGE_SHOWREADME_FUNCTION CreateDesktopShortCuts + +!define MUI_FINISHPAGE_NOAUTOCLOSE +!define MUI_UNFINISHPAGE_NOAUTOCLOSE + +!define MUI_FINISHPAGE_NOREBOOTSUPPORT + +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; Pages Installation Routine +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_LICENSE "${license}" +!insertmacro MUI_PAGE_COMPONENTS +!insertmacro MUI_PAGE_DIRECTORY + +; Start menu page + +var ICONS_GROUP +!define MUI_STARTMENUPAGE_NODISABLE +!define MUI_STARTMENUPAGE_DEFAULTFOLDER "${name}" +!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" +!define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" +!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}" +!insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP + +!insertmacro MUI_PAGE_INSTFILES + +; USDX Settings Page + +Page custom Settings + +Function Settings + +!insertmacro MUI_HEADER_TEXT " " "$(page_settings_subtitle)" + + !insertmacro INSTALLOPTIONS_DISPLAY "Settings-$LANGUAGE" + +; Get all the variables: + +var /GLOBAL fullscreen +var /GLOBAL language2 +var /GLOBAL resolution +var /GLOBAL tabs +var /GLOBAL animations + + !insertmacro INSTALLOPTIONS_READ $fullscreen "Settings-$LANGUAGE" "Field 6" "State" + !insertmacro INSTALLOPTIONS_READ $language2 "Settings-$LANGUAGE" "Field 7" "State" + !insertmacro INSTALLOPTIONS_READ $resolution "Settings-$LANGUAGE" "Field 8" "State" + !insertmacro INSTALLOPTIONS_READ $tabs "Settings-$LANGUAGE" "Field 9" "State" + !insertmacro INSTALLOPTIONS_READ $animations "Settings-$LANGUAGE" "Field 10" "State" + +; Write all variables to config.ini + +FileOpen $0 '$INSTDIR\config.ini' w +FileWrite $0 '[Game]$\r$\n' +FileClose $0 + +${If} $language2 != "" + +${WriteToConfig} "Language=$language2$\r$\n" "$INSTDIR\config.ini" + +${EndIf} + +${If} $tabs != "" + +${WriteToConfig} "Tabs=$tabs$\r$\n" "$INSTDIR\config.ini" + +${EndIf} + +${WriteToConfig} "[Graphics]$\r$\n" "$INSTDIR\config.ini" + +${If} $fullscreen != "" + +${WriteToConfig} "FullScreen=$fullscreen$\r$\n" "$INSTDIR\config.ini" + +${EndIf} + +${If} $resolution != "" + +${WriteToConfig} "Resolution=$resolution$\r$\n" "$INSTDIR\config.ini" + +${EndIf} + +${WriteToConfig} "[Advanced]$\r$\n" "$INSTDIR\config.ini" + +; Animations On / Off Tasks + +${If} $animations == "Off" + +${WriteToConfig} "LoadAnimation=Off$\r$\n" "$INSTDIR\config.ini" + +${WriteToConfig} "EffectSing=Off$\r$\n" "$INSTDIR\config.ini" + +${WriteToConfig} "ScreenFade=Off$\r$\n" "$INSTDIR\config.ini" + +${EndIf} + + +FunctionEnd ; Settings page End + + +!insertmacro MUI_PAGE_FINISH + +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; Pages UnInstallation Routine +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +!insertmacro MUI_UNPAGE_WELCOME +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES +!insertmacro MUI_UNPAGE_FINISH + +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; Sections Installation Routine +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +;------------------------------------ +; MAIN COMPONENTS (Section 1) +;------------------------------------ + +Section $(name_section1) Section1 + SectionIn RO + SetOutPath $INSTDIR + SetOverwrite try + +!include "${path_settings}\files_main_install.nsh" + + +; Create Shortcuts: + +SetOutPath "$INSTDIR" + +!insertmacro MUI_STARTMENU_WRITE_BEGIN Application + + SetShellVarContext all + SetOutPath "$INSTDIR" + + CreateDirectory "${name}" + CreateDirectory "$SMPROGRAMS\$ICONS_GROUP" + CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_shortcut).lnk" "$INSTDIR\${exe}.exe" +; CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_documentation).lnk" "$INSTDIR\documentation.pdf" + CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_website).lnk" "http://www.ultrastardeluxe.org/" + CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_readme).lnk" "$INSTDIR\ReadMe.txt" + CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_license).lnk" "$INSTDIR\License.txt" + CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_uninstall).lnk" "$INSTDIR\Uninstall.exe" + !insertmacro MUI_STARTMENU_WRITE_END + +; Vista Game Explorer: + +${If} ${AtLeastWinVista} + +${GameExplorer_GenerateGUID} +Pop $0 + +${GameExplorer_AddGame} all "${path_gdf}" $WINDIR $INSTDIR\${exe}.exe $0 + +CreateDirectory $APPDATA\Microsoft\Windows\GameExplorer\$0\PlayTasks\1 +CreateShortcut "$APPDATA\Microsoft\Windows\GameExplorer\$0\PlayTasks\1\Benchmark.lnk" \ + "$INSTDIR\${exe}.exe" "-Benchmark" + +CreateDirectory $APPDATA\Microsoft\Windows\GameExplorer\$0\PlayTasks\2 +CreateShortcut "$APPDATA\Microsoft\Windows\GameExplorer\$0\PlayTasks\2\Joypad.lnk" \ + "$INSTDIR\${exe}.exe" "-Joypad" + +CreateDirectory $APPDATA\Microsoft\Windows\GameExplorer\$0\PlayTasks\3 +CreateShortcut "$APPDATA\Microsoft\Windows\GameExplorer\$0\PlayTasks\3\Fullscreen.lnk" \ + "$INSTDIR\${exe}.exe" "-FullScreen" + +CreateDirectory $APPDATA\Microsoft\Windows\GameExplorer\$0\PlayTasks\3 +CreateShortcut "$APPDATA\Microsoft\Windows\GameExplorer\$0\PlayTasks\3\Dual Screen.lnk" \ + "$INSTDIR\${exe}.exe" "-Screens 2" + +CreateDirectory $APPDATA\Microsoft\Windows\GameExplorer\$0\SupportTasks\0 +CreateShortcut "$APPDATA\Microsoft\Windows\GameExplorer\$0\SupportTasks\0\Support Forum.lnk" \ + "http://forum.ultrastardeluxe.org" + +${EndIf} + +; Create Uninstaller: + + WriteUninstaller "$INSTDIR\Uninstall.exe" + + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "${name}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\Uninstall.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" + + SetOutPath "$INSTDIR" + +SectionEnd + +;------------------------------------ +; OPTIONAL SONGS (Section 2) +;------------------------------------ + +SectionGroup $(name_section2) Section2 + +; +; Dead Smiling Pirates - I 18 +; + +Section /o "Dead Smiling Pirates - I 18" g2Section1 +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR" + CreateDirectory "$INSTDIR\Songs\Dead Smiling Pirates - I 18" + SetOutPath "$INSTDIR\Songs\Dead Smiling Pirates - I 18\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_song1} $TEMP\Song-I-18.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-I-18.zip" "$INSTDIR\Songs\Dead Smiling Pirates - I 18\" + + Delete "$TEMP\Song-I-18.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +; +; Jonathan Coulton Songs +; + +SectionGroup $(name_s2_sub1) s2_sub1 + +Section /o "Monkey Shines" s2_sub1_Section1 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song1} $TEMP\Song-JC-MS.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-MS.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-MS.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "I Crush Everything" s2_sub1_Section2 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song2} $TEMP\Song-JC-ICE.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-ICE.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-ICE.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Not About You" s2_sub1_Section3 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song3} $TEMP\Song-JC-NAY.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-NAY.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-NAY.zip" + + SetOutPath "$INSTDIR" + + +SectionEnd + +Section /o "Mr. Fancy Pants" s2_sub1_Section4 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song4} $TEMP\Song-JC-MFP.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-MFP.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-MFP.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Big Bad World One" s2_sub1_Section5 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song5} $TEMP\Song-JC-BBWO.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-BBWO.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-BBWO.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Flickr" s2_sub1_Section6 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song6} $TEMP\Song-JC-Flickr.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-Flickr.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-Flickr.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "My Beige Bear" s2_sub1_Section7 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song7} $TEMP\Song-JC-MBB.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-MBB.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-MBB.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "The Future Soon" s2_sub1_Section8 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song8} $TEMP\Song-JC-TFS.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-TFS.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-TFS.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Ikea" s2_sub1_Section9 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song9} $TEMP\Song-JC-Ikea.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-Ikea.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-Ikea.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Furry Old Lobster" s2_sub1_Section10 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song10} $TEMP\Song-JC-FOL.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-FOL.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-FOL.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Code Monkey" s2_sub1_Section11 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song11} $TEMP\Song-JC-CM.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-CM.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-CM.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "I´m Your Moon" s2_sub1_Section12 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song12} $TEMP\Song-JC-IYM.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-IYM.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-IYM.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "First Of May" s2_sub1_Section13 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song13} $TEMP\Song-JC-FOM.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-FOM.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-FOM.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Dance, Soterious Johnson, Dance" s2_sub1_Section14 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song14} $TEMP\Song-JC-DSJD.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-DSJD.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-DSJD.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "A Walk With George" s2_sub1_Section15 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song15} $TEMP\Song-JC-AWWG.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-AWWG.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-AWWG.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Creepy Doll" s2_sub1_Section16 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song16} $TEMP\Song-JC-CD.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-CD.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-CD.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "That Spells DNA" s2_sub1_Section17 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song17} $TEMP\Song-JC-TSDNA.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-TSDNA.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-TSDNA.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "When You Go" s2_sub1_Section18 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song18} $TEMP\Song-JC-WYG.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-WYG.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-WYG.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Better" s2_sub1_Section19 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song19} $TEMP\Song-JC-Better.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-Better.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-Better.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Shop Vac" s2_sub1_Section20 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song20} $TEMP\Song-JC-SV.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-SV.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-SV.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "I Feel Fantastic" s2_sub1_Section21 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song21} $TEMP\Song-JC-IFF.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-IFF.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-IFF.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Re: Your Brains" s2_sub1_Section22 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song22} $TEMP\Song-JC-ReYB.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-ReYB.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-ReYB.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Skullcrusher Mountain" s2_sub1_Section23 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song23} $TEMP\Song-JC-SCM.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-SCM.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-SCM.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Chiron Beta Prime" s2_sub1_Section24 + +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_sub1_song24} $TEMP\Song-JC-CBP.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-JC-CBP.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-CBP.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + + +SectionGroupEnd + +; +; Joshua Morin - On The Run +; + +Section /o "Joshua Morin - On The Run" g2Section2 +; AddSize 2200 + SetOverwrite try + SetOutPath "$INSTDIR" + CreateDirectory "$INSTDIR\Songs\Joshua Morin - On The Run" + SetOutPath "$INSTDIR\Songs\Joshua Morin - On The Run\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_song3} $TEMP\Song-On-the-run.zip + + Pop $R0 ;Get the return value + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-On-the-run.zip" "$INSTDIR\Songs\Joshua Morin - On The Run\" + + Delete "$TEMP\Song-On-the-run.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Pornophonique - Space Invaders" g2Section3 +; AddSize 2200 + SetOverwrite try + SetOutPath "$INSTDIR" + CreateDirectory "$INSTDIR\Songs\Pornophonique - Space Invaders" + SetOutPath "$INSTDIR\Songs\Pornophonique - Space Invaders\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_song3} $TEMP\Song-Space-Invaders.zip + + Pop $R0 ;Get the return value + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-Space-Invaders.zip" "$INSTDIR\Songs\Pornophonique - Space Invaders\" + + Delete "$TEMP\Song-Space-Invaders.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Steven Dunston - Northern Star" g2Section4 +; AddSize 1500 + SetOverwrite try + SetOutPath "$INSTDIR" + CreateDirectory "$INSTDIR\Songs\Steven Dunston - Northern Star" + SetOutPath "$INSTDIR\Songs\Steven Dunston - Northern Star\" + +; Download song: + NSISdl::download /TIMEOUT=30000 ${download_song2} $TEMP\Song-Northern-Star.zip + + Pop $R0 ;Get the return value + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Song-Northern-Star.zip" "$INSTDIR\Songs\Steven Dunston - Northern Star\" + + Delete "$TEMP\Song-Northern-Star.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +SectionGroupEnd + +;------------------------------------ +; OPTIONAL THEMES (Section 3) +;------------------------------------ + +SectionGroup $(name_section3) Section3 + + Section /o "Orange" g3Section1 +; AddSize 700 + +; Download theme orange: + NSISdl::download /TIMEOUT=30000 ${download_theme1} $TEMP\Theme-Orange.zip + + Pop $R0 ;Get the return value + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Theme-Orange.zip" "$INSTDIR\" + + Delete "$TEMP\Theme-Orange.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + + Section /o "Streetlight" g3Section2 +; AddSize 1000 + +; Download theme Streetlight: + NSISdl::download /TIMEOUT=30000 ${download_theme2} $TEMP\Theme-Streetlight.zip + + Pop $R0 ;Get the return value + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Theme-Streetlight.zip" "$INSTDIR\" + + Delete "$TEMP\Theme-Streetlight.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + + Section /o "Vistar" g3Section3 +; AddSize 1000 + +; Download theme Vistar: + + NSISdl::download /TIMEOUT=30000 ${download_theme3} $TEMP\Theme-Vistar.zip + + Pop $R0 ;Get the return value + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Theme-Vistar.zip" "$INSTDIR\" + + Delete "$TEMP\Theme-Vistar.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + + Section /o "BlueSensation" g3Section4 +; AddSize 1000 + +; Download theme BlueSensation: + + NSISdl::download /TIMEOUT=30000 ${download_theme4} $TEMP\Theme-BlueSensation.zip + + Pop $R0 ;Get the return value + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Theme-BlueSensation.zip" "$INSTDIR\" + + Delete "$TEMP\Theme-BlueSensation.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + + Section /o "WiiStar" g3Section5 +; AddSize 1000 + +; Download theme WiiStar: + + NSISdl::download /TIMEOUT=30000 ${download_theme5} $TEMP\Theme-WiiStar.zip + + Pop $R0 ;Get the return value + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Theme-WiiStar.zip" "$INSTDIR\" + + Delete "$TEMP\Theme-WiiStar.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + + Section /o "iStar" g3Section6 +; AddSize 1000 + +; Download theme iStar: + + NSISdl::download /TIMEOUT=30000 ${download_theme6} $TEMP\Theme-iStar.zip + + Pop $R0 ;Get the return value + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + nsisunz::Unzip "$TEMP\Theme-iStar.zip" "$INSTDIR\" + + Delete "$TEMP\Theme-iStar.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +SectionGroupEnd + +;------------------------------------ +; UNINSTALL (Section 4) +;------------------------------------ + +Section Uninstall + + !insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP + + !include "${path_settings}\files_main_uninstall.nsh" + + DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" + +; Unregister from Windows Vista Game Explorer + +${If} ${AtLeastWinVista} + +${GameExplorer_RemoveGame} $0 + +${EndIf} + + + +SectionEnd + +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; Section Descriptions +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + + +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN + + !insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(DESC_Section1) + !insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1} $(DESC_Section2_sub1) + !insertmacro MUI_DESCRIPTION_TEXT ${Section3} $(DESC_Section3) + + !insertmacro MUI_DESCRIPTION_TEXT ${g2Section1} $(DESC_g2Section1) + !insertmacro MUI_DESCRIPTION_TEXT ${g2Section2} $(DESC_g2Section2) + !insertmacro MUI_DESCRIPTION_TEXT ${g2Section3} $(DESC_g2Section3) + !insertmacro MUI_DESCRIPTION_TEXT ${g2Section4} $(DESC_g2Section4) + + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section1} $(DESC_s2_sub1_Section1) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section2} $(DESC_s2_sub1_Section2) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section3} $(DESC_s2_sub1_Section3) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section4} $(DESC_s2_sub1_Section4) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section5} $(DESC_s2_sub1_Section5) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section6} $(DESC_s2_sub1_Section6) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section7} $(DESC_s2_sub1_Section7) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section8} $(DESC_s2_sub1_Section8) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section9} $(DESC_s2_sub1_Section9) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section10} $(DESC_s2_sub1_Section10) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section11} $(DESC_s2_sub1_Section11) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section12} $(DESC_s2_sub1_Section12) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section13} $(DESC_s2_sub1_Section13) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section14} $(DESC_s2_sub1_Section14) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section15} $(DESC_s2_sub1_Section15) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section16} $(DESC_s2_sub1_Section16) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section17} $(DESC_s2_sub1_Section17) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section18} $(DESC_s2_sub1_Section18) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section19} $(DESC_s2_sub1_Section19) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section20} $(DESC_s2_sub1_Section20) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section21} $(DESC_s2_sub1_Section21) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section22} $(DESC_s2_sub1_Section22) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section23} $(DESC_s2_sub1_Section23) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section24} $(DESC_s2_sub1_Section24) + + !insertmacro MUI_DESCRIPTION_TEXT ${g3Section1} $(DESC_g3Section1) + !insertmacro MUI_DESCRIPTION_TEXT ${g3Section2} $(DESC_g3Section2) + !insertmacro MUI_DESCRIPTION_TEXT ${g3Section3} $(DESC_g3Section3) + !insertmacro MUI_DESCRIPTION_TEXT ${g3Section4} $(DESC_g3Section4) + !insertmacro MUI_DESCRIPTION_TEXT ${g3Section5} $(DESC_g3Section5) + !insertmacro MUI_DESCRIPTION_TEXT ${g3Section6} $(DESC_g3Section6) + +!insertmacro MUI_FUNCTION_DESCRIPTION_END + +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; Language Support +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +!insertmacro MUI_LANGUAGE "English" +!insertmacro MUI_LANGUAGE "German" + +!insertmacro MUI_RESERVEFILE_LANGDLL + +!include "${path_languages}\*.nsh" + +Function .onInit + +var /GLOBAL version +StrCpy $version "1.1a" + + + System::Call 'kernel32::CreateMutexA(i 0, i 0, t "USdx Installer.exe") ?e' + + Pop $R0 + + StrCmp $R0 0 +3 + MessageBox MB_OK|MB_ICONEXCLAMATION $(oninit_running) + Abort + + ReadRegStr $R0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${name}" 'DisplayVersion' + + ${If} $R0 == $version + MessageBox MB_YESNO|MB_ICONEXCLAMATION \ + "${name} v.$R0 $(oninit_alreadyinstalled). $\n$\n $(oninit_installagain)" \ + IDYES done + Abort + ${EndIf} + + ReadRegStr $R1 HKLM \ + "Software\Microsoft\Windows\CurrentVersion\Uninstall\${name}" \ + "UninstallString" + StrCmp $R1 "" done + + ${If} $R0 != $version + MessageBox MB_YESNO|MB_ICONEXCLAMATION \ + "${name} v.$R0 $(oninit_alreadyinstalled). $\n$\n $(oninit_updateusdx) v.$R0 -> v.${version}" \ + IDYES done + Abort + ${EndIf} + +done: + + !insertmacro MUI_LANGDLL_DISPLAY + + !insertmacro INSTALLOPTIONS_EXTRACT_AS ".\settings\settings-1031.ini" "Settings-1031" + !insertmacro INSTALLOPTIONS_EXTRACT_AS ".\settings\settings-1033.ini" "Settings-1033" + +FunctionEnd + +Function un.onInit + + ${nsProcess::FindProcess} "USdx.exe" $R0 + StrCmp $R0 0 0 +2 + MessageBox MB_YESNO|MB_ICONEXCLAMATION '$(oninit_closeusdx)' IDYES closeit IDNO end + + closeit: + ${nsProcess::KillProcess} "USdx.exe" $R0 + goto continue + + end: + ${nsProcess::Unload} + Abort + + continue: + !insertmacro MUI_LANGDLL_DISPLAY + +FunctionEnd diff --git a/Lua/installer/languages/English.nsh b/Lua/installer/languages/English.nsh new file mode 100644 index 00000000..b539a0e2 --- /dev/null +++ b/Lua/installer/languages/English.nsh @@ -0,0 +1,94 @@ +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; UltraStar Deluxe Installer - Language file: English +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +LangString abort_install ${LANG_ENGLISH} "Are you sure to abort Installation?" +LangString abort_uninstall ${LANG_ENGLISH} "Are you sure to abort UnInstallation?" +LangString oninit_running ${LANG_ENGLISH} "The installer is already running." +LangString oninit_installagain ${LANG_ENGLISH} "Are you sure you want to install it again?" +LangString oninit_alreadyinstalled ${LANG_ENGLISH} "is already installed" +LangString oninit_closeusdx ${LANG_ENGLISH} "cannot be uninstalled while its running! Do you want to close it?" +LangString oninit_updateusdx ${LANG_ENGLISH} "Do you want to update the installation from:" + +; Welcome Page: + +LangString page_welcome_title ${LANG_ENGLISH} "Welcome to the UltraStar Deluxe Setup Wizard" +LangString page_welcome_txt ${LANG_ENGLISH} "This wizard will guide you through the Installation of UltraStar Deluxe. UltraStar Deluxe is a free open source Karaoke game, which can be compared with Singstar.$\n$\r$\n$\rThe UltraStar Deluxe Team wishes you fun.$\n$\rProject website: http://www.ultrastardeluxe.org$\n$\rSupport Forum: http://forum.ultrastardeluxe.org" + +; Components Page: + +LangString page_components_info ${LANG_ENGLISH} "Hover the component to get details" + +; Custom Page + +LangString page_settings_fullscreen ${LANG_ENGLISH} "Fullscreen Mode" +LangString page_settings_subtitle ${LANG_ENGLISH} "Specify your favorite settings for UltraStar Deluxe." + +; Finish Page: + +LangString page_finish_txt ${LANG_ENGLISH} "UltraStar Deluxe was installed successfully on you system.$\n$\r$\n$\rVisit out project website to get latest news and updates." +LangString page_finish_linktxt ${LANG_ENGLISH} "Project website" +LangString page_finish_desktop ${LANG_ENGLISH} "Create Desktop Shortcut?" + +; Start Menu and Shortcuts + +LangString sm_shortcut ${LANG_ENGLISH} "Play UltraStar Deluxe" +LangString sm_uninstall ${LANG_ENGLISH} "Uninstall" +LangString sm_website ${LANG_ENGLISH} "Website" +LangString sm_license ${LANG_ENGLISH} "License" +LangString sm_readme ${LANG_ENGLISH} "Readme" +LangString sm_documentation ${LANG_ENGLISH} "Documentation" + +LangString sc_play ${LANG_ENGLISH} "Play" +LangString sc_desktop ${LANG_ENGLISH} "Create Desktop Shortcut?" + +; Sections and SectionGroups + +LangString name_section1 ${LANG_ENGLISH} "Main components" +LangString name_section2 ${LANG_ENGLISH} "Optional songs" +LangString name_s2_sub1 ${LANG_ENGLISH} "Jonathan Coulton" +LangString name_section3 ${LANG_ENGLISH} "Optional themes" + +LangString DESC_Section1 ${LANG_ENGLISH} "These are the basic files needed by UltraStar Deluxe" +LangString DESC_Section2 ${LANG_ENGLISH} "You can choose which songs should be installed." +LangString DESC_Section2_sub1 ${LANG_ENGLISH} "You can choose which Jonathan Coulton Songs (CC by-nc 3.0) should be installed." +LangString DESC_Section3 ${LANG_ENGLISH} "You can choose which optional themes should be installed." + +LangString DESC_g2Section1 ${LANG_ENGLISH} "This will install the song 'Dead Smiling Pirates - I 18' (CC by-nc-nd 2.5)." +LangString DESC_g2Section2 ${LANG_ENGLISH} "This will install the song 'Joshua Morin - On The Run' (CC by-sa 2.5)." +LangString DESC_g2Section3 ${LANG_ENGLISH} "This will install the song 'Pornophonique - Space Invaders' (CC by-nc-nd 2.0)." +LangString DESC_g2Section4 ${LANG_ENGLISH} "This will install the song 'Steven Dunston - Northern Star' (CC by-nc-sa 2.5)." + +LangString DESC_s2_sub1_Section1 ${LANG_ENGLISH} "This will install the song 'Monkey Shines'." +LangString DESC_s2_sub1_Section2 ${LANG_ENGLISH} "This will install the song 'I Crush Everything'." +LangString DESC_s2_sub1_Section3 ${LANG_ENGLISH} "This will install the song 'Not About You'." +LangString DESC_s2_sub1_Section4 ${LANG_ENGLISH} "This will install the song 'Mr. Fancy Pants'." +LangString DESC_s2_sub1_Section5 ${LANG_ENGLISH} "This will install the song 'Big Bad World One'." +LangString DESC_s2_sub1_Section6 ${LANG_ENGLISH} "This will install the song 'Flickr'." +LangString DESC_s2_sub1_Section7 ${LANG_ENGLISH} "This will install the song 'My Beige Bear'." +LangString DESC_s2_sub1_Section8 ${LANG_ENGLISH} "This will install the song 'The Future Soon'." +LangString DESC_s2_sub1_Section9 ${LANG_ENGLISH} "This will install the song 'Ikea'." +LangString DESC_s2_sub1_Section10 ${LANG_ENGLISH} "This will install the song 'Furry Old Lobster'." +LangString DESC_s2_sub1_Section11 ${LANG_ENGLISH} "This will install the song 'Code Monkey'." +LangString DESC_s2_sub1_Section12 ${LANG_ENGLISH} "This will install the song 'I´m Your Moon'." +LangString DESC_s2_sub1_Section13 ${LANG_ENGLISH} "This will install the song 'First Of May'." +LangString DESC_s2_sub1_Section14 ${LANG_ENGLISH} "This will install the song 'Dance, Soterios Johnson, Dance'." +LangString DESC_s2_sub1_Section15 ${LANG_ENGLISH} "This will install the song 'A Talk With George'." +LangString DESC_s2_sub1_Section16 ${LANG_ENGLISH} "This will install the song 'Creepy Doll'." +LangString DESC_s2_sub1_Section17 ${LANG_ENGLISH} "This will install the song 'That Spells DNA'." +LangString DESC_s2_sub1_Section18 ${LANG_ENGLISH} "This will install the song 'When You Go'." +LangString DESC_s2_sub1_Section19 ${LANG_ENGLISH} "This will install the song 'Better'." +LangString DESC_s2_sub1_Section20 ${LANG_ENGLISH} "This will install the song 'Shop Vac'." +LangString DESC_s2_sub1_Section21 ${LANG_ENGLISH} "This will install the song 'I Feel Fantastic'." +LangString DESC_s2_sub1_Section22 ${LANG_ENGLISH} "This will install the song 'Re: Your Brains'." +LangString DESC_s2_sub1_Section23 ${LANG_ENGLISH} "This will install the song 'Skullcrusher Mountain'." +LangString DESC_s2_sub1_Section24 ${LANG_ENGLISH} "This will install the song 'Chiron Beta Prime'." + +LangString DESC_g3Section1 ${LANG_ENGLISH} "This will install the optional theme 'Orange' by Skar" +LangString DESC_g3Section2 ${LANG_ENGLISH} "This will install the optional theme 'Streetlight' by Skar" +LangString DESC_g3Section3 ${LANG_ENGLISH} "This will install the optional theme 'Vistar' by Skar" +LangString DESC_g3Section4 ${LANG_ENGLISH} "This will install the optional theme 'BlueSensation v5' by Charis" +LangString DESC_g3Section5 ${LANG_ENGLISH} "This will install the optional theme 'WiiStar' by MasterPhW" +LangString DESC_g3Section6 ${LANG_ENGLISH} "This will install the optional theme 'iStar' by MezzoX" + + diff --git a/Lua/installer/languages/German.nsh b/Lua/installer/languages/German.nsh new file mode 100644 index 00000000..0939b236 --- /dev/null +++ b/Lua/installer/languages/German.nsh @@ -0,0 +1,93 @@ +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; UltraStar Deluxe Installer - Language file: German +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +LangString abort_install ${LANG_GERMAN} "Wollen Sie die Installation wirklich abbrechen?" +LangString abort_uninstall ${LANG_GERMAN} "Wollen Sie die Deinstallation wirklich abbrechen?" +LangString oninit_running ${LANG_GERMAN} "Die Installation wird bereits ausgeführt." +LangString oninit_installagain ${LANG_GERMAN} "Sind Sie sicher, dass Sie es erneut installieren möchten?" +LangString oninit_alreadyinstalled ${LANG_GERMAN} "ist bereits installiert" +LangString oninit_closeusdx ${LANG_GERMAN} "kann nicht während der Laufzeit deinstalliert werden. Soll es geschlossen werden?" +LangString oninit_updateusdx ${LANG_GERMAN} "Möchten Sie das Programm aktualisieren von" + +; Welcome Page: + +LangString page_welcome_title ${LANG_GERMAN} "Willkommen zur Installationsroutine von UltraStar Deluxe" +LangString page_welcome_txt ${LANG_GERMAN} "Dieser Assistent wird Sie durch die Installation von UltraStar Deluxe begleiten. UltraStar Deluxe ist ein kostenloses quelloffenes Karaokespiel, welches Singstar ähnelt. $\n$\r$\n$\rDas UltraStar Deluxe Team wünscht viel Spaß.$\n$\rProjekthomepage: http://www.ultrastardeluxe.org$\n$\rSupport Forum: http://forum.ultrastardeluxe.org" + +; Components Page: + +LangString page_components_info ${LANG_GERMAN} "Schieben Sie den Mauszeiger über die Komponente um Details einzusehen" + +; Custom Page + +LangString page_settings_fullscreen ${LANG_GERMAN} "Vollbild Modus:" +LangString page_settings_subtitle ${LANG_GERMAN} "Lege deine favorisierten Einstellungen für UltraStar Deluxe fest." + +; Finish Page: + +LangString page_finish_txt ${LANG_GERMAN} "UltraStar Deluxe wurde erfolgreich auf Ihrem System installiert.$\n$\r$\n$\rBesuchen Sie unsere Projektwebseite um die neusten Updates und News zu erhalten." +LangString page_finish_linktxt ${LANG_GERMAN} "Projektwebseite" +LangString page_finish_desktop ${LANG_GERMAN} "Verknüpfung auf dem Desktop erstellen?" + +; Start Menu and Shortcuts + +LangString sm_website ${LANG_GERMAN} "Internetseite" +LangString sm_uninstall ${LANG_GERMAN} "Deinstallieren" +LangString sm_shortcut ${LANG_GERMAN} "UltraStar Deluxe spielen" +LangString sm_license ${LANG_GERMAN} "Lizenz" +LangString sm_readme ${LANG_GERMAN} "Lies mich" +LangString sm_documentation ${LANG_GERMAN} "Dokumentation" + +LangString sc_play ${LANG_GERMAN} "Spielen" +LangString sc_desktop ${LANG_GERMAN} "Verknüpfung auf dem Desktop erstellen?" + +; Sections and SectionGroups + +LangString name_section1 ${LANG_GERMAN} "Hauptkomponenten" +LangString name_section2 ${LANG_GERMAN} "Optionale Songs" +LangString name_s2_sub1 ${LANG_GERMAN} "Jonathan Coulton" +LangString name_section3 ${LANG_GERMAN} "Optionale Themen" + +LangString DESC_Section1 ${LANG_GERMAN} "Dies sind die von UltraStar Deluxe benötigten Grunddateien" +LangString DESC_Section2 ${LANG_GERMAN} "Hier können Songs zum Installieren gewählt werden." +LangString DESC_Section2_sub1 ${LANG_GERMAN} "Hier können Jonathan Coulton Songs (CC by-nc 3.0) zum Installieren gewählt werden." +LangString DESC_Section3 ${LANG_GERMAN} "Hier können alternative Motive zum Installieren gewählt werden." + +LangString DESC_g2Section1 ${LANG_GERMAN} "Installiert das Beispiellied 'Dead Smiling Pirates - I 18' (CC by-nc-nd 2.5)." +LangString DESC_g2Section2 ${LANG_GERMAN} "Installiert das Beispiellied 'Joshua Morin - On The Run' (CC by-sa 2.5)." +LangString DESC_g2Section3 ${LANG_GERMAN} "Installiert das Beispiellied 'Pornophonique - Space Invaders' (CC by-nc-nd 2.0)." +LangString DESC_g2Section4 ${LANG_GERMAN} "Installiert das Beispiellied 'Steven Dunston - Northern Star' (CC by-nc-sa 2.5)." + +LangString DESC_s2_sub1_Section1 ${LANG_GERMAN} "Installiert das Beispiellied 'Monkey Shines'." +LangString DESC_s2_sub1_Section2 ${LANG_GERMAN} "Installiert das Beispiellied 'I Crush Everything'." +LangString DESC_s2_sub1_Section3 ${LANG_GERMAN} "Installiert das Beispiellied 'Not About You'." +LangString DESC_s2_sub1_Section4 ${LANG_GERMAN} "Installiert das Beispiellied 'Mr. Fancy Pants'." +LangString DESC_s2_sub1_Section5 ${LANG_GERMAN} "Installiert das Beispiellied 'Big Bad World One'." +LangString DESC_s2_sub1_Section6 ${LANG_GERMAN} "Installiert das Beispiellied 'Flickr'." +LangString DESC_s2_sub1_Section7 ${LANG_GERMAN} "Installiert das Beispiellied 'My Beige Bear'." +LangString DESC_s2_sub1_Section8 ${LANG_GERMAN} "Installiert das Beispiellied 'The Future Soon'." +LangString DESC_s2_sub1_Section9 ${LANG_GERMAN} "Installiert das Beispiellied 'Ikea'." +LangString DESC_s2_sub1_Section10 ${LANG_GERMAN} "Installiert das Beispiellied 'Furry Old Lobster'." +LangString DESC_s2_sub1_Section11 ${LANG_GERMAN} "Installiert das Beispiellied 'Code Monkey'." +LangString DESC_s2_sub1_Section12 ${LANG_GERMAN} "Installiert das Beispiellied 'I´m Your Moon'." +LangString DESC_s2_sub1_Section13 ${LANG_GERMAN} "Installiert das Beispiellied 'First Of May'." +LangString DESC_s2_sub1_Section14 ${LANG_GERMAN} "Installiert das Beispiellied 'Dance, Soterios Johnson, Dance'." +LangString DESC_s2_sub1_Section15 ${LANG_GERMAN} "Installiert das Beispiellied 'A Talk With George'." +LangString DESC_s2_sub1_Section16 ${LANG_GERMAN} "Installiert das Beispiellied 'Creepy Doll'." +LangString DESC_s2_sub1_Section17 ${LANG_GERMAN} "Installiert das Beispiellied 'That Spells DNA'." +LangString DESC_s2_sub1_Section18 ${LANG_GERMAN} "Installiert das Beispiellied 'When You Go'." +LangString DESC_s2_sub1_Section19 ${LANG_GERMAN} "Installiert das Beispiellied 'Better'." +LangString DESC_s2_sub1_Section20 ${LANG_GERMAN} "Installiert das Beispiellied 'Shop Vac'." +LangString DESC_s2_sub1_Section21 ${LANG_GERMAN} "Installiert das Beispiellied 'I Feel Fantastic'." +LangString DESC_s2_sub1_Section22 ${LANG_GERMAN} "Installiert das Beispiellied 'Re: Your Brains'." +LangString DESC_s2_sub1_Section23 ${LANG_GERMAN} "Installiert das Beispiellied 'Skullcrusher Mountain'." +LangString DESC_s2_sub1_Section24 ${LANG_GERMAN} "Installiert das Beispiellied 'Chiron Beta Prime'." + +LangString DESC_g3Section1 ${LANG_GERMAN} "Installiert das Motiv 'Orange' von Skar" +LangString DESC_g3Section2 ${LANG_GERMAN} "Installiert das Motiv 'Streetlight' von Skar" +LangString DESC_g3Section3 ${LANG_GERMAN} "Installiert das Motiv 'Vistar' von Skar" +LangString DESC_g3Section4 ${LANG_GERMAN} "Installiert das Motiv 'BlueSensation v5' von Charis" +LangString DESC_g3Section5 ${LANG_GERMAN} "Installiert das Motiv 'WiiStar' von MasterPhW" +LangString DESC_g3Section6 ${LANG_GERMAN} "Installiert das Motiv 'iStar' von MezzoX" + diff --git a/Lua/installer/settings/GameExplorer.nsh b/Lua/installer/settings/GameExplorer.nsh new file mode 100644 index 00000000..d5056661 --- /dev/null +++ b/Lua/installer/settings/GameExplorer.nsh @@ -0,0 +1,198 @@ +# user interface + +!define GameExplorer_GenerateGUID '!insertmacro GameExplorer_GenerateGUID' +!define GameExplorer_AddGame '!insertmacro GameExplorer_AddGame' +!define GameExplorer_UpdateGame '!insertmacro GameExplorer_UpdateGame' +!define GameExplorer_RemoveGame '!insertmacro GameExplorer_RemoveGame' + +# internal stuff + +!define CLSCTX_INPROC_SERVER 1 +!define IID_IGameExplorer {E7B2FB72-D728-49B3-A5F2-18EBF5F1349E} +!define CLSID_GameExplorer {9A5EA990-3034-4D6F-9128-01F3C61022BC} + +!define GIS_CURRENT_USER 2 +!define GIS_ALL_USERS 3 + +!define IGameExplorer_QueryInterface 0 +!define IGameExplorer_AddRef 1 +!define IGameExplorer_Release 2 +!define IGameExplorer_AddGame 3 +!define IGameExplorer_RemoveGame 4 +!define IGameExplorer_UpdateGame 5 +!define IGameExplorer_VerifyAccess 6 + +# includes + +!include LogicLib.nsh + +# the actual code + +!macro GameExplorer_GenerateGUID + + System::Call 'ole32::CoCreateGuid(g .s)' + +!macroend + +!macro GameExplorer_AddGame CONTEXT GDF INSTDIR EXE GUID + + !define __GAME_EXPLORER_UNIQUE "${__LINE__}${__FILE__}" + + Push $0 + Push $1 + + Push $R0 + Push $R1 + Push $R2 + Push $R3 + + Push "${EXE}" + Push "${GUID}" + Push "${INSTDIR}" + Push "${GDF}" + + Pop $R0 # == ${GDF} + Pop $R1 # == ${INSTDIR} + Pop $R2 # == ${GUID} + Pop $R3 # == ${EXE} + + ClearErrors + + System::Call "ole32::CoCreateInstance( \ + g '${CLSID_GameExplorer}', i 0, \ + i ${CLSCTX_INPROC_SERVER}, \ + g '${IID_IGameExplorer}', *i .r1) i .r0" + + ${If} $0 != 0 # S_OK + + SetErrors + Goto "done_${__GAME_EXPLORER_UNIQUE}" + + ${EndIf} + + !if ${CONTEXT} == all + + System::Call "$1->${IGameExplorer_AddGame}(w R0, w R1, i ${GIS_ALL_USERS}, g R2) i .r0" + + !else if ${CONTEXT} == user + + System::Call "$1->${IGameExplorer_AddGame}(w R1, w R0, i ${GIS_CURRENT_USER}, g R2) i .r0" + + !else + + !error "Invalid CONTEXT passed to GameExplorer_AddGame! Must be `user` or `all`." + + !endif + + ${If} $0 != 0 # S_OK + + SetErrors + + ${Else} + + # Create play task + + !if ${CONTEXT} == all + + SetShellVarContext all + + !else if if ${CONTEXT} == user + + SetShellVarContext user + + !endif + + CreateDirectory $APPDATA\Microsoft\Windows\GameExplorer\$R2\PlayTasks\0 + CreateShortcut $APPDATA\Microsoft\Windows\GameExplorer\$R2\PlayTasks\0\Play.lnk $R3 + + ${EndIf} + + System::Call "$1->${IGameExplorer_Release}()" + + "done_${__GAME_EXPLORER_UNIQUE}:" + + Pop $R3 + Pop $R2 + Pop $R1 + Pop $R0 + + Pop $1 + Pop $0 + + !undef __GAME_EXPLORER_UNIQUE + +!macroend + +!macro _GameExplorer_GUID_Function Function GUID + + !define __GAME_EXPLORER_UNIQUE "${__LINE__}${__FILE__}" + + Push $0 + Push $1 + Push $2 + Push $3 + Push $4 + Push $5 + + Push $R0 + + Push "${GUID}" + + Pop $R0 # == ${GUID} + + System::Alloc 16 + Exch $R0 + System::Call "ole32::CLSIDFromString(w s, i R0)" + System::Call "*$R0(i .r2, i .r3, i .r4, i .r5)" + System::Free $R0 + + ClearErrors + + System::Call "ole32::CoCreateInstance( \ + g '${CLSID_GameExplorer}', i 0, \ + i ${CLSCTX_INPROC_SERVER}, \ + g '${IID_IGameExplorer}', *i .r1) i .r0" + + ${If} $0 != 0 # S_OK + + SetErrors + Goto "done_${__GAME_EXPLORER_UNIQUE}" + + ${EndIf} + + System::Call "$1->${Function}(i r2, i r3, i r4, i r5) i .r0" + + ${If} $0 != 0 # S_OK + + SetErrors + + ${EndIf} + + System::Call "$1->${IGameExplorer_Release}()" + + "done_${__GAME_EXPLORER_UNIQUE}:" + + Pop $R0 + + Pop $5 + Pop $4 + Pop $3 + Pop $2 + Pop $1 + Pop $0 + + !undef __GAME_EXPLORER_UNIQUE + +!macroend + +!macro GameExplorer_UpdateGame GUID + + !insertmacro _GameExplorer_GUID_Function ${IGameExplorer_UpdateGame} "${GUID}" + +!macroend + +!macro GameExplorer_RemoveGame GUID + + !insertmacro _GameExplorer_GUID_Function ${IGameExplorer_RemoveGame} "${GUID}" + +!macroend \ No newline at end of file diff --git a/Lua/installer/settings/files_main_install.nsh b/Lua/installer/settings/files_main_install.nsh new file mode 100644 index 00000000..605725aa --- /dev/null +++ b/Lua/installer/settings/files_main_install.nsh @@ -0,0 +1,55 @@ +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; UltraStar Deluxe Installer: Main components +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +; Create Directories: + +CreateDirectory $INSTDIR\plugins +CreateDirectory $INSTDIR\songs +CreateDirectory $INSTDIR\screenshots +CreateDirectory $INSTDIR\playlists + +SetOutPath "$INSTDIR" + +; themes, languages, sounds, visuals dir + +File /r ..\game\themes +File /r ..\game\languages +File /r ..\game\sounds +File /r ..\installerdependencies\visuals + +; Root dir: + +File ..\installerdependencies\dll\*.dll + + +File ..\ChangeLog.txt +File ..\ChangeLog.german.txt +File ..\README.txt +File ..\installerdependencies\documents\documentation.pdf +File ..\installerdependencies\documents\license.txt + +File "..\ScoreConverter.exe" +File "..\${exe}.exe" + +; Covers dir: + +SetOutPath "$INSTDIR\covers" + +IfFileExists $INSTDIR\covers\covers.ini +2 0 +File ..\game\covers\Covers.ini +File ..\game\covers\NoCover.jpg + +; Plugins dir: + +SetOutPath "$INSTDIR\Plugins\" + File "..\Plugins\*.dll" + +${If} ${AtLeastWinVista} + + SetOutPath "$WINDIR" + File "..\installerdependencies\plugins\gdf.dll" + +${EndIf} + +SetOutPath "$INSTDIR" diff --git a/Lua/installer/settings/files_main_uninstall.nsh b/Lua/installer/settings/files_main_uninstall.nsh new file mode 100644 index 00000000..b3d69da2 --- /dev/null +++ b/Lua/installer/settings/files_main_uninstall.nsh @@ -0,0 +1,83 @@ +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; UltraStar Deluxe Uninstaller: Main components +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + + +; Delete created Icons in startmenu + + SetShellVarContext all + + RMDir /r "$SMPROGRAMS\$ICONS_GROUP\" + +; Delete created Icon on Desktop + + Delete "$Desktop\Play UltraStar Deluxe.lnk" + Delete "$Desktop\UltraStar Deluxe spielen.lnk" + +; Remove dirs + + RMDir /r "$INSTDIR\plugins" + RMDir /r "$INSTDIR\themes" + RMDir /r "$INSTDIR\languages" + RMDir /r "$INSTDIR\visuals" + RMDir /r "$INSTDIR\sounds" + +; Delete remaining files + + Delete "$INSTDIR\ScoreConverter.exe" + Delete "$INSTDIR\${exe}.exe" + Delete "$INSTDIR\Changelog.german.txt" + Delete "$INSTDIR\Changelog.txt" + Delete "$INSTDIR\documentation.pdf" + Delete "$INSTDIR\License.txt" + Delete "$INSTDIR\config.ini" + Delete "$INSTDIR\README.txt" + Delete "$INSTDIR\Error.log" + Delete "$INSTDIR\covers.cache" + + Delete "$INSTDIR\avcodec-51.dll" + Delete "$INSTDIR\avformat-50.dll" + Delete "$INSTDIR\avutil-49.dll" + Delete "$INSTDIR\bass.dll" + Delete "$INSTDIR\glew32.dll" + Delete "$INSTDIR\jpeg.dll" + Delete "$INSTDIR\libfreetype-6.dll" + Delete "$INSTDIR\libpng12-0.dll" + Delete "$INSTDIR\libprojectM.dll" + Delete "$INSTDIR\libtiff-3.dll" + Delete "$INSTDIR\portaudio_x86.dll" + Delete "$INSTDIR\portmixer.dll" + Delete "$INSTDIR\projectM-cwrapper.dll" + Delete "$INSTDIR\SDL.dll" + Delete "$INSTDIR\SDL_image.dll" + Delete "$INSTDIR\SDL_ttf.dll" + Delete "$INSTDIR\sqlite3.dll" + Delete "$INSTDIR\zlib1.dll" + +${If} ${AtLeastWinVista} + Delete "$WINDIR\gdf.dll" +${EndIf} + + + RMDir "$INSTDIR\songs\Dead Smiling Pirates - I 18" + RMDir "$INSTDIR\songs\Joshua Morin - On The Run" + RMDir "$INSTDIR\songs\Pornophonique - Space Invaders" + RMDir "$INSTDIR\songs\Steven Dunston - Northern Star" + + StrCpy $0 "$INSTDIR\songs" + Call un.DeleteIfEmpty + + Delete "$INSTDIR\covers\NoCover.jpg" + + StrCpy $0 "$INSTDIR\screenshots" + Call un.DeleteIfEmpty + + StrCpy $0 "$INSTDIR\playlists" + Call un.DeleteIfEmpty + +; Self delete: + + Delete "$INSTDIR\Uninstall.exe" + + StrCpy $0 "$INSTDIR" + Call un.DeleteIfEmpty \ No newline at end of file diff --git a/Lua/installer/settings/functions.nsh b/Lua/installer/settings/functions.nsh new file mode 100644 index 00000000..8345c4cc --- /dev/null +++ b/Lua/installer/settings/functions.nsh @@ -0,0 +1,77 @@ +; Creates Desktop Shortcut(s) if +; checked on Finish Page + +Function CreateDesktopShortCuts + +SetOutPath "$INSTDIR" + +CreateShortcut "$Desktop\$(sm_shortcut).lnk" "$INSTDIR\USdx.exe" + +FunctionEnd + +; Deletes only empty dirs which are +; at the top of the stack. + +Function un.DeleteIfEmpty + FindFirst $R0 $R1 "$0\*.*" + strcmp $R1 "." 0 NoDelete + FindNext $R0 $R1 + strcmp $R1 ".." 0 NoDelete + ClearErrors + FindNext $R0 $R1 + IfErrors 0 NoDelete + FindClose $R0 + Sleep 1000 + RMDir "$0" + NoDelete: + FindClose $R0 +FunctionEnd + +; This is used to write a +; string to config.ini + +Function WriteToConfig + Exch $0 + Exch + Exch $1 + + FileOpen $0 $0 a + FileSeek $0 0 END + FileWrite $0 $1 + FileClose $0 + + Pop $1 + Pop $0 +FunctionEnd + +!macro WriteToConfig String File + Push "${String}" + Push "${File}" + Call WriteToConfig +!macroend +!define WriteToConfig "!insertmacro WriteToConfig" + +; Finds UltraStar Deluxe process +; + +!define nsProcess::FindProcess `!insertmacro nsProcess::FindProcess` + +!macro nsProcess::FindProcess _FILE _ERR + nsProcess::_FindProcess /NOUNLOAD `${_FILE}` + Pop ${_ERR} +!macroend + + +!define nsProcess::KillProcess `!insertmacro nsProcess::KillProcess` + +!macro nsProcess::KillProcess _FILE _ERR + nsProcess::_KillProcess /NOUNLOAD `${_FILE}` + Pop ${_ERR} +!macroend + + +!define nsProcess::Unload `!insertmacro nsProcess::Unload` + +!macro nsProcess::Unload + nsProcess::_Unload +!macroend \ No newline at end of file diff --git a/Lua/installer/settings/settings-1031.ini b/Lua/installer/settings/settings-1031.ini new file mode 100644 index 00000000..642f577e --- /dev/null +++ b/Lua/installer/settings/settings-1031.ini @@ -0,0 +1,131 @@ +[Settings] +NumFields=16 + +[Field 1] +Type=Label +Text="Vollbild Modus:" +Left=0 +Right=53 +Top=27 +Bottom=35 + +[Field 2] +Type=Label +Text="Sprache:" +Left=0 +Right=53 +Top=51 +Bottom=59 + +[Field 3] +Type=Label +Text="Auflösung:" +Left=0 +Right=53 +Top=73 +Bottom=81 + +[Field 4] +Type=Label +Text="Ordnerstruktur:" +Left=0 +Right=53 +Top=97 +Bottom=105 + +[Field 5] +Type=Label +Text="Animationen/Effekte:" +Left=0 +Right=70 +Top=124 +Bottom=132 + +[Field 6] +Type=Droplist +ListItems=On|Off +Left=71 +Right=161 +Top=25 +Bottom=38 + +[Field 7] +Type=Droplist +ListItems=Catalan|Croatian|Danish|Dutch|English|Euskara|French|German|Italian|Norwegian|Polish|Portuguese|Serbian|Slovak|Spanish|Swedish +Left=71 +Right=161 +Top=48 +Bottom=62 + +[Field 8] +Type=Droplist +ListItems=320x200|640x480|800x600|1024x768|1280x1024|1440x900|1680x1050|1920x1200 +Left=71 +Right=161 +Top=72 +Bottom=86 + +[Field 9] +Type=Droplist +ListItems=On|Off +Left=71 +Right=161 +Top=96 +Bottom=110 + +[Field 10] +Type=Droplist +ListItems=On|Off +Left=71 +Right=161 +Top=121 +Bottom=136 + +[Field 11] +Type=Label +Text="Wähle aus, ob das Spiel im Fenster oder \r\nals Vollbild gestartet werden soll." +Left=170 +Right=315 +Top=24 +Bottom=44 + +[Field 12] +Type=Label +Text="Hier können einige Einstellungen für UltraStar Deluxe vorgenommen werden.\r\nAlle Einstellungen können später im Spielmenü geändert werden." +Left=0 +Right=315 +Top=3 +Bottom=20 + +[Field 13] +Type=Label +Text="Wähle deine favorisierte Sprache, in der UltraStar Deluxe angezeigt werden soll." +Left=170 +Right=315 +Top=46 +Bottom=68 + +[Field 14] +Type=Label +Text="Wähle deine, dem Monitor angepasste, bevorzugte Auflösung." +Left=170 +Right=315 +Top=70 +Bottom=96 + +[Field 15] +Type=Label +Text="Wähle aus, ob UltraStar Deluxe eine Ordnerstruktur zum Anzeigen der Lieder verwenden soll." +Left=170 +Right=315 +Top=92 +Bottom=116 + +[Field 16] +Type=Label +Text="Wähle, ob Spezialeffekte und \r\nAnimationen benutzt werden sollen." +Left=170 +Right=315 +Top=121 +Bottom=137 + diff --git a/Lua/installer/settings/settings-1033.ini b/Lua/installer/settings/settings-1033.ini new file mode 100644 index 00000000..2a3dfdba --- /dev/null +++ b/Lua/installer/settings/settings-1033.ini @@ -0,0 +1,131 @@ +[Settings] +NumFields=16 + +[Field 1] +Type=Label +Text="Fullscreen Mode:" +Left=0 +Right=50 +Top=27 +Bottom=35 + +[Field 2] +Type=Label +Text="Language:" +Left=0 +Right=50 +Top=51 +Bottom=59 + +[Field 3] +Type=Label +Text="Resolution:" +Left=0 +Right=50 +Top=73 +Bottom=81 + +[Field 4] +Type=Label +Text="Tabs:" +Left=0 +Right=50 +Top=100 +Bottom=108 + +[Field 5] +Type=Label +Text="Animations/Effects:" +Left=0 +Right=67 +Top=124 +Bottom=132 + +[Field 6] +Type=Droplist +ListItems=On|Off +Left=70 +Right=160 +Top=24 +Bottom=36 + +[Field 7] +Type=Droplist +ListItems=Catalan|Croatian|Danish|Dutch|English|Euskara|French|German|Italian|Norwegian|Polish|Portuguese|Serbian|Slovak|Spanish|Swedish +Left=70 +Right=160 +Top=48 +Bottom=60 + +[Field 8] +Type=Droplist +ListItems=320x200|640x480|800x600|1024x768|1280x1024|1440x900|1680x1050|1920x1200 +Left=70 +Right=160 +Top=72 +Bottom=86 + +[Field 9] +Type=Droplist +ListItems=On|Off +Left=70 +Right=160 +Top=99 +Bottom=113 + +[Field 10] +Type=Droplist +ListItems=On|Off +Left=70 +Right=160 +Top=123 +Bottom=137 + +[Field 11] +Type=Label +Text="Choose if you want to run UltraStar Deluxe in a window or fullscreen." +Left=170 +Right=305 +Top=25 +Bottom=46 + +[Field 12] +Type=Label +Text="Choose your favorite language, in that UltraStar Deluxe should be displayed." +Left=170 +Right=305 +Top=48 +Bottom=70 + +[Field 13] +Type=Label +Text="Choose your favorite screen resolution for UltraStar Deluxe adjusted to your display device." +Left=170 +Right=305 +Top=72 +Bottom=97 + +[Field 14] +Type=Label +Text="Choose whether you would like to view folders in UltraStar Deluxe or not." +Left=170 +Right=305 +Top=99 +Bottom=122 + +[Field 15] +Type=Label +Text="Here you can define some settings for UltraStar Deluxe. The settings can\r\nalso be changed in the GUI later." +Left=0 +Right=289 +Top=3 +Bottom=20 + +[Field 16] +Type=Label +Text="Choose if special effects or animations should be used by UltraStar Deluxe. Recommended: On" +Left=170 +Right=305 +Top=123 +Bottom=139 + diff --git a/Lua/installer/settings/variables.nsh b/Lua/installer/settings/variables.nsh new file mode 100644 index 00000000..bf5668d7 --- /dev/null +++ b/Lua/installer/settings/variables.nsh @@ -0,0 +1,76 @@ +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; UltraStar Deluxe Un/Installer: Variables +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +; Product Information: + +!define version "1.1a" ; Make sure version is also set in onInit + + +!define name "UltraStar Deluxe" +!define publisher "USDX Team" +!define homepage "http://www.ultrastardeluxe.org" +!define forum "http://forum.ultrastardeluxe.org" + +!define exe "USdx" + +!define license "license.txt" + +; Icons + +!define img_install "install.ico" +!define img_uninstall "uninstall.ico" + +; Header Images + +!define img_header "header.bmp" ; Header image (150x57) +!define img_side "side.bmp" ; Side image (162x314) + +; Registry for Start menu entries: + +!define PRODUCT_NAME "${name}" +!define PRODUCT_VERSION "${version}" +!define PRODUCT_PUBLISHER "${publisher}" +!define PRODUCT_WEB_SITE "${homepage}" +!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${name}" +!define PRODUCT_UNINST_ROOT_KEY "HKLM" +!define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir" + +; Download URLs for Songs and Themes: + +!define download_song1 "http://downloads.sourceforge.net/ultrastardx/usdx_song-dead_smiling_pirates_-_i_18.zip" +!define download_song2 "http://downloads.sourceforge.net/ultrastardx/usdx_song-joshua_morin_-_on_the_run.zip" +!define download_song3 "http://downloads.sourceforge.net/ultrastardx/usdx_song-pornophonique_-_space_-_invaders.zip" +!define download_song4 "http://downloads.sourceforge.net/ultrastardx/usdx_song-steven_dunston_-_northern_star.zip" + +!define download_sub1_song1 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_monkey_shines.zip" +!define download_sub1_song2 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_i_crush_everything.zip" +!define download_sub1_song3 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_not_about_you.zip" +!define download_sub1_song4 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_mr_fancy_pants.zip" +!define download_sub1_song5 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_big_bad_world_one.zip" +!define download_sub1_song6 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_flickr.zip" +!define download_sub1_song7 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_my_beige_bear.zip" +!define download_sub1_song8 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_the_future_soon.zip" +!define download_sub1_song9 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_ikea.zip" +!define download_sub1_song10 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_furry_old_lobster.zip" +!define download_sub1_song11 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_code_monkey.zip" +!define download_sub1_song12 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_im_your_moon.zip" +!define download_sub1_song13 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_first_of_may.zip" +!define download_sub1_song14 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_dance_soterios_johnson_dance.zip" +!define download_sub1_song15 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_a_talk_with_george.zip" +!define download_sub1_song16 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_creepy_doll.zip" +!define download_sub1_song17 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_that_spells_dna.zip" +!define download_sub1_song18 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_when_you_go.zip" +!define download_sub1_song19 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_better.zip" +!define download_sub1_song20 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_shop_vac.zip" +!define download_sub1_song21 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_i_feel_fantastic.zip" +!define download_sub1_song22 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_re-_your_brains.zip" +!define download_sub1_song23 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_skullcrusher_mountain.zip" +!define download_sub1_song24 "http://downloads.sourceforge.net/ultrastardx/usdx_song-jonathan_coulton_-_chiron_beta_prime.zip" + +!define download_theme1 "http://downloads.sourceforge.net/ultrastardx/usdx_skin-orange_by_Skar.zip" +!define download_theme2 "http://downloads.sourceforge.net/ultrastardx/usdx_skin-Streetlight_by_Skar.zip" +!define download_theme3 "http://downloads.sourceforge.net/ultrastardx/usdx_skin-Vistar_by_Skar.zip" +!define download_theme4 "http://downloads.sourceforge.net/ultrastardx/usdx_skin-bluesensationV5_by_Charis.zip" +!define download_theme5 "http://downloads.sourceforge.net/ultrastardx/usdx_skin-WiiStar_by_MasterPhW.zip" +!define download_theme6 "http://downloads.sourceforge.net/ultrastardx/usdx_skin-istar_by_MezzoX.zip" \ No newline at end of file -- cgit v1.2.3