diff --git a/stepmania/src/smpackage/MainMenuDlg.cpp b/stepmania/src/smpackage/MainMenuDlg.cpp new file mode 100644 index 0000000000..d641fdc669 --- /dev/null +++ b/stepmania/src/smpackage/MainMenuDlg.cpp @@ -0,0 +1,70 @@ +// MainMenuDlg.cpp : implementation file +// + +#include "stdafx.h" +#include "smpackage.h" +#include "MainMenuDlg.h" +#include "EditInsallations.h" +#include "SmpackageExportDlg.h" +#include "onvertThemeDlg.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + +///////////////////////////////////////////////////////////////////////////// +// MainMenuDlg dialog + + +MainMenuDlg::MainMenuDlg(CWnd* pParent /*=NULL*/) + : CDialog(MainMenuDlg::IDD, pParent) +{ + //{{AFX_DATA_INIT(MainMenuDlg) + // NOTE: the ClassWizard will add member initialization here + //}}AFX_DATA_INIT +} + + +void MainMenuDlg::DoDataExchange(CDataExchange* pDX) +{ + CDialog::DoDataExchange(pDX); + //{{AFX_DATA_MAP(MainMenuDlg) + // NOTE: the ClassWizard will add DDX and DDV calls here + //}}AFX_DATA_MAP +} + + +BEGIN_MESSAGE_MAP(MainMenuDlg, CDialog) + //{{AFX_MSG_MAP(MainMenuDlg) + ON_BN_CLICKED(IDC_CONVERT_THEME, OnConvertTheme) + ON_BN_CLICKED(IDC_EXPORT_PACKAGES, OnExportPackages) + ON_BN_CLICKED(IDC_EDIT_INSTALLATIONS, OnEditInstallations) + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + +///////////////////////////////////////////////////////////////////////////// +// MainMenuDlg message handlers + +void MainMenuDlg::OnConvertTheme() +{ + // TODO: Add your control notification handler code here + ConvertThemeDlg dlg; + int nResponse = dlg.DoModal(); +} + +void MainMenuDlg::OnExportPackages() +{ + // TODO: Add your control notification handler code here + CSmpackageExportDlg dlg; + int nResponse = dlg.DoModal(); +// if (nResponse == IDOK) +} + +void MainMenuDlg::OnEditInstallations() +{ + // TODO: Add your control notification handler code here + EditInsallations dlg; + int nResponse = dlg.DoModal(); +} diff --git a/stepmania/src/smpackage/MainMenuDlg.h b/stepmania/src/smpackage/MainMenuDlg.h new file mode 100644 index 0000000000..9f714f5580 --- /dev/null +++ b/stepmania/src/smpackage/MainMenuDlg.h @@ -0,0 +1,48 @@ +#if !defined(AFX_MAINMENUDLG_H__3CED6142_18E5_4267_B678_BE5B63735C6C__INCLUDED_) +#define AFX_MAINMENUDLG_H__3CED6142_18E5_4267_B678_BE5B63735C6C__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// MainMenuDlg.h : header file +// + +///////////////////////////////////////////////////////////////////////////// +// MainMenuDlg dialog + +class MainMenuDlg : public CDialog +{ +// Construction +public: + MainMenuDlg(CWnd* pParent = NULL); // standard constructor + +// Dialog Data + //{{AFX_DATA(MainMenuDlg) + enum { IDD = IDD_MENU }; + // NOTE: the ClassWizard will add data members here + //}}AFX_DATA + + +// Overrides + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(MainMenuDlg) + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + //}}AFX_VIRTUAL + +// Implementation +protected: + + // Generated message map functions + //{{AFX_MSG(MainMenuDlg) + afx_msg void OnConvertTheme(); + afx_msg void OnExportPackages(); + afx_msg void OnEditInstallations(); + //}}AFX_MSG + DECLARE_MESSAGE_MAP() +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_MAINMENUDLG_H__3CED6142_18E5_4267_B678_BE5B63735C6C__INCLUDED_) diff --git a/stepmania/src/smpackage/converttheme.bmp b/stepmania/src/smpackage/converttheme.bmp new file mode 100644 index 0000000000..8b20c20c9c Binary files /dev/null and b/stepmania/src/smpackage/converttheme.bmp differ diff --git a/stepmania/src/smpackage/install.bmp b/stepmania/src/smpackage/install.bmp index 64107b2f2b..791c09902c 100644 Binary files a/stepmania/src/smpackage/install.bmp and b/stepmania/src/smpackage/install.bmp differ diff --git a/stepmania/src/smpackage/menu.bmp b/stepmania/src/smpackage/menu.bmp new file mode 100644 index 0000000000..6cdddd3226 Binary files /dev/null and b/stepmania/src/smpackage/menu.bmp differ diff --git a/stepmania/src/smpackage/onvertThemeDlg.cpp b/stepmania/src/smpackage/onvertThemeDlg.cpp new file mode 100644 index 0000000000..7cc5939f56 --- /dev/null +++ b/stepmania/src/smpackage/onvertThemeDlg.cpp @@ -0,0 +1,178 @@ +// onvertThemeDlg.cpp : implementation file +// + +#include "stdafx.h" +#include "smpackage.h" +#include "onvertThemeDlg.h" +#include "smpackageUtil.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + +///////////////////////////////////////////////////////////////////////////// +// ConvertThemeDlg dialog + + +ConvertThemeDlg::ConvertThemeDlg(CWnd* pParent /*=NULL*/) + : CDialog(ConvertThemeDlg::IDD, pParent) +{ + //{{AFX_DATA_INIT(ConvertThemeDlg) + // NOTE: the ClassWizard will add member initialization here + //}}AFX_DATA_INIT +} + + +void ConvertThemeDlg::DoDataExchange(CDataExchange* pDX) +{ + CDialog::DoDataExchange(pDX); + //{{AFX_DATA_MAP(ConvertThemeDlg) + DDX_Control(pDX, IDC_BUTTON_CONVERT, m_buttonConvert); + DDX_Control(pDX, IDC_LIST_THEMES, m_listThemes); + //}}AFX_DATA_MAP +} + + +BEGIN_MESSAGE_MAP(ConvertThemeDlg, CDialog) + //{{AFX_MSG_MAP(ConvertThemeDlg) + ON_BN_CLICKED(IDC_BUTTON_CONVERT, OnButtonConvert) + ON_LBN_SELCHANGE(IDC_LIST_THEMES, OnSelchangeListThemes) + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + +///////////////////////////////////////////////////////////////////////////// +// ConvertThemeDlg message handlers + +BOOL ConvertThemeDlg::OnInitDialog() +{ + CDialog::OnInitDialog(); + + // TODO: Add extra initialization here + + CStringArray asThemes; + GetDirListing( "Themes\\*.*", asThemes, true, false ); + for( int i=0; i 1000 +#pragma once +#endif // _MSC_VER > 1000 +// onvertThemeDlg.h : header file +// + +///////////////////////////////////////////////////////////////////////////// +// ConvertThemeDlg dialog + +class ConvertThemeDlg : public CDialog +{ +// Construction +public: + ConvertThemeDlg(CWnd* pParent = NULL); // standard constructor + +// Dialog Data + //{{AFX_DATA(ConvertThemeDlg) + enum { IDD = IDD_CONVERT_THEME }; + CButton m_buttonConvert; + CListBox m_listThemes; + //}}AFX_DATA + + +// Overrides + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(ConvertThemeDlg) + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + //}}AFX_VIRTUAL + +// Implementation +protected: + + // Generated message map functions + //{{AFX_MSG(ConvertThemeDlg) + virtual BOOL OnInitDialog(); + afx_msg void OnButtonConvert(); + afx_msg void OnSelchangeListThemes(); + //}}AFX_MSG + DECLARE_MESSAGE_MAP() +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_ONVERTTHEMEDLG_H__4A6650E2_F5C6_4914_8610_2118AB81455F__INCLUDED_) diff --git a/stepmania/src/smpackage/resource.h b/stepmania/src/smpackage/resource.h index 8be797fce0..969a49a6e5 100644 --- a/stepmania/src/smpackage/resource.h +++ b/stepmania/src/smpackage/resource.h @@ -11,6 +11,10 @@ #define MANAGE 135 #define IDD_DIALOG_NAME 137 #define IDD_EDIT_INSTALLATIONS 138 +#define IDD_MENU 139 +#define MENU 140 +#define IDD_CONVERT_THEME 142 +#define CONVERTTHEME 143 #define IDC_LIST_SONGS 1000 #define IDC_LIST 1000 #define IDC_BUTTON_PLAY 1001 @@ -29,14 +33,19 @@ #define IDC_BUTTON_ADD 1018 #define IDC_BUTTON_REMOVE 1019 #define IDC_BUTTON_MAKE_DEFAULT 1020 +#define IDC_EXPORT_PACKAGES 1022 +#define IDC_CONVERT_THEME 1023 +#define IDC_LIST_THEMES 1023 +#define IDC_EDIT_INSTALLATIONS 1024 +#define IDC_BUTTON_CONVERT 1024 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 139 +#define _APS_NEXT_RESOURCE_VALUE 144 #define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1022 +#define _APS_NEXT_CONTROL_VALUE 1025 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif diff --git a/stepmania/src/smpackage/smpackage.clw b/stepmania/src/smpackage/smpackage.clw index f57df99f89..6b312b633e 100644 --- a/stepmania/src/smpackage/smpackage.clw +++ b/stepmania/src/smpackage/smpackage.clw @@ -2,25 +2,29 @@ [General Info] Version=1 -LastClass=CSmpackageExportDlg +LastClass=ConvertThemeDlg LastTemplate=CDialog NewFileInclude1=#include "stdafx.h" NewFileInclude2=#include "smpackage.h" -ClassCount=6 +ClassCount=8 Class1=CSmpackageApp Class2=CSmpackageDlg -ResourceCount=5 +ResourceCount=7 Resource1=IDR_MAINFRAME -Resource2=IDD_DIALOG_NAME +Resource2=IDD_EXPORTER Class3=CSMPackageInstallDlg Class4=CSmpackageExportDlg -Resource3=IDD_INSTALL +Resource3=IDD_MENU Class5=EnterName -Resource4=IDD_EXPORTER +Resource4=IDD_INSTALL Class6=EditInsallations Resource5=IDD_EDIT_INSTALLATIONS +Class7=MainMenuDlg +Resource6=IDD_DIALOG_NAME +Class8=ConvertThemeDlg +Resource7=IDD_CONVERT_THEME [CLS:CSmpackageApp] Type=0 @@ -86,7 +90,7 @@ HeaderFile=SmpackageExportDlg.h ImplementationFile=SmpackageExportDlg.cpp BaseClass=CDialog Filter=D -LastObject=IDC_BUTTON_PLAY +LastObject=CSmpackageExportDlg VirtualFilter=dWC [DLG:IDD_DIALOG_NAME] @@ -132,3 +136,49 @@ Filter=D VirtualFilter=dWC LastObject=EditInsallations +[DLG:IDD_MENU] +Type=1 +Class=MainMenuDlg +ControlCount=11 +Control1=IDOK,button,1342242817 +Control2=IDC_STATIC,static,1342177294 +Control3=IDC_EXPORT_PACKAGES,button,1342242816 +Control4=IDC_STATIC,static,1342308352 +Control5=IDC_STATIC,button,1342177287 +Control6=IDC_STATIC,button,1342177287 +Control7=IDC_CONVERT_THEME,button,1342242816 +Control8=IDC_STATIC,static,1342308352 +Control9=IDC_EDIT_INSTALLATIONS,button,1342242816 +Control10=IDC_STATIC,static,1342308352 +Control11=IDC_STATIC,button,1342177287 + +[CLS:MainMenuDlg] +Type=0 +HeaderFile=MainMenuDlg.h +ImplementationFile=MainMenuDlg.cpp +BaseClass=CDialog +Filter=D +VirtualFilter=dWC +LastObject=IDC_CONVERT_THEME + +[DLG:IDD_CONVERT_THEME] +Type=1 +Class=ConvertThemeDlg +ControlCount=7 +Control1=IDOK,button,1342242817 +Control2=IDC_STATIC,static,1342177294 +Control3=IDC_LIST_THEMES,listbox,1352728835 +Control4=IDC_BUTTON_CONVERT,button,1476460544 +Control5=IDC_STATIC,button,1342177287 +Control6=IDC_STATIC,static,1342308352 +Control7=IDC_STATIC,static,1342308352 + +[CLS:ConvertThemeDlg] +Type=0 +HeaderFile=onvertThemeDlg.h +ImplementationFile=onvertThemeDlg.cpp +BaseClass=CDialog +Filter=D +LastObject=IDC_LIST_THEMES +VirtualFilter=dWC + diff --git a/stepmania/src/smpackage/smpackage.cpp b/stepmania/src/smpackage/smpackage.cpp index 729a2a39f4..4295a380f0 100644 --- a/stepmania/src/smpackage/smpackage.cpp +++ b/stepmania/src/smpackage/smpackage.cpp @@ -7,6 +7,7 @@ #include "smpackageInstallDlg.h" #include "RageUtil.h" #include "smpackageUtil.h" +#include "MainMenuDlg.h" #ifdef _DEBUG @@ -101,11 +102,15 @@ BOOL CSmpackageApp::InitInstance() int nResponse = dlg.DoModal(); if( nResponse == IDOK ) { - ; // do nothing and fall through to below + CSmpackageExportDlg dlg; + int nResponse = dlg.DoModal(); + // Since the dialog has been closed, return FALSE so that we exit the + // application, rather than start the application's message pump. + return FALSE; } else if (nResponse == IDCANCEL) { - // the user cancelled. Don't fall through and display the Manager. + // the user cancelled. Don't fall through to the Manager. exit(0); } } @@ -113,7 +118,7 @@ BOOL CSmpackageApp::InitInstance() // Show the Manager Dialog - CSmpackageExportDlg dlg; + MainMenuDlg dlg; int nResponse = dlg.DoModal(); // if (nResponse == IDOK) diff --git a/stepmania/src/smpackage/smpackage.dsp b/stepmania/src/smpackage/smpackage.dsp index 8b538cb2cc..882663f8c8 100644 --- a/stepmania/src/smpackage/smpackage.dsp +++ b/stepmania/src/smpackage/smpackage.dsp @@ -88,6 +88,10 @@ LINK32=link.exe # Name "smpackage - Win32 Debug" # Begin Source File +SOURCE=.\converttheme.bmp +# End Source File +# Begin Source File + SOURCE=.\EditInsallations.cpp # End Source File # Begin Source File @@ -108,10 +112,30 @@ SOURCE=.\install.bmp # End Source File # Begin Source File +SOURCE=.\MainMenuDlg.cpp +# End Source File +# Begin Source File + +SOURCE=.\MainMenuDlg.h +# End Source File +# Begin Source File + SOURCE=.\manage.bmp # End Source File # Begin Source File +SOURCE=.\menu.bmp +# End Source File +# Begin Source File + +SOURCE=.\onvertThemeDlg.cpp +# End Source File +# Begin Source File + +SOURCE=.\onvertThemeDlg.h +# End Source File +# Begin Source File + SOURCE=.\RageUtil.cpp # End Source File # Begin Source File diff --git a/stepmania/src/smpackage/smpackage.rc b/stepmania/src/smpackage/smpackage.rc index 9627d018f4..64d4814f7c 100644 --- a/stepmania/src/smpackage/smpackage.rc +++ b/stepmania/src/smpackage/smpackage.rc @@ -153,6 +153,44 @@ BEGIN IDC_STATIC,18,144,196,17 END +IDD_MENU DIALOG DISCARDABLE 0, 0, 332, 234 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "StepMania Tools Main Menu" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "Close",IDOK,275,215,50,14 + CONTROL 140,IDC_STATIC,"Static",SS_BITMAP,0,0,332,38 + PUSHBUTTON "Export Packages",IDC_EXPORT_PACKAGES,20,121,70,15 + LTEXT "Choose this option to create .smzip files that you can share with other StepMania and DWI users. A .smzip package can contain songs, courses, themes, background animations, and more.", + IDC_STATIC,105,115,215,25 + GROUPBOX ".smzip Packages",IDC_STATIC,5,100,320,50 + GROUPBOX "Themes",IDC_STATIC,5,155,320,50 + PUSHBUTTON "Convert Theme",IDC_CONVERT_THEME,20,175,70,15 + LTEXT "Choose this option to convert a StepMania 3.0 theme to the StepMania 4.0 theme format. This tool will not convert any theme metrics. You'll need to convert these by hand.", + IDC_STATIC,105,170,215,25 + PUSHBUTTON "Edit Installations",IDC_EDIT_INSTALLATIONS,20,65,70,15 + LTEXT "Choose this option to edit the list of locations where you have StepMania or DWI installed. When you double-click on a .smzip file, you can choose to install the package to any of these locations.", + IDC_STATIC,105,60,215,25 + GROUPBOX "Installations",IDC_STATIC,5,45,320,50 +END + +IDD_CONVERT_THEME DIALOG DISCARDABLE 0, 0, 332, 234 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Dialog" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "Close",IDOK,275,213,50,14 + CONTROL 143,IDC_STATIC,"Static",SS_BITMAP,0,0,332,38 + LISTBOX IDC_LIST_THEMES,16,58,110,137,LBS_SORT | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Convert",IDC_BUTTON_CONVERT,135,70,50,15,WS_DISABLED + GROUPBOX "Themes",IDC_STATIC,7,44,318,161 + LTEXT "This will convert a StepMania 3.0 theme to the StepMania 4.0 theme format. After converting a theme, it will no longer be compatible with StepMania 3.0. Be sure to make a backup if this is important to you.", + IDC_STATIC,144,115,170,43 + LTEXT "This tool will not convert any theme metrics. You'll need to convert these by hand.", + IDC_STATIC,143,165,174,20 +END + #ifndef _MAC ///////////////////////////////////////////////////////////////////////////// @@ -236,6 +274,22 @@ BEGIN TOPMARGIN, 7 BOTTOMMARGIN, 212 END + + IDD_MENU, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 325 + TOPMARGIN, 7 + BOTTOMMARGIN, 227 + END + + IDD_CONVERT_THEME, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 325 + TOPMARGIN, 7 + BOTTOMMARGIN, 227 + END END #endif // APSTUDIO_INVOKED @@ -247,6 +301,8 @@ END INSTALL BITMAP DISCARDABLE "install.bmp" MANAGE BITMAP DISCARDABLE "manage.bmp" +MENU BITMAP DISCARDABLE "menu.bmp" +CONVERTTHEME BITMAP DISCARDABLE "converttheme.bmp" #endif // English (U.S.) resources /////////////////////////////////////////////////////////////////////////////