From e4f413fdcf003ac0ad20d145f61dd370994e79db Mon Sep 17 00:00:00 2001 From: brunzelchen Date: Wed, 9 Dec 2009 18:35:28 +0000 Subject: just a first experimental version git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@2011 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Medley/installer/UltraStar Deluxe.nsi | 1551 ++++++++++++++++++++ Medley/installer/Update.nsi | 215 +++ Medley/installer/languages/English.nsh | 128 ++ Medley/installer/languages/German.nsh | 128 ++ Medley/installer/settings/GameExplorer.nsh | 198 +++ Medley/installer/settings/files_main_install.nsh | 56 + Medley/installer/settings/files_main_uninstall.nsh | 85 ++ Medley/installer/settings/functions.nsh | 199 +++ Medley/installer/settings/settings-1031.ini | 136 ++ Medley/installer/settings/settings-1033.ini | 136 ++ Medley/installer/settings/variables.nsh | 91 ++ 11 files changed, 2923 insertions(+) create mode 100644 Medley/installer/UltraStar Deluxe.nsi create mode 100644 Medley/installer/Update.nsi create mode 100644 Medley/installer/languages/English.nsh create mode 100644 Medley/installer/languages/German.nsh create mode 100644 Medley/installer/settings/GameExplorer.nsh create mode 100644 Medley/installer/settings/files_main_install.nsh create mode 100644 Medley/installer/settings/files_main_uninstall.nsh create mode 100644 Medley/installer/settings/functions.nsh create mode 100644 Medley/installer/settings/settings-1031.ini create mode 100644 Medley/installer/settings/settings-1033.ini create mode 100644 Medley/installer/settings/variables.nsh (limited to 'Medley/installer') diff --git a/Medley/installer/UltraStar Deluxe.nsi b/Medley/installer/UltraStar Deluxe.nsi new file mode 100644 index 00000000..a6f37e2a --- /dev/null +++ b/Medley/installer/UltraStar Deluxe.nsi @@ -0,0 +1,1551 @@ +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; UltraStar Deluxe Installer: Main +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +!include MUI2.nsh +!include WinVer.nsh +!include LogicLib.nsh +!include InstallOptions.nsh +!include nsDialogs.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 / Windows 7: + +RequestExecutionLevel admin + +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; 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 CHECKBOX +Var /GLOBAL checkbox_state + +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} "[Sound]$\r$\n" "$INSTDIR\config.ini" +${WriteToConfig} "PreviewFading=3 Secs$\r$\n" "$INSTDIR\config.ini" + +; Animations On / Off Tasks + +${If} $animations == "Off" + +${WriteToConfig} "[Advanced]$\r$\n" "$INSTDIR\config.ini" + +${WriteToConfig} "LoadAnimation=Off$\r$\n" "$INSTDIR\config.ini" + +${WriteToConfig} "EffectSing=Off$\r$\n" "$INSTDIR\config.ini" + +${WriteToConfig} "ScreenFade=Off$\r$\n" "$INSTDIR\config.ini" + +${WriteToConfig} "LineBonus=At Notes$\r$\n" "$INSTDIR\config.ini" + +${EndIf} + +${WriteToConfig} "[Lyrics]$\r$\n" "$INSTDIR\config.ini" +${WriteToConfig} "LyricsFont=Plain$\r$\n" "$INSTDIR\config.ini" +${WriteToConfig} "LyricsEffect=Slide$\r$\n" "$INSTDIR\config.ini" + +${If} $animations != "Off" + +${WriteToConfig} "[Advanced]$\r$\n" "$INSTDIR\config.ini" + +${WriteToConfig} "LineBonus=At Notes$\r$\n" "$INSTDIR\config.ini" + +${EndIf} + + +FunctionEnd ; Settings page End + + +!insertmacro MUI_PAGE_FINISH + +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; Pages UnInstallation Routine +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +!define MUI_WELCOMEPAGE_TITLE "$(page_un_welcome_title)" +!insertmacro MUI_UNPAGE_WELCOME +!insertmacro MUI_UNPAGE_CONFIRM + +UninstPage custom un.AskDelete un.DeleteAll + +Function un.AskDelete + +nsDialogs::Create /NOUNLOAD 1018 + + ${NSD_CreateCheckbox} 0 -150 100% 8u "$(delete_all)" + Pop $CHECKBOX + + nsDialogs::OnClick /NOUNLOAD $CHECKBOX $0 + + +nsDialogs::Show + +FunctionEnd + +Function un.DeleteAll + +${NSD_GetState} $CHECKBOX $checkbox_state + +${If} $checkbox_state == "1" + + RMDir /r "$INSTDIR\Songs" + RMDir /r "$INSTDIR\Covers" + Delete "$INSTDIR\Ultrastar.db" + +${Else} + +; If checkbox_state = 0 + + +${EndIf} + + +FunctionEnd + +!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 + +Section /o "Bodo Wartke - Liebeslied (Love Song)" g2Section1 + + AddSize 10342 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${download_song1} $TEMP\Song-BodoWartke-LoveSong.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + ZipDLL::extractall "$TEMP\Song-BodoWartke-LoveSong.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-BodoWartke-LoveSong.zip" + + SetOutPath "$INSTDIR" + + +SectionEnd + +; +; Dead Smiling Pirates - I 18 +; + +Section /o "Dead Smiling Pirates - I 18" g2Section2 + AddSize 2816 + 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=50000 ${download_song2} $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: + ZipDLL::extractall "$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 1455 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$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 7127 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$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 3492 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$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 2427 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$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 4424 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$TEMP\Song-JC-BBWO.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-BBWO.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Flickr" s2_sub1_Section6 + + AddSize 21607 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$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 4926 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$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 5612 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$TEMP\Song-JC-TFS.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-TFS.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Ikea" s2_sub1_Section9 + + AddSize 4608 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$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 3288 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$TEMP\Song-JC-FOL.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-FOL.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Code Monkey" s2_sub1_Section11 + + AddSize 21402 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$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 4916 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$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 6257 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$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 5929 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$TEMP\Song-JC-DSJD.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-DSJD.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "A Talk With George" s2_sub1_Section15 + + AddSize 4076 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${download_sub1_song15} $TEMP\Song-JC-ATWG.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + ZipDLL::extractall "$TEMP\Song-JC-ATWG.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-ATWG.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Creepy Doll" s2_sub1_Section16 + + AddSize 66560 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$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 4158 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$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 5755 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$TEMP\Song-JC-WYG.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-WYG.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Better" s2_sub1_Section19 + + AddSize 4199 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$TEMP\Song-JC-Better.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-Better.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Shop Vac" s2_sub1_Section20 + + AddSize 5448 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$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 3851 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$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 7087 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$TEMP\Song-JC-ReYB.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-JC-ReYB.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Skullcrusher Mountain" s2_sub1_Section23 + + AddSize 6298 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$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 38298 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$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" g2Section3 + AddSize 3881 + 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=50000 ${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: + ZipDLL::extractall "$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" g2Section4 + AddSize 3646 + SetOverwrite try + SetOutPath "$INSTDIR" + CreateDirectory "$INSTDIR\Songs\Pornophonique - Space Invaders" + SetOutPath "$INSTDIR\Songs\Pornophonique - Space Invaders\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${download_song4} $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: + ZipDLL::extractall "$TEMP\Song-Space-Invaders.zip" "$INSTDIR\Songs\Pornophonique - Space Invaders\" + + Delete "$TEMP\Song-Space-Invaders.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +SectionGroup $(name_s2_sub2) s2_sub2 + +Section /o "Shearer - 69" s2_sub2_Section1 + + AddSize 4557 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${download_sub2_song1} $TEMP\Song-Shearer-69.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + ZipDLL::extractall "$TEMP\Song-Shearer-69.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-Shearer-69.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Shearer - 69 (Karaoke)" s2_sub2_Section2 + + AddSize 4772 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${download_sub2_song2} $TEMP\Song-Shearer-69-Kar.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + ZipDLL::extractall "$TEMP\Song-Shearer-69-Kar.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-Shearer-69-Kar.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Shearer - Can't stop it" s2_sub2_Section3 + + AddSize 5510 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${download_sub2_song3} $TEMP\Song-Shearer-CSI.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + ZipDLL::extractall "$TEMP\Song-Shearer-CSI.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-Shearer-CSI.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Shearer - Can't stop it (Karaoke)" s2_sub2_Section4 + + AddSize 4178 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${download_sub2_song4} $TEMP\Song-Shearer-CSI-Kar.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + ZipDLL::extractall "$TEMP\Song-Shearer-CSI-Kar.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-Shearer-CSI-Kar.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Shearer - In My Hand" s2_sub2_Section5 + + AddSize 5960 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${download_sub2_song5} $TEMP\Song-Shearer-IMH.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + ZipDLL::extractall "$TEMP\Song-Shearer-IMH.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-Shearer-IMH.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Shearer - Man Song" s2_sub2_Section6 + + AddSize 7270 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${download_sub2_song6} $TEMP\Song-Shearer-MS.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + ZipDLL::extractall "$TEMP\Song-Shearer-MS.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-Shearer-MS.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Shearer - Man Song (Karaoke)" s2_sub2_Section7 + + AddSize 5807 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${download_sub2_song7} $TEMP\Song-Shearer-MS-Kar.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + ZipDLL::extractall "$TEMP\Song-Shearer-MS-Kar.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-Shearer-MS-Kar.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Shearer - Stay With Me" s2_sub2_Section8 + + AddSize 6400 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${download_sub2_song8} $TEMP\Song-Shearer-SWM.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + ZipDLL::extractall "$TEMP\Song-Shearer-SWM.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-Shearer-SWM.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Shearer - Stay With Me (Karaoke)" s2_sub2_Section9 + + AddSize 5417 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${download_sub2_song9} $TEMP\Song-Shearer-SWM-Kar.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + + ZipDLL::extractall "$TEMP\Song-Shearer-SWM-Kar.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-Shearer-SWM-Kar.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +SectionGroupEnd + +Section /o "Steven Dunston - Northern Star" g2Section5 + AddSize 2427 + SetOverwrite try + SetOutPath "$INSTDIR" + CreateDirectory "$INSTDIR\Songs\Steven Dunston - Northern Star" + SetOutPath "$INSTDIR\Songs\Steven Dunston - Northern Star\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${download_song5} $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: + + ZipDLL::extractall "$TEMP\Song-Northern-Star.zip" "$INSTDIR\Songs\Steven Dunston - Northern Star\" + + Delete "$TEMP\Song-Northern-Star.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +SectionGroup $(name_s2_sub3) s2_sub3 + +Section /o "Wise Guys - Lebendig und kräftig und schärfer" s2_sub3_Section1 + + AddSize 4015 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${download_sub3_song1} $TEMP\Song-WiseGuys-LUKUS.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + + ZipDLL::extractall "$TEMP\Song-WiseGuys-LUKUS.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-WiseGuys-LUKUS.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +Section /o "Wise Guys - Mensch, wo bist du?" s2_sub3_Section2 + + AddSize 5335 + SetOverwrite try + SetOutPath "$INSTDIR\Songs\" + +; Download song: + NSISdl::download /TIMEOUT=50000 ${download_sub3_song2} $TEMP\Song-WiseGuys-MWBD.zip + + Pop $R0 + StrCmp $R0 "success" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK + dlok: + + ZipDLL::extractall "$TEMP\Song-WiseGuys-MWBD.zip" "$INSTDIR\Songs\" + + Delete "$TEMP\Song-WiseGuys-MWBD.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + +SectionGroupEnd + +SectionGroupEnd + +;------------------------------------ +; OPTIONAL THEMES (Section 3) +;------------------------------------ + +SectionGroup $(name_section3) Section3 + + Section /o "Orange" g3Section1 + AddSize 1291 + +; Download theme orange: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$TEMP\Theme-Orange.zip" "$INSTDIR\" + + Delete "$TEMP\Theme-Orange.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + + Section /o "Streetlight" g3Section2 + AddSize 1905 + +; Download theme Streetlight: + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$TEMP\Theme-Streetlight.zip" "$INSTDIR\" + + Delete "$TEMP\Theme-Streetlight.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + + Section /o "Vistar" g3Section3 + AddSize 1936 + +; Download theme Vistar: + + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$TEMP\Theme-Vistar.zip" "$INSTDIR\" + + Delete "$TEMP\Theme-Vistar.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + + Section /o "BlueSensation" g3Section4 + AddSize 2109 + +; Download theme BlueSensation: + + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$TEMP\Theme-BlueSensation.zip" "$INSTDIR\" + + Delete "$TEMP\Theme-BlueSensation.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + + + Section /o "WhiteSensation" g3Section5 + AddSize 1168 + +; Download theme WhiteSensation: + + NSISdl::download /TIMEOUT=50000 ${download_theme7} $TEMP\Theme-WhiteSensation.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: + ZipDLL::extractall "$TEMP\Theme-WhiteSensation.zip" "$INSTDIR\" + + Delete "$TEMP\Theme-WhiteSensation.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + + Section /o "WiiStar" g3Section6 + AddSize 850 + +; Download theme WiiStar: + + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$TEMP\Theme-WiiStar.zip" "$INSTDIR\" + + Delete "$TEMP\Theme-WiiStar.zip" + + SetOutPath "$INSTDIR" + +SectionEnd + + Section /o "iStar" g3Section7 + AddSize 1588 + +; Download theme iStar: + + NSISdl::download /TIMEOUT=50000 ${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: + ZipDLL::extractall "$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 ${s2_sub2} $(DESC_Section2_sub2) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub3} $(DESC_Section2_sub3) + !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 ${g2Section5} $(DESC_g2Section5) + + !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 ${s2_sub2_Section1} $(DESC_s2_sub2_Section1) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section2} $(DESC_s2_sub2_Section2) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section3} $(DESC_s2_sub2_Section3) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section4} $(DESC_s2_sub2_Section4) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section5} $(DESC_s2_sub2_Section5) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section6} $(DESC_s2_sub2_Section6) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section7} $(DESC_s2_sub2_Section7) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section8} $(DESC_s2_sub2_Section8) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section9} $(DESC_s2_sub2_Section9) + + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub3_Section1} $(DESC_s2_sub3_Section1) + !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub3_Section2} $(DESC_s2_sub3_Section2) + + !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_DESCRIPTION_TEXT ${g3Section7} $(DESC_g3Section7) + +!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/Medley/installer/Update.nsi b/Medley/installer/Update.nsi new file mode 100644 index 00000000..e916d3e9 --- /dev/null +++ b/Medley/installer/Update.nsi @@ -0,0 +1,215 @@ +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; UltraStar Deluxe Installer: Update +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +!include MUI2.nsh +!include WinVer.nsh +!include LogicLib.nsh +!include nsDialogs.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 + +Var /GLOBAL CHECKBOX +Var /GLOBAL label_update_information +Var /GLOBAL checkbox_state + +XPStyle on + +Name "${name} - Update" +Brandingtext "${name} Update" +OutFile "ultrastardx-update.exe" + +InstallDir "$PROGRAMFILES\${name}" + +; Windows Vista / Windows 7: + +RequestExecutionLevel admin + +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; 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_update)" +!define MUI_WELCOMEPAGE_TEXT "$(page_welcome_txt_update)" + +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; Pages Installation Routine +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +!insertmacro MUI_PAGE_WELCOME + +; USDX Update Page + +Page custom Update Download + +Function Update + +nsDialogs::Create /NOUNLOAD 1018 + + Pop $0 + + ${NSD_CreateCheckbox} 0 -150 100% 8u "$(update_connect)" + Pop $CHECKBOX + GetFunctionAddress $0 OnCheckbox + nsDialogs::OnClick /NOUNLOAD $CHECKBOX $0 + + ${NSD_CreateLabel} 0 0 100% 30u "$(update_information)" + Pop $label_update_information + +nsDialogs::Show + + +FunctionEnd ; Update page End + +Function Download + +${NSD_GetState} $CHECKBOX $checkbox_state + +${If} $checkbox_state == "1" + +NSISdl::download /TIMEOUT=50000 http://ultrastardeluxe.xtremeweb-hosting.net/version.txt $TEMP\version.txt + +Push 1 +Push "$TEMP\version.txt" + Call ReadFileLine +Pop $1 + +ReadRegStr $R0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${name}" 'DisplayVersion' + +${VersionCompare} "$R0" "$1" $R1 + +${If} $R1 == "0" + +messageBox MB_OK|MB_ICONINFORMATION "$(update_check_equal)" + +${Else} + ${If} $R1 == "1" + + IfFileExists $TEMP\version.txt FileExists + SetErrors + Goto Failed + + FileExists: + messageBox MB_OK|MB_ICONINFORMATION "$(update_check_newer)" + + ${Else} + + ${If} $R1 == "2" + messageBox MB_YESNO|MB_ICONQUESTION \ + "$(update_check_older)" IDNO +6 + + Push 2 + Push "$TEMP\version.txt" + Call ReadFileLine + Pop $2 + + ExecShell Open $2 + + ${Else} + + Failed: + messageBox MB_YESNO|MB_ICONQUESTION \ + "$(update_check_failed)" IDNO +2 + + ExecShell Open http://www.ultrastardeluxe.org + + ${EndIf} + ${EndIf} +${EndIf} +${Else} + +; If checkbox_state = 0 + + +${EndIf} + +Delete "$TEMP\version.txt" + + +FunctionEnd + +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; UPDATE (Section 1) +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +Section $(name_section1) Section1 + SectionIn RO + SetOutPath $INSTDIR + SetOverwrite try + +SectionEnd + +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; Language Support +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +!insertmacro MUI_LANGUAGE "English" +!insertmacro MUI_LANGUAGE "German" + +!insertmacro MUI_RESERVEFILE_LANGDLL + +!include "${path_languages}\*.nsh" + +Function .onInit + + !insertmacro MUI_LANGDLL_DISPLAY + + + +FunctionEnd diff --git a/Medley/installer/languages/English.nsh b/Medley/installer/languages/English.nsh new file mode 100644 index 00000000..63901b87 --- /dev/null +++ b/Medley/installer/languages/English.nsh @@ -0,0 +1,128 @@ +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; 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:" + +LangString update_connect ${LANG_ENGLISH} "Establish internet connection and check for new version" +LangString button_next ${LANG_ENGLISH} "Next >" +LangString button_close ${LANG_ENGLISH} "Close" +LangString update_information ${LANG_ENGLISH} "You can check if a new version of 'UltraStar Deluxe' is available. Thereto an internet connection will be established. If a new version is found, it can be installed afterwards." + +LangString delete_all ${LANG_ENGLISH} "Also delete Songs, Highscores and Covers ?" + +LangString update_check_older ${LANG_ENGLISH} "Your version $R0 is outdated. The new version $1 of UltraStar Deluxe is available. Do you want to update?" +LangString update_check_equal ${LANG_ENGLISH} "Your currently installed version $R0 is up-to-date. No update needed." +LangString update_check_newer ${LANG_ENGLISH} "Your installed version $R0 is newer than the $\n$\rcurrent release version $1 of UltraStar Deluxe. No update needed." +LangString update_check_failed ${LANG_ENGLISH} "The check for a new version failed. Do you want to visit website to check manually ?" + +; Welcome Page: + +LangString page_welcome_title_update ${LANG_ENGLISH} "Welcome to the UltraStar Deluxe Update Wizard" +LangString page_welcome_txt_update ${LANG_ENGLISH} "This wizard will guide you through the Update process 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" + +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" + +LangString page_un_welcome_title ${LANG_ENGLISH} "Welcome to the UltraStar Deluxe uninstall wizard" + +; 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} "Songs" +LangString name_s2_sub1 ${LANG_ENGLISH} "Jonathan Coulton" +LangString name_s2_sub2 ${LANG_ENGLISH} "Shearer" +LangString name_s2_sub3 ${LANG_ENGLISH} "Wise Guys" +LangString name_section3 ${LANG_ENGLISH} "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_Section2_sub2 ${LANG_ENGLISH} "You can choose which Shearer songs (CC by-nc-sa 2.0 / 3.0) should be installed." +LangString DESC_Section2_sub3 ${LANG_ENGLISH} "You can choose which Wise Guys songs should be installed." +LangString DESC_Section3 ${LANG_ENGLISH} "You can choose which optional themes should be installed." + +LangString DESC_g2Section2 ${LANG_ENGLISH} "This will install the song 'Dead Smiling Pirates - I 18' (CC by-nc-nd 2.5)." +LangString DESC_g2Section3 ${LANG_ENGLISH} "This will install the song 'Joshua Morin - On The Run' (CC by-sa 2.5)." +LangString DESC_g2Section4 ${LANG_ENGLISH} "This will install the song 'Pornophonique - Space Invaders' (CC by-nc-nd 2.0)." +LangString DESC_g2Section5 ${LANG_ENGLISH} "This will install the song 'Steven Dunston - Northern Star' (CC by-nc-sa 2.5)." +LangString DESC_g2Section1 ${LANG_ENGLISH} "This will install the song 'Bodo Wartke - Liebeslied (Love Song)'." + +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 [incl. video]'." +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 [incl. video]'." +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 [incl. video]'." +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 [incl. video]'." + +LangString DESC_s2_sub2_Section1 ${LANG_ENGLISH} "This will install the song '69'." +LangString DESC_s2_sub2_Section2 ${LANG_ENGLISH} "This will install the song '69 (Karaoke)'." +LangString DESC_s2_sub2_Section3 ${LANG_ENGLISH} "This will install the song 'Can't stop it'." +LangString DESC_s2_sub2_Section4 ${LANG_ENGLISH} "This will install the song 'Can't stop it (Karaoke)'." +LangString DESC_s2_sub2_Section5 ${LANG_ENGLISH} "This will install the song 'In My Hand'." +LangString DESC_s2_sub2_Section6 ${LANG_ENGLISH} "This will install the song 'Man Song'." +LangString DESC_s2_sub2_Section7 ${LANG_ENGLISH} "This will install the song 'Man Song (Karaoke)'." +LangString DESC_s2_sub2_Section8 ${LANG_ENGLISH} "This will install the song 'Stay with me'." +LangString DESC_s2_sub2_Section9 ${LANG_ENGLISH} "This will install the song 'Stay with me (Karaoke)'." + +LangString DESC_s2_sub3_Section1 ${LANG_ENGLISH} "This will install the song 'Lebendig und kräftig und schärfer'." +LangString DESC_s2_sub3_Section2 ${LANG_ENGLISH} "This will install the song 'Mensch, wo bist du?'." + +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.1' by Charis" +LangString DESC_g3Section6 ${LANG_ENGLISH} "This will install the optional theme 'WiiStar' by MasterPhW" +LangString DESC_g3Section7 ${LANG_ENGLISH} "This will install the optional theme 'iStar' by MezzoX" +LangString DESC_g3Section5 ${LANG_ENGLISH} "This will install the optional theme 'WhiteSensation' by Charis" \ No newline at end of file diff --git a/Medley/installer/languages/German.nsh b/Medley/installer/languages/German.nsh new file mode 100644 index 00000000..7f438e9d --- /dev/null +++ b/Medley/installer/languages/German.nsh @@ -0,0 +1,128 @@ +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; 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" + +LangString update_connect ${LANG_GERMAN} "Mit dem Internet verbinden und nach aktueller Version suchen" +LangString button_next ${LANG_GERMAN} "Weiter >" +LangString button_close ${LANG_GERMAN} "Beenden" +LangString update_information ${LANG_GERMAN} "Du kannst nach einer aktuelleren Version von 'UltraStar Deluxe' suchen. Dazu wird eine Verbindung mit dem Internet hergestellt. Wurde eine aktuellere Version gefunden, kann diese anschließend installiert werden." + +LangString delete_all ${LANG_GERMAN} "Lieder, Highscores und Cover auch löschen?" + +LangString update_check_older ${LANG_GERMAN} "Deine aktuelle Version $R0 ist veraltet. Die neue Version $1 von UltraStar Deluxe ist verfügbar. Möchtest du sie runterladen?" +LangString update_check_equal ${LANG_GERMAN} "Deine aktuelle Version $R0 ist auf dem neusten Stand.$\n$\rKein Update benötigt." +LangString update_check_newer ${LANG_GERMAN} "Deine aktuelle Version $R0 ist neuer als die zurzeit veröffentlichte$\n$\rVersion $1 von UltraStar Deluxe. Kein Update benötigt." +LangString update_check_failed ${LANG_GERMAN} "Die Aktualisierungsprüfung ist fehlgeschlagen. Willst du manuell nach Updates suchen?" + +; Welcome Page: + +LangString page_welcome_title_update ${LANG_GERMAN} "Willkommen beim Aktualisierungsassistenten von UltraStar Deluxe" +LangString page_welcome_txt_update ${LANG_GERMAN} "Dieser Assistent wird Sie durch die Aktualisierung 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" + +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" + +LangString page_un_welcome_title ${LANG_GERMAN} "Willkommen zur Deinstallation von UltraStar Deluxe" + +; 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} "Songs" +LangString name_s2_sub1 ${LANG_GERMAN} "Jonathan Coulton" +LangString name_s2_sub2 ${LANG_GERMAN} "Shearer" +LangString name_s2_sub3 ${LANG_GERMAN} "Wise Guys" +LangString name_section3 ${LANG_GERMAN} "Designs" + +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_Section2_sub2 ${LANG_GERMAN} "Hier können Shearer Songs (CC by-nc-sa 2.0 / 3.0) zum Installieren gewählt werden." +LangString DESC_Section2_sub3 ${LANG_GERMAN} "Hier können Wise Guys Songs zum Installieren gewählt werden." +LangString DESC_Section3 ${LANG_GERMAN} "Hier können alternative Motive zum Installieren gewählt werden." + +LangString DESC_g2Section2 ${LANG_GERMAN} "Installiert das Lied 'Dead Smiling Pirates - I 18' (CC by-nc-nd 2.5)." +LangString DESC_g2Section3 ${LANG_GERMAN} "Installiert das Lied 'Joshua Morin - On The Run' (CC by-sa 2.5)." +LangString DESC_g2Section4 ${LANG_GERMAN} "Installiert das Lied 'Pornophonique - Space Invaders' (CC by-nc-nd 2.0)." +LangString DESC_g2Section5 ${LANG_GERMAN} "Installiert das Lied 'Steven Dunston - Northern Star' (CC by-nc-sa 2.5)." +LangString DESC_g2Section1 ${LANG_GERMAN} "Installiert das Lied 'Bodo Wartke - Liebeslied (Love Song)'." + +LangString DESC_s2_sub1_Section1 ${LANG_GERMAN} "Installiert das Lied 'Monkey Shines'." +LangString DESC_s2_sub1_Section2 ${LANG_GERMAN} "Installiert das Lied 'I Crush Everything'." +LangString DESC_s2_sub1_Section3 ${LANG_GERMAN} "Installiert das Lied 'Not About You'." +LangString DESC_s2_sub1_Section4 ${LANG_GERMAN} "Installiert das Lied 'Mr. Fancy Pants'." +LangString DESC_s2_sub1_Section5 ${LANG_GERMAN} "Installiert das Lied 'Big Bad World One'." +LangString DESC_s2_sub1_Section6 ${LANG_GERMAN} "Installiert das Lied 'Flickr [inkl. Video]'." +LangString DESC_s2_sub1_Section7 ${LANG_GERMAN} "Installiert das Lied 'My Beige Bear'." +LangString DESC_s2_sub1_Section8 ${LANG_GERMAN} "Installiert das Lied 'The Future Soon'." +LangString DESC_s2_sub1_Section9 ${LANG_GERMAN} "Installiert das Lied 'Ikea'." +LangString DESC_s2_sub1_Section10 ${LANG_GERMAN} "Installiert das Lied 'Furry Old Lobster'." +LangString DESC_s2_sub1_Section11 ${LANG_GERMAN} "Installiert das Lied 'Code Monkey [inkl. Video]'." +LangString DESC_s2_sub1_Section12 ${LANG_GERMAN} "Installiert das Lied 'I´m Your Moon'." +LangString DESC_s2_sub1_Section13 ${LANG_GERMAN} "Installiert das Lied 'First Of May'." +LangString DESC_s2_sub1_Section14 ${LANG_GERMAN} "Installiert das Lied 'Dance, Soterios Johnson, Dance'." +LangString DESC_s2_sub1_Section15 ${LANG_GERMAN} "Installiert das Lied 'A Talk With George'." +LangString DESC_s2_sub1_Section16 ${LANG_GERMAN} "Installiert das Lied 'Creepy Doll [inkl. Video]'." +LangString DESC_s2_sub1_Section17 ${LANG_GERMAN} "Installiert das Lied 'That Spells DNA'." +LangString DESC_s2_sub1_Section18 ${LANG_GERMAN} "Installiert das Lied 'When You Go'." +LangString DESC_s2_sub1_Section19 ${LANG_GERMAN} "Installiert das Lied 'Better'." +LangString DESC_s2_sub1_Section20 ${LANG_GERMAN} "Installiert das Lied 'Shop Vac'." +LangString DESC_s2_sub1_Section21 ${LANG_GERMAN} "Installiert das Lied 'I Feel Fantastic'." +LangString DESC_s2_sub1_Section22 ${LANG_GERMAN} "Installiert das Lied 'Re: Your Brains'." +LangString DESC_s2_sub1_Section23 ${LANG_GERMAN} "Installiert das Lied 'Skullcrusher Mountain'." +LangString DESC_s2_sub1_Section24 ${LANG_GERMAN} "Installiert das Lied 'Chiron Beta Prime [inkl. Video]'." + +LangString DESC_s2_sub2_Section1 ${LANG_GERMAN} "Installiert das Lied '69'." +LangString DESC_s2_sub2_Section2 ${LANG_GERMAN} "Installiert das Lied '69 (Karaoke)'." +LangString DESC_s2_sub2_Section3 ${LANG_GERMAN} "Installiert das Lied 'Can't stop it'." +LangString DESC_s2_sub2_Section4 ${LANG_GERMAN} "Installiert das Lied 'Can't stop it (Karaoke)'." +LangString DESC_s2_sub2_Section5 ${LANG_GERMAN} "Installiert das Lied 'In My Hand'." +LangString DESC_s2_sub2_Section6 ${LANG_GERMAN} "Installiert das Lied 'Man Song'." +LangString DESC_s2_sub2_Section7 ${LANG_GERMAN} "Installiert das Lied 'Man Song (Karaoke)'." +LangString DESC_s2_sub2_Section8 ${LANG_GERMAN} "Installiert das Lied 'Stay with me'." +LangString DESC_s2_sub2_Section9 ${LANG_GERMAN} "Installiert das Lied 'Stay with me (Karaoke)'." + +LangString DESC_s2_sub3_Section1 ${LANG_GERMAN} "Installiert das Lied 'Lebendig und kräftig und schärfer'." +LangString DESC_s2_sub3_Section2 ${LANG_GERMAN} "Installiert das Lied 'Mensch, wo bist du?'." + +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.1' von Charis" +LangString DESC_g3Section6 ${LANG_GERMAN} "Installiert das Motiv 'WiiStar' von MasterPhW" +LangString DESC_g3Section7 ${LANG_GERMAN} "Installiert das Motiv 'iStar' von MezzoX" +LangString DESC_g3Section5 ${LANG_GERMAN} "Installiert das Motiv 'WhiteSensation' von Charis" \ No newline at end of file diff --git a/Medley/installer/settings/GameExplorer.nsh b/Medley/installer/settings/GameExplorer.nsh new file mode 100644 index 00000000..d5056661 --- /dev/null +++ b/Medley/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/Medley/installer/settings/files_main_install.nsh b/Medley/installer/settings/files_main_install.nsh new file mode 100644 index 00000000..c2cdf727 --- /dev/null +++ b/Medley/installer/settings/files_main_install.nsh @@ -0,0 +1,56 @@ +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; UltraStar Deluxe Installer: Main components +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ + +; Create Directories: + +CreateDirectory $INSTDIR\Plugins +CreateDirectory $INSTDIR\Songs +CreateDirectory $INSTDIR\Screenshots +CreateDirectory $INSTDIR\Playlists +CreateDirectory $INSTDIR\Covers + +SetOutPath "$INSTDIR" + +; themes, languages, sounds, fonts, visuals dir + +File /r ..\game\themes +File /r ..\game\languages +File /r ..\game\sounds +File /r ..\game\fonts +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/Medley/installer/settings/files_main_uninstall.nsh b/Medley/installer/settings/files_main_uninstall.nsh new file mode 100644 index 00000000..af61cb0b --- /dev/null +++ b/Medley/installer/settings/files_main_uninstall.nsh @@ -0,0 +1,85 @@ +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; 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\fonts" + 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\cover.db" + + 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/Medley/installer/settings/functions.nsh b/Medley/installer/settings/functions.nsh new file mode 100644 index 00000000..bbd4fea2 --- /dev/null +++ b/Medley/installer/settings/functions.nsh @@ -0,0 +1,199 @@ +; 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 + +Function OnCheckbox + GetDlgItem $R0 $HWNDPARENT 1 + Pop $0 # HWND + ${NSD_GetState} $0 $1 + IntCmp $1 1 _Next _Close + _Next: + SendMessage $R0 ${WM_SETTEXT} 0 "STR:$(button_next)" + goto _done + _Close: + SendMessage $R0 ${WM_SETTEXT} 0 "STR:$(button_close)" + _done: +FunctionEnd + +Function VersionCompare + !define VersionCompare `!insertmacro VersionCompareCall` + + !macro VersionCompareCall _VER1 _VER2 _RESULT + Push `${_VER1}` + Push `${_VER2}` + Call VersionCompare + Pop ${_RESULT} + !macroend + + Exch $1 + Exch + Exch $0 + Exch + Push $2 + Push $3 + Push $4 + Push $5 + Push $6 + Push $7 + + begin: + StrCpy $2 -1 + IntOp $2 $2 + 1 + StrCpy $3 $0 1 $2 + StrCmp $3 '' +2 + StrCmp $3 '.' 0 -3 + StrCpy $4 $0 $2 + IntOp $2 $2 + 1 + StrCpy $0 $0 '' $2 + + StrCpy $2 -1 + IntOp $2 $2 + 1 + StrCpy $3 $1 1 $2 + StrCmp $3 '' +2 + StrCmp $3 '.' 0 -3 + StrCpy $5 $1 $2 + IntOp $2 $2 + 1 + StrCpy $1 $1 '' $2 + + StrCmp $4$5 '' equal + + StrCpy $6 -1 + IntOp $6 $6 + 1 + StrCpy $3 $4 1 $6 + StrCmp $3 '0' -2 + StrCmp $3 '' 0 +2 + StrCpy $4 0 + + StrCpy $7 -1 + IntOp $7 $7 + 1 + StrCpy $3 $5 1 $7 + StrCmp $3 '0' -2 + StrCmp $3 '' 0 +2 + StrCpy $5 0 + + StrCmp $4 0 0 +2 + StrCmp $5 0 begin newer2 + StrCmp $5 0 newer1 + IntCmp $6 $7 0 newer1 newer2 + + StrCpy $4 '1$4' + StrCpy $5 '1$5' + IntCmp $4 $5 begin newer2 newer1 + + equal: + StrCpy $0 0 + goto end + newer1: + StrCpy $0 1 + goto end + newer2: + StrCpy $0 2 + + end: + Pop $7 + Pop $6 + Pop $5 + Pop $4 + Pop $3 + Pop $2 + Pop $1 + Exch $0 +FunctionEnd + +Function ReadFileLine +Exch $0 ;file +Exch +Exch $1 ;line number +Push $2 +Push $3 + + FileOpen $2 $0 r + StrCpy $3 0 + +Loop: + IntOp $3 $3 + 1 + ClearErrors + FileRead $2 $0 + IfErrors +2 + StrCmp $3 $1 0 loop + FileClose $2 + +Pop $3 +Pop $2 +Pop $1 +Exch $0 +FunctionEnd \ No newline at end of file diff --git a/Medley/installer/settings/settings-1031.ini b/Medley/installer/settings/settings-1031.ini new file mode 100644 index 00000000..9e588fcb --- /dev/null +++ b/Medley/installer/settings/settings-1031.ini @@ -0,0 +1,136 @@ +[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 +State=On +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 +State=German +Left=71 +Right=161 +Top=48 +Bottom=62 + +[Field 8] +Type=Droplist +ListItems=320x200|640x480|800x600|1024x768|1280x1024|1440x900|1680x1050|1920x1200 +State=800x600 +Left=71 +Right=161 +Top=72 +Bottom=86 + +[Field 9] +Type=Droplist +ListItems=On|Off +State=Off +Left=71 +Right=161 +Top=96 +Bottom=110 + +[Field 10] +Type=Droplist +ListItems=On|Off +State=On +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/Medley/installer/settings/settings-1033.ini b/Medley/installer/settings/settings-1033.ini new file mode 100644 index 00000000..17a08a8c --- /dev/null +++ b/Medley/installer/settings/settings-1033.ini @@ -0,0 +1,136 @@ +[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 +State=On +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 +State=English +Left=70 +Right=160 +Top=48 +Bottom=60 + +[Field 8] +Type=Droplist +ListItems=320x200|640x480|800x600|1024x768|1280x1024|1440x900|1680x1050|1920x1200 +State=800x600 +Left=70 +Right=160 +Top=72 +Bottom=86 + +[Field 9] +Type=Droplist +ListItems=On|Off +State=Off +Left=70 +Right=160 +Top=99 +Bottom=113 + +[Field 10] +Type=Droplist +ListItems=On|Off +State=On +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/Medley/installer/settings/variables.nsh b/Medley/installer/settings/variables.nsh new file mode 100644 index 00000000..db98d89f --- /dev/null +++ b/Medley/installer/settings/variables.nsh @@ -0,0 +1,91 @@ +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ +; 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 "..\installerdependencies\documents\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_song2 "http://downloads.sourceforge.net/ultrastardx/usdx_song-dead_smiling_pirates_-_i_18.zip" +!define download_song3 "http://downloads.sourceforge.net/ultrastardx/usdx_song-joshua_morin_-_on_the_run.zip" +!define download_song4 "http://downloads.sourceforge.net/ultrastardx/usdx_song-pornophonique_-_space_-_invaders.zip" +!define download_song5 "http://downloads.sourceforge.net/ultrastardx/usdx_song-steven_dunston_-_northern_star.zip" +!define download_song1 "http://downloads.sourceforge.net/ultrastardx/usdx_song-bodo_wartke_-_liebeslied.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_sub2_song1 "http://downloads.sourceforge.net/ultrastardx/usdx_song-shearer_-_69.zip" +!define download_sub2_song2 "http://downloads.sourceforge.net/ultrastardx/usdx_song-shearer_-_69_kar.zip" +!define download_sub2_song3 "http://downloads.sourceforge.net/ultrastardx/usdx_song-shearer_-_cant_stop_it.zip" +!define download_sub2_song4 "http://downloads.sourceforge.net/ultrastardx/usdx_song-shearer_-_cant_stop_it_kar.zip" +!define download_sub2_song5 "http://downloads.sourceforge.net/ultrastardx/usdx_song-shearer_-_in_my_hand.zip" +!define download_sub2_song6 "http://downloads.sourceforge.net/ultrastardx/usdx_song-shearer_-_man_song.zip" +!define download_sub2_song7 "http://downloads.sourceforge.net/ultrastardx/usdx_song-shearer_-_man_song_kar.zip" +!define download_sub2_song8 "http://downloads.sourceforge.net/ultrastardx/usdx_song-shearer_-_stay_with_me.zip" +!define download_sub2_song9 "http://downloads.sourceforge.net/ultrastardx/usdx_song-shearer_-_stay_with_me_kar.zip" + +!define download_sub3_song1 "http://downloads.sourceforge.net/ultrastardx/usdx_song-wise_guys_-_lebendig_und_kraeftig_und_schaerfer.zip" +!define download_sub3_song2 "http://downloads.sourceforge.net/ultrastardx/usdx_song-wise_guys_-_mensch_wo_bist_du.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.1_by_Charis.zip" +!define download_theme6 "http://downloads.sourceforge.net/ultrastardx/usdx_skin-WiiStar_by_MasterPhW.zip" +!define download_theme7 "http://downloads.sourceforge.net/ultrastardx/usdx_skin-istar_by_MezzoX.zip" +!define download_theme5 "http://downloads.sourceforge.net/ultrastardx/usdx_skin-whitesensationV101_by_Charis.zip" \ No newline at end of file -- cgit v1.2.3