added Start Menu icons, uninstall force, and more to installer

This commit is contained in:
Chris Danford
2002-08-26 19:30:58 +00:00
parent 1efce9f7f7
commit 2cbc4f0dc5
13 changed files with 153 additions and 65 deletions
+1
View File
@@ -0,0 +1 @@
Place announcer folders in this directory. See the readme for more details.
+1
View File
@@ -0,0 +1 @@
Place BGAnimation folders in here. See the readme for details.
+1
View File
@@ -0,0 +1 @@
Place CRS and course banner files here. See the readme for details.
+1
View File
@@ -1,4 +1,5 @@
------------------------CVS after 3.00 beta 6----------------
CHANGE: New Nullsoft NSIS installer.
CHANGE: NG no longer breaks combo.
NEW FEATURE: Hidden easter egg. You have to be "perfect" to find it.
And cheaters never prosper!
+1
View File
@@ -0,0 +1 @@
Place Note Skin folders in the appropriate game folder. See the readme for details.
+1
View File
@@ -0,0 +1 @@
Movie files in this directory will be cycled through randomly if the Background Mode is set to "Random Movies"
+1
View File
@@ -0,0 +1 @@
Place Theme folders here. More more information on the theme format, see the readme file.
+4
View File
@@ -390,7 +390,9 @@ CString ThemeManager::GetPathTo( ThemeElement te, CString sThemeName )
CString ThemeManager::GetPathTo( CString sAssetCategory, CString sFileName )
{
#ifdef _DEBUG
try_element_again:
#endif
sAssetCategory.MakeLower();
sFileName.MakeLower();
@@ -510,7 +512,9 @@ CString ThemeManager::GetMetricsPathFromName( CString sThemeName )
CString ThemeManager::GetMetric( CString sScreenName, CString sValueName )
{
#ifdef _DEBUG
try_metric_again:
#endif
CString sCurMetricPath = GetMetricsPathFromName(m_sCurThemeName);
CString sDefaultMetricPath = GetMetricsPathFromName(BASE_THEME_NAME);
Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

-1
View File
@@ -18,7 +18,6 @@
#define IDC_EDIT_MESSAGE1 1005
#define IDC_EDIT_MESSAGE3 1006
#define IDC_EDIT_MESSAGE2 1007
#define IDC_TREE1 1008
// Next default values for new objects
//
+5 -5
View File
@@ -78,17 +78,17 @@ STYLE DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE |
WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "Stepmania Package Manager"
FONT 8, "MS Sans Serif"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
DEFPUSHBUTTON "Close",IDOK,259,215,65,14
LISTBOX IDC_LIST,5,45,247,160,LBS_SORT | LBS_MULTIPLESEL |
DEFPUSHBUTTON "Close",IDOK,255,215,69,14
LISTBOX IDC_LIST,5,45,244,160,LBS_SORT | LBS_MULTIPLESEL |
LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "Play Stepmania",IDC_BUTTON_PLAY,5,215,70,15
PUSHBUTTON "Export As One",IDC_BUTTON_EXPORT_AS_ONE,256,75,68,15,
PUSHBUTTON "Export As One",IDC_BUTTON_EXPORT_AS_ONE,255,75,69,15,
WS_DISABLED
CONTROL 135,IDC_STATIC,"Static",SS_BITMAP,0,0,332,38
PUSHBUTTON "Export As Individual",IDC_BUTTON_EXPORT_AS_INDIVIDUAL,
256,108,68,15,WS_DISABLED
255,108,69,15,WS_DISABLED
END
IDD_INSTALL DIALOG DISCARDABLE 0, 0, 332, 234
+11 -11
View File
@@ -69,15 +69,15 @@ BOOL CSmpackageDlg::OnInitDialog()
//
{
CStringArray as1;
GetDirListing( "Announcers/*.*", as1, true, true );
GetDirListing( "Themes/*.*", as1, true, true );
GetDirListing( "BGAnimations/*.*", as1, true, true );
GetDirListing( "RandomMovies/*.avi", as1, false, true );
GetDirListing( "RandomMovies/*.mpg", as1, false, true );
GetDirListing( "RandomMovies/*.mpeg", as1, false, true );
GetDirListing( "Visualizations/*.avi", as1, false, true );
GetDirListing( "Visualizations/*.mpg", as1, false, true );
GetDirListing( "Visualizations/*.mpeg", as1, false, true );
GetDirListing( "Announcers\\*.*", as1, true, true );
GetDirListing( "Themes\\*.*", as1, true, true );
GetDirListing( "BGAnimations\\*.*", as1, true, true );
GetDirListing( "RandomMovies\\*.avi", as1, false, true );
GetDirListing( "RandomMovies\\*.mpg", as1, false, true );
GetDirListing( "RandomMovies\\*.mpeg", as1, false, true );
GetDirListing( "Visualizations\\*.avi", as1, false, true );
GetDirListing( "Visualizations\\*.mpg", as1, false, true );
GetDirListing( "Visualizations\\*.mpeg", as1, false, true );
for( int i=0; i<as1.GetSize(); i++ )
m_listBox.AddString( as1[i] );
}
@@ -89,7 +89,7 @@ BOOL CSmpackageDlg::OnInitDialog()
//
{
CStringArray as1;
GetDirListing( "NoteSkins/*.*", as1, true, true );
GetDirListing( "NoteSkins\\*.*", as1, true, true );
for( int i=0; i<as1.GetSize(); i++ )
{
CStringArray as2;
@@ -104,7 +104,7 @@ BOOL CSmpackageDlg::OnInitDialog()
//
{
CStringArray as1;
GetDirListing( "Songs/*.*", as1, true, true );
GetDirListing( "Songs\\*.*", as1, true, true );
for( int i=0; i<as1.GetSize(); i++ )
{
CStringArray as2;
+126 -48
View File
@@ -1,31 +1,51 @@
; NSIS Install Script
; created by BBF
; created by BBF and chrisdanford
; I use the following command to create the installer:
; D:\Program Files\NSIS>makensis.exe /v3 /cd "m:\Dev Projects\CVS\stepmania\stepmania.nsi"
;
; NOTE: this .NSI script is designed for NSIS v1.8+
Name "StepMania"
OutFile "stepmania-install.exe"
OutFile "stepmania300beta6.exe"
!define PRODUCT_NAME "StepMania 3.0 beta 6"
; Some default compiler settings (uncomment and change at will):
SetCompress auto ; (can be off or force)
SetDatablockOptimize on ; (can be off)
CRCCheck on ; (can be off)
; AutoCloseWindow false ; (can be true for the window go away automatically at end)
AutoCloseWindow true ; (can be true for the window go away automatically at end)
; ShowInstDetails hide ; (can be show to have them shown, or nevershow to disable)
; SetDateSave off ; (can be on to have files restored to their orginal date)
InstallDir "$PROGRAMFILES\StepMania"
InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\StepMania\StepMania" ""
DirShow show ; (make this hide to not let the user change it)
DirText "Select the directory to install StepMania in:"
; Since there's only 1 page, let's check for DX when the user selects NEXT
;
; .oninit is called before window is shown
;
Function .onInit
; force uninstall of previous version using Vise
IfFileExists "$INSTDIR\uninstal.log" prompt_uninstall_vise old_vise_not_installed
prompt_uninstall_vise:
MessageBox MB_YESNO|MB_ICONINFORMATION "The previous version of StepMania must be uninstalled before continuing.$\nDo you wish to continue?" IDYES do_uninstall_vise
Abort
do_uninstall_vise:
Exec '$WINDIR\unvise32.exe $INSTDIR\uninstal.log' ; don't use quotes here, or unvise32 will fail
old_vise_not_installed:
; force uninstall of previous version using NSIS
IfFileExists "$INSTDIR\uninst.exe" prompt_uninstall_nsis old_nsis_not_installed
prompt_uninstall_nsis:
MessageBox MB_YESNO|MB_ICONINFORMATION "The previous version of StepMania must be uninstalled before continuing.$\nDo you wish to continue?" IDYES do_uninstall_nsis
Abort
do_uninstall_nsis:
Exec "$INSTDIR\uninst.exe"
old_nsis_not_installed:
; Check for DirextX 8.1 (to be moved to the right section later)
ReadRegStr $0 HKEY_LOCAL_MACHINE "Software\Microsoft\DirectX" "Version"
StrCpy $1 $0 2 2 ; 8.1 is "4.08.01.0810"
@@ -47,111 +67,169 @@ ok:
FunctionEnd
Section "" ; (default section)
;
; The default install section
;
Section ""
; write out uninstaller
SetOutPath "$INSTDIR"
; add files / whatever that need to be installed here.
SetOverwrite on
WriteUninstaller "$INSTDIR\uninst.exe"
; add registry entries
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\StepMania\StepMania" "" "$INSTDIR"
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\StepMania" "DisplayName" "StepMania (remove only)"
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\StepMania" "UninstallString" '"$INSTDIR\uninst.exe"'
SetOverwrite on
; write out uninstaller
WriteUninstaller "$INSTDIR\uninst.exe"
; Begin SM Install
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\Applications\smpackage.exe\shell\open\command" "" '"$INSTDIR\smpackage.exe" "%1"'
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile" "" "StepMania package"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile\DefaultIcon" "" "$INSTDIR\smpackage.exe,0"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile\shell\open\command" "" '"$INSTDIR\smpackage.exe" "%1"'
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\.smzip" "" "smzipfile"
; Begin copying files
SetOverwrite ifnewer
; Announcer:
CreateDirectory "$INSTDIR\Announcers"
SetOutPath "$INSTDIR\Announcers"
File /r "Announcers\default"
File "Announcers\instructions.txt"
CreateDirectory "$INSTDIR\BGAnimations"
SetOutPath "$INSTDIR"
File /r "BGAnimations"
SetOutPath "$INSTDIR\BGAnimations"
File "BGAnimations\instructions.txt"
CreateDirectory "$INSTDIR\Cache"
SetOutPath "$INSTDIR\Cache"
File "Cache\README.TXT"
File "Cache\instructions.txt"
CreateDirectory "$INSTDIR\CDTitles"
SetOutPath "$INSTDIR\CDTitles"
File "CDTitles\instructions.txt"
CreateDirectory "$INSTDIR\Courses"
SetOutPath "$INSTDIR\Courses"
File "Courses\README.TXT"
File "Courses\instructions.txt"
CreateDirectory "$INSTDIR\Skins"
SetOutPath "$INSTDIR\Skins"
File /r "Skins\dance"
File /r "Skins\ez2"
File /r "Skins\pump"
CreateDirectory "$INSTDIR\Music"
SetOutPath "$INSTDIR\Music"
File "Music\instructions.txt"
CreateDirectory "$INSTDIR\NoteSkins\dance\MAX"
SetOutPath "$INSTDIR\NoteSkins"
File "NoteSkins\instructions.txt"
SetOutPath "$INSTDIR\NoteSkins\dance"
File /r "NoteSkins\dance\MAX"
CreateDirectory "$INSTDIR\RandomMovies"
SetOutPath "$INSTDIR\RandomMovies"
File "RandomMovies\instructions.txt"
CreateDirectory "$INSTDIR\Songs"
SetOutPath "$INSTDIR\Songs"
File "Songs\Instructions.txt"
File "Songs\instructions.txt"
CreateDirectory "$INSTDIR\Themes"
SetOutPath "$INSTDIR\Themes"
File "Themes\instructions.txt"
File /r "Themes\default"
File /r "Themes\dance"
File /r "Themes\ez2"
File /r "Themes\pump"
CreateDirectory "$INSTDIR\Visualizations"
SetOutPath "$INSTDIR\Visualizations"
File "Visualizations\Visualization movie files go here"
File "Visualizations\instructions.txt"
SetOutPath "$INSTDIR"
File "bass.dll"
File "COPYING.txt"
File "README-FIRST.TXT"
File "StepMania.exe"
File "stepmania.exe"
File "stepmania.ini"
File "smpackage.exe"
; Create Start Menu icons
SetShellVarContext all ; install in "All Users" if NT
CreateDirectory "$SMPROGRAMS\StepMania\"
CreateShortCut "$DESKTOP\Play ${PRODUCT_NAME}.lnk" "$INSTDIR\stepmania.exe"
CreateShortCut "$SMPROGRAMS\StepMania\${PRODUCT_NAME}.lnk" "$INSTDIR\stepmania.exe"
CreateShortCut "$SMPROGRAMS\StepMania\Open Songs Folder.lnk" "$WINDIR\explorer.exe" "$INSTDIR\Songs\"
CreateShortCut "$SMPROGRAMS\StepMania\Package Exporter.lnk" "$INSTDIR\smpackage.exe"
CreateShortCut "$SMPROGRAMS\StepMania\README.lnk" "$INSTDIR\README-FIRST.txt"
CreateShortCut "$SMPROGRAMS\StepMania\Uninstall ${PRODUCT_NAME}.lnk" "$INSTDIR\uninst.exe"
CreateShortCut "$SMPROGRAMS\StepMania\Go To StepMania web site.lnk" "http://www.stepmania.com"
Exec '$WINDIR\explorer.exe "$SMPROGRAMS\StepMania\"'
SectionEnd ; end of default section
;
; begin uninstall settings/section
UninstallText "This will uninstall StepMania from your system.$\n BE SURE TO BACKUP YOUR SONGS BEFORE DOING THIS."
;
UninstallText "This will uninstall StepMania from your system.$\nAny add-on packs or songs you have installed will not be deleted."
Section Uninstall
; add delete commands to delete whatever files/registry keys/etc you installed here.
Delete "$INSTDIR\uninst.exe"
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\StepMania\StepMania"
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\StepMania"
; Nicely try to clean out everything...
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Classes\Applications\smpackage.exe\shell\open\command"
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile"
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Classes\.smzip"
RMDir /r "$INSTDIR\Announcers\default"
RMDir "$INSTDIR\Announcers" ; Only remove it if it's empty now
Delete "$INSTDIR\Announcers\instructions.txt"
RMDir "$INSTDIR\Announcers"
RMDir /r "$INSTDIR\BGAnimations"
Delete "$INSTDIR\BGAnimations\instructions.txt"
RMDir "$INSTDIR\BGAnimations"
Delete "$INSTDIR\Cache\README.TXT"
Delete "$INSTDIR\Cache\instructions.txt"
RMDir "$INSTDIR\Cache"
Delete "$INSTDIR\Courses\README.TXT"
Delete "$INSTDIR\CDTitles\instructions.txt"
RMDir "$INSTDIR\CDTitles"
Delete "$INSTDIR\Cache\instructions.txt"
RMDir "$INSTDIR\Cache"
Delete "$INSTDIR\Courses\instructions.txt"
RMDir "$INSTDIR\Courses"
RMDir /r "$INSTDIR\Skins\dance"
RMDir /r "$INSTDIR\Skins\ez2"
RMDir /r "$INSTDIR\Skins\pump"
RMDir "$INSTDIR\Skins"
Delete "$INSTDIR\Music\instructions.txt"
RMDir "$INSTDIR\Music"
Delete "$INSTDIR\Songs\Instructions.txt"
RMDir "$INSTDIR\Songs" ; It'll only remove it if it's empty ( I hope )
Delete "$INSTDIR\NoteSkins\instructions.txt"
RMDir /r "$INSTDIR\NoteSkins\dance"
RMDir "$INSTDIR\NoteSkins"
Delete "$INSTDIR\RandomMovies\instructions.txt"
RMDir "$INSTDIR\RandomMovies"
Delete "$INSTDIR\Songs\instructions.txt"
RMDir "$INSTDIR\Songs" ; will delete only if empty
Delete "$INSTDIR\Themes\instructions.txt"
RMDir /r "$INSTDIR\Themes\default"
RMDir /r "$INSTDIR\Themes\dance"
RMDir /r "$INSTDIR\Themes\ez2"
RMDir /r "$INSTDIR\Themes\pump"
RMDir "$INSTDIR\Themes"
Delete "$INSTDIR\Visualizations\Visualization movie files go here"
Delete "$INSTDIR\Visualizations\instructions.txt"
RMDir "$INSTDIR\Visualizations"
Delete "$INSTDIR\bass.dll"
Delete "$INSTDIR\COPYING.txt"
Delete "$INSTDIR\README-FIRST.TXT"
Delete "$INSTDIR\StepMania.exe"
Delete "$INSTDIR\stepmania.exe"
Delete "$INSTDIR\stepmania.ini"
Delete "$INSTDIR\smpackage.exe"
RMDir "$INSTDIR" ; will delete only if empty
SetShellVarContext all ; delete from "All Users" if NT
Delete "$DESKTOP\Play {PRODUCT_NAME}.lnk"
Delete "$SMPROGRAMS\StepMania\*.*"
RMDir "$SMPROGRAMS\StepMania"
RMDir "$INSTDIR"
SectionEnd ; end of uninstall section
; eof