From 4ebb1c51ca8ec788c8593cd76dca9e0cc2f83f64 Mon Sep 17 00:00:00 2001 From: canni2007 Date: Fri, 2 Nov 2007 22:40:41 +0000 Subject: - Updated installer source: added section size, another demo song added check within uninstall routine (whether game is running) changed component selection layout (no need to scroll anymore) optional themes/skins will now be downloaded (not provided) - New gdf.dll Source: added source code for gdf dll with beta boxart for vista game explorer git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/1.01@559 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Installer/Readme.txt | 2 +- Installer/UltraStar Deluxe.nsi | 48 +++++-- Installer/gdf/UltraStar Deluxe.gdf.xml | Bin 0 -> 3494 bytes Installer/gdf/UltraStar Deluxe.rc | 34 +++++ Installer/gdf/boxart.png | Bin 0 -> 79264 bytes Installer/gdf/gameicon.ico | Bin 0 -> 22486 bytes Installer/gdf/gameux.h | 250 +++++++++++++++++++++++++++++++++ Installer/settings/files_un.nsh | 11 +- Installer/settings/variables.nsh | 22 +-- 9 files changed, 348 insertions(+), 19 deletions(-) create mode 100644 Installer/gdf/UltraStar Deluxe.gdf.xml create mode 100644 Installer/gdf/UltraStar Deluxe.rc create mode 100644 Installer/gdf/boxart.png create mode 100644 Installer/gdf/gameicon.ico create mode 100644 Installer/gdf/gameux.h diff --git a/Installer/Readme.txt b/Installer/Readme.txt index 37cac1ba..7cfbd4de 100644 --- a/Installer/Readme.txt +++ b/Installer/Readme.txt @@ -1,4 +1,4 @@ -SOURCE (1th of November 2007, 14:10 UTC+1 MESZ) +SOURCE (2th of November 2007, 23:35 UTC+1 MESZ) Build using Nullsoft Install System (http://nsis.sourceforge.net/Download) diff --git a/Installer/UltraStar Deluxe.nsi b/Installer/UltraStar Deluxe.nsi index 35e0433c..59b33eda 100644 --- a/Installer/UltraStar Deluxe.nsi +++ b/Installer/UltraStar Deluxe.nsi @@ -328,15 +328,15 @@ Section /o "Dead Smiling Pirates - I 18" g2Section1 SetOutPath "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]\" ; Download song: -NSISdl::download /TIMEOUT=30000 ${demosong} $TEMP\song.zip +NSISdl::download /TIMEOUT=30000 ${demosong} $TEMP\Song-I-18.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.zip" "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]\" +nsisunz::Unzip "$TEMP\Song-I-18.zip" "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]\" -Delete "$TEMP\song.zip" +Delete "$TEMP\Song-I-18.zip" SectionEnd @@ -348,15 +348,15 @@ Section /o "Steven Dunston - Northern Star" g2Section2 SetOutPath "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]\" ; Download song: -NSISdl::download /TIMEOUT=30000 ${demosong2} $TEMP\song.zip +NSISdl::download /TIMEOUT=30000 ${demosong2} $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.zip" "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]\" +nsisunz::Unzip "$TEMP\Song-Northern-Star.zip" "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]\" -Delete "$TEMP\song.zip" +Delete "$TEMP\Song-Northern-Star.zip" SectionEnd @@ -385,19 +385,49 @@ SectionGroup $(sec_group) Section3 Section /o "Orange" g1Sec1 - !include ".\settings\optional\in_orange.nsh" +; Download theme orange: +NSISdl::download /TIMEOUT=30000 ${dl_orange} $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" + SectionEnd Section /o "Streetlight" g1Sec2 - !include ".\settings\optional\in_streetlight.nsh" +; Download theme Streetlight: +NSISdl::download /TIMEOUT=30000 ${dl_streetlight} $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" + SectionEnd Section /o "Vistar" g1Sec3 - !include ".\settings\optional\in_vistar.nsh" +; Download theme Vistar: +NSISdl::download /TIMEOUT=30000 ${dl_vistar} $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" + SectionEnd diff --git a/Installer/gdf/UltraStar Deluxe.gdf.xml b/Installer/gdf/UltraStar Deluxe.gdf.xml new file mode 100644 index 00000000..a231a4d5 Binary files /dev/null and b/Installer/gdf/UltraStar Deluxe.gdf.xml differ diff --git a/Installer/gdf/UltraStar Deluxe.rc b/Installer/gdf/UltraStar Deluxe.rc new file mode 100644 index 00000000..0e8089b5 --- /dev/null +++ b/Installer/gdf/UltraStar Deluxe.rc @@ -0,0 +1,34 @@ +///////////////////////////////////////////////////////////////////////////// +// Resource File for : UltraStar Deluxe +#include "UltraStar Deluxe.h" + +#define _INC_CRTDEFS + + +///////////////////////////////////////////////////////////////////////////// +// This resource files requires the Platform SDK to be compiled. +#include + + +#define APSTUDIO_READONLY_SYMBOLS + +#include + +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Neutral Resources +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU) +#ifdef _WIN32 + +LANGUAGE LANG_NEUTRAL, SUBLANG_DEFAULT +#pragma code_page(DEFAULT) +#endif //_WIN32 + +ID_GDF_XML DATA "UltraStar Deluxe.gdf.xml" +ID_GDF_THUMBNAIL DATA "boxart.png" +ID_ICON ICON "gameicon.ico" + +#endif +// Neutral resources +///////////////////////////////////////////////////////////////////////////// diff --git a/Installer/gdf/boxart.png b/Installer/gdf/boxart.png new file mode 100644 index 00000000..29a82960 Binary files /dev/null and b/Installer/gdf/boxart.png differ diff --git a/Installer/gdf/gameicon.ico b/Installer/gdf/gameicon.ico new file mode 100644 index 00000000..f3214d1a Binary files /dev/null and b/Installer/gdf/gameicon.ico differ diff --git a/Installer/gdf/gameux.h b/Installer/gdf/gameux.h new file mode 100644 index 00000000..fa5b20a2 --- /dev/null +++ b/Installer/gdf/gameux.h @@ -0,0 +1,250 @@ + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 7.00.0486 */ +/* Compiler settings for gameux.idl: + Oicf, W1, Zp8, env=Win32 (32b run) + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +//@@MIDL_FILE_HEADING( ) + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCSAL_H_VERSION__ +#define __REQUIRED_RPCSAL_H_VERSION__ 100 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of +#endif // __RPCNDR_H_VERSION__ + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif /*COM_NO_WINDOWS_H*/ + +#ifndef __gameux_h__ +#define __gameux_h__ + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +/* Forward Declarations */ + +#ifndef __IGameExplorer_FWD_DEFINED__ +#define __IGameExplorer_FWD_DEFINED__ +typedef interface IGameExplorer IGameExplorer; +#endif /* __IGameExplorer_FWD_DEFINED__ */ + + +#ifndef __GameExplorer_FWD_DEFINED__ +#define __GameExplorer_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class GameExplorer GameExplorer; +#else +typedef struct GameExplorer GameExplorer; +#endif /* __cplusplus */ + +#endif /* __GameExplorer_FWD_DEFINED__ */ + + +/* header files for imported files */ +#include "oaidl.h" +#include "ocidl.h" +#include "shobjidl.h" + +#ifdef __cplusplus +extern "C"{ +#endif + + +/* interface __MIDL_itf_gameux_0000_0000 */ +/* [local] */ + +#define ID_GDF_XML __GDF_XML +#define ID_GDF_THUMBNAIL __GDF_THUMBNAIL +#define ID_ICON_ICO __ICON_ICO +#define ID_GDF_XML_STR L"__GDF_XML" +#define ID_GDF_THUMBNAIL_STR L"__GDF_THUMBNAIL" +typedef /* [v1_enum] */ +enum GAME_INSTALL_SCOPE + { GIS_NOT_INSTALLED = 1, + GIS_CURRENT_USER = 2, + GIS_ALL_USERS = 3 + } GAME_INSTALL_SCOPE; + + + +extern RPC_IF_HANDLE __MIDL_itf_gameux_0000_0000_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_gameux_0000_0000_v0_0_s_ifspec; + +#ifndef __IGameExplorer_INTERFACE_DEFINED__ +#define __IGameExplorer_INTERFACE_DEFINED__ + +/* interface IGameExplorer */ +/* [unique][helpstring][uuid][object] */ + + +EXTERN_C const IID IID_IGameExplorer; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("E7B2FB72-D728-49B3-A5F2-18EBF5F1349E") + IGameExplorer : public IUnknown + { + public: + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddGame( + /* [in] */ __RPC__in BSTR bstrGDFBinaryPath, + /* [in] */ __RPC__in BSTR bstrGameInstallDirectory, + /* [in] */ GAME_INSTALL_SCOPE installScope, + /* [out][in] */ __RPC__inout GUID *pguidInstanceID) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveGame( + /* [in] */ GUID guidInstanceID) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateGame( + /* [in] */ GUID guidInstanceID) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VerifyAccess( + /* [in] */ __RPC__in BSTR bstrGDFBinaryPath, + /* [out] */ __RPC__out BOOL *pfHasAccess) = 0; + + }; + +#else /* C style interface */ + + typedef struct IGameExplorerVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IGameExplorer * This, + /* [in] */ __RPC__in REFIID riid, + /* [iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IGameExplorer * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IGameExplorer * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddGame )( + IGameExplorer * This, + /* [in] */ __RPC__in BSTR bstrGDFBinaryPath, + /* [in] */ __RPC__in BSTR bstrGameInstallDirectory, + /* [in] */ GAME_INSTALL_SCOPE installScope, + /* [out][in] */ __RPC__inout GUID *pguidInstanceID); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveGame )( + IGameExplorer * This, + /* [in] */ GUID guidInstanceID); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateGame )( + IGameExplorer * This, + /* [in] */ GUID guidInstanceID); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *VerifyAccess )( + IGameExplorer * This, + /* [in] */ __RPC__in BSTR bstrGDFBinaryPath, + /* [out] */ __RPC__out BOOL *pfHasAccess); + + END_INTERFACE + } IGameExplorerVtbl; + + interface IGameExplorer + { + CONST_VTBL struct IGameExplorerVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IGameExplorer_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IGameExplorer_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IGameExplorer_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IGameExplorer_AddGame(This,bstrGDFBinaryPath,bstrGameInstallDirectory,installScope,pguidInstanceID) \ + ( (This)->lpVtbl -> AddGame(This,bstrGDFBinaryPath,bstrGameInstallDirectory,installScope,pguidInstanceID) ) + +#define IGameExplorer_RemoveGame(This,guidInstanceID) \ + ( (This)->lpVtbl -> RemoveGame(This,guidInstanceID) ) + +#define IGameExplorer_UpdateGame(This,guidInstanceID) \ + ( (This)->lpVtbl -> UpdateGame(This,guidInstanceID) ) + +#define IGameExplorer_VerifyAccess(This,bstrGDFBinaryPath,pfHasAccess) \ + ( (This)->lpVtbl -> VerifyAccess(This,bstrGDFBinaryPath,pfHasAccess) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IGameExplorer_INTERFACE_DEFINED__ */ + + + +#ifndef __gameuxLib_LIBRARY_DEFINED__ +#define __gameuxLib_LIBRARY_DEFINED__ + +/* library gameuxLib */ +/* [helpstring][version][uuid] */ + + +EXTERN_C const IID LIBID_gameuxLib; + +EXTERN_C const CLSID CLSID_GameExplorer; + +#ifdef __cplusplus + +class DECLSPEC_UUID("9A5EA990-3034-4D6F-9128-01F3C61022BC") +GameExplorer; +#endif +#endif /* __gameuxLib_LIBRARY_DEFINED__ */ + +/* Additional Prototypes for ALL interfaces */ + +unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); +unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); +unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); +void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + diff --git a/Installer/settings/files_un.nsh b/Installer/settings/files_un.nsh index ef1d6627..2bdc0819 100644 --- a/Installer/settings/files_un.nsh +++ b/Installer/settings/files_un.nsh @@ -248,13 +248,19 @@ ${EndIf} Delete "$INSTDIR\Themes\Classic.ini" Delete "$INSTDIR\Themes\Deluxe.ini" -; Delete provided Song +; Delete provided Songs Delete "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]\Dead Smiling Pirates - I 18 [BG].jpg" Delete "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]\Dead Smiling Pirates - I 18 [CO].jpg" Delete "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]\Dead Smiling Pirates - I 18.ogg" Delete "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]\Dead Smiling Pirates - I 18.txt" Delete "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]\License.txt" + Delete "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]\Steven Dunston - Northern Star [BG].jpg" + Delete "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]\Steven Dunston - Northern Star [CO].jpg" + Delete "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]\Steven Dunston - Northern Star.mp3" + Delete "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]\Steven Dunston - Northern Star v1.4.txt" + Delete "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]\License.txt" + ; Delete only empty directories: StrCpy $0 "$INSTDIR\Covers" @@ -278,6 +284,9 @@ Call un.DeleteIfEmpty StrCpy $0 "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]" Call un.DeleteIfEmpty +StrCpy $0 "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]" +Call un.DeleteIfEmpty + StrCpy $0 "$INSTDIR\Songs" Call un.DeleteIfEmpty diff --git a/Installer/settings/variables.nsh b/Installer/settings/variables.nsh index cd5a5aee..e4d03924 100644 --- a/Installer/settings/variables.nsh +++ b/Installer/settings/variables.nsh @@ -9,8 +9,14 @@ !define exe "USdx" ; Current name of start exe (must also be defined in functions.nsh) -!define demosong "http://ultrastardeluxe.xtremeweb-hosting.net/installer/song.zip" ; URL from where the demo song "I18" will be downloaded -!define demosong2 "http://ultrastardeluxe.xtremeweb-hosting.net/installer/song2.zip" ; URL from where the demo song "Northern Star" will be downloaded +!define demosong "http://ultrastardeluxe.xtremeweb-hosting.net/installer/songs/song.zip" ; URL from where the demo song "I18" will be downloaded +!define demosong2 "http://ultrastardeluxe.xtremeweb-hosting.net/installer/songs/song2.zip" ; URL from where the demo song "Northern Star" will be downloaded + +; Theme URLs: + +!define dl_orange "http://ultrastardeluxe.xtremeweb-hosting.net/installer/themes/orange.zip" +!define dl_vistar "http://ultrastardeluxe.xtremeweb-hosting.net/installer/themes/vistar.zip" +!define dl_streetlight "http://ultrastardeluxe.xtremeweb-hosting.net/installer/themes/streetlight.zip" ; Other Language Strings (except Section Language Strings) ; can be found at .\langstrings.nsh @@ -38,14 +44,14 @@ ; Group Section Descriptions: -!define eng_g1Sec1_desc "This will install the optional theme 'Orange' by Skar." -!define ger_g1Sec1_desc "Dies fügt das optionale Motiv 'Orange' von Skar hinzu." +!define eng_g1Sec1_desc "This will download the optional theme 'Orange' by Skar." +!define ger_g1Sec1_desc "Dies lädt das optionale Motiv 'Orange' von Skar herunter." -!define eng_g1Sec2_desc "This will install the optional theme 'Streetlight' by Skar." -!define ger_g1Sec2_desc "Dies fügt das optionale Motiv 'Streetlight' von Skar hinzu." +!define eng_g1Sec2_desc "This will download the optional theme 'Streetlight' by Skar." +!define ger_g1Sec2_desc "Dies lädt das optionale Motiv 'Streetlight' von Skar herunter." -!define eng_g1Sec3_desc "This will install the optional theme 'Vistar' by Skar." -!define ger_g1Sec3_desc "Dies fügt das optionale Motiv 'Vistar' von Skar hinzu." +!define eng_g1Sec3_desc "This will download the optional theme 'Vistar' by Skar." +!define ger_g1Sec3_desc "Dies lädt das optionale Motiv 'Vistar' von Skar herunter." ; Skin: -- cgit v1.2.3