From ac2668176abc9cb7181c48188c9c252d9cb1cae1 Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Fri, 3 Jun 2011 23:54:45 +0200 Subject: [PATCH 001/530] Trying to clean up the loading window. --- src/StepMania-net2010.vcxproj | 10 +++---- src/arch/LoadingWindow/LoadingWindow.h | 6 ++++ .../LoadingWindow/LoadingWindow_Win32.cpp | 23 +++++++++++++++ src/arch/LoadingWindow/LoadingWindow_Win32.h | 2 ++ src/archutils/Win32/WindowsResources.h | 1 - src/archutils/Win32/WindowsResources.rc | 29 ++++++++++--------- src/archutils/Win32/arch_setup.h | 2 +- 7 files changed, 53 insertions(+), 20 deletions(-) diff --git a/src/StepMania-net2010.vcxproj b/src/StepMania-net2010.vcxproj index c1aef5d7d2..9f314df1dc 100644 --- a/src/StepMania-net2010.vcxproj +++ b/src/StepMania-net2010.vcxproj @@ -149,7 +149,7 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) /MACHINE:I386 "$(IntDir)verstub.obj" %(AdditionalOptions) - shell32.lib;gdi32.lib;user32.lib;ole32.lib;advapi32.lib;ffmpeg/modern_working/lib/avcodec.lib;ffmpeg/modern_working/lib/avformat.lib;ffmpeg/modern_working/lib/avutil.lib;ffmpeg/modern_working/lib/swscale.lib;%(AdditionalDependencies) + shell32.lib;gdi32.lib;user32.lib;ole32.lib;advapi32.lib;Comctl32.lib;ffmpeg/modern_working/lib/avcodec.lib;ffmpeg/modern_working/lib/avformat.lib;ffmpeg/modern_working/lib/avutil.lib;ffmpeg/modern_working/lib/swscale.lib;%(AdditionalDependencies) ../Program/StepMania-debug.exe true ..\extern\libpng\lib;ffmpeg\lib;..\extern\libjpeg\;..\extern\zlib\;..\extern\mad-0.15.1b\msvc++\Release\%(AdditionalLibraryDirectories) @@ -216,7 +216,7 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) /MACHINE:I386 "$(IntDir)verstub.obj" %(AdditionalOptions) - shell32.lib;gdi32.lib;user32.lib;ole32.lib;advapi32.lib;ffmpeg/modern_working/lib/avcodec.lib;ffmpeg/modern_working/lib/avformat.lib;ffmpeg/modern_working/lib/avutil.lib;ffmpeg/modern_working/lib/swscale.lib;%(AdditionalDependencies) + shell32.lib;gdi32.lib;user32.lib;ole32.lib;advapi32.lib;Comctl32.lib;ffmpeg/modern_working/lib/avcodec.lib;ffmpeg/modern_working/lib/avformat.lib;ffmpeg/modern_working/lib/avutil.lib;ffmpeg/modern_working/lib/swscale.lib;%(AdditionalDependencies) ../Program/StepMania.exe true ..\extern\libpng\lib;ffmpeg\lib;..\extern\libjpeg\;..\extern\zlib\;..\extern\mad-0.15.1b\msvc++\Release\%(AdditionalLibraryDirectories) @@ -280,7 +280,7 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) /MACHINE:I386 "$(IntDir)verstub.obj" %(AdditionalOptions) - shell32.lib;gdi32.lib;user32.lib;ole32.lib;advapi32.lib;avcodec.lib;avformat.lib;avutil.lib;swscale.lib;%(AdditionalDependencies) + shell32.lib;gdi32.lib;user32.lib;ole32.lib;advapi32.lib;Comctl32.lib;avcodec.lib;avformat.lib;avutil.lib;swscale.lib;%(AdditionalDependencies) ../Program/StepMania-fastdebug.exe true ..\extern\libpng\lib;ffmpeg\modern_working\lib;..\extern\libjpeg\;..\extern\zlib\;..\extern\mad-0.15.1b\msvc++\Release\;%(AdditionalLibraryDirectories) @@ -349,7 +349,7 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) /MACHINE:I386 "$(IntDir)verstub.obj" %(AdditionalOptions) - shell32.lib;gdi32.lib;user32.lib;ole32.lib;advapi32.lib;ffmpeg/modern_working/lib/avcodec.lib;ffmpeg/modern_working/lib/avformat.lib;ffmpeg/modern_working/lib/avutil.lib;ffmpeg/modern_working/lib/swscale.lib;%(AdditionalDependencies) + shell32.lib;gdi32.lib;user32.lib;ole32.lib;advapi32.lib;Comctl32.lib;ffmpeg/modern_working/lib/avcodec.lib;ffmpeg/modern_working/lib/avformat.lib;ffmpeg/modern_working/lib/avutil.lib;ffmpeg/modern_working/lib/swscale.lib;%(AdditionalDependencies) ..\Program/StepMania-SSE2.exe true ..\extern\libpng\lib;ffmpeg\lib;..\extern\libjpeg\;..\extern\zlib\;..\extern\mad-0.15.1b\msvc++\Release\%(AdditionalLibraryDirectories) @@ -2395,4 +2395,4 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) - + \ No newline at end of file diff --git a/src/arch/LoadingWindow/LoadingWindow.h b/src/arch/LoadingWindow/LoadingWindow.h index 888a265e39..1ddfa7e110 100644 --- a/src/arch/LoadingWindow/LoadingWindow.h +++ b/src/arch/LoadingWindow/LoadingWindow.h @@ -14,6 +14,12 @@ public: virtual void Paint() { } virtual void SetText( RString str ) = 0; virtual void SetIcon( const RageSurface *pIcon ) { } + virtual void SetProgress( const int progress ) { m_progress=progress; } + virtual void SetTotalWork( const int totalWork ) { m_totalWork=totalWork; } + +protected: + int m_progress; + int m_totalWork; }; #endif diff --git a/src/arch/LoadingWindow/LoadingWindow_Win32.cpp b/src/arch/LoadingWindow/LoadingWindow_Win32.cpp index 4801e0bac7..9148e15db8 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Win32.cpp +++ b/src/arch/LoadingWindow/LoadingWindow_Win32.cpp @@ -7,6 +7,7 @@ #include "archutils/win32/WindowIcon.h" #include "archutils/win32/ErrorStrings.h" #include +#include "CommCtrl.h" #include "RageSurface_Load.h" #include "RageSurface.h" #include "RageSurfaceUtils.h" @@ -17,6 +18,9 @@ #include "RageSurfaceUtils_Zoom.h" static HBITMAP g_hBitmap = NULL; +#pragma comment(linker,"\"/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") + + /* Load a RageSurface into a GDI surface. */ static HBITMAP LoadWin32Surface( RageSurface *&s ) { @@ -118,6 +122,11 @@ void LoadingWindow_Win32::SetIcon( const RageSurface *pIcon ) LoadingWindow_Win32::LoadingWindow_Win32() { + INITCOMMONCONTROLSEX cceData; + cceData.dwSize=sizeof(INITCOMMONCONTROLSEX); + cceData.dwICC=ICC_PROGRESS_CLASS; + InitCommonControlsEx(&cceData); + m_hIcon = NULL; hwnd = CreateDialog( handle.Get(), MAKEINTRESOURCE(IDD_LOADING_DIALOG), NULL, WndProc ); for( unsigned i = 0; i < 3; ++i ) @@ -168,6 +177,20 @@ void LoadingWindow_Win32::SetText( RString sText ) } } +void LoadingWindow_Win32::SetProgress(const int progress) +{ + m_progress=progress; + HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS ); + ::SendMessage(hwndItem,PBM_SETPOS,progress,0); +} + +void LoadingWindow_Win32::SetTotalWork(const int totalWork) +{ + m_totalWork=totalWork; + HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS ); + ::SendMessage(hwndItem,PBM_SETRANGE32,0,totalWork); +} + /* * (c) 2001-2004 Chris Danford, Glenn Maynard * All rights reserved. diff --git a/src/arch/LoadingWindow/LoadingWindow_Win32.h b/src/arch/LoadingWindow/LoadingWindow_Win32.h index f490392acb..365a7ee2bc 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Win32.h +++ b/src/arch/LoadingWindow/LoadingWindow_Win32.h @@ -16,6 +16,8 @@ public: void SetText( RString sText ); void Paint(); void SetIcon( const RageSurface *pIcon ); + void SetProgress( const int progress ); + void SetTotalWork( const int totalWork ); private: AppInstance handle; diff --git a/src/archutils/Win32/WindowsResources.h b/src/archutils/Win32/WindowsResources.h index 348f2ffdb0..be6ceda5c4 100644 --- a/src/archutils/Win32/WindowsResources.h +++ b/src/archutils/Win32/WindowsResources.h @@ -29,7 +29,6 @@ #define IDC_BUTTON_CLOSE 1011 #define IDC_VIEW_LOG 1012 #define IDC_STATIC_MESSAGE3 1013 -#define IDC_PROGRESS1 1014 #define IDC_PROGRESS 1014 #define IDC_HUSH 1016 #define IDC_MESSAGE 1017 diff --git a/src/archutils/Win32/WindowsResources.rc b/src/archutils/Win32/WindowsResources.rc index ad20d9749a..494c422801 100644 --- a/src/archutils/Win32/WindowsResources.rc +++ b/src/archutils/Win32/WindowsResources.rc @@ -7,19 +7,20 @@ // // Generated from the TEXTINCLUDE 2 resource. // + +#define _WIN32_WINNT 0x0501 #include "winres.h" +#include "CommCtrl.h" ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources +// English (United States) resources #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) -#endif //_WIN32 ///////////////////////////////////////////////////////////////////////////// // @@ -43,14 +44,16 @@ BEGIN CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME,0,34,332,1 END -IDD_LOADING_DIALOG DIALOG 0, 0, 312, 82 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE -FONT 8, "MS Sans Serif" +IDD_LOADING_DIALOG DIALOGEX 0, 0, 317, 94 +STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - CTEXT "line1",IDC_STATIC_MESSAGE1,0,41,310,10,SS_NOPREFIX | SS_CENTERIMAGE - CTEXT "line2",IDC_STATIC_MESSAGE2,0,54,310,10,SS_NOPREFIX | SS_CENTERIMAGE - CTEXT "line3",IDC_STATIC_MESSAGE3,0,65,310,10,SS_NOPREFIX | SS_CENTERIMAGE + CTEXT "line1",IDC_STATIC_MESSAGE1,0,67,310,10,SS_NOPREFIX | SS_CENTERIMAGE + CTEXT "line2",IDC_STATIC_MESSAGE2,0,76,310,10,SS_NOPREFIX | SS_CENTERIMAGE + CTEXT "line3",IDC_STATIC_MESSAGE3,0,84,310,10,SS_NOPREFIX | SS_CENTERIMAGE CONTROL "",IDC_SPLASH,"Static",SS_BITMAP,0,0,310,25 + CONTROL "",IDC_PROGRESS,"msctls_progress32",PBS_MARQUEE,7,51,298,14 END IDD_DISASM_CRASH DIALOGEX 0, 0, 332, 114 @@ -102,14 +105,14 @@ END // #ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO +GUIDELINES DESIGNINFO BEGIN IDD_LOADING_DIALOG, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 305 + RIGHTMARGIN, 310 TOPMARGIN, 7 - BOTTOMMARGIN, 75 + BOTTOMMARGIN, 87 END IDD_DISASM_CRASH, DIALOG @@ -212,7 +215,7 @@ BEGIN END END -#endif // English (U.S.) resources +#endif // English (United States) resources ///////////////////////////////////////////////////////////////////////////// diff --git a/src/archutils/Win32/arch_setup.h b/src/archutils/Win32/arch_setup.h index 983aa3868d..c403f26b4c 100644 --- a/src/archutils/Win32/arch_setup.h +++ b/src/archutils/Win32/arch_setup.h @@ -66,7 +66,7 @@ C4355: 'this' : used in base member initializer list /* Pull in NT-only definitions. Note that we support Win98 and WinME; you can * make NT calls, but be sure to fall back on 9x if they're not supported. */ -#define _WIN32_WINNT 0x0400 +#define _WIN32_WINNT 0x0501 #define _WIN32_IE 0x0400 // If this isn't defined to 0, VC fails to define things like stat and alloca. From 227863965c00eec3359589bbbc2bfd8a1e62774e Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 3 Jun 2011 18:09:02 -0400 Subject: [PATCH 002/530] [loading window] Don't forget VS2008. --- src/StepMania-net2008.vcproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/StepMania-net2008.vcproj b/src/StepMania-net2008.vcproj index bcc20ea4b9..8ae692a48c 100644 --- a/src/StepMania-net2008.vcproj +++ b/src/StepMania-net2008.vcproj @@ -81,7 +81,7 @@ Date: Sat, 4 Jun 2011 02:12:08 +0200 Subject: [PATCH 003/530] [loading window] Now the loading window has it's own thread. As such, the paint method is no longer needed. --- src/SongManager.cpp | 2 - src/arch/LoadingWindow/LoadingWindow.h | 1 - .../LoadingWindow/LoadingWindow_Win32.cpp | 47 +++++++++++++++---- src/arch/LoadingWindow/LoadingWindow_Win32.h | 7 ++- src/archutils/Win32/WindowsResources.rc | 8 ++-- 5 files changed, 46 insertions(+), 19 deletions(-) diff --git a/src/SongManager.cpp b/src/SongManager.cpp index 48a7d3c5eb..1423a13498 100644 --- a/src/SongManager.cpp +++ b/src/SongManager.cpp @@ -266,7 +266,6 @@ void SongManager::LoadStepManiaSongDir( RString sDir, LoadingWindow *ld ) ld->SetText( LOADING_SONGS.GetValue()+ssprintf("\n%s\n%s", Basename(sGroupDirName).c_str(), Basename(sSongDirName).c_str())); - ld->Paint(); } Song* pNewSong = new Song; if( !pNewSong->LoadFromSongDir( sSongDirName ) ) @@ -755,7 +754,6 @@ void SongManager::InitCoursesFromDisk( LoadingWindow *ld ) ld->SetText( LOADING_COURSES.GetValue()+ssprintf("\n%s\n%s", Basename(*sCourseGroup).c_str(), Basename(*sCoursePath).c_str())); - ld->Paint(); } Course* pCourse = new Course; diff --git a/src/arch/LoadingWindow/LoadingWindow.h b/src/arch/LoadingWindow/LoadingWindow.h index 1ddfa7e110..952c469ab8 100644 --- a/src/arch/LoadingWindow/LoadingWindow.h +++ b/src/arch/LoadingWindow/LoadingWindow.h @@ -11,7 +11,6 @@ public: virtual RString Init() { return RString(); } virtual ~LoadingWindow() { } - virtual void Paint() { } virtual void SetText( RString str ) = 0; virtual void SetIcon( const RageSurface *pIcon ) { } virtual void SetProgress( const int progress ) { m_progress=progress; } diff --git a/src/arch/LoadingWindow/LoadingWindow_Win32.cpp b/src/arch/LoadingWindow/LoadingWindow_Win32.cpp index 9148e15db8..d776156855 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Win32.cpp +++ b/src/arch/LoadingWindow/LoadingWindow_Win32.cpp @@ -80,8 +80,18 @@ static HBITMAP LoadWin32Surface( RString sFile, HWND hWnd ) return ret; } -BOOL CALLBACK LoadingWindow_Win32::WndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) +INT_PTR CALLBACK LoadingWindow_Win32::DlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) { + + LoadingWindow_Win32 *self; + + if(msg==WM_INITDIALOG) { + self=(LoadingWindow_Win32 *)lParam; + SetWindowLong(hWnd,DWL_USER,(LONG)self); + } else { + self=(LoadingWindow_Win32 *)GetWindowLong(hWnd,DWL_USER); + } + switch( msg ) { case WM_INITDIALOG: @@ -99,12 +109,21 @@ BOOL CALLBACK LoadingWindow_Win32::WndProc( HWND hWnd, UINT msg, WPARAM wParam, (WPARAM) IMAGE_BITMAP, (LPARAM) (HANDLE) g_hBitmap ); SetWindowTextA( hWnd, PRODUCT_ID ); + + { + HWND progressCtrl=GetDlgItem( hWnd, IDC_PROGRESS ); + SetWindowLong(progressCtrl,GWL_STYLE, PBS_MARQUEE | GetWindowLong(progressCtrl,GWL_STYLE)); + SendMessage(progressCtrl,PBM_SETMARQUEE,1,0); + } break; case WM_DESTROY: DeleteObject( g_hBitmap ); g_hBitmap = NULL; break; + + case WM_ENTERIDLE: + SetEvent(self->guiReadyEvent); } return FALSE; @@ -128,33 +147,43 @@ LoadingWindow_Win32::LoadingWindow_Win32() InitCommonControlsEx(&cceData); m_hIcon = NULL; - hwnd = CreateDialog( handle.Get(), MAKEINTRESOURCE(IDD_LOADING_DIALOG), NULL, WndProc ); + + guiReadyEvent=CreateEvent(NULL,FALSE,FALSE,NULL); + + CreateThread(NULL, NULL, MessagePump, (void *)this, 0, NULL); + + WaitForSingleObject(guiReadyEvent,0); + for( unsigned i = 0; i < 3; ++i ) text[i] = "ABC"; /* always set on first call */ SetText( "" ); - Paint(); } LoadingWindow_Win32::~LoadingWindow_Win32() { + if(guiReadyEvent) + CloseHandle(guiReadyEvent); if( hwnd ) DestroyWindow( hwnd ); if( m_hIcon != NULL ) DestroyIcon( m_hIcon ); } -void LoadingWindow_Win32::Paint() +DWORD WINAPI LoadingWindow_Win32::MessagePump(LPVOID thisAsVoidPtr) { - SendMessage( hwnd, WM_PAINT, 0, 0 ); + LoadingWindow_Win32 *self=(LoadingWindow_Win32 *)thisAsVoidPtr; - /* Process all queued messages since the last paint. This allows the window to - * come back if it loses focus during load. */ + self->hwnd = CreateDialogParam( self->handle.Get(), MAKEINTRESOURCE(IDD_LOADING_DIALOG), NULL, DlgProc, (LPARAM)thisAsVoidPtr); + + // Run the message loop in a separate thread to keep the gui responsive during the loading MSG msg; - while( PeekMessage( &msg, hwnd, 0, 0, PM_NOREMOVE ) ) + while( GetMessage(&msg, self->hwnd, 0, 0 ) ) { - GetMessage(&msg, hwnd, 0, 0 ); + if(IsDialogMessage(self->hwnd,&msg)) continue; DispatchMessage( &msg ); } + + return msg.wParam; } void LoadingWindow_Win32::SetText( RString sText ) diff --git a/src/arch/LoadingWindow/LoadingWindow_Win32.h b/src/arch/LoadingWindow/LoadingWindow_Win32.h index 365a7ee2bc..c9e0cf4bb1 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Win32.h +++ b/src/arch/LoadingWindow/LoadingWindow_Win32.h @@ -14,7 +14,6 @@ public: ~LoadingWindow_Win32(); void SetText( RString sText ); - void Paint(); void SetIcon( const RageSurface *pIcon ); void SetProgress( const int progress ); void SetTotalWork( const int totalWork ); @@ -24,8 +23,12 @@ private: HWND hwnd; RString text[3]; HICON m_hIcon; + HANDLE pumpThread; + HANDLE guiReadyEvent; - static BOOL CALLBACK WndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ); + static DWORD WINAPI MessagePump(LPVOID thisAsVoidPtr); + + static INT_PTR CALLBACK DlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ); }; #define USE_LOADING_WINDOW_WIN32 diff --git a/src/archutils/Win32/WindowsResources.rc b/src/archutils/Win32/WindowsResources.rc index 494c422801..18e8cb2d41 100644 --- a/src/archutils/Win32/WindowsResources.rc +++ b/src/archutils/Win32/WindowsResources.rc @@ -7,10 +7,7 @@ // // Generated from the TEXTINCLUDE 2 resource. // - -#define _WIN32_WINNT 0x0501 #include "winres.h" -#include "CommCtrl.h" ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS @@ -45,15 +42,16 @@ BEGIN END IDD_LOADING_DIALOG DIALOGEX 0, 0, 317, 94 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +STYLE DS_SETFONT | DS_CENTER | WS_VISIBLE | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_APPWINDOW +CAPTION "Stepmania" FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN CTEXT "line1",IDC_STATIC_MESSAGE1,0,67,310,10,SS_NOPREFIX | SS_CENTERIMAGE CTEXT "line2",IDC_STATIC_MESSAGE2,0,76,310,10,SS_NOPREFIX | SS_CENTERIMAGE CTEXT "line3",IDC_STATIC_MESSAGE3,0,84,310,10,SS_NOPREFIX | SS_CENTERIMAGE CONTROL "",IDC_SPLASH,"Static",SS_BITMAP,0,0,310,25 - CONTROL "",IDC_PROGRESS,"msctls_progress32",PBS_MARQUEE,7,51,298,14 + CONTROL "",IDC_PROGRESS,"msctls_progress32",0x0,7,51,298,14 END IDD_DISASM_CRASH DIALOGEX 0, 0, 332, 114 From e0eae90f23f519906f2533dc7beed58db41f6a69 Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sat, 4 Jun 2011 14:26:35 +0200 Subject: [PATCH 004/530] [loading window] Destruction now works correctly. --- .../LoadingWindow/LoadingWindow_Win32.cpp | 501 +++++++++--------- src/arch/LoadingWindow/LoadingWindow_Win32.h | 2 + src/archutils/Win32/WindowsResources.rc | 2 +- 3 files changed, 259 insertions(+), 246 deletions(-) diff --git a/src/arch/LoadingWindow/LoadingWindow_Win32.cpp b/src/arch/LoadingWindow/LoadingWindow_Win32.cpp index d776156855..e8c1c1961c 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Win32.cpp +++ b/src/arch/LoadingWindow/LoadingWindow_Win32.cpp @@ -1,246 +1,257 @@ -#include "global.h" -#include "RageUtil.h" - -#include "LoadingWindow_Win32.h" -#include "RageFileManager.h" -#include "archutils/win32/WindowsResources.h" -#include "archutils/win32/WindowIcon.h" -#include "archutils/win32/ErrorStrings.h" -#include -#include "CommCtrl.h" -#include "RageSurface_Load.h" -#include "RageSurface.h" -#include "RageSurfaceUtils.h" -#include "RageLog.h" -#include "ProductInfo.h" -#include "LocalizedString.h" - -#include "RageSurfaceUtils_Zoom.h" -static HBITMAP g_hBitmap = NULL; - +#include "global.h" +#include "RageUtil.h" + +#include "LoadingWindow_Win32.h" +#include "RageFileManager.h" +#include "archutils/win32/WindowsResources.h" +#include "archutils/win32/WindowIcon.h" +#include "archutils/win32/ErrorStrings.h" +#include +#include "CommCtrl.h" +#include "RageSurface_Load.h" +#include "RageSurface.h" +#include "RageSurfaceUtils.h" +#include "RageLog.h" +#include "ProductInfo.h" +#include "LocalizedString.h" + +#include "RageSurfaceUtils_Zoom.h" +static HBITMAP g_hBitmap = NULL; + #pragma comment(linker,"\"/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") - - -/* Load a RageSurface into a GDI surface. */ -static HBITMAP LoadWin32Surface( RageSurface *&s ) -{ - RageSurfaceUtils::ConvertSurface( s, s->w, s->h, 32, 0xFF000000, 0x00FF0000, 0x0000FF00, 0 ); - - HDC hScreen = GetDC(NULL); - ASSERT_M( hScreen, werr_ssprintf(GetLastError(), "hScreen") ); - - HBITMAP bitmap = CreateCompatibleBitmap( hScreen, s->w, s->h ); - ASSERT_M( bitmap, werr_ssprintf(GetLastError(), "CreateCompatibleBitmap") ); - - HDC BitmapDC = CreateCompatibleDC( hScreen ); - SelectObject( BitmapDC, bitmap ); - - /* This is silly, but simple. We only do this once, on a small image. */ - for( int y = 0; y < s->h; ++y ) - { - unsigned const char *line = ((unsigned char *) s->pixels) + (y * s->pitch); - for( int x = 0; x < s->w; ++x ) - { - unsigned const char *data = line + (x*s->format->BytesPerPixel); - - SetPixelV( BitmapDC, x, y, RGB( data[3], data[2], data[1] ) ); - } - } - - SelectObject( BitmapDC, NULL ); - DeleteObject( BitmapDC ); - - ReleaseDC( NULL, hScreen ); - - return bitmap; -} - -static HBITMAP LoadWin32Surface( RString sFile, HWND hWnd ) -{ - RString error; - RageSurface *pSurface = RageSurfaceUtils::LoadFile( sFile, error ); - if( pSurface == NULL ) - return NULL; - - /* Resize the splash image to fit the dialog. Stretch to fit horizontally, - * maintaining aspect ratio. */ - { - RECT r; - GetClientRect( hWnd, &r ); - - int iWidth = r.right; - float fRatio = (float) iWidth / pSurface->w; - int iHeight = lrintf( pSurface->h * fRatio ); - - RageSurfaceUtils::Zoom( pSurface, iWidth, iHeight ); - } - - HBITMAP ret = LoadWin32Surface( pSurface ); - delete pSurface; - return ret; -} - -INT_PTR CALLBACK LoadingWindow_Win32::DlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) -{ - - LoadingWindow_Win32 *self; - - if(msg==WM_INITDIALOG) { - self=(LoadingWindow_Win32 *)lParam; - SetWindowLong(hWnd,DWL_USER,(LONG)self); - } else { - self=(LoadingWindow_Win32 *)GetWindowLong(hWnd,DWL_USER); - } - - switch( msg ) - { - case WM_INITDIALOG: - { - vector vs; - GetDirListing( "Data/splash*.png", vs, false, true ); - if( !vs.empty() ) - g_hBitmap = LoadWin32Surface( vs[0], hWnd ); - } - if( g_hBitmap == NULL ) - g_hBitmap = LoadWin32Surface( "Data/splash.bmp", hWnd ); - SendMessage( - GetDlgItem(hWnd,IDC_SPLASH), - STM_SETIMAGE, - (WPARAM) IMAGE_BITMAP, - (LPARAM) (HANDLE) g_hBitmap ); - SetWindowTextA( hWnd, PRODUCT_ID ); - - { - HWND progressCtrl=GetDlgItem( hWnd, IDC_PROGRESS ); - SetWindowLong(progressCtrl,GWL_STYLE, PBS_MARQUEE | GetWindowLong(progressCtrl,GWL_STYLE)); - SendMessage(progressCtrl,PBM_SETMARQUEE,1,0); - } - break; - - case WM_DESTROY: - DeleteObject( g_hBitmap ); - g_hBitmap = NULL; - break; - - case WM_ENTERIDLE: - SetEvent(self->guiReadyEvent); - } - - return FALSE; -} - -void LoadingWindow_Win32::SetIcon( const RageSurface *pIcon ) -{ - if( m_hIcon != NULL ) - DestroyIcon( m_hIcon ); - - m_hIcon = IconFromSurface( pIcon ); - if( m_hIcon != NULL ) - SetClassLong( hwnd, GCL_HICON, (LONG) m_hIcon ); -} - -LoadingWindow_Win32::LoadingWindow_Win32() -{ - INITCOMMONCONTROLSEX cceData; - cceData.dwSize=sizeof(INITCOMMONCONTROLSEX); - cceData.dwICC=ICC_PROGRESS_CLASS; - InitCommonControlsEx(&cceData); - - m_hIcon = NULL; - - guiReadyEvent=CreateEvent(NULL,FALSE,FALSE,NULL); - - CreateThread(NULL, NULL, MessagePump, (void *)this, 0, NULL); - - WaitForSingleObject(guiReadyEvent,0); - - for( unsigned i = 0; i < 3; ++i ) - text[i] = "ABC"; /* always set on first call */ - SetText( "" ); -} - -LoadingWindow_Win32::~LoadingWindow_Win32() -{ - if(guiReadyEvent) - CloseHandle(guiReadyEvent); - if( hwnd ) - DestroyWindow( hwnd ); - if( m_hIcon != NULL ) - DestroyIcon( m_hIcon ); -} - -DWORD WINAPI LoadingWindow_Win32::MessagePump(LPVOID thisAsVoidPtr) -{ - LoadingWindow_Win32 *self=(LoadingWindow_Win32 *)thisAsVoidPtr; - - self->hwnd = CreateDialogParam( self->handle.Get(), MAKEINTRESOURCE(IDD_LOADING_DIALOG), NULL, DlgProc, (LPARAM)thisAsVoidPtr); - - // Run the message loop in a separate thread to keep the gui responsive during the loading - MSG msg; - while( GetMessage(&msg, self->hwnd, 0, 0 ) ) - { - if(IsDialogMessage(self->hwnd,&msg)) continue; - DispatchMessage( &msg ); - } - - return msg.wParam; -} - -void LoadingWindow_Win32::SetText( RString sText ) -{ - vector asMessageLines; - split( sText, "\n", asMessageLines, false ); - while( asMessageLines.size() < 3 ) - asMessageLines.push_back( "" ); - - const int msgid[] = { IDC_STATIC_MESSAGE1, IDC_STATIC_MESSAGE2, IDC_STATIC_MESSAGE3 }; - for( unsigned i = 0; i < 3; ++i ) - { - if( text[i] == asMessageLines[i] ) - continue; - text[i] = asMessageLines[i]; - - HWND hwndItem = ::GetDlgItem( hwnd, msgid[i] ); - - ::SetWindowText( hwndItem, ConvertUTF8ToACP(asMessageLines[i]).c_str() ); - } -} - -void LoadingWindow_Win32::SetProgress(const int progress) -{ - m_progress=progress; - HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS ); - ::SendMessage(hwndItem,PBM_SETPOS,progress,0); -} - -void LoadingWindow_Win32::SetTotalWork(const int totalWork) -{ - m_totalWork=totalWork; - HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS ); - ::SendMessage(hwndItem,PBM_SETRANGE32,0,totalWork); -} - -/* - * (c) 2001-2004 Chris Danford, Glenn Maynard - * All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, and/or sell copies of the Software, and to permit persons to - * whom the Software is furnished to do so, provided that the above - * copyright notice(s) and this permission notice appear in all copies of - * the Software and that both the above copyright notice(s) and this - * permission notice appear in supporting documentation. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF - * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS - * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT - * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS - * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR - * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ + + +/* Load a RageSurface into a GDI surface. */ +static HBITMAP LoadWin32Surface( RageSurface *&s ) +{ + RageSurfaceUtils::ConvertSurface( s, s->w, s->h, 32, 0xFF000000, 0x00FF0000, 0x0000FF00, 0 ); + + HDC hScreen = GetDC(NULL); + ASSERT_M( hScreen, werr_ssprintf(GetLastError(), "hScreen") ); + + HBITMAP bitmap = CreateCompatibleBitmap( hScreen, s->w, s->h ); + ASSERT_M( bitmap, werr_ssprintf(GetLastError(), "CreateCompatibleBitmap") ); + + HDC BitmapDC = CreateCompatibleDC( hScreen ); + SelectObject( BitmapDC, bitmap ); + + /* This is silly, but simple. We only do this once, on a small image. */ + for( int y = 0; y < s->h; ++y ) + { + unsigned const char *line = ((unsigned char *) s->pixels) + (y * s->pitch); + for( int x = 0; x < s->w; ++x ) + { + unsigned const char *data = line + (x*s->format->BytesPerPixel); + + SetPixelV( BitmapDC, x, y, RGB( data[3], data[2], data[1] ) ); + } + } + + SelectObject( BitmapDC, NULL ); + DeleteObject( BitmapDC ); + + ReleaseDC( NULL, hScreen ); + + return bitmap; +} + +static HBITMAP LoadWin32Surface( RString sFile, HWND hWnd ) +{ + RString error; + RageSurface *pSurface = RageSurfaceUtils::LoadFile( sFile, error ); + if( pSurface == NULL ) + return NULL; + + /* Resize the splash image to fit the dialog. Stretch to fit horizontally, + * maintaining aspect ratio. */ + { + RECT r; + GetClientRect( hWnd, &r ); + + int iWidth = r.right; + float fRatio = (float) iWidth / pSurface->w; + int iHeight = lrintf( pSurface->h * fRatio ); + + RageSurfaceUtils::Zoom( pSurface, iWidth, iHeight ); + } + + HBITMAP ret = LoadWin32Surface( pSurface ); + delete pSurface; + return ret; +} + +INT_PTR CALLBACK LoadingWindow_Win32::DlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) +{ + + LoadingWindow_Win32 *self; + + if(msg==WM_INITDIALOG) { + self=(LoadingWindow_Win32 *)lParam; + SetWindowLong(hWnd,DWL_USER,(LONG)self); + } else { + self=(LoadingWindow_Win32 *)GetWindowLong(hWnd,DWL_USER); + } + + switch( msg ) + { + case WM_INITDIALOG: + { + vector vs; + GetDirListing( "Data/splash*.png", vs, false, true ); + if( !vs.empty() ) + g_hBitmap = LoadWin32Surface( vs[0], hWnd ); + } + if( g_hBitmap == NULL ) + g_hBitmap = LoadWin32Surface( "Data/splash.bmp", hWnd ); + SendMessage( + GetDlgItem(hWnd,IDC_SPLASH), + STM_SETIMAGE, + (WPARAM) IMAGE_BITMAP, + (LPARAM) (HANDLE) g_hBitmap ); + SetWindowTextA( hWnd, PRODUCT_ID ); + + { + HWND progressCtrl=GetDlgItem( hWnd, IDC_PROGRESS ); + SetWindowLong(progressCtrl,GWL_STYLE, PBS_MARQUEE | GetWindowLong(progressCtrl,GWL_STYLE)); + SendMessage(progressCtrl,PBM_SETMARQUEE,1,0); + } + break; + + case WM_DESTROY: + DeleteObject( g_hBitmap ); + g_hBitmap = NULL; + self->runMessageLoop=false; + return TRUE; + break; + + case WM_APP: + DestroyWindow(hWnd); + self->runMessageLoop=false; + return TRUE; + break; + } + + return FALSE; +} + +void LoadingWindow_Win32::SetIcon( const RageSurface *pIcon ) +{ + if( m_hIcon != NULL ) + DestroyIcon( m_hIcon ); + + m_hIcon = IconFromSurface( pIcon ); + if( m_hIcon != NULL ) + SetClassLong( hwnd, GCL_HICON, (LONG) m_hIcon ); +} + +LoadingWindow_Win32::LoadingWindow_Win32() +{ + INITCOMMONCONTROLSEX cceData; + cceData.dwSize=sizeof(INITCOMMONCONTROLSEX); + cceData.dwICC=ICC_PROGRESS_CLASS; + InitCommonControlsEx(&cceData); + + m_hIcon = NULL; + + runMessageLoop=true; + + guiReadyEvent=CreateEvent(NULL,FALSE,FALSE,NULL); + + CreateThread(NULL, NULL, MessagePump, (void *)this, 0, NULL); + + WaitForSingleObject(guiReadyEvent,INFINITE); + + for( unsigned i = 0; i < 3; ++i ) + text[i] = "ABC"; /* always set on first call */ + SetText( "" ); +} + +LoadingWindow_Win32::~LoadingWindow_Win32() +{ + SendMessage(hwnd,WM_APP,0,0); + WaitForSingleObject(guiReadyEvent,INFINITE); + if(guiReadyEvent) + CloseHandle(guiReadyEvent); + if( m_hIcon != NULL ) + DestroyIcon( m_hIcon ); +} + +DWORD WINAPI LoadingWindow_Win32::MessagePump(LPVOID thisAsVoidPtr) +{ + LoadingWindow_Win32 *self=(LoadingWindow_Win32 *)thisAsVoidPtr; + + self->hwnd = CreateDialogParam( self->handle.Get(), MAKEINTRESOURCE(IDD_LOADING_DIALOG), NULL, DlgProc, (LPARAM)thisAsVoidPtr); + + SetEvent(self->guiReadyEvent); + + // Run the message loop in a separate thread to keep the gui responsive during the loading + MSG msg; + while(self->runMessageLoop && GetMessage(&msg, self->hwnd, 0, 0 ) ) + { + if(IsDialogMessage(self->hwnd,&msg)) continue; + DispatchMessage( &msg ); + } + + SetEvent(self->guiReadyEvent); + + return msg.wParam; +} + +void LoadingWindow_Win32::SetText( RString sText ) +{ + vector asMessageLines; + split( sText, "\n", asMessageLines, false ); + while( asMessageLines.size() < 3 ) + asMessageLines.push_back( "" ); + + const int msgid[] = { IDC_STATIC_MESSAGE1, IDC_STATIC_MESSAGE2, IDC_STATIC_MESSAGE3 }; + for( unsigned i = 0; i < 3; ++i ) + { + if( text[i] == asMessageLines[i] ) + continue; + text[i] = asMessageLines[i]; + + HWND hwndItem = ::GetDlgItem( hwnd, msgid[i] ); + + ::SetWindowText( hwndItem, ConvertUTF8ToACP(asMessageLines[i]).c_str() ); + } +} + +void LoadingWindow_Win32::SetProgress(const int progress) +{ + m_progress=progress; + HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS ); + ::SendMessage(hwndItem,PBM_SETPOS,progress,0); +} + +void LoadingWindow_Win32::SetTotalWork(const int totalWork) +{ + m_totalWork=totalWork; + HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS ); + ::SendMessage(hwndItem,PBM_SETRANGE32,0,totalWork); +} + +/* + * (c) 2001-2004 Chris Danford, Glenn Maynard + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, and/or sell copies of the Software, and to permit persons to + * whom the Software is furnished to do so, provided that the above + * copyright notice(s) and this permission notice appear in all copies of + * the Software and that both the above copyright notice(s) and this + * permission notice appear in supporting documentation. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF + * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS + * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT + * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ diff --git a/src/arch/LoadingWindow/LoadingWindow_Win32.h b/src/arch/LoadingWindow/LoadingWindow_Win32.h index c9e0cf4bb1..e19e7f0a12 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Win32.h +++ b/src/arch/LoadingWindow/LoadingWindow_Win32.h @@ -26,6 +26,8 @@ private: HANDLE pumpThread; HANDLE guiReadyEvent; + volatile bool runMessageLoop; + static DWORD WINAPI MessagePump(LPVOID thisAsVoidPtr); static INT_PTR CALLBACK DlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ); diff --git a/src/archutils/Win32/WindowsResources.rc b/src/archutils/Win32/WindowsResources.rc index 30090d15bb..94d881bd34 100644 --- a/src/archutils/Win32/WindowsResources.rc +++ b/src/archutils/Win32/WindowsResources.rc @@ -42,7 +42,7 @@ BEGIN END IDD_LOADING_DIALOG DIALOGEX 0, 0, 317, 94 -STYLE DS_SETFONT | DS_CENTER | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +STYLE DS_SETFONT | DS_CENTER | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_APPWINDOW CAPTION "Stepmania" FONT 8, "MS Sans Serif", 0, 0, 0x0 From 75d595878a05f9887d075bdd5bfe9e0fdb97a4d7 Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sat, 4 Jun 2011 14:55:38 +0200 Subject: [PATCH 005/530] [loading window] Reporting progress for more than just song loading. --- src/StepMania.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/StepMania.cpp b/src/StepMania.cpp index 97a897820a..46cb06a12f 100644 --- a/src/StepMania.cpp +++ b/src/StepMania.cpp @@ -1054,19 +1054,26 @@ int main(int argc, char* argv[]) if( PREFSMAN->m_iSoundWriteAhead ) LOG->Info( "Sound writeahead has been overridden to %i", PREFSMAN->m_iSoundWriteAhead.Get() ); + + pLoadingWindow->SetText("Starting sound subsystem..."); SOUNDMAN = new RageSoundManager; SOUNDMAN->Init(); SOUNDMAN->SetMixVolume(); SOUND = new GameSoundManager; + pLoadingWindow->SetText("Initializing bookkeeper..."); BOOKKEEPER = new Bookkeeper; + pLoadingWindow->SetText("Starting lights subsystem..."); LIGHTSMAN = new LightsManager; INPUTFILTER = new InputFilter; INPUTMAPPER = new InputMapper; + pLoadingWindow->SetText("Loading game type..."); StepMania::ChangeCurrentGame( GAMESTATE->GetCurrentGame() ); INPUTQUEUE = new InputQueue; + pLoadingWindow->SetText("Building song cache index..."); SONGINDEX = new SongCacheIndex; + pLoadingWindow->SetText("Building banner cache..."); BANNERCACHE = new BannerCache; //BACKGROUNDCACHE = new BackgroundCache; @@ -1076,16 +1083,22 @@ int main(int argc, char* argv[]) CRYPTMAN = new CryptManager; // need to do this before ProfileMan if( PREFSMAN->m_bSignProfileData ) CRYPTMAN->GenerateGlobalKeys(); + pLoadingWindow->SetText("Initializing memory card system..."); MEMCARDMAN = new MemoryCardManager; + pLoadingWindow->SetText("Initializing character system..."); CHARMAN = new CharacterManager; + pLoadingWindow->SetText("Initializing profile system..."); PROFILEMAN = new ProfileManager; PROFILEMAN->Init(); // must load after SONGMAN UNLOCKMAN = new UnlockManager; + pLoadingWindow->SetText("Updating popular song list..."); SONGMAN->UpdatePopular(); SONGMAN->UpdatePreferredSort(); NSMAN = new NetworkSyncManager( pLoadingWindow ); + pLoadingWindow->SetText("Initializing message system..."); MESSAGEMAN = new MessageManager; + pLoadingWindow->SetText("Initializing statics manager..."); STATSMAN = new StatsManager; SAFE_DELETE( pLoadingWindow ); // destroy this before init'ing Display From 9956525d462179ac11556ffa818f9a8c72b7860d Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sat, 4 Jun 2011 15:37:20 +0200 Subject: [PATCH 006/530] [loading window] Die thread die! --- src/arch/LoadingWindow/LoadingWindow_Win32.cpp | 9 +++++---- src/arch/LoadingWindow/LoadingWindow_Win32.h | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/arch/LoadingWindow/LoadingWindow_Win32.cpp b/src/arch/LoadingWindow/LoadingWindow_Win32.cpp index e8c1c1961c..57414399a8 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Win32.cpp +++ b/src/arch/LoadingWindow/LoadingWindow_Win32.cpp @@ -121,12 +121,14 @@ INT_PTR CALLBACK LoadingWindow_Win32::DlgProc( HWND hWnd, UINT msg, WPARAM wPara DeleteObject( g_hBitmap ); g_hBitmap = NULL; self->runMessageLoop=false; + self->hwnd=NULL; return TRUE; break; case WM_APP: DestroyWindow(hWnd); self->runMessageLoop=false; + ExitThread(0); return TRUE; break; } @@ -157,7 +159,7 @@ LoadingWindow_Win32::LoadingWindow_Win32() guiReadyEvent=CreateEvent(NULL,FALSE,FALSE,NULL); - CreateThread(NULL, NULL, MessagePump, (void *)this, 0, NULL); + pumpThread=CreateThread(NULL, NULL, MessagePump, (void *)this, 0, &pumpThreadId); WaitForSingleObject(guiReadyEvent,INFINITE); @@ -169,7 +171,8 @@ LoadingWindow_Win32::LoadingWindow_Win32() LoadingWindow_Win32::~LoadingWindow_Win32() { SendMessage(hwnd,WM_APP,0,0); - WaitForSingleObject(guiReadyEvent,INFINITE); + //SendMessage(hwnd,WM_NULL,0,0); + WaitForSingleObject(pumpThread,INFINITE); if(guiReadyEvent) CloseHandle(guiReadyEvent); if( m_hIcon != NULL ) @@ -192,8 +195,6 @@ DWORD WINAPI LoadingWindow_Win32::MessagePump(LPVOID thisAsVoidPtr) DispatchMessage( &msg ); } - SetEvent(self->guiReadyEvent); - return msg.wParam; } diff --git a/src/arch/LoadingWindow/LoadingWindow_Win32.h b/src/arch/LoadingWindow/LoadingWindow_Win32.h index e19e7f0a12..d1adeca283 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Win32.h +++ b/src/arch/LoadingWindow/LoadingWindow_Win32.h @@ -24,6 +24,7 @@ private: RString text[3]; HICON m_hIcon; HANDLE pumpThread; + DWORD pumpThreadId; HANDLE guiReadyEvent; volatile bool runMessageLoop; From 813c2d8f09f344fe2bff589c09e6001c0dd67d0d Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sat, 4 Jun 2011 16:09:47 +0200 Subject: [PATCH 007/530] [loading window] Theme loading should also list itself in the loading window. --- src/StepMania.cpp | 2 +- src/ThemeManager.cpp | 3 +++ src/arch/LoadingWindow/LoadingWindow.cpp | 2 ++ src/arch/LoadingWindow/LoadingWindow.h | 2 ++ 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/StepMania.cpp b/src/StepMania.cpp index 46cb06a12f..1be66c486d 100644 --- a/src/StepMania.cpp +++ b/src/StepMania.cpp @@ -1011,7 +1011,7 @@ int main(int argc, char* argv[]) GAMESTATE = new GameState; // This requires PREFSMAN, for PREFSMAN->m_bShowLoadingWindow. - LoadingWindow *pLoadingWindow = LoadingWindow::Create(); + pLoadingWindow = LoadingWindow::Create(); if(pLoadingWindow == NULL) RageException::Throw("%s", COULDNT_OPEN_LOADING_WINDOW.GetValue().c_str()); diff --git a/src/ThemeManager.cpp b/src/ThemeManager.cpp index 0b3841869f..0e5764c4a6 100644 --- a/src/ThemeManager.cpp +++ b/src/ThemeManager.cpp @@ -8,6 +8,7 @@ #include "RageTimer.h" #include "FontCharAliases.h" #include "arch/ArchHooks/ArchHooks.h" +#include "arch/LoadingWindow/LoadingWindow.h" #include "arch/Dialog/Dialog.h" #include "RageFile.h" #if !defined(SMPACKAGE) @@ -397,6 +398,8 @@ void ThemeManager::SwitchThemeAndLanguage( const RString &sThemeName_, const RSt if( bNothingChanging && !bForceThemeReload ) return; + if(pLoadingWindow) pLoadingWindow->SetText("Loading theme & language..."); + m_bPseudoLocalize = bPseudoLocalize; // Load theme metrics. If only the language is changing, this is all diff --git a/src/arch/LoadingWindow/LoadingWindow.cpp b/src/arch/LoadingWindow/LoadingWindow.cpp index 2002e81f45..130d298a04 100644 --- a/src/arch/LoadingWindow/LoadingWindow.cpp +++ b/src/arch/LoadingWindow/LoadingWindow.cpp @@ -53,6 +53,8 @@ LoadingWindow *LoadingWindow::Create() return ret; } +LoadingWindow *pLoadingWindow; + /* * (c) 2002-2005 Glenn Maynard * All rights reserved. diff --git a/src/arch/LoadingWindow/LoadingWindow.h b/src/arch/LoadingWindow/LoadingWindow.h index 952c469ab8..dcd3a339c5 100644 --- a/src/arch/LoadingWindow/LoadingWindow.h +++ b/src/arch/LoadingWindow/LoadingWindow.h @@ -21,6 +21,8 @@ protected: int m_totalWork; }; +extern LoadingWindow *pLoadingWindow; + #endif /** From 9bff0653c0c3e85ef0cfdbbb19db9b969090ac73 Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sat, 4 Jun 2011 23:10:07 +0200 Subject: [PATCH 008/530] [loading window]It's now a global, and it wasn't even used. --- src/CommandLineActions.cpp | 2 +- src/CommandLineActions.h | 5 ++--- src/StepMania.cpp | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/CommandLineActions.cpp b/src/CommandLineActions.cpp index ef5f26b10c..3a45380b87 100644 --- a/src/CommandLineActions.cpp +++ b/src/CommandLineActions.cpp @@ -108,7 +108,7 @@ static void Version() #endif // WIN32 } -void CommandLineActions::Handle(LoadingWindow* pLW) +void CommandLineActions::Handle() { CommandLineArgs args; for(int i=0; im_bDopefish = true; From 1dfb3a6f9a1c8e21a6299f5a2e6c353a0e968bd5 Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sat, 4 Jun 2011 23:21:33 +0200 Subject: [PATCH 009/530] [loading window] More use of the global instead of as an argument. --- src/SongManager.cpp | 25 +++++++++++++------------ src/SongManager.h | 11 +++++------ src/StepMania.cpp | 2 +- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/SongManager.cpp b/src/SongManager.cpp index 1423a13498..ddbf30d638 100644 --- a/src/SongManager.cpp +++ b/src/SongManager.cpp @@ -88,10 +88,11 @@ SongManager::~SongManager() FreeSongs(); } -void SongManager::InitAll( LoadingWindow *ld ) +void SongManager::InitAll() { - InitSongsFromDisk( ld ); - InitCoursesFromDisk( ld ); + InitSongsFromDisk(); + + InitCoursesFromDisk(); InitAutogenCourses(); InitRandomAttacks(); } @@ -130,14 +131,14 @@ void SongManager::Reload( bool bAllowFastLoad, LoadingWindow *ld ) UpdatePreferredSort(); } -void SongManager::InitSongsFromDisk( LoadingWindow *ld ) +void SongManager::InitSongsFromDisk() { RageTimer tm; - LoadStepManiaSongDir( SpecialFiles::SONGS_DIR, ld ); + LoadStepManiaSongDir( SpecialFiles::SONGS_DIR); const bool bOldVal = PREFSMAN->m_bFastLoad; PREFSMAN->m_bFastLoad.Set( PREFSMAN->m_bFastLoadAdditionalSongs ); - LoadStepManiaSongDir( ADDITIONAL_SONGS_DIR, ld ); + LoadStepManiaSongDir( ADDITIONAL_SONGS_DIR ); PREFSMAN->m_bFastLoad.Set( bOldVal ); LOG->Trace( "Found %d songs in %f seconds.", (int)m_pSongs.size(), tm.GetDeltaTime() ); @@ -224,7 +225,7 @@ void SongManager::AddGroup( RString sDir, RString sGroupDirName ) } static LocalizedString LOADING_SONGS ( "SongManager", "Loading songs..." ); -void SongManager::LoadStepManiaSongDir( RString sDir, LoadingWindow *ld ) +void SongManager::LoadStepManiaSongDir( RString sDir ) { // Make sure sDir has a trailing slash. if( sDir.Right(1) != "/" ) @@ -261,9 +262,9 @@ void SongManager::LoadStepManiaSongDir( RString sDir, LoadingWindow *ld ) RString sSongDirName = arraySongDirs[j]; // this is a song directory. Load a new song. - if( ld ) + if( pLoadingWindow ) { - ld->SetText( LOADING_SONGS.GetValue()+ssprintf("\n%s\n%s", + pLoadingWindow->SetText( LOADING_SONGS.GetValue()+ssprintf("\n%s\n%s", Basename(sGroupDirName).c_str(), Basename(sSongDirName).c_str())); } @@ -719,7 +720,7 @@ RString SongManager::ShortenGroupName( RString sLongGroupName ) } static LocalizedString LOADING_COURSES ( "SongManager", "Loading courses..." ); -void SongManager::InitCoursesFromDisk( LoadingWindow *ld ) +void SongManager::InitCoursesFromDisk() { LOG->Trace( "Loading courses." ); @@ -749,9 +750,9 @@ void SongManager::InitCoursesFromDisk( LoadingWindow *ld ) FOREACH_CONST( RString, vsCoursePaths, sCoursePath ) { - if( ld ) + if( pLoadingWindow ) { - ld->SetText( LOADING_COURSES.GetValue()+ssprintf("\n%s\n%s", + pLoadingWindow->SetText( LOADING_COURSES.GetValue()+ssprintf("\n%s\n%s", Basename(*sCourseGroup).c_str(), Basename(*sCoursePath).c_str())); } diff --git a/src/SongManager.h b/src/SongManager.h index 1c48792e30..4df49feae7 100644 --- a/src/SongManager.h +++ b/src/SongManager.h @@ -1,7 +1,6 @@ #ifndef SONGMANAGER_H #define SONGMANAGER_H -class LoadingWindow; class Song; class Style; class Steps; @@ -31,7 +30,7 @@ public: SongManager(); ~SongManager(); - void InitSongsFromDisk( LoadingWindow *ld ); + void InitSongsFromDisk(); void FreeSongs(); void Cleanup(); @@ -49,7 +48,7 @@ public: void LoadGroupSymLinks( RString sDir, RString sGroupFolder ); - void InitCoursesFromDisk( LoadingWindow *ld ); + void InitCoursesFromDisk(); void InitAutogenCourses(); void InitRandomAttacks(); void FreeCourses(); @@ -59,8 +58,8 @@ public: void DeleteAutogenCourses(); void InvalidateCachedTrails(); - void InitAll( LoadingWindow *ld ); // songs, courses, groups - everything. - void Reload( bool bAllowFastLoad, LoadingWindow *ld=NULL ); // songs, courses, groups - everything. + void InitAll(); // songs, courses, groups - everything. + void Reload( bool bAllowFastLoad); // songs, courses, groups - everything. void PreloadSongImages(); RString GetSongGroupBannerPath( RString sSongGroup ) const; @@ -166,7 +165,7 @@ public: void PushSelf( lua_State *L ); protected: - void LoadStepManiaSongDir( RString sDir, LoadingWindow *ld ); + void LoadStepManiaSongDir( RString sDir ); void LoadDWISongDir( RString sDir ); bool GetExtraStageInfoFromCourse( bool bExtra2, RString sPreferredGroup, Song*& pSongOut, Steps*& pStepsOut ); void SanityCheckGroupDir( RString sDir ) const; diff --git a/src/StepMania.cpp b/src/StepMania.cpp index 77ea3dd0f7..0134c68e4c 100644 --- a/src/StepMania.cpp +++ b/src/StepMania.cpp @@ -1073,7 +1073,7 @@ int main(int argc, char* argv[]) INPUTQUEUE = new InputQueue; pLoadingWindow->SetText("Building song cache index..."); SONGINDEX = new SongCacheIndex; - pLoadingWindow->SetText("Building banner cache..."); + pLoadingWindow->SetText("Loading banner cache..."); BANNERCACHE = new BannerCache; //BACKGROUNDCACHE = new BackgroundCache; From a233c21188ca2f42bf4cb2ecf80cd1ba5d92279a Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sat, 4 Jun 2011 23:36:14 +0200 Subject: [PATCH 010/530] [loading window] Note to self: check if it compiles before commiting. --- src/ScreenReloadSongs.cpp | 6 +++--- src/ScreenReloadSongs.h | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/ScreenReloadSongs.cpp b/src/ScreenReloadSongs.cpp index 0129f1a645..48d94907b0 100644 --- a/src/ScreenReloadSongs.cpp +++ b/src/ScreenReloadSongs.cpp @@ -56,12 +56,12 @@ void ScreenReloadSongs::Init() m_Loading.SetXY( SCREEN_CENTER_X, SCREEN_CENTER_Y ); this->AddChild( &m_Loading ); - m_LoadingWindow = new ScreenReloadSongsLoadingWindow( m_Loading ); + pLoadingWindow = new ScreenReloadSongsLoadingWindow( m_Loading ); } ScreenReloadSongs::~ScreenReloadSongs() { - delete m_LoadingWindow; + delete pLoadingWindow; } @@ -75,7 +75,7 @@ void ScreenReloadSongs::Update( float fDeltaTime ) return; ASSERT( !IsFirstUpdate() ); - SONGMAN->Reload( false, m_LoadingWindow ); + SONGMAN->Reload( false ); SCREENMAN->PostMessageToTopScreen( SM_GoToNextScreen, 0 ); } diff --git a/src/ScreenReloadSongs.h b/src/ScreenReloadSongs.h index 860bdd28f7..908f61da72 100644 --- a/src/ScreenReloadSongs.h +++ b/src/ScreenReloadSongs.h @@ -14,7 +14,6 @@ public: private: int m_iUpdates; - LoadingWindow *m_LoadingWindow; BitmapText m_Loading; }; From 6c7ebfafe82cfd1e004b0b5609cd6278685a23d3 Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sat, 4 Jun 2011 23:37:36 +0200 Subject: [PATCH 011/530] [loading window] Note to self #2: Refresh the file list before commiting. --- src/ScreenInstallOverlay.cpp | 2 +- src/SongManager.cpp | 8 ++++---- src/StepMania.cpp | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ScreenInstallOverlay.cpp b/src/ScreenInstallOverlay.cpp index b1037fce23..7453d08ddc 100644 --- a/src/ScreenInstallOverlay.cpp +++ b/src/ScreenInstallOverlay.cpp @@ -360,7 +360,7 @@ void ScreenInstallOverlay::Update( float fDeltaTime ) } if( playAfterLaunchInfo.bAnySongChanged ) - SONGMAN->Reload( false, NULL ); + SONGMAN->Reload( false ); if( !playAfterLaunchInfo.sSongDir.empty() ) { diff --git a/src/SongManager.cpp b/src/SongManager.cpp index ddbf30d638..b4cfceab4e 100644 --- a/src/SongManager.cpp +++ b/src/SongManager.cpp @@ -98,7 +98,7 @@ void SongManager::InitAll() } static LocalizedString RELOADING ( "SongManager", "Reloading..." ); -void SongManager::Reload( bool bAllowFastLoad, LoadingWindow *ld ) +void SongManager::Reload( bool bAllowFastLoad ) { FILEMAN->FlushDirCache( SpecialFiles::SONGS_DIR ); FILEMAN->FlushDirCache( ADDITIONAL_SONGS_DIR ); @@ -106,8 +106,8 @@ void SongManager::Reload( bool bAllowFastLoad, LoadingWindow *ld ) FILEMAN->FlushDirCache( ADDITIONAL_COURSES_DIR ); FILEMAN->FlushDirCache( EDIT_SUBDIR ); - if( ld ) - ld->SetText( RELOADING ); + if( pLoadingWindow ) + pLoadingWindow->SetText( RELOADING ); // save scores before unloading songs, of the scores will be lost PROFILEMAN->SaveMachineProfile(); @@ -119,7 +119,7 @@ void SongManager::Reload( bool bAllowFastLoad, LoadingWindow *ld ) if( !bAllowFastLoad ) PREFSMAN->m_bFastLoad.Set( false ); - InitAll( ld ); + InitAll(); // reload scores and unlocks afterward PROFILEMAN->LoadMachineProfile(); diff --git a/src/StepMania.cpp b/src/StepMania.cpp index 0134c68e4c..3463d57b47 100644 --- a/src/StepMania.cpp +++ b/src/StepMania.cpp @@ -1079,7 +1079,7 @@ int main(int argc, char* argv[]) // depends on SONGINDEX: SONGMAN = new SongManager; - SONGMAN->InitAll( pLoadingWindow ); // this takes a long time + SONGMAN->InitAll(); // this takes a long time CRYPTMAN = new CryptManager; // need to do this before ProfileMan if( PREFSMAN->m_bSignProfileData ) CRYPTMAN->GenerateGlobalKeys(); From 9721c0d66aeee19dba94d661f3ce4d3fbada8302 Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sun, 5 Jun 2011 01:39:15 +0200 Subject: [PATCH 012/530] [loading window] Trying to clean up the in game song reloading. --- ... => InGameLoadingWindow LoadingText.redir} | 0 src/InGameLoadingWindow.cpp | 23 +++++++ src/InGameLoadingWindow.h | 19 ++++++ src/ScreenReloadSongs.cpp | 66 ++++++------------- src/ScreenReloadSongs.h | 11 ++-- src/StepMania-net2010.vcxproj.filters | 8 ++- 6 files changed, 76 insertions(+), 51 deletions(-) rename Themes/_fallback/Fonts/{ScreenReloadSongs LoadingText.redir => InGameLoadingWindow LoadingText.redir} (100%) create mode 100644 src/InGameLoadingWindow.cpp create mode 100644 src/InGameLoadingWindow.h diff --git a/Themes/_fallback/Fonts/ScreenReloadSongs LoadingText.redir b/Themes/_fallback/Fonts/InGameLoadingWindow LoadingText.redir similarity index 100% rename from Themes/_fallback/Fonts/ScreenReloadSongs LoadingText.redir rename to Themes/_fallback/Fonts/InGameLoadingWindow LoadingText.redir diff --git a/src/InGameLoadingWindow.cpp b/src/InGameLoadingWindow.cpp new file mode 100644 index 0000000000..381871e51b --- /dev/null +++ b/src/InGameLoadingWindow.cpp @@ -0,0 +1,23 @@ +#include "global.h" +#include "InGameLoadingWindow.h" +#include "ScreenManager.h" +#include "ThemeManager.h" +#include "ActorUtil.h" + +//REGISTER_ACTOR_CLASS( InGameLoadingWindow ); + +InGameLoadingWindow::InGameLoadingWindow() { + SetName("InGameLoadingWindow"); + m_Text.SetName("LoadingText"); + m_Text.LoadFromFont( THEME->GetPathF(m_sName, "LoadingText") ); + m_Text.SetXY(0,0); + AddChild(&m_Text); +} + +InGameLoadingWindow::~InGameLoadingWindow() { + RemoveChild(&m_Text); +} + +void InGameLoadingWindow::SetText( RString str ) { + m_Text.SetText( str ); +} diff --git a/src/InGameLoadingWindow.h b/src/InGameLoadingWindow.h new file mode 100644 index 0000000000..f9c4ae8b8b --- /dev/null +++ b/src/InGameLoadingWindow.h @@ -0,0 +1,19 @@ +#include "arch/LoadingWindow/LoadingWindow.h" +#include "BitmapText.h" +#include "RageTimer.h" +#include "global.h" +#include "ActorFrame.h" + +class InGameLoadingWindow: public LoadingWindow, public ActorFrame { + +public: + InGameLoadingWindow(); + ~InGameLoadingWindow(); + + void SetText( RString str ); + +private: + RageTimer m_LastDraw; + BitmapText m_Text; +}; + diff --git a/src/ScreenReloadSongs.cpp b/src/ScreenReloadSongs.cpp index 48d94907b0..cfa926dfba 100644 --- a/src/ScreenReloadSongs.cpp +++ b/src/ScreenReloadSongs.cpp @@ -6,38 +6,8 @@ #include "RageLog.h" #include "ThemeManager.h" #include "ScreenDimensions.h" - #include "arch/LoadingWindow/LoadingWindow.h" - -static const int DrawFrameRate = 20; -class ScreenReloadSongsLoadingWindow: public LoadingWindow -{ - RageTimer m_LastDraw; - BitmapText &m_BitmapText; - -public: - ScreenReloadSongsLoadingWindow( BitmapText &bt ): - m_BitmapText(bt) - { - } - - void SetText( RString str ) - { - m_BitmapText.SetText( str ); - Paint(); - } - - void Paint() - { - /* We load songs much faster than we draw frames. Cap the draw rate, - * so we don't slow down the reload. */ - if( m_LastDraw.PeekDeltaTime() < 1.0f/DrawFrameRate ) - return; - m_LastDraw.GetDeltaTime(); - - SCREENMAN->Draw(); - } -}; +#include "InGameLoadingWindow.h" /* This could be cleaned up: show progress, for example. Let's not use * this for the initial load, since we don't want to start up the display @@ -49,14 +19,16 @@ void ScreenReloadSongs::Init() { Screen::Init(); - m_iUpdates = 0; + loadWin=new InGameLoadingWindow( ); - m_Loading.SetName("LoadingText"); - m_Loading.LoadFromFont( THEME->GetPathF(m_sName, "LoadingText") ); - m_Loading.SetXY( SCREEN_CENTER_X, SCREEN_CENTER_Y ); - this->AddChild( &m_Loading ); + loadWin->SetXY( SCREEN_CENTER_X, SCREEN_CENTER_Y ); + + AddChild( loadWin ); - pLoadingWindow = new ScreenReloadSongsLoadingWindow( m_Loading ); + pLoadingWindow = new InGameLoadingWindow( ); + + m_loadingThread.SetName("Song reload work thread"); + m_loadingThread.Create(loadingThreadProc,this); } ScreenReloadSongs::~ScreenReloadSongs() @@ -64,20 +36,24 @@ ScreenReloadSongs::~ScreenReloadSongs() delete pLoadingWindow; } +void ScreenReloadSongs::Update( float fDeltaTime ) { + Screen::Update( fDeltaTime ); + + //SCREENMAN->Draw(); +} -void ScreenReloadSongs::Update( float fDeltaTime ) -{ - Screen::Update( fDeltaTime ); - /* Start the reload on the second update. On the first (0), SCREENMAN->Draw won't draw. */ - ++m_iUpdates; - if( m_iUpdates != 2 ) - return; - ASSERT( !IsFirstUpdate() ); + + +int ScreenReloadSongs::loadingThreadProc(void *thisAsVoidPtr) { + + ScreenReloadSongs *self=(ScreenReloadSongs *)thisAsVoidPtr; SONGMAN->Reload( false ); SCREENMAN->PostMessageToTopScreen( SM_GoToNextScreen, 0 ); + + return 0; } /* diff --git a/src/ScreenReloadSongs.h b/src/ScreenReloadSongs.h index 908f61da72..93ffa37d4f 100644 --- a/src/ScreenReloadSongs.h +++ b/src/ScreenReloadSongs.h @@ -2,8 +2,9 @@ #define SCREEN_RELOAD_SONGS_H #include "Screen.h" -#include "BitmapText.h" -class LoadingWindow; +#include "RageThreads.h" + +class InGameLoadingWindow; class ScreenReloadSongs: public Screen { @@ -11,10 +12,10 @@ public: virtual void Init(); ~ScreenReloadSongs(); void Update( float fDeltaTime ); - private: - int m_iUpdates; - BitmapText m_Loading; + InGameLoadingWindow *loadWin; + RageThread m_loadingThread; + static int loadingThreadProc(void *thisAsVoidPtr); }; #endif diff --git a/src/StepMania-net2010.vcxproj.filters b/src/StepMania-net2010.vcxproj.filters index 0d28f9a2c7..7c21d06c80 100644 --- a/src/StepMania-net2010.vcxproj.filters +++ b/src/StepMania-net2010.vcxproj.filters @@ -1629,6 +1629,9 @@ Data Structures + + Actors used in Menus + @@ -3026,6 +3029,9 @@ Data Structures + + Actors used in Menus + @@ -3154,4 +3160,4 @@ BaseClasses - + \ No newline at end of file From bce2fcbe2a769a3befb59242579a63fed5fe1721 Mon Sep 17 00:00:00 2001 From: Thai Pangsakulyanont Date: Sun, 5 Jun 2011 12:18:20 +0700 Subject: [PATCH 013/530] the progress now displays on a mac. Needs some visual adjustments though. --- Xcode/stepmania.xcodeproj/project.pbxproj | 8 ++++ src/arch/LoadingWindow/LoadingWindow_MacOSX.h | 2 + .../LoadingWindow/LoadingWindow_MacOSX.mm | 44 +++++++++++++++++-- 3 files changed, 50 insertions(+), 4 deletions(-) diff --git a/Xcode/stepmania.xcodeproj/project.pbxproj b/Xcode/stepmania.xcodeproj/project.pbxproj index 83b2d2a8b7..296f1f0009 100644 --- a/Xcode/stepmania.xcodeproj/project.pbxproj +++ b/Xcode/stepmania.xcodeproj/project.pbxproj @@ -1661,6 +1661,8 @@ AAFF41A40F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFF41A20F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.h */; }; AAFF41A50F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFF41A10F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.cpp */; }; AAFF41A60F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFF41A20F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.h */; }; + B71A60C0139B41DB00183A27 /* InGameLoadingWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B71A60BE139B41DB00183A27 /* InGameLoadingWindow.cpp */; }; + B71A60C1139B41DB00183A27 /* InGameLoadingWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = B71A60BF139B41DB00183A27 /* InGameLoadingWindow.h */; }; B75CE3B5137963350076A82D /* SongPosition.h in Headers */ = {isa = PBXBuildFile; fileRef = B75CE3B3137963350076A82D /* SongPosition.h */; }; B75CE3B6137963350076A82D /* SongPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B75CE3B4137963350076A82D /* SongPosition.cpp */; }; EE2153A910A75BEE0074B01B /* NotesLoaderPMS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EE2153A710A75BEE0074B01B /* NotesLoaderPMS.cpp */; }; @@ -3056,6 +3058,8 @@ AAFF55220549F43A00D02EE9 /* ComboGraph.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ComboGraph.h; path = ../src/ComboGraph.h; sourceTree = ""; }; AAFF5541054E736D00D02EE9 /* Attack.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Attack.cpp; path = ../src/Attack.cpp; sourceTree = ""; }; AAFF5542054E736D00D02EE9 /* Attack.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Attack.h; path = ../src/Attack.h; sourceTree = ""; }; + B71A60BE139B41DB00183A27 /* InGameLoadingWindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InGameLoadingWindow.cpp; sourceTree = ""; }; + B71A60BF139B41DB00183A27 /* InGameLoadingWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InGameLoadingWindow.h; sourceTree = ""; }; B75CE3B3137963350076A82D /* SongPosition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SongPosition.h; path = ../src/SongPosition.h; sourceTree = SOURCE_ROOT; }; B75CE3B4137963350076A82D /* SongPosition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SongPosition.cpp; path = ../src/SongPosition.cpp; sourceTree = SOURCE_ROOT; }; EE2153A710A75BEE0074B01B /* NotesLoaderPMS.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NotesLoaderPMS.cpp; path = ../src/NotesLoaderPMS.cpp; sourceTree = SOURCE_ROOT; }; @@ -3279,6 +3283,8 @@ 29B97315FDCFA39411CA2CEA /* Other Source */ = { isa = PBXGroup; children = ( + B71A60BE139B41DB00183A27 /* InGameLoadingWindow.cpp */, + B71A60BF139B41DB00183A27 /* InGameLoadingWindow.h */, AA70E3640663112800DAE1FD /* Foreach.h */, 3659B56D0F902143002B6B68 /* CommandLineActions.cpp */, 3659B56E0F902143002B6B68 /* CommandLineActions.h */, @@ -5148,6 +5154,7 @@ 2B9C2E8E137A138B004C92F3 /* NotesLoaderJson.h in Headers */, 2B9C2E90137A138B004C92F3 /* NotesWriterJson.h in Headers */, 2B43509513949F37006FA051 /* TimingSegments.h in Headers */, + B71A60C1139B41DB00183A27 /* InGameLoadingWindow.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6489,6 +6496,7 @@ 2BD06FF2137242680018CB9F /* json_value.cpp in Sources */, 2BD06FF4137242680018CB9F /* json_writer.cpp in Sources */, 2B43509613949F37006FA051 /* TimingSegments.cpp in Sources */, + B71A60C0139B41DB00183A27 /* InGameLoadingWindow.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/src/arch/LoadingWindow/LoadingWindow_MacOSX.h b/src/arch/LoadingWindow/LoadingWindow_MacOSX.h index 29636eb7c0..23f45ddf1c 100644 --- a/src/arch/LoadingWindow/LoadingWindow_MacOSX.h +++ b/src/arch/LoadingWindow/LoadingWindow_MacOSX.h @@ -9,6 +9,8 @@ public: LoadingWindow_MacOSX(); ~LoadingWindow_MacOSX(); void SetText( RString str ); + void SetProgress( const int progress ); + void SetTotalWork( const int totalWork ); }; #define USE_LOADING_WINDOW_MACOSX diff --git a/src/arch/LoadingWindow/LoadingWindow_MacOSX.mm b/src/arch/LoadingWindow/LoadingWindow_MacOSX.mm index 4f26434a41..bc6a3cf9dc 100644 --- a/src/arch/LoadingWindow/LoadingWindow_MacOSX.mm +++ b/src/arch/LoadingWindow/LoadingWindow_MacOSX.mm @@ -10,8 +10,11 @@ NSWindow *m_Window; NSTextView *m_Text; NSAutoreleasePool *m_Pool; + NSProgressIndicator *m_ProgressIndicator; } - (void) setupWindow:(NSImage *)image; +- (void) setProgress:(NSNumber *)progress; +- (void) setTotalWork:(NSNumber *)totalWork; @end @implementation LoadingWindowHelper @@ -21,14 +24,25 @@ NSRect viewRect, windowRect; float height = 0.0f; + NSRect progressIndicatorRect; + progressIndicatorRect = NSMakeRect(0, 0, size.width, 0); + m_ProgressIndicator = [[NSProgressIndicator alloc] initWithFrame:progressIndicatorRect]; + [m_ProgressIndicator sizeToFit]; + [m_ProgressIndicator setIndeterminate:NO]; + [m_ProgressIndicator setMinValue:0]; + [m_ProgressIndicator setMaxValue:1]; + [m_ProgressIndicator setDoubleValue:0]; + progressIndicatorRect = [m_ProgressIndicator frame]; + float progressHeight = progressIndicatorRect.size.height; + NSFont *font = [NSFont systemFontOfSize:0.0f]; NSRect textRect; // Just give it a size until it is created. - textRect = NSMakeRect( 0, 0, size.width, size.height ); + textRect = NSMakeRect( 0, progressHeight, size.width, size.height ); m_Text = [[NSTextView alloc] initWithFrame:textRect]; [m_Text setFont:font]; height = [[m_Text layoutManager] defaultLineHeightForFont:font]*3 + 4; - textRect = NSMakeRect( 0, 0, size.width, height ); + textRect = NSMakeRect( 0, progressHeight, size.width, height ); [m_Text setFrame:textRect]; [m_Text setEditable:NO]; @@ -40,12 +54,12 @@ [m_Text setVerticallyResizable:NO]; [m_Text setString:@"Initializing Hardware..."]; - viewRect = NSMakeRect( 0, height, size.width, size.height ); + viewRect = NSMakeRect( 0, height + progressHeight, size.width, size.height ); NSImageView *iView = [[NSImageView alloc] initWithFrame:viewRect]; [iView setImage:image]; [iView setImageFrameStyle:NSImageFrameNone]; - windowRect = NSMakeRect( 0, 0, size.width, size.height + height ); + windowRect = NSMakeRect( 0, 0, size.width, size.height + height + progressHeight); m_Window = [[NSWindow alloc] initWithContentRect:windowRect styleMask:NSTitledWindowMask backing:NSBackingStoreBuffered @@ -66,10 +80,22 @@ [view addSubview:iView]; [m_Text release]; [iView release]; + [view addSubview:m_ProgressIndicator]; // Display the window. [m_Window makeKeyAndOrderFront:nil]; } + +- (void) setProgress:(NSNumber *)progress +{ + [m_ProgressIndicator setDoubleValue:[progress doubleValue]]; +} + +- (void) setTotalWork:(NSNumber *)totalWork +{ + [m_ProgressIndicator setMaxValue:[totalWork doubleValue]]; +} + @end static LoadingWindowHelper *g_Helper = nil; @@ -124,6 +150,16 @@ void LoadingWindow_MacOSX::SetText( RString str ) [s release]; } +void LoadingWindow_MacOSX::SetProgress( const int progress ) +{ + [g_Helper performSelectorOnMainThread:@selector(setProgress:) withObject:[NSNumber numberWithDouble:(double)progress] waitUntilDone:NO]; +} + +void LoadingWindow_MacOSX::SetTotalWork( const int totalWork ) +{ + [g_Helper performSelectorOnMainThread:@selector(setTotalWork:) withObject:[NSNumber numberWithDouble:(double)totalWork] waitUntilDone:NO]; +} + /* * (c) 2003-2006, 2008 Steve Checkoway * All rights reserved. From 6f624538ce0eea95244335986b075656e9f7c4c8 Mon Sep 17 00:00:00 2001 From: Thai Pangsakulyanont Date: Sun, 5 Jun 2011 12:45:28 +0700 Subject: [PATCH 014/530] display progress for song loading --- src/SongManager.cpp | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/SongManager.cpp b/src/SongManager.cpp index b4cfceab4e..acb3926267 100644 --- a/src/SongManager.cpp +++ b/src/SongManager.cpp @@ -237,11 +237,16 @@ void SongManager::LoadStepManiaSongDir( RString sDir ) SortRStringArray( arrayGroupDirs ); StripCvsAndSvn( arrayGroupDirs ); StripMacResourceForks( arrayGroupDirs ); - + + vector< vector > arrayGroupSongDirs; + int groupIndex, songCount, songIndex; + + groupIndex = 0; + songCount = 0; FOREACH_CONST( RString, arrayGroupDirs, s ) // foreach dir in /Songs/ { + RString sGroupDirName = *s; - SanityCheckGroupDir(sDir+sGroupDirName); // Find all Song folders in this group directory @@ -250,6 +255,21 @@ void SongManager::LoadStepManiaSongDir( RString sDir ) StripCvsAndSvn( arraySongDirs ); StripMacResourceForks( arraySongDirs ); SortRStringArray( arraySongDirs ); + + arrayGroupSongDirs.push_back(arraySongDirs); + songCount += arraySongDirs.size(); + + } + + if( pLoadingWindow ) + pLoadingWindow->SetTotalWork( songCount ); + + groupIndex = 0; + songIndex = 0; + FOREACH_CONST( RString, arrayGroupDirs, s ) // foreach dir in /Songs/ + { + RString sGroupDirName = *s; + vector &arraySongDirs = arrayGroupSongDirs[groupIndex++]; LOG->Trace("Attempting to load %i songs from \"%s\"", int(arraySongDirs.size()), (sDir+sGroupDirName).c_str() ); @@ -264,6 +284,7 @@ void SongManager::LoadStepManiaSongDir( RString sDir ) // this is a song directory. Load a new song. if( pLoadingWindow ) { + pLoadingWindow->SetProgress(songIndex); pLoadingWindow->SetText( LOADING_SONGS.GetValue()+ssprintf("\n%s\n%s", Basename(sGroupDirName).c_str(), Basename(sSongDirName).c_str())); @@ -279,6 +300,7 @@ void SongManager::LoadStepManiaSongDir( RString sDir ) m_pSongs.push_back( pNewSong ); index_entry.push_back( pNewSong ); loaded++; + songIndex++; } LOG->Trace("Loaded %i songs from \"%s\"", loaded, (sDir+sGroupDirName).c_str() ); From af62e62b425a3adbdbda5e3e60db4fca0b780318 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 5 Jun 2011 02:12:09 -0400 Subject: [PATCH 015/530] [loading window] .hgeol --- .../LoadingWindow/LoadingWindow_Win32.cpp | 516 +++++++++--------- 1 file changed, 258 insertions(+), 258 deletions(-) diff --git a/src/arch/LoadingWindow/LoadingWindow_Win32.cpp b/src/arch/LoadingWindow/LoadingWindow_Win32.cpp index 57414399a8..4c3d2a9212 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Win32.cpp +++ b/src/arch/LoadingWindow/LoadingWindow_Win32.cpp @@ -1,258 +1,258 @@ -#include "global.h" -#include "RageUtil.h" - -#include "LoadingWindow_Win32.h" -#include "RageFileManager.h" -#include "archutils/win32/WindowsResources.h" -#include "archutils/win32/WindowIcon.h" -#include "archutils/win32/ErrorStrings.h" -#include -#include "CommCtrl.h" -#include "RageSurface_Load.h" -#include "RageSurface.h" -#include "RageSurfaceUtils.h" -#include "RageLog.h" -#include "ProductInfo.h" -#include "LocalizedString.h" - -#include "RageSurfaceUtils_Zoom.h" -static HBITMAP g_hBitmap = NULL; - -#pragma comment(linker,"\"/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") - - -/* Load a RageSurface into a GDI surface. */ -static HBITMAP LoadWin32Surface( RageSurface *&s ) -{ - RageSurfaceUtils::ConvertSurface( s, s->w, s->h, 32, 0xFF000000, 0x00FF0000, 0x0000FF00, 0 ); - - HDC hScreen = GetDC(NULL); - ASSERT_M( hScreen, werr_ssprintf(GetLastError(), "hScreen") ); - - HBITMAP bitmap = CreateCompatibleBitmap( hScreen, s->w, s->h ); - ASSERT_M( bitmap, werr_ssprintf(GetLastError(), "CreateCompatibleBitmap") ); - - HDC BitmapDC = CreateCompatibleDC( hScreen ); - SelectObject( BitmapDC, bitmap ); - - /* This is silly, but simple. We only do this once, on a small image. */ - for( int y = 0; y < s->h; ++y ) - { - unsigned const char *line = ((unsigned char *) s->pixels) + (y * s->pitch); - for( int x = 0; x < s->w; ++x ) - { - unsigned const char *data = line + (x*s->format->BytesPerPixel); - - SetPixelV( BitmapDC, x, y, RGB( data[3], data[2], data[1] ) ); - } - } - - SelectObject( BitmapDC, NULL ); - DeleteObject( BitmapDC ); - - ReleaseDC( NULL, hScreen ); - - return bitmap; -} - -static HBITMAP LoadWin32Surface( RString sFile, HWND hWnd ) -{ - RString error; - RageSurface *pSurface = RageSurfaceUtils::LoadFile( sFile, error ); - if( pSurface == NULL ) - return NULL; - - /* Resize the splash image to fit the dialog. Stretch to fit horizontally, - * maintaining aspect ratio. */ - { - RECT r; - GetClientRect( hWnd, &r ); - - int iWidth = r.right; - float fRatio = (float) iWidth / pSurface->w; - int iHeight = lrintf( pSurface->h * fRatio ); - - RageSurfaceUtils::Zoom( pSurface, iWidth, iHeight ); - } - - HBITMAP ret = LoadWin32Surface( pSurface ); - delete pSurface; - return ret; -} - -INT_PTR CALLBACK LoadingWindow_Win32::DlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) -{ - - LoadingWindow_Win32 *self; - - if(msg==WM_INITDIALOG) { - self=(LoadingWindow_Win32 *)lParam; - SetWindowLong(hWnd,DWL_USER,(LONG)self); - } else { - self=(LoadingWindow_Win32 *)GetWindowLong(hWnd,DWL_USER); - } - - switch( msg ) - { - case WM_INITDIALOG: - { - vector vs; - GetDirListing( "Data/splash*.png", vs, false, true ); - if( !vs.empty() ) - g_hBitmap = LoadWin32Surface( vs[0], hWnd ); - } - if( g_hBitmap == NULL ) - g_hBitmap = LoadWin32Surface( "Data/splash.bmp", hWnd ); - SendMessage( - GetDlgItem(hWnd,IDC_SPLASH), - STM_SETIMAGE, - (WPARAM) IMAGE_BITMAP, - (LPARAM) (HANDLE) g_hBitmap ); - SetWindowTextA( hWnd, PRODUCT_ID ); - - { - HWND progressCtrl=GetDlgItem( hWnd, IDC_PROGRESS ); - SetWindowLong(progressCtrl,GWL_STYLE, PBS_MARQUEE | GetWindowLong(progressCtrl,GWL_STYLE)); - SendMessage(progressCtrl,PBM_SETMARQUEE,1,0); - } - break; - - case WM_DESTROY: - DeleteObject( g_hBitmap ); - g_hBitmap = NULL; - self->runMessageLoop=false; - self->hwnd=NULL; - return TRUE; - break; - - case WM_APP: - DestroyWindow(hWnd); - self->runMessageLoop=false; - ExitThread(0); - return TRUE; - break; - } - - return FALSE; -} - -void LoadingWindow_Win32::SetIcon( const RageSurface *pIcon ) -{ - if( m_hIcon != NULL ) - DestroyIcon( m_hIcon ); - - m_hIcon = IconFromSurface( pIcon ); - if( m_hIcon != NULL ) - SetClassLong( hwnd, GCL_HICON, (LONG) m_hIcon ); -} - -LoadingWindow_Win32::LoadingWindow_Win32() -{ - INITCOMMONCONTROLSEX cceData; - cceData.dwSize=sizeof(INITCOMMONCONTROLSEX); - cceData.dwICC=ICC_PROGRESS_CLASS; - InitCommonControlsEx(&cceData); - - m_hIcon = NULL; - - runMessageLoop=true; - - guiReadyEvent=CreateEvent(NULL,FALSE,FALSE,NULL); - - pumpThread=CreateThread(NULL, NULL, MessagePump, (void *)this, 0, &pumpThreadId); - - WaitForSingleObject(guiReadyEvent,INFINITE); - - for( unsigned i = 0; i < 3; ++i ) - text[i] = "ABC"; /* always set on first call */ - SetText( "" ); -} - -LoadingWindow_Win32::~LoadingWindow_Win32() -{ - SendMessage(hwnd,WM_APP,0,0); - //SendMessage(hwnd,WM_NULL,0,0); - WaitForSingleObject(pumpThread,INFINITE); - if(guiReadyEvent) - CloseHandle(guiReadyEvent); - if( m_hIcon != NULL ) - DestroyIcon( m_hIcon ); -} - -DWORD WINAPI LoadingWindow_Win32::MessagePump(LPVOID thisAsVoidPtr) -{ - LoadingWindow_Win32 *self=(LoadingWindow_Win32 *)thisAsVoidPtr; - - self->hwnd = CreateDialogParam( self->handle.Get(), MAKEINTRESOURCE(IDD_LOADING_DIALOG), NULL, DlgProc, (LPARAM)thisAsVoidPtr); - - SetEvent(self->guiReadyEvent); - - // Run the message loop in a separate thread to keep the gui responsive during the loading - MSG msg; - while(self->runMessageLoop && GetMessage(&msg, self->hwnd, 0, 0 ) ) - { - if(IsDialogMessage(self->hwnd,&msg)) continue; - DispatchMessage( &msg ); - } - - return msg.wParam; -} - -void LoadingWindow_Win32::SetText( RString sText ) -{ - vector asMessageLines; - split( sText, "\n", asMessageLines, false ); - while( asMessageLines.size() < 3 ) - asMessageLines.push_back( "" ); - - const int msgid[] = { IDC_STATIC_MESSAGE1, IDC_STATIC_MESSAGE2, IDC_STATIC_MESSAGE3 }; - for( unsigned i = 0; i < 3; ++i ) - { - if( text[i] == asMessageLines[i] ) - continue; - text[i] = asMessageLines[i]; - - HWND hwndItem = ::GetDlgItem( hwnd, msgid[i] ); - - ::SetWindowText( hwndItem, ConvertUTF8ToACP(asMessageLines[i]).c_str() ); - } -} - -void LoadingWindow_Win32::SetProgress(const int progress) -{ - m_progress=progress; - HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS ); - ::SendMessage(hwndItem,PBM_SETPOS,progress,0); -} - -void LoadingWindow_Win32::SetTotalWork(const int totalWork) -{ - m_totalWork=totalWork; - HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS ); - ::SendMessage(hwndItem,PBM_SETRANGE32,0,totalWork); -} - -/* - * (c) 2001-2004 Chris Danford, Glenn Maynard - * All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, and/or sell copies of the Software, and to permit persons to - * whom the Software is furnished to do so, provided that the above - * copyright notice(s) and this permission notice appear in all copies of - * the Software and that both the above copyright notice(s) and this - * permission notice appear in supporting documentation. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF - * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS - * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT - * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS - * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR - * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ +#include "global.h" +#include "RageUtil.h" + +#include "LoadingWindow_Win32.h" +#include "RageFileManager.h" +#include "archutils/win32/WindowsResources.h" +#include "archutils/win32/WindowIcon.h" +#include "archutils/win32/ErrorStrings.h" +#include +#include "CommCtrl.h" +#include "RageSurface_Load.h" +#include "RageSurface.h" +#include "RageSurfaceUtils.h" +#include "RageLog.h" +#include "ProductInfo.h" +#include "LocalizedString.h" + +#include "RageSurfaceUtils_Zoom.h" +static HBITMAP g_hBitmap = NULL; + +#pragma comment(linker,"\"/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") + + +/* Load a RageSurface into a GDI surface. */ +static HBITMAP LoadWin32Surface( RageSurface *&s ) +{ + RageSurfaceUtils::ConvertSurface( s, s->w, s->h, 32, 0xFF000000, 0x00FF0000, 0x0000FF00, 0 ); + + HDC hScreen = GetDC(NULL); + ASSERT_M( hScreen, werr_ssprintf(GetLastError(), "hScreen") ); + + HBITMAP bitmap = CreateCompatibleBitmap( hScreen, s->w, s->h ); + ASSERT_M( bitmap, werr_ssprintf(GetLastError(), "CreateCompatibleBitmap") ); + + HDC BitmapDC = CreateCompatibleDC( hScreen ); + SelectObject( BitmapDC, bitmap ); + + /* This is silly, but simple. We only do this once, on a small image. */ + for( int y = 0; y < s->h; ++y ) + { + unsigned const char *line = ((unsigned char *) s->pixels) + (y * s->pitch); + for( int x = 0; x < s->w; ++x ) + { + unsigned const char *data = line + (x*s->format->BytesPerPixel); + + SetPixelV( BitmapDC, x, y, RGB( data[3], data[2], data[1] ) ); + } + } + + SelectObject( BitmapDC, NULL ); + DeleteObject( BitmapDC ); + + ReleaseDC( NULL, hScreen ); + + return bitmap; +} + +static HBITMAP LoadWin32Surface( RString sFile, HWND hWnd ) +{ + RString error; + RageSurface *pSurface = RageSurfaceUtils::LoadFile( sFile, error ); + if( pSurface == NULL ) + return NULL; + + /* Resize the splash image to fit the dialog. Stretch to fit horizontally, + * maintaining aspect ratio. */ + { + RECT r; + GetClientRect( hWnd, &r ); + + int iWidth = r.right; + float fRatio = (float) iWidth / pSurface->w; + int iHeight = lrintf( pSurface->h * fRatio ); + + RageSurfaceUtils::Zoom( pSurface, iWidth, iHeight ); + } + + HBITMAP ret = LoadWin32Surface( pSurface ); + delete pSurface; + return ret; +} + +INT_PTR CALLBACK LoadingWindow_Win32::DlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) +{ + + LoadingWindow_Win32 *self; + + if(msg==WM_INITDIALOG) { + self=(LoadingWindow_Win32 *)lParam; + SetWindowLong(hWnd,DWL_USER,(LONG)self); + } else { + self=(LoadingWindow_Win32 *)GetWindowLong(hWnd,DWL_USER); + } + + switch( msg ) + { + case WM_INITDIALOG: + { + vector vs; + GetDirListing( "Data/splash*.png", vs, false, true ); + if( !vs.empty() ) + g_hBitmap = LoadWin32Surface( vs[0], hWnd ); + } + if( g_hBitmap == NULL ) + g_hBitmap = LoadWin32Surface( "Data/splash.bmp", hWnd ); + SendMessage( + GetDlgItem(hWnd,IDC_SPLASH), + STM_SETIMAGE, + (WPARAM) IMAGE_BITMAP, + (LPARAM) (HANDLE) g_hBitmap ); + SetWindowTextA( hWnd, PRODUCT_ID ); + + { + HWND progressCtrl=GetDlgItem( hWnd, IDC_PROGRESS ); + SetWindowLong(progressCtrl,GWL_STYLE, PBS_MARQUEE | GetWindowLong(progressCtrl,GWL_STYLE)); + SendMessage(progressCtrl,PBM_SETMARQUEE,1,0); + } + break; + + case WM_DESTROY: + DeleteObject( g_hBitmap ); + g_hBitmap = NULL; + self->runMessageLoop=false; + self->hwnd=NULL; + return TRUE; + break; + + case WM_APP: + DestroyWindow(hWnd); + self->runMessageLoop=false; + ExitThread(0); + return TRUE; + break; + } + + return FALSE; +} + +void LoadingWindow_Win32::SetIcon( const RageSurface *pIcon ) +{ + if( m_hIcon != NULL ) + DestroyIcon( m_hIcon ); + + m_hIcon = IconFromSurface( pIcon ); + if( m_hIcon != NULL ) + SetClassLong( hwnd, GCL_HICON, (LONG) m_hIcon ); +} + +LoadingWindow_Win32::LoadingWindow_Win32() +{ + INITCOMMONCONTROLSEX cceData; + cceData.dwSize=sizeof(INITCOMMONCONTROLSEX); + cceData.dwICC=ICC_PROGRESS_CLASS; + InitCommonControlsEx(&cceData); + + m_hIcon = NULL; + + runMessageLoop=true; + + guiReadyEvent=CreateEvent(NULL,FALSE,FALSE,NULL); + + pumpThread=CreateThread(NULL, NULL, MessagePump, (void *)this, 0, &pumpThreadId); + + WaitForSingleObject(guiReadyEvent,INFINITE); + + for( unsigned i = 0; i < 3; ++i ) + text[i] = "ABC"; /* always set on first call */ + SetText( "" ); +} + +LoadingWindow_Win32::~LoadingWindow_Win32() +{ + SendMessage(hwnd,WM_APP,0,0); + //SendMessage(hwnd,WM_NULL,0,0); + WaitForSingleObject(pumpThread,INFINITE); + if(guiReadyEvent) + CloseHandle(guiReadyEvent); + if( m_hIcon != NULL ) + DestroyIcon( m_hIcon ); +} + +DWORD WINAPI LoadingWindow_Win32::MessagePump(LPVOID thisAsVoidPtr) +{ + LoadingWindow_Win32 *self=(LoadingWindow_Win32 *)thisAsVoidPtr; + + self->hwnd = CreateDialogParam( self->handle.Get(), MAKEINTRESOURCE(IDD_LOADING_DIALOG), NULL, DlgProc, (LPARAM)thisAsVoidPtr); + + SetEvent(self->guiReadyEvent); + + // Run the message loop in a separate thread to keep the gui responsive during the loading + MSG msg; + while(self->runMessageLoop && GetMessage(&msg, self->hwnd, 0, 0 ) ) + { + if(IsDialogMessage(self->hwnd,&msg)) continue; + DispatchMessage( &msg ); + } + + return msg.wParam; +} + +void LoadingWindow_Win32::SetText( RString sText ) +{ + vector asMessageLines; + split( sText, "\n", asMessageLines, false ); + while( asMessageLines.size() < 3 ) + asMessageLines.push_back( "" ); + + const int msgid[] = { IDC_STATIC_MESSAGE1, IDC_STATIC_MESSAGE2, IDC_STATIC_MESSAGE3 }; + for( unsigned i = 0; i < 3; ++i ) + { + if( text[i] == asMessageLines[i] ) + continue; + text[i] = asMessageLines[i]; + + HWND hwndItem = ::GetDlgItem( hwnd, msgid[i] ); + + ::SetWindowText( hwndItem, ConvertUTF8ToACP(asMessageLines[i]).c_str() ); + } +} + +void LoadingWindow_Win32::SetProgress(const int progress) +{ + m_progress=progress; + HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS ); + ::SendMessage(hwndItem,PBM_SETPOS,progress,0); +} + +void LoadingWindow_Win32::SetTotalWork(const int totalWork) +{ + m_totalWork=totalWork; + HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS ); + ::SendMessage(hwndItem,PBM_SETRANGE32,0,totalWork); +} + +/* + * (c) 2001-2004 Chris Danford, Glenn Maynard + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, and/or sell copies of the Software, and to permit persons to + * whom the Software is furnished to do so, provided that the above + * copyright notice(s) and this permission notice appear in all copies of + * the Software and that both the above copyright notice(s) and this + * permission notice appear in supporting documentation. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF + * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS + * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT + * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ From 167cd9238af59155c8b3da25223ec1ddf0e6ba83 Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sun, 5 Jun 2011 11:32:51 +0200 Subject: [PATCH 016/530] [loading window] Should really have included this in the initial design. Now it can be indeterminate too. --- src/SongManager.cpp | 10 +++++++- src/StepMania.cpp | 7 +++--- src/arch/LoadingWindow/LoadingWindow.cpp | 5 +++- src/arch/LoadingWindow/LoadingWindow.h | 2 ++ .../LoadingWindow/LoadingWindow_Win32.cpp | 25 ++++++++++++++----- src/arch/LoadingWindow/LoadingWindow_Win32.h | 1 + 6 files changed, 39 insertions(+), 11 deletions(-) diff --git a/src/SongManager.cpp b/src/SongManager.cpp index acb3926267..8b1ca6b2a6 100644 --- a/src/SongManager.cpp +++ b/src/SongManager.cpp @@ -260,9 +260,13 @@ void SongManager::LoadStepManiaSongDir( RString sDir ) songCount += arraySongDirs.size(); } + + if( songCount==0 ) return; - if( pLoadingWindow ) + if( pLoadingWindow ) { + pLoadingWindow->SetIndeterminate( false ); pLoadingWindow->SetTotalWork( songCount ); + } groupIndex = 0; songIndex = 0; @@ -318,6 +322,10 @@ void SongManager::LoadStepManiaSongDir( RString sDir ) LoadGroupSymLinks(sDir, sGroupDirName); } + if( pLoadingWindow ) { + pLoadingWindow->SetIndeterminate( true ); + } + LoadEnabledSongsFromPref(); } diff --git a/src/StepMania.cpp b/src/StepMania.cpp index 3463d57b47..e72f6f621d 100644 --- a/src/StepMania.cpp +++ b/src/StepMania.cpp @@ -1101,6 +1101,10 @@ int main(int argc, char* argv[]) pLoadingWindow->SetText("Initializing statics manager..."); STATSMAN = new StatsManager; + // Initialize which courses are ranking courses here. + pLoadingWindow->SetText("Updating cource rankings..."); + SONGMAN->UpdateRankingCourses(); + SAFE_DELETE( pLoadingWindow ); // destroy this before init'ing Display /* If the user has tried to quit during the loading, do it before creating @@ -1140,9 +1144,6 @@ int main(int argc, char* argv[]) CodeDetector::RefreshCacheItems(); - // Initialize which courses are ranking courses here. - SONGMAN->UpdateRankingCourses(); - if( GetCommandlineArgument("netip") ) NSMAN->DisplayStartupStatus(); // If we're using networking show what happened diff --git a/src/arch/LoadingWindow/LoadingWindow.cpp b/src/arch/LoadingWindow/LoadingWindow.cpp index 130d298a04..c96afbff84 100644 --- a/src/arch/LoadingWindow/LoadingWindow.cpp +++ b/src/arch/LoadingWindow/LoadingWindow.cpp @@ -47,9 +47,12 @@ LoadingWindow *LoadingWindow::Create() } } - if( ret ) + if( ret ) { LOG->Info( "Loading window: %s", Driver.c_str() ); + ret->SetIndeterminate(true); + } + return ret; } diff --git a/src/arch/LoadingWindow/LoadingWindow.h b/src/arch/LoadingWindow/LoadingWindow.h index dcd3a339c5..4cc23cd097 100644 --- a/src/arch/LoadingWindow/LoadingWindow.h +++ b/src/arch/LoadingWindow/LoadingWindow.h @@ -15,10 +15,12 @@ public: virtual void SetIcon( const RageSurface *pIcon ) { } virtual void SetProgress( const int progress ) { m_progress=progress; } virtual void SetTotalWork( const int totalWork ) { m_totalWork=totalWork; } + virtual void SetIndeterminate( bool indeterminate ) { m_indeterminate=indeterminate; } protected: int m_progress; int m_totalWork; + bool m_indeterminate; }; extern LoadingWindow *pLoadingWindow; diff --git a/src/arch/LoadingWindow/LoadingWindow_Win32.cpp b/src/arch/LoadingWindow/LoadingWindow_Win32.cpp index 4c3d2a9212..f152af9b2b 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Win32.cpp +++ b/src/arch/LoadingWindow/LoadingWindow_Win32.cpp @@ -110,13 +110,11 @@ INT_PTR CALLBACK LoadingWindow_Win32::DlgProc( HWND hWnd, UINT msg, WPARAM wPara (LPARAM) (HANDLE) g_hBitmap ); SetWindowTextA( hWnd, PRODUCT_ID ); - { - HWND progressCtrl=GetDlgItem( hWnd, IDC_PROGRESS ); - SetWindowLong(progressCtrl,GWL_STYLE, PBS_MARQUEE | GetWindowLong(progressCtrl,GWL_STYLE)); - SendMessage(progressCtrl,PBM_SETMARQUEE,1,0); - } break; + case WM_CLOSE: + return FALSE; + case WM_DESTROY: DeleteObject( g_hBitmap ); g_hBitmap = NULL; @@ -229,7 +227,22 @@ void LoadingWindow_Win32::SetTotalWork(const int totalWork) { m_totalWork=totalWork; HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS ); - ::SendMessage(hwndItem,PBM_SETRANGE32,0,totalWork); + SendMessage(hwndItem,PBM_SETRANGE32,0,totalWork); +} + +void LoadingWindow_Win32::SetIndeterminate(bool indeterminate) { + m_indeterminate=indeterminate; + + HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS ); + + if(indeterminate) { + SetWindowLong(hwndItem,GWL_STYLE, PBS_MARQUEE | GetWindowLong(hwndItem,GWL_STYLE)); + SendMessage(hwndItem,PBM_SETMARQUEE,1,0); + } else { + SendMessage(hwndItem,PBM_SETMARQUEE,0,0); + SetWindowLong(hwndItem,GWL_STYLE, (~PBS_MARQUEE) & GetWindowLong(hwndItem,GWL_STYLE)); + } + } /* diff --git a/src/arch/LoadingWindow/LoadingWindow_Win32.h b/src/arch/LoadingWindow/LoadingWindow_Win32.h index d1adeca283..3c45789779 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Win32.h +++ b/src/arch/LoadingWindow/LoadingWindow_Win32.h @@ -17,6 +17,7 @@ public: void SetIcon( const RageSurface *pIcon ); void SetProgress( const int progress ); void SetTotalWork( const int totalWork ); + void SetIndeterminate( bool indeterminate ); private: AppInstance handle; From 16797099813c67569ad28c0ea87e7ff23a22abe5 Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sun, 5 Jun 2011 12:24:04 +0200 Subject: [PATCH 017/530] [loading window] Now it uses the correct instance. I hate stupid errors like this. --- src/ScreenReloadSongs.cpp | 19 ++++++------------- src/ScreenReloadSongs.h | 1 - 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/src/ScreenReloadSongs.cpp b/src/ScreenReloadSongs.cpp index cfa926dfba..e5db726fdb 100644 --- a/src/ScreenReloadSongs.cpp +++ b/src/ScreenReloadSongs.cpp @@ -21,11 +21,11 @@ void ScreenReloadSongs::Init() loadWin=new InGameLoadingWindow( ); - loadWin->SetXY( SCREEN_CENTER_X, SCREEN_CENTER_Y ); - AddChild( loadWin ); - pLoadingWindow = new InGameLoadingWindow( ); + loadWin->SetXY( SCREEN_CENTER_X, SCREEN_CENTER_Y ); + + pLoadingWindow=loadWin; m_loadingThread.SetName("Song reload work thread"); m_loadingThread.Create(loadingThreadProc,this); @@ -33,18 +33,11 @@ void ScreenReloadSongs::Init() ScreenReloadSongs::~ScreenReloadSongs() { - delete pLoadingWindow; + //m_loadingThread.Halt(true); + RemoveChild(loadWin); + delete loadWin; } -void ScreenReloadSongs::Update( float fDeltaTime ) { - Screen::Update( fDeltaTime ); - - //SCREENMAN->Draw(); -} - - - - int ScreenReloadSongs::loadingThreadProc(void *thisAsVoidPtr) { ScreenReloadSongs *self=(ScreenReloadSongs *)thisAsVoidPtr; diff --git a/src/ScreenReloadSongs.h b/src/ScreenReloadSongs.h index 93ffa37d4f..5c3733aae3 100644 --- a/src/ScreenReloadSongs.h +++ b/src/ScreenReloadSongs.h @@ -11,7 +11,6 @@ class ScreenReloadSongs: public Screen public: virtual void Init(); ~ScreenReloadSongs(); - void Update( float fDeltaTime ); private: InGameLoadingWindow *loadWin; RageThread m_loadingThread; From 98204d5b56b59439e15fb42c1bcfe74067cc28ca Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sun, 5 Jun 2011 12:25:07 +0200 Subject: [PATCH 018/530] [loading window] Forgot to refresh before commiting, again. --- src/InGameLoadingWindow.cpp | 10 +++++++++- src/InGameLoadingWindow.h | 28 +++++++++++++++------------- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/src/InGameLoadingWindow.cpp b/src/InGameLoadingWindow.cpp index 381871e51b..39c06fa44c 100644 --- a/src/InGameLoadingWindow.cpp +++ b/src/InGameLoadingWindow.cpp @@ -19,5 +19,13 @@ InGameLoadingWindow::~InGameLoadingWindow() { } void InGameLoadingWindow::SetText( RString str ) { - m_Text.SetText( str ); + textChanged=true; + currentText=str; +} + +void InGameLoadingWindow::Update(float delta) { + if(textChanged) { + m_Text.SetText( currentText ); + textChanged=false; + } } diff --git a/src/InGameLoadingWindow.h b/src/InGameLoadingWindow.h index f9c4ae8b8b..52f967ed71 100644 --- a/src/InGameLoadingWindow.h +++ b/src/InGameLoadingWindow.h @@ -4,16 +4,18 @@ #include "global.h" #include "ActorFrame.h" -class InGameLoadingWindow: public LoadingWindow, public ActorFrame { - -public: - InGameLoadingWindow(); - ~InGameLoadingWindow(); - - void SetText( RString str ); - -private: - RageTimer m_LastDraw; - BitmapText m_Text; -}; - +class InGameLoadingWindow: public LoadingWindow, public ActorFrame { + +public: + InGameLoadingWindow(); + ~InGameLoadingWindow(); + + void SetText( RString str ); + void Update ( float delta ); + +private: + bool textChanged; + RString currentText; + BitmapText m_Text; +}; + From 881a6534e82b45b2e22f1449039b163a9d35bf33 Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sun, 5 Jun 2011 15:37:22 +0200 Subject: [PATCH 019/530] [loading window] Unloading should be reported as well. --- Themes/_fallback/Languages/en.ini | 2 ++ src/SongManager.cpp | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 1884302235..81723d3615 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -1657,6 +1657,8 @@ Error adding file '%s'.=Error adding file '%s'. Loading courses...=Loading courses... Loading songs...=Loading songs... Reloading...=Reloading... +Unloading songs...=Unloading songs... +Unloading courses...=Unloading courses... The folder "%s" appears to be a song folder. All song folders must reside in a group folder. For example, "Songs/Originals/My Song".=The folder "%s" appears to be a song folder. All song folders must reside in a group folder. For example, "Songs/Originals/My Song" will contain the music file (MP3, OGG...), the steps file (.sm, .dwi, .ksf...) and other related files. [SongUtil] diff --git a/src/SongManager.cpp b/src/SongManager.cpp index 8b1ca6b2a6..804bc2aa5b 100644 --- a/src/SongManager.cpp +++ b/src/SongManager.cpp @@ -98,6 +98,8 @@ void SongManager::InitAll() } static LocalizedString RELOADING ( "SongManager", "Reloading..." ); +static LocalizedString UNLOADING_SONGS ( "SongManager", "Unloading songs..." ); +static LocalizedString UNLOADING_COURSES ( "SongManager", "Unloading courses..." ); void SongManager::Reload( bool bAllowFastLoad ) { FILEMAN->FlushDirCache( SpecialFiles::SONGS_DIR ); @@ -112,7 +114,13 @@ void SongManager::Reload( bool bAllowFastLoad ) // save scores before unloading songs, of the scores will be lost PROFILEMAN->SaveMachineProfile(); + if( pLoadingWindow ) + pLoadingWindow->SetText( UNLOADING_COURSES ); + FreeCourses(); + + if( pLoadingWindow ) + pLoadingWindow->SetText( UNLOADING_SONGS ); FreeSongs(); const bool OldVal = PREFSMAN->m_bFastLoad; From 6d0f3f9db451280ae0d69c870389ed590c1cd863 Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sun, 5 Jun 2011 15:40:41 +0200 Subject: [PATCH 020/530] [loading window] Might as well expose thread specific versions too. --- src/RageThreads.cpp | 11 +++++++++++ src/RageThreads.h | 3 +++ 2 files changed, 14 insertions(+) diff --git a/src/RageThreads.cpp b/src/RageThreads.cpp index 5b86d22999..1396fb869b 100644 --- a/src/RageThreads.cpp +++ b/src/RageThreads.cpp @@ -322,6 +322,17 @@ int RageThread::Wait() return ret; } +void RageThread::Halt(bool Kill) { + ASSERT( m_pSlot != NULL ); + ASSERT( m_pSlot->m_pImpl != NULL ); + m_pSlot->m_pImpl->Halt(Kill); +} + +void RageThread::Resume() { + ASSERT( m_pSlot != NULL ); + ASSERT( m_pSlot->m_pImpl != NULL ); + m_pSlot->m_pImpl->Resume(); +} void RageThread::HaltAllThreads( bool Kill ) { diff --git a/src/RageThreads.h b/src/RageThreads.h index 5f43ccc330..1fc7c7f49f 100644 --- a/src/RageThreads.h +++ b/src/RageThreads.h @@ -15,6 +15,9 @@ public: RString GetName() const { return m_sName; } void Create( int (*fn)(void *), void *data ); + void Halt( bool Kill=false); + void Resume(); + /* For crash handlers: kill or suspend all threads (except for * the running one) immediately. */ static void HaltAllThreads( bool Kill=false ); From 17814f36387de002d74c42292637bc8a67cd0eeb Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sun, 5 Jun 2011 15:41:20 +0200 Subject: [PATCH 021/530] [loading window] Oops, forgot to add the new files to the project. --- src/StepMania-net2010.vcxproj | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/StepMania-net2010.vcxproj b/src/StepMania-net2010.vcxproj index 9f314df1dc..2dc4b6b9ca 100644 --- a/src/StepMania-net2010.vcxproj +++ b/src/StepMania-net2010.vcxproj @@ -76,7 +76,7 @@ false $(TargetDir) $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(Configuration)\ - false + true true $(SolutionDir)$(Configuration)\ $(Configuration)\ @@ -268,7 +268,7 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) true ProgramDatabase 4063;4100;4127;4201;4244;4275;4355;4505;4512;4702;4786;4996;%(DisableSpecificWarnings) - true + false AnySuitable true Speed @@ -295,7 +295,7 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) SendErrorReport - UseLinkTimeCodeGeneration + Default archutils\Win32\mapconv "$(IntDir)$(TargetName).map" "$(TargetDir)\StepMania-fastdebug.vdi" @@ -371,6 +371,7 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) + @@ -1689,6 +1690,7 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) + From 2f33ead363e878e2fb61821821aef09edb789aba Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 5 Jun 2011 10:06:44 -0400 Subject: [PATCH 022/530] [loading window] .hgeol --- src/InGameLoadingWindow.h | 42 +++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/InGameLoadingWindow.h b/src/InGameLoadingWindow.h index 52f967ed71..431be5119f 100644 --- a/src/InGameLoadingWindow.h +++ b/src/InGameLoadingWindow.h @@ -1,21 +1,21 @@ -#include "arch/LoadingWindow/LoadingWindow.h" -#include "BitmapText.h" -#include "RageTimer.h" -#include "global.h" -#include "ActorFrame.h" - -class InGameLoadingWindow: public LoadingWindow, public ActorFrame { - -public: - InGameLoadingWindow(); - ~InGameLoadingWindow(); - - void SetText( RString str ); - void Update ( float delta ); - -private: - bool textChanged; - RString currentText; - BitmapText m_Text; -}; - +#include "arch/LoadingWindow/LoadingWindow.h" +#include "BitmapText.h" +#include "RageTimer.h" +#include "global.h" +#include "ActorFrame.h" + +class InGameLoadingWindow: public LoadingWindow, public ActorFrame { + +public: + InGameLoadingWindow(); + ~InGameLoadingWindow(); + + void SetText( RString str ); + void Update ( float delta ); + +private: + bool textChanged; + RString currentText; + BitmapText m_Text; +}; + From b36733db0183376d907f60a4642eea395bcbee3b Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 5 Jun 2011 10:07:09 -0400 Subject: [PATCH 023/530] [loading window] Consistent group location. --- Xcode/stepmania.xcodeproj/project.pbxproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Xcode/stepmania.xcodeproj/project.pbxproj b/Xcode/stepmania.xcodeproj/project.pbxproj index 296f1f0009..63c87f3be9 100644 --- a/Xcode/stepmania.xcodeproj/project.pbxproj +++ b/Xcode/stepmania.xcodeproj/project.pbxproj @@ -3058,8 +3058,8 @@ AAFF55220549F43A00D02EE9 /* ComboGraph.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ComboGraph.h; path = ../src/ComboGraph.h; sourceTree = ""; }; AAFF5541054E736D00D02EE9 /* Attack.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Attack.cpp; path = ../src/Attack.cpp; sourceTree = ""; }; AAFF5542054E736D00D02EE9 /* Attack.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Attack.h; path = ../src/Attack.h; sourceTree = ""; }; - B71A60BE139B41DB00183A27 /* InGameLoadingWindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InGameLoadingWindow.cpp; sourceTree = ""; }; - B71A60BF139B41DB00183A27 /* InGameLoadingWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InGameLoadingWindow.h; sourceTree = ""; }; + B71A60BE139B41DB00183A27 /* InGameLoadingWindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InGameLoadingWindow.cpp; path = ../src/InGameLoadingWindow.cpp; sourceTree = ""; }; + B71A60BF139B41DB00183A27 /* InGameLoadingWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InGameLoadingWindow.h; path = ../src/InGameLoadingWindow.h; sourceTree = ""; }; B75CE3B3137963350076A82D /* SongPosition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SongPosition.h; path = ../src/SongPosition.h; sourceTree = SOURCE_ROOT; }; B75CE3B4137963350076A82D /* SongPosition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SongPosition.cpp; path = ../src/SongPosition.cpp; sourceTree = SOURCE_ROOT; }; EE2153A710A75BEE0074B01B /* NotesLoaderPMS.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NotesLoaderPMS.cpp; path = ../src/NotesLoaderPMS.cpp; sourceTree = SOURCE_ROOT; }; @@ -3283,8 +3283,6 @@ 29B97315FDCFA39411CA2CEA /* Other Source */ = { isa = PBXGroup; children = ( - B71A60BE139B41DB00183A27 /* InGameLoadingWindow.cpp */, - B71A60BF139B41DB00183A27 /* InGameLoadingWindow.h */, AA70E3640663112800DAE1FD /* Foreach.h */, 3659B56D0F902143002B6B68 /* CommandLineActions.cpp */, 3659B56E0F902143002B6B68 /* CommandLineActions.h */, @@ -4100,6 +4098,8 @@ AA6EFE9104770E7C005F316C /* GrooveRadar.h */, AA6EFE9404770E7C005F316C /* HelpDisplay.cpp */, AA6EFE9504770E7C005F316C /* HelpDisplay.h */, + B71A60BE139B41DB00183A27 /* InGameLoadingWindow.cpp */, + B71A60BF139B41DB00183A27 /* InGameLoadingWindow.h */, AA729C460599B54D00779F33 /* MemoryCardDisplay.cpp */, AA729C470599B54D00779F33 /* MemoryCardDisplay.h */, AA6EFE9A04770E7C005F316C /* MenuTimer.cpp */, From 584c2ee613572e2d0a8f80eccfad1798b04d95a1 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 5 Jun 2011 10:10:45 -0400 Subject: [PATCH 024/530] [loading window] Ensure loading & building order. --- src/StepMania-net2008.vcproj | 2 ++ src/StepMania-net2010.vcxproj | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/StepMania-net2008.vcproj b/src/StepMania-net2008.vcproj index 8ae692a48c..4498df5d04 100644 --- a/src/StepMania-net2008.vcproj +++ b/src/StepMania-net2008.vcproj @@ -2810,6 +2810,8 @@ RelativePath="HelpDisplay.h" > + + diff --git a/src/StepMania-net2010.vcxproj b/src/StepMania-net2010.vcxproj index 2dc4b6b9ca..c350d25de4 100644 --- a/src/StepMania-net2010.vcxproj +++ b/src/StepMania-net2010.vcxproj @@ -371,7 +371,6 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) - @@ -644,6 +643,7 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) + From 4a1195298632438aa9204376da05fc5046ecd7b8 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 5 Jun 2011 10:36:09 -0400 Subject: [PATCH 025/530] [loading window] Indeterminate for Mac OS X. Is there a way to use performSelector withBool? --- src/arch/LoadingWindow/LoadingWindow_MacOSX.h | 1 + src/arch/LoadingWindow/LoadingWindow_MacOSX.mm | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/src/arch/LoadingWindow/LoadingWindow_MacOSX.h b/src/arch/LoadingWindow/LoadingWindow_MacOSX.h index 23f45ddf1c..3a521a3170 100644 --- a/src/arch/LoadingWindow/LoadingWindow_MacOSX.h +++ b/src/arch/LoadingWindow/LoadingWindow_MacOSX.h @@ -11,6 +11,7 @@ public: void SetText( RString str ); void SetProgress( const int progress ); void SetTotalWork( const int totalWork ); + void SetIndeterminate( bool indeterminate ); }; #define USE_LOADING_WINDOW_MACOSX diff --git a/src/arch/LoadingWindow/LoadingWindow_MacOSX.mm b/src/arch/LoadingWindow/LoadingWindow_MacOSX.mm index bc6a3cf9dc..63a759113f 100644 --- a/src/arch/LoadingWindow/LoadingWindow_MacOSX.mm +++ b/src/arch/LoadingWindow/LoadingWindow_MacOSX.mm @@ -15,6 +15,7 @@ - (void) setupWindow:(NSImage *)image; - (void) setProgress:(NSNumber *)progress; - (void) setTotalWork:(NSNumber *)totalWork; +- (void) setIndeterminate:(NSNumber *)indeterminate; @end @implementation LoadingWindowHelper @@ -96,6 +97,11 @@ [m_ProgressIndicator setMaxValue:[totalWork doubleValue]]; } +- (void) setIndeterminate:(NSNumber *)indeterminate +{ + [m_ProgressIndicator setIndeterminate:(indeterminate > 0 ? YES : NO)]; +} + @end static LoadingWindowHelper *g_Helper = nil; @@ -160,6 +166,12 @@ void LoadingWindow_MacOSX::SetTotalWork( const int totalWork ) [g_Helper performSelectorOnMainThread:@selector(setTotalWork:) withObject:[NSNumber numberWithDouble:(double)totalWork] waitUntilDone:NO]; } +void LoadingWindow_MacOSX::SetIndeterminate( bool indeterminate ) +{ + double tmp = indeterminate ? 1 : 0; + [g_Helper performSelectorOnMainThread:@selector(setIndeterminate:) withObject:[NSNumber numberWithDouble:tmp] waitUntilDone:NO]; +} + /* * (c) 2003-2006, 2008 Steve Checkoway * All rights reserved. From 50e180851e07c44a08f20d66f0a95d421573792c Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sun, 5 Jun 2011 22:54:45 +0200 Subject: [PATCH 026/530] [loading window] Let's try to dodge a crash when existing while reloading songs. --- src/ScreenReloadSongs.cpp | 9 ++++++++- src/ScreenReloadSongs.h | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/ScreenReloadSongs.cpp b/src/ScreenReloadSongs.cpp index e5db726fdb..1f2528d996 100644 --- a/src/ScreenReloadSongs.cpp +++ b/src/ScreenReloadSongs.cpp @@ -15,6 +15,8 @@ * computer while songs load. */ REGISTER_SCREEN_CLASS( ScreenReloadSongs ); +ScreenReloadSongs::ScreenReloadSongs() : loadComplete(false) {} + void ScreenReloadSongs::Init() { Screen::Init(); @@ -33,7 +35,11 @@ void ScreenReloadSongs::Init() ScreenReloadSongs::~ScreenReloadSongs() { - //m_loadingThread.Halt(true); + if(!loadComplete) { + //we where going to crash if we let this one lose, so "only" + //leaving stuff possibly corrupted isn't worse. + m_loadingThread.Halt(true); + } RemoveChild(loadWin); delete loadWin; } @@ -45,6 +51,7 @@ int ScreenReloadSongs::loadingThreadProc(void *thisAsVoidPtr) { SONGMAN->Reload( false ); SCREENMAN->PostMessageToTopScreen( SM_GoToNextScreen, 0 ); + self->loadComplete=true; return 0; } diff --git a/src/ScreenReloadSongs.h b/src/ScreenReloadSongs.h index 5c3733aae3..8c145ddfe5 100644 --- a/src/ScreenReloadSongs.h +++ b/src/ScreenReloadSongs.h @@ -9,9 +9,11 @@ class InGameLoadingWindow; class ScreenReloadSongs: public Screen { public: + ScreenReloadSongs(); virtual void Init(); ~ScreenReloadSongs(); private: + bool loadComplete; InGameLoadingWindow *loadWin; RageThread m_loadingThread; static int loadingThreadProc(void *thisAsVoidPtr); From 3df6a5e82c6e81977c26691bc25cd4290aa5aa14 Mon Sep 17 00:00:00 2001 From: Thai Pangsakulyanont Date: Mon, 6 Jun 2011 10:53:45 +0700 Subject: [PATCH 027/530] [loading window] fixes for mac os x progress bar --- src/arch/LoadingWindow/LoadingWindow_MacOSX.mm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/arch/LoadingWindow/LoadingWindow_MacOSX.mm b/src/arch/LoadingWindow/LoadingWindow_MacOSX.mm index 63a759113f..356d3cc638 100644 --- a/src/arch/LoadingWindow/LoadingWindow_MacOSX.mm +++ b/src/arch/LoadingWindow/LoadingWindow_MacOSX.mm @@ -29,7 +29,7 @@ progressIndicatorRect = NSMakeRect(0, 0, size.width, 0); m_ProgressIndicator = [[NSProgressIndicator alloc] initWithFrame:progressIndicatorRect]; [m_ProgressIndicator sizeToFit]; - [m_ProgressIndicator setIndeterminate:NO]; + [m_ProgressIndicator setIndeterminate:YES]; [m_ProgressIndicator setMinValue:0]; [m_ProgressIndicator setMaxValue:1]; [m_ProgressIndicator setDoubleValue:0]; @@ -99,7 +99,7 @@ - (void) setIndeterminate:(NSNumber *)indeterminate { - [m_ProgressIndicator setIndeterminate:(indeterminate > 0 ? YES : NO)]; + [m_ProgressIndicator setIndeterminate:([indeterminate doubleValue] > 0 ? YES : NO)]; } @end From e249542093cf68f226d7f75d71bf7b0cfbd64b37 Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Mon, 6 Jun 2011 20:49:34 +0200 Subject: [PATCH 028/530] [loading window] Might as well use this simple fallback graphic that I made in paint. --- .../Graphics/Progressbar Indeterminate.png | Bin 0 -> 480 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Themes/_fallback/Graphics/Progressbar Indeterminate.png diff --git a/Themes/_fallback/Graphics/Progressbar Indeterminate.png b/Themes/_fallback/Graphics/Progressbar Indeterminate.png new file mode 100644 index 0000000000000000000000000000000000000000..c781e5d06e6d93802435dd7bb2423ab79660fe92 GIT binary patch literal 480 zcmV<60U!Q}P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0d+}4K~#8N?b=yx z!$1rKQQiO2UJ%1h6j_>u#q+`Tz_!@^j8Kz|7Q-d=BGUR?=i}P0OcQ3 z4S@dt8Jt}J^bbdfMgh?OHUYH=fd0t?#C zBKm^?(3jF534p$!es=)$W%c_4pf9f95deJ+{nh~JE9o}{KwnS)Isp2r`WFGv*VaD^ zfWCqL*8u3-=pP3_-%S4?0Q#2t`vB-0>;DOWzP Date: Mon, 6 Jun 2011 18:55:49 -0400 Subject: [PATCH 029/530] Removing the ScoreDisplay mods. Lua has since replaced it. --- Docs/Changelog_sm5.txt | 5 +++++ Themes/_fallback/metrics.ini | 1 - Themes/default/metrics.ini | 4 ++-- src/PercentageDisplay.cpp | 20 -------------------- src/PlayerOptions.cpp | 7 ------- src/PlayerOptions.h | 10 +--------- src/ScoreDisplayNormal.cpp | 30 ------------------------------ 7 files changed, 8 insertions(+), 69 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 6dc057dfb3..194703cba3 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,11 @@ ________________________________________________________________________________ StepMania 5.0 Preview 2 | 20110??? -------------------------------------------------------------------------------- +2011/06/06 +---------- +* [PlayerOptions] Removed the ScoreDisplay mod choices. Use lua to make your + own scoring formulas that work in reverse instead. [Wolfman2000] + 2011/06/04 ---------- * Changed default MusicWheelSwitchSpeed to 15 (was 10). [AJ] diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index fbe5f51939..18712e9a16 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -2884,7 +2884,6 @@ Line11="list,Attacks" Line12="list,PlayerAutoPlay" Line13="list,Hide" Line14="list,Persp" -Line15="list,ScoreDisplay" Line16="list,Steps" Line17="list,Characters" diff --git a/Themes/default/metrics.ini b/Themes/default/metrics.ini index 65558ea9ca..85ecd68ca8 100644 --- a/Themes/default/metrics.ini +++ b/Themes/default/metrics.ini @@ -1216,7 +1216,7 @@ ItemsLongRowSharedX=SCREEN_CENTER_X [ScreenTestInput] [ScreenOptionsSystemDirection] -LineNames="1,2,3,4,5,6,7,8,9,FlashyCombo,RollCombo,10,11,12,13,14,15,16,LF,17,18,19,20,21,22" +LineNames="1,2,3,4,5,6,7,8,9,FlashyCombo,RollCombo,10,11,12,13,14,16,LF,17,18,19,20,21,22" LineLF="lua,UserPrefLongFail()" LineRollCombo="lua,UserPrefComboOnRolls()" LineFlashyCombo="lua,UserPrefFlashyCombo()" @@ -1224,7 +1224,7 @@ LineFlashyCombo="lua,UserPrefFlashyCombo()" [ScreenOptionsGraphicsSound] [ScreenOptionsAdvanced] -LineNames="Score,3,4,8,11,13,14,15,16,28,29,30,RollCombo" +LineNames="Score,3,4,8,11,13,14,16,28,29,30,RollCombo" LineRollCombo="lua,UserPrefComboOnRolls()" [ScreenAppearanceOptions] diff --git a/src/PercentageDisplay.cpp b/src/PercentageDisplay.cpp index 502f8f6989..503f153eb7 100644 --- a/src/PercentageDisplay.cpp +++ b/src/PercentageDisplay.cpp @@ -137,26 +137,6 @@ void PercentageDisplay::Refresh() else { float fPercentDancePoints = m_pPlayerStageStats->GetPercentDancePoints(); - float fCurMaxPercentDancePoints = m_pPlayerStageStats->GetCurMaxPercentDancePoints(); - - if( m_bApplyScoreDisplayOptions ) - { - switch( m_pPlayerState->m_PlayerOptions.GetCurrent().m_ScoreDisplay ) - { - case PlayerOptions::SCORING_ADD: - // nothing to do - break; - case PlayerOptions::SCORING_SUBTRACT: - fPercentDancePoints = 1.0f - ( fCurMaxPercentDancePoints - fPercentDancePoints ); - break; - case PlayerOptions::SCORING_AVERAGE: - if( fCurMaxPercentDancePoints == 0.0f ) // don't divide by zero fats - fPercentDancePoints = 0.0f; - else - fPercentDancePoints = fPercentDancePoints / fCurMaxPercentDancePoints; - break; - } - } // clamp percentage - feedback is that negative numbers look weird here. CLAMP( fPercentDancePoints, 0.f, 1.f ); diff --git a/src/PlayerOptions.cpp b/src/PlayerOptions.cpp index 363851cd6a..965acfd223 100644 --- a/src/PlayerOptions.cpp +++ b/src/PlayerOptions.cpp @@ -45,7 +45,6 @@ void PlayerOptions::Init() ZERO( m_bTransforms ); m_bMuteOnError = false; m_FailType = FAIL_IMMEDIATE; - m_ScoreDisplay = SCORING_ADD; m_sNoteSkin = ""; } @@ -85,7 +84,6 @@ void PlayerOptions::Approach( const PlayerOptions& other, float fDeltaSeconds ) for( int i=0; iGetDefaultPlayerOptions( po ); m_FailType = po.m_FailType; } - else if( sBit == "addscore" ) m_ScoreDisplay = SCORING_ADD; - else if( sBit == "subtractscore" ) m_ScoreDisplay = SCORING_SUBTRACT; - else if( sBit == "averagescore" ) m_ScoreDisplay = SCORING_AVERAGE; else if( sBit == "muteonerror" ) m_bMuteOnError = on; else if( sBit == "random" ) ChooseRandomModifiers(); // deprecated mods/left in for compatibility @@ -653,7 +648,6 @@ bool PlayerOptions::operator==( const PlayerOptions &other ) const COMPARE(m_fScrollSpeed); COMPARE(m_fScrollBPM); COMPARE(m_fRandomSpeed); - COMPARE(m_ScoreDisplay); COMPARE(m_FailType); COMPARE(m_bMuteOnError); COMPARE(m_fDark); @@ -798,7 +792,6 @@ RString PlayerOptions::GetSavedPrefsString() const SAVE( m_bTransforms[TRANSFORM_NOSTRETCH] ); SAVE( m_bTransforms[TRANSFORM_NOLIFTS] ); SAVE( m_bTransforms[TRANSFORM_NOFAKES] ); - SAVE( m_ScoreDisplay ); SAVE( m_bMuteOnError ); SAVE( m_sNoteSkin ); #undef SAVE diff --git a/src/PlayerOptions.h b/src/PlayerOptions.h index c6ea986160..9f4017bc42 100644 --- a/src/PlayerOptions.h +++ b/src/PlayerOptions.h @@ -34,8 +34,7 @@ public: m_fSkew(0), m_SpeedfSkew(1.0f), m_fPassmark(0), m_SpeedfPassmark(1.0f), m_fRandomSpeed(0), m_SpeedfRandomSpeed(1.0f), - m_bMuteOnError(false), m_FailType(FAIL_IMMEDIATE), - m_ScoreDisplay(SCORING_ADD) + m_bMuteOnError(false), m_FailType(FAIL_IMMEDIATE) { m_sNoteSkin = ""; ZERO( m_fAccels ); ONE( m_SpeedfAccels ); @@ -151,12 +150,6 @@ public: SCROLL_CENTERED, NUM_SCROLLS }; - enum ScoreDisplay { - SCORING_ADD=0, - SCORING_SUBTRACT, - SCORING_AVERAGE, - NUM_SCOREDISPLAYS - }; float GetReversePercentForColumn( int iCol ) const; // accounts for all Directions @@ -198,7 +191,6 @@ public: }; /** @brief The method for which a player can fail a song. */ FailType m_FailType; - ScoreDisplay m_ScoreDisplay; /** * @brief The Noteskin to use. diff --git a/src/ScoreDisplayNormal.cpp b/src/ScoreDisplayNormal.cpp index f34613a1d9..dad9eeed02 100644 --- a/src/ScoreDisplayNormal.cpp +++ b/src/ScoreDisplayNormal.cpp @@ -46,36 +46,6 @@ void ScoreDisplayNormal::SetScore( int iNewScore ) { float fScore = (float)iNewScore; - // TODO: Remove use of PlayerNumber. - PlayerNumber pn = m_pPlayerState->m_PlayerNumber; - - // Play some games to display the correct score -- the actual internal - // score does not change at all but the displayed one can (ie: displayed - // score for subtractive is MaxScore - score). - - int iMaxScore = STATSMAN->m_CurStageStats.m_player[pn].m_iMaxScore; - int iCurMaxScore = STATSMAN->m_CurStageStats.m_player[pn].m_iCurMaxScore; - - switch( m_pPlayerState->m_PlayerOptions.GetCurrent().m_ScoreDisplay ) - { - case PlayerOptions::SCORING_ADD: - // nothing to do - break; - case PlayerOptions::SCORING_SUBTRACT: - fScore = iMaxScore - ( iCurMaxScore - fScore ); - break; - case PlayerOptions::SCORING_AVERAGE: - if( iCurMaxScore == 0 ) // don't divide by zero fats - { - fScore = 0; - } - else - { - float fScoreRatio = fScore / (float)iCurMaxScore; - fScore = fScoreRatio * iMaxScore; - } - } - m_text.SetTargetNumber( fScore ); } From 4d4b441492f47f774c16839eba83ff2430171088 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 6 Jun 2011 17:57:53 -0500 Subject: [PATCH 030/530] rename Profile(pn) to GetPlayerOrMachineProfile(pn) so that the Profile class will show up in Lua.xml --- Themes/_fallback/Scripts/03 ProductivityHelpers.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Themes/_fallback/Scripts/03 ProductivityHelpers.lua b/Themes/_fallback/Scripts/03 ProductivityHelpers.lua index eb2d64bb9d..0d9fbd2816 100644 --- a/Themes/_fallback/Scripts/03 ProductivityHelpers.lua +++ b/Themes/_fallback/Scripts/03 ProductivityHelpers.lua @@ -224,10 +224,10 @@ end; --[[ ----------------------------------------------------------------------- ]] --[[ profile stuff ]] --- Profile(pn) +-- GetPlayerOrMachineProfile(pn) -- This returns a profile, preferably a player one. -- If there isn't one, we fall back on the machine profile. -function Profile(pn) +function GetPlayerOrMachineProfile(pn) if PROFILEMAN:IsPersistentProfile(pn) then -- player profile return PROFILEMAN:GetProfile(pn); From 963cc9d4f16a87dec10460f9c18a05a7a9b8537b Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 6 Jun 2011 20:23:23 -0400 Subject: [PATCH 031/530] Fix a Player 2 assist tick / clap bug. --- Docs/Changelog_sm5.txt | 4 ++++ src/GameState.h | 8 ++++++++ src/ScreenGameplay.cpp | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 194703cba3..02a780e44e 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -12,6 +12,10 @@ StepMania 5.0 Preview 2 | 20110??? ---------- * [PlayerOptions] Removed the ScoreDisplay mod choices. Use lua to make your own scoring formulas that work in reverse instead. [Wolfman2000] +* [ScreenGameplay] Fix an assist tick bug if there was no Player 1. Note that + this changes the behavior slightly: it is the first enabled player, or + master player, that gets the ticks now. A better solution will be looked at + in the future. [Wolfman2000] 2011/06/04 ---------- diff --git a/src/GameState.h b/src/GameState.h index 5e925e05ff..17ed341899 100644 --- a/src/GameState.h +++ b/src/GameState.h @@ -139,6 +139,14 @@ public: PlayerNumber GetFirstDisabledPlayer() const; bool IsCpuPlayer( PlayerNumber pn ) const; bool AnyPlayersAreCpu() const; + + /** + * @brief Retrieve the present master player number. + * @return The master player number. */ + PlayerNumber GetMasterPlayerNumber() const + { + return m_MasterPlayerNumber; + } bool IsCourseMode() const; bool IsBattleMode() const; // not Rave diff --git a/src/ScreenGameplay.cpp b/src/ScreenGameplay.cpp index ef55cd02c7..af23e65018 100644 --- a/src/ScreenGameplay.cpp +++ b/src/ScreenGameplay.cpp @@ -1393,7 +1393,7 @@ void ScreenGameplay::PlayTicks() /* TODO: Allow all players to have ticks. Not as simple as it looks. * If a loop takes place, it could make one player's ticks come later * than intended. Any help here would be appreciated. -Wolfman2000 */ - Player &player = *m_vPlayerInfo[0].m_pPlayer; + Player &player = *m_vPlayerInfo[GAMESTATE->GetMasterPlayerNumber()].m_pPlayer; const NoteData &nd = player.GetNoteData(); m_GameplayAssist.PlayTicks( nd, player.GetPlayerState() ); } From 0a7b9ce170d21d219770c65bb54e4fc4b9fbc84e Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 6 Jun 2011 20:40:11 -0400 Subject: [PATCH 032/530] Some respect for OOP. (MasterPlayerNumber) --- src/AutoKeysounds.cpp | 4 +-- src/CourseContentsList.cpp | 4 +-- src/GameState.cpp | 50 +++++++++++++++++----------- src/GameState.h | 14 ++++---- src/NoteField.cpp | 2 +- src/OptionRow.cpp | 6 ++-- src/Player.cpp | 2 +- src/PlayerState.cpp | 2 +- src/ScoreKeeperShared.cpp | 20 +++++------ src/ScreenDebugOverlay.cpp | 6 ++-- src/ScreenEvaluation.cpp | 4 +-- src/ScreenGameplay.cpp | 4 +-- src/ScreenGameplayShared.cpp | 4 +-- src/ScreenHowToPlay.cpp | 2 +- src/ScreenInstallOverlay.cpp | 2 +- src/ScreenJukebox.cpp | 2 +- src/ScreenMiniMenu.cpp | 2 +- src/ScreenNameEntry.cpp | 2 +- src/ScreenNameEntryTraditional.cpp | 2 +- src/ScreenOptions.cpp | 2 +- src/ScreenOptionsCourseOverview.cpp | 4 +-- src/ScreenOptionsEditCourse.cpp | 2 +- src/ScreenOptionsExportPackage.cpp | 2 +- src/ScreenOptionsManageCourses.cpp | 10 +++--- src/ScreenOptionsManageEditSteps.cpp | 6 ++-- src/ScreenOptionsManageProfiles.cpp | 6 ++-- src/ScreenOptionsMemoryCard.cpp | 8 ++--- src/ScreenSMOnlineLogin.cpp | 2 +- src/ScreenSelect.cpp | 4 +-- src/ScreenSelectMaster.cpp | 8 ++--- src/ScreenSelectMusic.cpp | 8 ++--- src/ScreenSongOptions.cpp | 2 +- src/StatsManager.cpp | 2 +- 33 files changed, 106 insertions(+), 94 deletions(-) diff --git a/src/AutoKeysounds.cpp b/src/AutoKeysounds.cpp index 79ec773973..068036bd69 100644 --- a/src/AutoKeysounds.cpp +++ b/src/AutoKeysounds.cpp @@ -49,7 +49,7 @@ void AutoKeysounds::LoadAutoplaySoundsInto( RageSoundReader_Chain *pChain ) * Add all current autoplay sounds in both players to the chain. If a sound is * common to both players, don't pan it; otherwise pan it to that player's side. */ - int iNumTracks = m_ndAutoKeysoundsOnly[GAMESTATE->m_MasterPlayerNumber].GetNumTracks(); + int iNumTracks = m_ndAutoKeysoundsOnly[GAMESTATE->GetMasterPlayerNumber()].GetNumTracks(); for( int t = 0; t < iNumTracks; t++ ) { int iRow = -1; @@ -297,7 +297,7 @@ void AutoKeysounds::FinishLoading() apSounds.push_back( m_pPlayerSounds[1] ); } - if( GAMESTATE->GetNumPlayersEnabled() == 1 && GAMESTATE->m_MasterPlayerNumber == PLAYER_2 ) + if( GAMESTATE->GetNumPlayersEnabled() == 1 && GAMESTATE->GetMasterPlayerNumber() == PLAYER_2 ) swap( m_pPlayerSounds[PLAYER_1], m_pPlayerSounds[PLAYER_2] ); if( apSounds.size() > 1 ) diff --git a/src/CourseContentsList.cpp b/src/CourseContentsList.cpp index ee4b99cb2f..2566465c15 100644 --- a/src/CourseContentsList.cpp +++ b/src/CourseContentsList.cpp @@ -42,9 +42,9 @@ void CourseContentsList::SetFromGameState() { RemoveAllChildren(); - if( GAMESTATE->m_MasterPlayerNumber == PlayerNumber_Invalid ) + if( GAMESTATE->GetMasterPlayerNumber() == PlayerNumber_Invalid ) return; - const Trail *pMasterTrail = GAMESTATE->m_pCurTrail[GAMESTATE->m_MasterPlayerNumber]; + const Trail *pMasterTrail = GAMESTATE->m_pCurTrail[GAMESTATE->GetMasterPlayerNumber()]; if( pMasterTrail == NULL ) return; unsigned uNumEntriesToShow = pMasterTrail->m_vEntries.size(); diff --git a/src/GameState.cpp b/src/GameState.cpp index dbca4fc9a3..a720dcbd89 100644 --- a/src/GameState.cpp +++ b/src/GameState.cpp @@ -190,6 +190,16 @@ GameState::~GameState() SAFE_DELETE( g_pImpl ); } +PlayerNumber GameState::GetMasterPlayerNumber() const +{ + return this->masterPlayerNumber; +} + +void GameState::SetMasterPlayerNumber(const PlayerNumber p) +{ + this->masterPlayerNumber = p; +} + void GameState::ApplyGameCommand( const RString &sCommand, PlayerNumber pn ) { GameCommand m; @@ -244,7 +254,7 @@ void GameState::ResetPlayer( PlayerNumber pn ) void GameState::Reset() { - m_MasterPlayerNumber = PLAYER_INVALID; // must initialize for UnjoinPlayer + this->SetMasterPlayerNumber(PLAYER_INVALID); // must initialize for UnjoinPlayer FOREACH_PlayerNumber( pn ) UnjoinPlayer( pn ); @@ -334,14 +344,14 @@ void GameState::JoinPlayer( PlayerNumber pn ) * give the new player the same number of stage tokens that the old player * has. */ if( GetCoinMode() == CoinMode_Pay && GetPremium() == Premium_2PlayersFor1Credit && GetNumSidesJoined() == 1 ) - m_iPlayerStageTokens[pn] = m_iPlayerStageTokens[m_MasterPlayerNumber]; + m_iPlayerStageTokens[pn] = m_iPlayerStageTokens[this->GetMasterPlayerNumber()]; else m_iPlayerStageTokens[pn] = PREFSMAN->m_iSongsPerPlay; m_bSideIsJoined[pn] = true; - if( m_MasterPlayerNumber == PLAYER_INVALID ) - m_MasterPlayerNumber = pn; + if( this->GetMasterPlayerNumber() == PLAYER_INVALID ) + this->SetMasterPlayerNumber(pn); // if first player to join, set start time if( GetNumSidesJoined() == 1 ) @@ -385,8 +395,8 @@ void GameState::UnjoinPlayer( PlayerNumber pn ) ResetPlayer( pn ); - if( m_MasterPlayerNumber == pn ) - m_MasterPlayerNumber = GetFirstHumanPlayer(); + if( this->GetMasterPlayerNumber() == pn ) + this->SetMasterPlayerNumber(GetFirstHumanPlayer()); /* Unjoin STATSMAN first, so steps used by this player are released * and can be released by PROFILEMAN. */ @@ -398,7 +408,7 @@ void GameState::UnjoinPlayer( PlayerNumber pn ) MESSAGEMAN->Broadcast( msg ); // If there are no players left, reset some non-player-specific stuff, too. - if( m_MasterPlayerNumber == PLAYER_INVALID ) + if( this->GetMasterPlayerNumber() == PLAYER_INVALID ) { SongOptions so; GetDefaultSongOptions( so ); @@ -635,8 +645,8 @@ int GameState::GetNumStagesForCurrentSongAndStepsOrCourse() const if( pStyle == NULL ) { const Steps *pSteps = NULL; - if( m_MasterPlayerNumber != PlayerNumber_Invalid ) - pSteps = m_pCurSteps[m_MasterPlayerNumber]; + if( this->GetMasterPlayerNumber() != PlayerNumber_Invalid ) + pSteps = m_pCurSteps[this->GetMasterPlayerNumber()]; // Don't call GetFirstCompatibleStyle if numSidesJoined == 0. // This happens because on SContinue when players are unjoined, // pCurSteps will still be set while no players are joined. -Chris @@ -994,9 +1004,9 @@ bool GameState::IsFinalStageForAnyHumanPlayer() const bool GameState::IsAnExtraStage() const { - if( m_MasterPlayerNumber == PlayerNumber_Invalid ) + if( this->GetMasterPlayerNumber() == PlayerNumber_Invalid ) return false; - return !IsEventMode() && !IsCourseMode() && m_iAwardedExtraStages[m_MasterPlayerNumber] > 0; + return !IsEventMode() && !IsCourseMode() && m_iAwardedExtraStages[this->GetMasterPlayerNumber()] > 0; } static ThemeMetric LOCK_EXTRA_STAGE_SELECTION("GameState","LockExtraStageSelection"); @@ -1007,16 +1017,16 @@ bool GameState::IsAnExtraStageAndSelectionLocked() const bool GameState::IsExtraStage() const { - if( m_MasterPlayerNumber == PlayerNumber_Invalid ) + if( this->GetMasterPlayerNumber() == PlayerNumber_Invalid ) return false; - return !IsEventMode() && !IsCourseMode() && m_iAwardedExtraStages[m_MasterPlayerNumber] == 1; + return !IsEventMode() && !IsCourseMode() && m_iAwardedExtraStages[this->GetMasterPlayerNumber()] == 1; } bool GameState::IsExtraStage2() const { - if( m_MasterPlayerNumber == PlayerNumber_Invalid ) + if( this->GetMasterPlayerNumber() == PlayerNumber_Invalid ) return false; - return !IsEventMode() && !IsCourseMode() && m_iAwardedExtraStages[m_MasterPlayerNumber] == 2; + return !IsEventMode() && !IsCourseMode() && m_iAwardedExtraStages[this->GetMasterPlayerNumber()] == 2; } Stage GameState::GetCurrentStage() const @@ -1059,7 +1069,7 @@ int GameState::GetCourseSongIndex() const } else { - return STATSMAN->m_CurStageStats.m_player[m_MasterPlayerNumber].m_iSongsPlayed-1; + return STATSMAN->m_CurStageStats.m_player[this->GetMasterPlayerNumber()].m_iSongsPlayed-1; } } @@ -1131,7 +1141,7 @@ void GameState::SetCurrentStyle( const Style *pStyle ) if( INPUTMAPPER ) { if( GetCurrentStyle() && GetCurrentStyle()->m_StyleType == StyleType_OnePlayerTwoSides ) - INPUTMAPPER->SetJoinControllers( m_MasterPlayerNumber ); + INPUTMAPPER->SetJoinControllers( this->GetMasterPlayerNumber() ); else INPUTMAPPER->SetJoinControllers( PLAYER_INVALID ); } @@ -1192,7 +1202,7 @@ bool GameState::IsHumanPlayer( PlayerNumber pn ) const return true; case StyleType_OnePlayerOneSide: case StyleType_OnePlayerTwoSides: - return pn == m_MasterPlayerNumber; + return pn == this->GetMasterPlayerNumber(); default: ASSERT(0); // invalid style type return false; @@ -1276,7 +1286,7 @@ EarnedExtraStage GameState::CalculateEarnedExtraStage() const if( GetSmallestNumStagesLeftForAnyHumanPlayer() > 0 ) return EarnedExtraStage_No; - if( m_iAwardedExtraStages[m_MasterPlayerNumber] >= 2 ) + if( m_iAwardedExtraStages[this->GetMasterPlayerNumber()] >= 2 ) return EarnedExtraStage_No; FOREACH_EnabledPlayer( pn ) @@ -2124,7 +2134,7 @@ public: DEFINE_METHOD( IsPlayerEnabled, IsPlayerEnabled(Enum::Check(L, 1)) ) DEFINE_METHOD( IsHumanPlayer, IsHumanPlayer(Enum::Check(L, 1)) ) DEFINE_METHOD( GetPlayerDisplayName, GetPlayerDisplayName(Enum::Check(L, 1)) ) - DEFINE_METHOD( GetMasterPlayerNumber, m_MasterPlayerNumber ) + DEFINE_METHOD( GetMasterPlayerNumber, GetMasterPlayerNumber() ) DEFINE_METHOD( GetMultiplayer, m_bMultiplayer ) static int SetMultiplayer( T* p, lua_State *L ) { diff --git a/src/GameState.h b/src/GameState.h index 17ed341899..79618aa711 100644 --- a/src/GameState.h +++ b/src/GameState.h @@ -35,6 +35,8 @@ class Trail; /** @brief Holds game data that is not saved between sessions. */ class GameState { + /** @brief The player number used with Styles where one player controls both sides. */ + PlayerNumber masterPlayerNumber; public: /** @brief Set up the GameState with initial values. */ GameState(); @@ -91,8 +93,6 @@ public: * to get one credit, only to have to put in another four coins to get * the three credits needed to begin the game. */ BroadcastOnChange m_iCoins; - /** @brief The player number used with Styles where one player controls both sides. */ - PlayerNumber m_MasterPlayerNumber; bool m_bMultiplayer; int m_iNumMultiplayerNoteFields; bool DifficultiesLocked() const; @@ -143,10 +143,12 @@ public: /** * @brief Retrieve the present master player number. * @return The master player number. */ - PlayerNumber GetMasterPlayerNumber() const - { - return m_MasterPlayerNumber; - } + PlayerNumber GetMasterPlayerNumber() const; + + /** + * @brief Set the master player number. + * @param p the master player number. */ + void SetMasterPlayerNumber(const PlayerNumber p); bool IsCourseMode() const; bool IsBattleMode() const; // not Rave diff --git a/src/NoteField.cpp b/src/NoteField.cpp index 60b0d9b6be..84dc4aae63 100644 --- a/src/NoteField.cpp +++ b/src/NoteField.cpp @@ -303,7 +303,7 @@ void NoteField::Update( float fDeltaTime ) // TODO: Remove use of PlayerNumber. PlayerNumber pn = m_pPlayerState->m_PlayerNumber; - if( pn == GAMESTATE->m_MasterPlayerNumber ) + if( pn == GAMESTATE->GetMasterPlayerNumber() ) NoteDisplay::Update( fDeltaTime ); } diff --git a/src/OptionRow.cpp b/src/OptionRow.cpp index ee043f65df..4f50268542 100644 --- a/src/OptionRow.cpp +++ b/src/OptionRow.cpp @@ -196,7 +196,7 @@ RString OptionRow::GetRowTitle() const if( GAMESTATE->m_pCurCourse ) { - const Trail* pTrail = GAMESTATE->m_pCurTrail[GAMESTATE->m_MasterPlayerNumber]; + const Trail* pTrail = GAMESTATE->m_pCurTrail[GAMESTATE->GetMasterPlayerNumber()]; ASSERT( pTrail != NULL ); const int iNumCourseEntries = pTrail->m_vEntries.size(); if( iNumCourseEntries > CommonMetrics::MAX_COURSE_ENTRIES_BEFORE_VARIOUS ) @@ -417,8 +417,8 @@ void OptionRow::AfterImportOptions( PlayerNumber pn ) // we need to copy p2 to p1, not p1 to p2. if( m_pHand->m_Def.m_bOneChoiceForAllPlayers ) { - PlayerNumber pnCopyFrom = GAMESTATE->m_MasterPlayerNumber; - if( GAMESTATE->m_MasterPlayerNumber == PLAYER_INVALID ) + PlayerNumber pnCopyFrom = GAMESTATE->GetMasterPlayerNumber(); + if( GAMESTATE->GetMasterPlayerNumber() == PLAYER_INVALID ) pnCopyFrom = PLAYER_1; FOREACH_PlayerNumber( p ) m_vbSelected[p] = m_vbSelected[pnCopyFrom]; diff --git a/src/Player.cpp b/src/Player.cpp index 5bd48778f8..6179b16d83 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -1375,7 +1375,7 @@ void Player::DrawPrimitives() // May have both players in doubles (for battle play); only draw primary player. if( GAMESTATE->GetCurrentStyle()->m_StyleType == StyleType_OnePlayerTwoSides && - pn != GAMESTATE->m_MasterPlayerNumber ) + pn != GAMESTATE->GetMasterPlayerNumber() ) return; // Draw these below everything else. diff --git a/src/PlayerState.cpp b/src/PlayerState.cpp index 9d7b652851..c30805daf9 100644 --- a/src/PlayerState.cpp +++ b/src/PlayerState.cpp @@ -162,7 +162,7 @@ void PlayerState::RebuildPlayerOptionsFromActiveAttacks() so.FromString( m_ActiveAttacks[s].sModifiers ); } m_PlayerOptions.Assign( ModsLevel_Song, po ); - if( m_PlayerNumber == GAMESTATE->m_MasterPlayerNumber ) + if( m_PlayerNumber == GAMESTATE->GetMasterPlayerNumber() ) GAMESTATE->m_SongOptions.Assign( ModsLevel_Song, so ); int iSumOfAttackLevels = GetSumOfActiveAttackLevels(); diff --git a/src/ScoreKeeperShared.cpp b/src/ScoreKeeperShared.cpp index 95a28a8599..6686adf4f2 100644 --- a/src/ScoreKeeperShared.cpp +++ b/src/ScoreKeeperShared.cpp @@ -16,7 +16,7 @@ void ScoreKeeperShared::Load( const vector &apSteps, const vector &asModifiers ) { - if( m_pPlayerState->m_PlayerNumber != GAMESTATE->m_MasterPlayerNumber ) + if( m_pPlayerState->m_PlayerNumber != GAMESTATE->GetMasterPlayerNumber() ) return; ScoreKeeperNormal::Load( apSongs, apSteps, asModifiers ); } @@ -24,63 +24,63 @@ void ScoreKeeperShared::Load( // These ScoreKeepers don't get to draw. void ScoreKeeperShared::DrawPrimitives() { - if( m_pPlayerState->m_PlayerNumber != GAMESTATE->m_MasterPlayerNumber ) + if( m_pPlayerState->m_PlayerNumber != GAMESTATE->GetMasterPlayerNumber() ) return; ScoreKeeperNormal::DrawPrimitives(); } void ScoreKeeperShared::Update( float fDelta ) { - if( m_pPlayerState->m_PlayerNumber != GAMESTATE->m_MasterPlayerNumber ) + if( m_pPlayerState->m_PlayerNumber != GAMESTATE->GetMasterPlayerNumber() ) return; ScoreKeeperNormal::Update( fDelta ); } void ScoreKeeperShared::OnNextSong( int iSongInCourseIndex, const Steps* pSteps, const NoteData* pNoteData ) { - if( m_pPlayerState->m_PlayerNumber != GAMESTATE->m_MasterPlayerNumber ) + if( m_pPlayerState->m_PlayerNumber != GAMESTATE->GetMasterPlayerNumber() ) return; ScoreKeeperNormal::OnNextSong( iSongInCourseIndex, pSteps, pNoteData ); } void ScoreKeeperShared::HandleTapScore( const TapNote &tn ) { - if( m_pPlayerState->m_PlayerNumber != GAMESTATE->m_MasterPlayerNumber ) + if( m_pPlayerState->m_PlayerNumber != GAMESTATE->GetMasterPlayerNumber() ) return; ScoreKeeperNormal::HandleTapScore( tn ); } void ScoreKeeperShared::HandleTapRowScore( const NoteData &nd, int iRow ) { - if( m_pPlayerState->m_PlayerNumber != GAMESTATE->m_MasterPlayerNumber ) + if( m_pPlayerState->m_PlayerNumber != GAMESTATE->GetMasterPlayerNumber() ) return; ScoreKeeperNormal::HandleTapRowScore( nd, iRow ); } void ScoreKeeperShared::HandleHoldScore( const TapNote &tn ) { - if( m_pPlayerState->m_PlayerNumber != GAMESTATE->m_MasterPlayerNumber ) + if( m_pPlayerState->m_PlayerNumber != GAMESTATE->GetMasterPlayerNumber() ) return; ScoreKeeperNormal::HandleHoldScore( tn ); } void ScoreKeeperShared::HandleHoldActiveSeconds( float fMusicSecondsHeld ) { - if( m_pPlayerState->m_PlayerNumber != GAMESTATE->m_MasterPlayerNumber ) + if( m_pPlayerState->m_PlayerNumber != GAMESTATE->GetMasterPlayerNumber() ) return; ScoreKeeperNormal::HandleHoldActiveSeconds( fMusicSecondsHeld ); } void ScoreKeeperShared::HandleHoldCheckpointScore( const NoteData &nd, int iRow, int iNumHoldsHeldThisRow, int iNumHoldsMissedThisRow ) { - if( m_pPlayerState->m_PlayerNumber != GAMESTATE->m_MasterPlayerNumber ) + if( m_pPlayerState->m_PlayerNumber != GAMESTATE->GetMasterPlayerNumber() ) return; ScoreKeeperNormal::HandleHoldCheckpointScore( nd, iRow, iNumHoldsHeldThisRow, iNumHoldsMissedThisRow ); } void ScoreKeeperShared::HandleTapScoreNone() { - if( m_pPlayerState->m_PlayerNumber != GAMESTATE->m_MasterPlayerNumber ) + if( m_pPlayerState->m_PlayerNumber != GAMESTATE->GetMasterPlayerNumber() ) return; ScoreKeeperNormal::HandleTapScoreNone(); } diff --git a/src/ScreenDebugOverlay.cpp b/src/ScreenDebugOverlay.cpp index b65b0efc7d..dd8a50b27b 100644 --- a/src/ScreenDebugOverlay.cpp +++ b/src/ScreenDebugOverlay.cpp @@ -598,8 +598,8 @@ class DebugLineAutoplay : public IDebugLine virtual bool IsEnabled() { return GamePreferences::m_AutoPlay.Get() != PC_HUMAN; } virtual void DoAndLog( RString &sMessageOut ) { - ASSERT( GAMESTATE->m_MasterPlayerNumber != PLAYER_INVALID ); - PlayerController pc = GAMESTATE->m_pPlayerState[GAMESTATE->m_MasterPlayerNumber]->m_PlayerController; + ASSERT( GAMESTATE->GetMasterPlayerNumber() != PLAYER_INVALID ); + PlayerController pc = GAMESTATE->m_pPlayerState[GAMESTATE->GetMasterPlayerNumber()]->m_PlayerController; bool bHoldingShift = INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_LSHIFT) ) || INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_RSHIFT) ); @@ -639,7 +639,7 @@ class DebugLineAssist : public IDebugLine virtual bool IsEnabled() { return GAMESTATE->m_SongOptions.GetSong().m_bAssistClap || GAMESTATE->m_SongOptions.GetSong().m_bAssistMetronome; } virtual void DoAndLog( RString &sMessageOut ) { - ASSERT( GAMESTATE->m_MasterPlayerNumber != PLAYER_INVALID ); + ASSERT( GAMESTATE->GetMasterPlayerNumber() != PLAYER_INVALID ); bool bHoldingShift = INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_LSHIFT) ); bool b; if( bHoldingShift ) diff --git a/src/ScreenEvaluation.cpp b/src/ScreenEvaluation.cpp index 1f87fe4b97..654f1d0bb5 100644 --- a/src/ScreenEvaluation.cpp +++ b/src/ScreenEvaluation.cpp @@ -99,7 +99,7 @@ void ScreenEvaluation::Init() ss.m_Stage = Stage_1st; enum_add( ss.m_Stage, rand()%3 ); ss.m_EarnedExtraStage = (EarnedExtraStage)(rand() % NUM_EarnedExtraStage); - GAMESTATE->m_MasterPlayerNumber = PLAYER_1; + GAMESTATE->SetMasterPlayerNumber(PLAYER_1); GAMESTATE->m_pCurSong.Set( SONGMAN->GetRandomSong() ); ss.m_vpPlayedSongs.push_back( GAMESTATE->m_pCurSong ); ss.m_vpPossibleSongs.push_back( GAMESTATE->m_pCurSong ); @@ -635,7 +635,7 @@ void ScreenEvaluation::Init() { case PLAY_MODE_BATTLE: { - bool bWon = GAMESTATE->GetStageResult(GAMESTATE->m_MasterPlayerNumber) == RESULT_WIN; + bool bWon = GAMESTATE->GetStageResult(GAMESTATE->GetMasterPlayerNumber()) == RESULT_WIN; if( bWon ) SOUND->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation win") ); else diff --git a/src/ScreenGameplay.cpp b/src/ScreenGameplay.cpp index af23e65018..c4a6ccaeca 100644 --- a/src/ScreenGameplay.cpp +++ b/src/ScreenGameplay.cpp @@ -776,7 +776,7 @@ void ScreenGameplay::InitSongQueues() ASSERT( pCourse ); m_apSongsQueue.clear(); - PlayerNumber pnMaster = GAMESTATE->m_MasterPlayerNumber; + PlayerNumber pnMaster = GAMESTATE->GetMasterPlayerNumber(); Trail *pTrail = GAMESTATE->m_pCurTrail[pnMaster]; ASSERT( pTrail ); FOREACH_CONST( TrailEntry, pTrail->m_vEntries, e ) @@ -1227,7 +1227,7 @@ void ScreenGameplay::LoadNextSong() FOREACH_EnabledPlayerInfo( m_vPlayerInfo, pi ) { RageSoundReader *pPlayerSound = m_AutoKeysounds.GetPlayerSound(pi->m_pn); - if( pPlayerSound == NULL && pi->m_pn == GAMESTATE->m_MasterPlayerNumber ) + if( pPlayerSound == NULL && pi->m_pn == GAMESTATE->GetMasterPlayerNumber() ) pPlayerSound = m_AutoKeysounds.GetSharedSound(); pi->m_SoundEffectControl.SetSoundReader( pPlayerSound ); } diff --git a/src/ScreenGameplayShared.cpp b/src/ScreenGameplayShared.cpp index b7f179f078..21b656648e 100644 --- a/src/ScreenGameplayShared.cpp +++ b/src/ScreenGameplayShared.cpp @@ -11,7 +11,7 @@ REGISTER_SCREEN_CLASS( ScreenGameplayShared ); void ScreenGameplayShared::FillPlayerInfo( vector &vPlayerInfoOut ) { - const PlayerNumber master = GAMESTATE->m_MasterPlayerNumber; + const PlayerNumber master = GAMESTATE->GetMasterPlayerNumber(); const PlayerNumber other = (master == PLAYER_1? PLAYER_2:PLAYER_1); /* The master player is where all of the real work takes place. The other player exists @@ -23,7 +23,7 @@ void ScreenGameplayShared::FillPlayerInfo( vector &vPlayerInfoOut ) PlayerInfo &ScreenGameplayShared::GetPlayerInfoForInput( const InputEventPlus& iep ) { - return m_vPlayerInfo[GAMESTATE->m_MasterPlayerNumber]; + return m_vPlayerInfo[GAMESTATE->GetMasterPlayerNumber()]; } /* diff --git a/src/ScreenHowToPlay.cpp b/src/ScreenHowToPlay.cpp index 81e8d73d6b..b38848bb7d 100644 --- a/src/ScreenHowToPlay.cpp +++ b/src/ScreenHowToPlay.cpp @@ -172,7 +172,7 @@ void ScreenHowToPlay::Init() // Don't show judgment PO_GROUP_ASSIGN( GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions, ModsLevel_Stage, m_fBlind, 1.0f ); - GAMESTATE->m_MasterPlayerNumber = PLAYER_1; + GAMESTATE->SetMasterPlayerNumber(PLAYER_1); GAMESTATE->m_bDemonstrationOrJukebox = true; } diff --git a/src/ScreenInstallOverlay.cpp b/src/ScreenInstallOverlay.cpp index b1037fce23..c9840ea7a0 100644 --- a/src/ScreenInstallOverlay.cpp +++ b/src/ScreenInstallOverlay.cpp @@ -375,7 +375,7 @@ void ScreenInstallOverlay::Update( float fDeltaTime ) GAMEMAN->GetStylesForGame( GAMESTATE->m_pCurGame, vpStyle, false ); GAMESTATE->m_PlayMode.Set( PLAY_MODE_REGULAR ); GAMESTATE->m_bSideIsJoined[0] = true; - GAMESTATE->m_MasterPlayerNumber = PLAYER_1; + GAMESTATE->SetMasterPlayerNumber(PLAYER_1); GAMESTATE->m_pCurStyle.Set( vpStyle[0] ); GAMESTATE->m_pCurSong.Set( pSong ); GAMESTATE->m_pPreferredSong = pSong; diff --git a/src/ScreenJukebox.cpp b/src/ScreenJukebox.cpp index 07f293bfe3..eb1769c040 100644 --- a/src/ScreenJukebox.cpp +++ b/src/ScreenJukebox.cpp @@ -179,7 +179,7 @@ void ScreenJukebox::Init() // ASSERT( GAMESTATE->m_pCurSong ); - GAMESTATE->m_MasterPlayerNumber = PLAYER_1; + GAMESTATE->SetMasterPlayerNumber(PLAYER_1); // choose some cool options int Benchmark = 0; diff --git a/src/ScreenMiniMenu.cpp b/src/ScreenMiniMenu.cpp index da3ff924b0..0d68986a97 100644 --- a/src/ScreenMiniMenu.cpp +++ b/src/ScreenMiniMenu.cpp @@ -107,7 +107,7 @@ void ScreenMiniMenu::AfterChangeValueOrRow( PlayerNumber pn ) OptionRow &optrow = *m_pRows[i]; optrow.GetRowDef().m_vEnabledForPlayers.clear(); if( mr.pfnEnabled() ) - optrow.GetRowDef().m_vEnabledForPlayers.insert( GAMESTATE->m_MasterPlayerNumber ); + optrow.GetRowDef().m_vEnabledForPlayers.insert( GAMESTATE->GetMasterPlayerNumber() ); } m_pRows[i]->UpdateEnabledDisabled(); } diff --git a/src/ScreenNameEntry.cpp b/src/ScreenNameEntry.cpp index b4eeeed4cc..b7faaa4fc1 100644 --- a/src/ScreenNameEntry.cpp +++ b/src/ScreenNameEntry.cpp @@ -118,7 +118,7 @@ ScreenNameEntry::ScreenNameEntry() { GAMESTATE->m_bSideIsJoined[PLAYER_1] = true; GAMESTATE->m_bSideIsJoined[PLAYER_2] = true; - GAMESTATE->m_MasterPlayerNumber = PLAYER_1; + GAMESTATE->SetMasterPlayerNumber(PLAYER_1); GAMESTATE->m_PlayMode.Set( PLAY_MODE_REGULAR ); GAMESTATE->SetCurrentStyle( GAMEMAN->GameAndStringToStyle( GAMEMAN->GetDefaultGame(),"versus") ); StageStats ss; diff --git a/src/ScreenNameEntryTraditional.cpp b/src/ScreenNameEntryTraditional.cpp index 3663641412..c685531180 100644 --- a/src/ScreenNameEntryTraditional.cpp +++ b/src/ScreenNameEntryTraditional.cpp @@ -22,7 +22,7 @@ void ScreenNameEntryTraditional::Init() { GAMESTATE->m_bSideIsJoined[PLAYER_1] = true; GAMESTATE->m_bSideIsJoined[PLAYER_2] = true; - GAMESTATE->m_MasterPlayerNumber = PLAYER_1; + GAMESTATE->SetMasterPlayerNumber(PLAYER_1); GAMESTATE->m_PlayMode.Set( PLAY_MODE_REGULAR ); GAMESTATE->SetCurrentStyle( GAMEMAN->GameAndStringToStyle( GAMEMAN->GetDefaultGame(),"versus") ); for( int z = 0; z < 3; ++z ) diff --git a/src/ScreenOptions.cpp b/src/ScreenOptions.cpp index 4cf574d9b5..e783125e00 100644 --- a/src/ScreenOptions.cpp +++ b/src/ScreenOptions.cpp @@ -531,7 +531,7 @@ void ScreenOptions::HandleScreenMessage( const ScreenMessage SM ) return; // already transitioning // If the selected option sets a screen, honor it. - RString sThisScreen = GetNextScreenForFocusedItem( GAMESTATE->m_MasterPlayerNumber ); + RString sThisScreen = GetNextScreenForFocusedItem( GAMESTATE->GetMasterPlayerNumber() ); if( sThisScreen != "" ) m_sNextScreen = sThisScreen; diff --git a/src/ScreenOptionsCourseOverview.cpp b/src/ScreenOptionsCourseOverview.cpp index 0003ab7b2a..cefd327d1c 100644 --- a/src/ScreenOptionsCourseOverview.cpp +++ b/src/ScreenOptionsCourseOverview.cpp @@ -119,7 +119,7 @@ void ScreenOptionsCourseOverview::HandleScreenMessage( const ScreenMessage SM ) } else if( SM == SM_GoToNextScreen ) { - int iRow = m_iCurrentRow[GAMESTATE->m_MasterPlayerNumber]; + int iRow = m_iCurrentRow[GAMESTATE->GetMasterPlayerNumber()]; switch( iRow ) { case CourseOverviewRow_Play: @@ -191,7 +191,7 @@ void ScreenOptionsCourseOverview::ProcessMenuStart( const InputEventPlus &input if( IsTransitioning() ) return; - int iRow = m_iCurrentRow[GAMESTATE->m_MasterPlayerNumber]; + int iRow = m_iCurrentRow[GAMESTATE->GetMasterPlayerNumber()]; switch( iRow ) { case CourseOverviewRow_Play: diff --git a/src/ScreenOptionsEditCourse.cpp b/src/ScreenOptionsEditCourse.cpp index 6e108856ba..6f5c6aa111 100644 --- a/src/ScreenOptionsEditCourse.cpp +++ b/src/ScreenOptionsEditCourse.cpp @@ -488,7 +488,7 @@ void ScreenOptionsEditCourse::ProcessMenuStart( const InputEventPlus &input ) if( IsTransitioning() ) return; - int iRow = m_iCurrentRow[GAMESTATE->m_MasterPlayerNumber]; + int iRow = m_iCurrentRow[GAMESTATE->GetMasterPlayerNumber()]; unsigned iSongCount = GAMESTATE->m_pCurCourse->m_vEntries.size(); diff --git a/src/ScreenOptionsExportPackage.cpp b/src/ScreenOptionsExportPackage.cpp index eda77e4ac9..1ff29e1f0c 100644 --- a/src/ScreenOptionsExportPackage.cpp +++ b/src/ScreenOptionsExportPackage.cpp @@ -147,7 +147,7 @@ void ScreenOptionsExportPackage::ProcessMenuStart( const InputEventPlus &input ) if( IsTransitioning() ) return; - int iCurRow = m_iCurrentRow[GAMESTATE->m_MasterPlayerNumber]; + int iCurRow = m_iCurrentRow[GAMESTATE->GetMasterPlayerNumber()]; if( m_pRows[iCurRow]->GetRowType() == OptionRow::RowType_Exit ) { ScreenOptions::ProcessMenuStart( input ); diff --git a/src/ScreenOptionsManageCourses.cpp b/src/ScreenOptionsManageCourses.cpp index c3f61721eb..40a0bbcdfa 100644 --- a/src/ScreenOptionsManageCourses.cpp +++ b/src/ScreenOptionsManageCourses.cpp @@ -143,18 +143,18 @@ void ScreenOptionsManageCourses::BeginScreen() if( iter != m_vpCourses.end() ) { iIndex = iter - m_vpCourses.begin(); - this->MoveRowAbsolute( GAMESTATE->m_MasterPlayerNumber, 1 + iIndex ); + this->MoveRowAbsolute( GAMESTATE->GetMasterPlayerNumber(), 1 + iIndex ); } } - AfterChangeRow( GAMESTATE->m_MasterPlayerNumber ); + AfterChangeRow( GAMESTATE->GetMasterPlayerNumber() ); } void ScreenOptionsManageCourses::HandleScreenMessage( const ScreenMessage SM ) { if( SM == SM_GoToNextScreen ) { - int iCurRow = m_iCurrentRow[GAMESTATE->m_MasterPlayerNumber]; + int iCurRow = m_iCurrentRow[GAMESTATE->GetMasterPlayerNumber()]; if( iCurRow == 0 ) // "create new" { @@ -218,7 +218,7 @@ void ScreenOptionsManageCourses::ProcessMenuStart( const InputEventPlus &input ) if( IsTransitioning() ) return; - int iCurRow = m_iCurrentRow[GAMESTATE->m_MasterPlayerNumber]; + int iCurRow = m_iCurrentRow[GAMESTATE->GetMasterPlayerNumber()]; if( iCurRow == 0 ) // "create new" { @@ -259,7 +259,7 @@ void ScreenOptionsManageCourses::ExportOptions( int iRow, const vectorm_MasterPlayerNumber]; + int iCurRow = m_iCurrentRow[GAMESTATE->GetMasterPlayerNumber()]; if( iCurRow == 0 ) return NULL; else if( m_pRows[iCurRow]->GetRowType() == OptionRow::RowType_Exit ) diff --git a/src/ScreenOptionsManageEditSteps.cpp b/src/ScreenOptionsManageEditSteps.cpp index 6a4e416c9d..62d58bdfee 100644 --- a/src/ScreenOptionsManageEditSteps.cpp +++ b/src/ScreenOptionsManageEditSteps.cpp @@ -125,7 +125,7 @@ void ScreenOptionsManageEditSteps::HandleScreenMessage( const ScreenMessage SM ) { if( SM == SM_GoToNextScreen ) { - int iCurRow = m_iCurrentRow[GAMESTATE->m_MasterPlayerNumber]; + int iCurRow = m_iCurrentRow[GAMESTATE->GetMasterPlayerNumber()]; if( iCurRow == 0 ) // "create new" { @@ -245,7 +245,7 @@ void ScreenOptionsManageEditSteps::ProcessMenuStart( const InputEventPlus &input if( IsTransitioning() ) return; - int iCurRow = m_iCurrentRow[GAMESTATE->m_MasterPlayerNumber]; + int iCurRow = m_iCurrentRow[GAMESTATE->GetMasterPlayerNumber()]; if( iCurRow == 0 ) // "create new" { @@ -292,7 +292,7 @@ void ScreenOptionsManageEditSteps::ExportOptions( int iRow, const vectorm_MasterPlayerNumber]; + int iCurRow = m_iCurrentRow[GAMESTATE->GetMasterPlayerNumber()]; if( iCurRow == 0 ) return NULL; else if( m_pRows[iCurRow]->GetRowType() == OptionRow::RowType_Exit ) diff --git a/src/ScreenOptionsManageProfiles.cpp b/src/ScreenOptionsManageProfiles.cpp index f3bae8fe78..140177c9c2 100644 --- a/src/ScreenOptionsManageProfiles.cpp +++ b/src/ScreenOptionsManageProfiles.cpp @@ -167,7 +167,7 @@ void ScreenOptionsManageProfiles::HandleScreenMessage( const ScreenMessage SM ) { if( SM == SM_GoToNextScreen ) { - int iCurRow = m_iCurrentRow[GAMESTATE->m_MasterPlayerNumber]; + int iCurRow = m_iCurrentRow[GAMESTATE->GetMasterPlayerNumber()]; OptionRow &row = *m_pRows[iCurRow]; if( row.GetRowType() == OptionRow::RowType_Exit ) { @@ -337,7 +337,7 @@ void ScreenOptionsManageProfiles::ProcessMenuStart( const InputEventPlus &input if( IsTransitioning() ) return; - int iCurRow = m_iCurrentRow[GAMESTATE->m_MasterPlayerNumber]; + int iCurRow = m_iCurrentRow[GAMESTATE->GetMasterPlayerNumber()]; OptionRow &row = *m_pRows[iCurRow]; if( SHOW_CREATE_NEW && iCurRow == 0 ) // "create new" @@ -405,7 +405,7 @@ void ScreenOptionsManageProfiles::ExportOptions( int iRow, const vectorm_MasterPlayerNumber]; + int iCurRow = m_iCurrentRow[GAMESTATE->GetMasterPlayerNumber()]; OptionRow &row = *m_pRows[iCurRow]; if( SHOW_CREATE_NEW && iCurRow == 0 ) // "create new" diff --git a/src/ScreenOptionsMemoryCard.cpp b/src/ScreenOptionsMemoryCard.cpp index 8aab5b16d5..c0bfa6351b 100644 --- a/src/ScreenOptionsMemoryCard.cpp +++ b/src/ScreenOptionsMemoryCard.cpp @@ -111,7 +111,7 @@ void ScreenOptionsMemoryCard::AfterChangeRow( PlayerNumber pn ) } else { - int iRow = m_iCurrentRow[GAMESTATE->m_MasterPlayerNumber]; + int iRow = m_iCurrentRow[GAMESTATE->GetMasterPlayerNumber()]; m_textOsMountDir.SetText( m_CurrentUsbStorageDevices[iRow].sOsMountDir ); } } @@ -124,7 +124,7 @@ void ScreenOptionsMemoryCard::HandleMessage( const Message &msg ) { /* Remember the old mountpoint. */ const vector &v = m_CurrentUsbStorageDevices; - int iRow = m_iCurrentRow[GAMESTATE->m_MasterPlayerNumber]; + int iRow = m_iCurrentRow[GAMESTATE->GetMasterPlayerNumber()]; RString sOldMountPoint; if( iRow < int(v.size()) ) { @@ -158,7 +158,7 @@ void ScreenOptionsMemoryCard::ExportOptions( int iRow, const vectorm_MasterPlayerNumber; + PlayerNumber pn = GAMESTATE->GetMasterPlayerNumber(); if( m_iCurrentRow[pn] == iRow ) { const vector &v = m_CurrentUsbStorageDevices; @@ -192,7 +192,7 @@ void ScreenOptionsMemoryCard::ProcessMenuStart( const InputEventPlus &input ) if( IsTransitioning() ) return; - int iCurRow = m_iCurrentRow[GAMESTATE->m_MasterPlayerNumber]; + int iCurRow = m_iCurrentRow[GAMESTATE->GetMasterPlayerNumber()]; const vector &v = m_CurrentUsbStorageDevices; if( iCurRow < int(v.size()) ) // a card diff --git a/src/ScreenSMOnlineLogin.cpp b/src/ScreenSMOnlineLogin.cpp index 80d0c40b1d..5cf0e61cb1 100644 --- a/src/ScreenSMOnlineLogin.cpp +++ b/src/ScreenSMOnlineLogin.cpp @@ -155,7 +155,7 @@ void ScreenSMOnlineLogin::HandleScreenMessage(const ScreenMessage SM) { LOG->Trace("[ScreenSMOnlineLogin::HandleScreenMessage] GoToNextScreen"); vector v; - v.push_back( GAMESTATE->m_MasterPlayerNumber ); + v.push_back( GAMESTATE->GetMasterPlayerNumber() ); for( unsigned r=0; rm_MasterPlayerNumber != PlayerNumber_Invalid ); - int iMastersIndex = this->GetSelectionIndex( GAMESTATE->m_MasterPlayerNumber ); + ASSERT( GAMESTATE->GetMasterPlayerNumber() != PlayerNumber_Invalid ); + int iMastersIndex = this->GetSelectionIndex( GAMESTATE->GetMasterPlayerNumber() ); bool bAllPlayersChoseTheSame = true; FOREACH_HumanPlayer( p ) { diff --git a/src/ScreenSelectMaster.cpp b/src/ScreenSelectMaster.cpp index 0e50f5ccbf..3c3a80a4b9 100644 --- a/src/ScreenSelectMaster.cpp +++ b/src/ScreenSelectMaster.cpp @@ -294,7 +294,7 @@ void ScreenSelectMaster::HandleScreenMessage( const ScreenMessage SM ) if( SM == SM_PlayPostSwitchPage ) { - int iNewChoice = m_iChoice[ GAMESTATE->m_MasterPlayerNumber ]; + int iNewChoice = m_iChoice[ GAMESTATE->GetMasterPlayerNumber() ]; Page newPage = GetPage( iNewChoice ); Message msg("PostSwitchPage"); @@ -516,7 +516,7 @@ void ScreenSelectMaster::MenuDown( const InputEventPlus &input ) bool ScreenSelectMaster::ChangePage( int iNewChoice ) { - Page oldPage = GetPage( m_iChoice[GAMESTATE->m_MasterPlayerNumber] ); + Page oldPage = GetPage( m_iChoice[GAMESTATE->GetMasterPlayerNumber()] ); Page newPage = GetPage( iNewChoice ); // If anyone has already chosen, don't allow changing of pages @@ -710,8 +710,8 @@ bool ScreenSelectMaster::ChangeSelection( PlayerNumber pn, MenuDir dir, int iNew PlayerNumber ScreenSelectMaster::GetSharedPlayer() { - if( GAMESTATE->m_MasterPlayerNumber != PLAYER_INVALID ) - return GAMESTATE->m_MasterPlayerNumber; + if( GAMESTATE->GetMasterPlayerNumber() != PLAYER_INVALID ) + return GAMESTATE->GetMasterPlayerNumber(); return PLAYER_1; } diff --git a/src/ScreenSelectMusic.cpp b/src/ScreenSelectMusic.cpp index 1ee3c116a4..4251ae73ab 100644 --- a/src/ScreenSelectMusic.cpp +++ b/src/ScreenSelectMusic.cpp @@ -68,7 +68,7 @@ void ScreenSelectMusic::Init() GAMESTATE->m_PlayMode.Set( PLAY_MODE_REGULAR ); GAMESTATE->SetCurrentStyle( GAMEMAN->GameAndStringToStyle(GAMEMAN->GetDefaultGame(),"versus") ); GAMESTATE->JoinPlayer( PLAYER_1 ); - GAMESTATE->m_MasterPlayerNumber = PLAYER_1; + GAMESTATE->SetMasterPlayerNumber(PLAYER_1); } SAMPLE_MUSIC_DELAY_INIT.Load( m_sName, "SampleMusicDelayInit" ); @@ -1020,7 +1020,7 @@ void ScreenSelectMusic::HandleMessage( const Message &msg ) // TODO: Invalidate the CurSteps only if they are no longer playable. // That way, after music change will clamp to the nearest in the StepsDisplayList. - GAMESTATE->m_pCurSteps[GAMESTATE->m_MasterPlayerNumber].SetWithoutBroadcast( NULL ); + GAMESTATE->m_pCurSteps[GAMESTATE->GetMasterPlayerNumber()].SetWithoutBroadcast( NULL ); FOREACH_ENUM( PlayerNumber, p ) GAMESTATE->m_pCurSteps[p].SetWithoutBroadcast( NULL ); @@ -1392,7 +1392,7 @@ void ScreenSelectMusic::MenuStart( const InputEventPlus &input ) if( pStyle == NULL ) { StepsType stCurrent; - PlayerNumber pn = GAMESTATE->m_MasterPlayerNumber; + PlayerNumber pn = GAMESTATE->GetMasterPlayerNumber(); if( GAMESTATE->IsCourseMode() ) { ASSERT( GAMESTATE->m_pCurTrail[pn] ); @@ -1615,7 +1615,7 @@ void ScreenSelectMusic::SwitchToPreferredDifficulty() if( GAMESTATE->DifficultiesLocked() ) { FOREACH_HumanPlayer( p ) - m_iSelection[p] = m_iSelection[GAMESTATE->m_MasterPlayerNumber]; + m_iSelection[p] = m_iSelection[GAMESTATE->GetMasterPlayerNumber()]; } } diff --git a/src/ScreenSongOptions.cpp b/src/ScreenSongOptions.cpp index 5006b43ac3..2b9287c232 100644 --- a/src/ScreenSongOptions.cpp +++ b/src/ScreenSongOptions.cpp @@ -23,7 +23,7 @@ void ScreenSongOptions::Init() void ScreenSongOptions::ExportOptions( int iRow, const vector &vpns ) { - PlayerNumber pn = GAMESTATE->m_MasterPlayerNumber; + PlayerNumber pn = GAMESTATE->GetMasterPlayerNumber(); PlayerState *pPS = GAMESTATE->m_pPlayerState[pn]; const PlayerOptions::FailType ft = pPS->m_PlayerOptions.GetPreferred().m_FailType; diff --git a/src/StatsManager.cpp b/src/StatsManager.cpp index 99a95a10c7..96e91409a5 100644 --- a/src/StatsManager.cpp +++ b/src/StatsManager.cpp @@ -275,7 +275,7 @@ void StatsManager::CommitStatsToProfiles( const StageStats *pSS ) { if( pSS->m_multiPlayer[mp].m_HighScore.IsEmpty() ) continue; - recent->AppendChild( MakeRecentScoreNode( *pSS, GAMESTATE->m_pCurTrail[GAMESTATE->m_MasterPlayerNumber], pSS->m_multiPlayer[mp], mp ) ); + recent->AppendChild( MakeRecentScoreNode( *pSS, GAMESTATE->m_pCurTrail[GAMESTATE->GetMasterPlayerNumber()], pSS->m_multiPlayer[mp], mp ) ); } } From 7d81680bb3622bb10bce9030477323e3e0524b38 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 6 Jun 2011 20:47:21 -0400 Subject: [PATCH 033/530] Readability. --- src/SongUtil.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/SongUtil.cpp b/src/SongUtil.cpp index 3d83420167..b188a0c108 100644 --- a/src/SongUtil.cpp +++ b/src/SongUtil.cpp @@ -927,7 +927,9 @@ void SongUtil::GetPlayableStepsTypes( const Song *pSong, set &vOut ) iNumPlayers = max( iNumPlayers, 1 ); const Style *pStyle = GAMEMAN->GetFirstCompatibleStyle( GAMESTATE->m_pCurGame, iNumPlayers, *st ); - bool bEnoughStages = GAMESTATE->IsAnExtraStage() || GAMESTATE->GetSmallestNumStagesLeftForAnyHumanPlayer() >= GAMESTATE->GetNumStagesForSongAndStyleType(pSong, pStyle->m_StyleType); + bool bEnoughStages = GAMESTATE->IsAnExtraStage() || + GAMESTATE->GetSmallestNumStagesLeftForAnyHumanPlayer() >= + GAMESTATE->GetNumStagesForSongAndStyleType(pSong, pStyle->m_StyleType); if( bShowThisStepsType && bEnoughStages ) vOut.insert( *st ); From 09305639aed1b8fc553800b6e8e09aefc3b57647 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 6 Jun 2011 21:41:24 -0400 Subject: [PATCH 034/530] Let AutoSetStyle select all charts in the game. --- src/MusicWheel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MusicWheel.cpp b/src/MusicWheel.cpp index 77303f5286..e8e4c76353 100644 --- a/src/MusicWheel.cpp +++ b/src/MusicWheel.cpp @@ -969,7 +969,7 @@ void MusicWheel::FilterWheelItemDatas(vector &aUnFilteredD } /* If the song has no steps for the current style, remove it. */ - if( !pSong->HasStepsType(GAMESTATE->GetCurrentStyle()->m_StepsType) ) + if( !CommonMetrics::AUTO_SET_STYLE && !pSong->HasStepsType(GAMESTATE->GetCurrentStyle()->m_StepsType) ) { aiRemove[i] = true; continue; From 5c83d529ab4a41e3423e52cd16063533bdca3fcf Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 6 Jun 2011 23:00:07 -0400 Subject: [PATCH 035/530] Remove faulty shortcut code for hand calcs. Unfortunately, to maintain accuracy, this will invalidate the ca-- *beaten to the floor with the nya cat* --- Docs/Changelog_sm5.txt | 2 ++ src/NoteDataUtil.cpp | 2 +- src/Song.cpp | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 02a780e44e..e9ccf1cc69 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -16,6 +16,8 @@ StepMania 5.0 Preview 2 | 20110??? this changes the behavior slightly: it is the first enabled player, or master player, that gets the ticks now. A better solution will be looked at in the future. [Wolfman2000] +* [NoteDataUtil] Fix a radar issue involving hands. Unfortunately, this means + yet another cache reload for accuracy purposes. [Wolfman2000] 2011/06/04 ---------- diff --git a/src/NoteDataUtil.cpp b/src/NoteDataUtil.cpp index 022691c700..ccb9faf2b4 100644 --- a/src/NoteDataUtil.cpp +++ b/src/NoteDataUtil.cpp @@ -886,7 +886,7 @@ void NoteDataUtil::CalculateRadarValues( const NoteData &in, float fSongSeconds, case RadarCategory_Jumps: out[rc] = (float) stats.jumps; break; case RadarCategory_Holds: out[rc] = (float) in.GetNumHoldNotes(); break; case RadarCategory_Mines: out[rc] = (float) in.GetNumMines(); break; - case RadarCategory_Hands: out[rc] = (float) stats.hands; break; + case RadarCategory_Hands: out[rc] = (float) in.GetNumHands(); break; case RadarCategory_Rolls: out[rc] = (float) in.GetNumRolls(); break; case RadarCategory_Lifts: out[rc] = (float) in.GetNumLifts(); break; case RadarCategory_Fakes: out[rc] = (float) in.GetNumFakes(); break; diff --git a/src/Song.cpp b/src/Song.cpp index cc57bccd9b..62696a93e2 100644 --- a/src/Song.cpp +++ b/src/Song.cpp @@ -41,7 +41,7 @@ * @brief The internal version of the cache for StepMania. * * Increment this value to invalidate the current cache. */ -const int FILE_CACHE_VERSION = 178; +const int FILE_CACHE_VERSION = 179; /** @brief How long does a song sample last by default? */ const float DEFAULT_MUSIC_SAMPLE_LENGTH = 12.f; From 92c5eaeea028344b24b84631ef81540ec575969b Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Tue, 7 Jun 2011 12:25:29 +0200 Subject: [PATCH 036/530] [loading window] This is nicer than the thread termination. But now we need to find a way to end the load early. --- src/ScreenReloadSongs.cpp | 9 ++------- src/ScreenReloadSongs.h | 1 - 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/ScreenReloadSongs.cpp b/src/ScreenReloadSongs.cpp index 1f2528d996..7cd7360355 100644 --- a/src/ScreenReloadSongs.cpp +++ b/src/ScreenReloadSongs.cpp @@ -15,7 +15,7 @@ * computer while songs load. */ REGISTER_SCREEN_CLASS( ScreenReloadSongs ); -ScreenReloadSongs::ScreenReloadSongs() : loadComplete(false) {} +ScreenReloadSongs::ScreenReloadSongs() {} void ScreenReloadSongs::Init() { @@ -35,11 +35,7 @@ void ScreenReloadSongs::Init() ScreenReloadSongs::~ScreenReloadSongs() { - if(!loadComplete) { - //we where going to crash if we let this one lose, so "only" - //leaving stuff possibly corrupted isn't worse. - m_loadingThread.Halt(true); - } + m_loadingThread.Wait(); RemoveChild(loadWin); delete loadWin; } @@ -51,7 +47,6 @@ int ScreenReloadSongs::loadingThreadProc(void *thisAsVoidPtr) { SONGMAN->Reload( false ); SCREENMAN->PostMessageToTopScreen( SM_GoToNextScreen, 0 ); - self->loadComplete=true; return 0; } diff --git a/src/ScreenReloadSongs.h b/src/ScreenReloadSongs.h index 8c145ddfe5..39676e8dff 100644 --- a/src/ScreenReloadSongs.h +++ b/src/ScreenReloadSongs.h @@ -13,7 +13,6 @@ public: virtual void Init(); ~ScreenReloadSongs(); private: - bool loadComplete; InGameLoadingWindow *loadWin; RageThread m_loadingThread; static int loadingThreadProc(void *thisAsVoidPtr); From 7c2cefc19025a54b6abd92bdda9f470a7c28eafe Mon Sep 17 00:00:00 2001 From: Colby Klein Date: Tue, 7 Jun 2011 18:23:17 -0700 Subject: [PATCH 037/530] Silence warning --- src/NoteTypes.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NoteTypes.h b/src/NoteTypes.h index 3d99c63252..cd00810e0a 100644 --- a/src/NoteTypes.h +++ b/src/NoteTypes.h @@ -164,7 +164,7 @@ struct TapNote { if (type_ > TapNote::fake ) { - LOG->Trace(ssprintf("Invalid tap note type %d (most likely) due to random vanish issues. Assume it doesn't need judging.", type_ ) ); + LOG->Trace("Invalid tap note type %d (most likely) due to random vanish issues. Assume it doesn't need judging.", (int)type_ ); type = TapNote::empty; } } From 4b11968abcdb57d1735bf29f18f005f134ca9bd4 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Tue, 7 Jun 2011 23:43:07 -0400 Subject: [PATCH 038/530] Make it more obvious about the T key. Guess not everyone reads changelogs or F1. --- Themes/_fallback/Languages/en.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 1884302235..63c9701cc0 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -1257,7 +1257,7 @@ Enter a new min BPM.=Enter the minimum displayed BPM. Enter a new max BPM.=Enter the maximum displayed BPM. More than %d notes per measure is not allowed. This change has been reverted.=More than %d notes per measure is not allowed. This change has been reverted. No backgrounds available=No backgrounds available -EditHelpText=Up/Down:\n change beat\nLeft/Right:\n change snap\nNumber keys:\n add/remove\n tap note\nN and M keys:\n swap tap notes\nCreate hold note:\n Hold a number\n while moving\n Up or Down\nCreate roll note:\n Hold Shift,\n then create a\n hold note.\nSpace bar:\n Set area\n marker\nEnter:\n Area Menu\nEscape:\n Main Menu\nF4:\n Timing Menu\nF1:\n Show help\n +EditHelpText=Up/Down:\n change beat\nLeft/Right:\n change snap\nNumber keys:\n add/remove\n tap note\nN and M keys:\n swap tap notes\nCreate hold note:\n Hold a number\n while moving\n Up or Down\nCreate roll note:\n Hold Shift,\n then create a\n hold note.\nSpace bar:\n Set area\n marker\nT key:\n Switch Timing\nEnter:\n Area Menu\nEscape:\n Main Menu\nF4:\n Timing Menu\nF1:\n Show help\n PlayRecordHelpText=Press START to end Save successful.=Save successful. Saved as SM and DWI.=Saved as SM and DWI. From 5216d6be45cb8ccb7f91ae0b4770248cbe899829 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Wed, 8 Jun 2011 13:03:07 -0400 Subject: [PATCH 039/530] Simplify checks for unjudgable rows. This way, we can add more segments later and now have to change the logic in many places. --- src/GameplayAssist.cpp | 2 +- src/Player.cpp | 14 +++++++------- src/TimingData.h | 14 ++++++++++++++ 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/GameplayAssist.cpp b/src/GameplayAssist.cpp index 4ecd6be014..e42920f15c 100644 --- a/src/GameplayAssist.cpp +++ b/src/GameplayAssist.cpp @@ -47,7 +47,7 @@ void GameplayAssist::PlayTicks( const NoteData &nd, const PlayerState *ps ) if( nd.IsThereATapOrHoldHeadAtRow( r ) ) iClapRow = r; - if( iClapRow != -1 && !timing.IsWarpAtRow( iClapRow ) && !timing.IsFakeAtRow( iClapRow ) ) + if( iClapRow != -1 && timing.IsJudgableAtRow(iClapRow)) { const float fTickBeat = NoteRowToBeat( iClapRow ); const float fTickSecond = timing.GetElapsedTimeFromBeatNoOffset( fTickBeat ); diff --git a/src/Player.cpp b/src/Player.cpp index 6179b16d83..569a9080df 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -1538,7 +1538,7 @@ int Player::GetClosestNoteDirectional( int col, int iStartRow, int iEndRow, bool // Is this the row we want? do { const TapNote &tn = begin->second; - if( m_Timing->IsWarpAtRow( begin->first ) || m_Timing->IsFakeAtRow( begin->first ) ) + if (!m_Timing->IsJudgableAtRow( begin->first )) break; if( tn.type == TapNote::empty ) break; @@ -1594,7 +1594,7 @@ int Player::GetClosestNonEmptyRowDirectional( int iStartRow, int iEndRow, bool b ++iter; continue; } - if( m_Timing->IsWarpAtRow( iter.Row() ) || m_Timing->IsFakeAtRow( iter.Row() ) ) + if (!m_Timing->IsJudgableAtRow(iter.Row())) { ++iter; continue; @@ -2118,7 +2118,7 @@ void Player::StepStrumHopo( int col, int row, const RageTimer &tm, bool bHeld, b // Stepped too close to mine? if( !bRelease && ( REQUIRE_STEP_ON_MINES == !bHeld ) && fSecondsFromExact <= GetWindowSeconds(TW_Mine) && - !m_Timing->IsWarpAtRow(iSongRow) && !m_Timing->IsFakeAtRow(iSongRow)) + m_Timing->IsJudgableAtRow(iSongRow)) score = TNS_HitMine; break; @@ -2616,7 +2616,7 @@ void Player::UpdateTapNotesMissedOlderThan( float fMissIfOlderThanSeconds ) continue; // Ignore all notes in WarpSegments or FakeSegments. - if( m_Timing->IsWarpAtRow( iter.Row() ) || m_Timing->IsFakeAtRow( iter.Row() ) ) + if (!m_Timing->IsJudgableAtRow(iter.Row())) continue; if( tn.type == TapNote::mine ) @@ -2651,7 +2651,7 @@ void Player::UpdateJudgedRows() int iRow = iter.Row(); // Do not judge arrows in WarpSegments or FakeSegments - if( m_Timing->IsWarpAtRow(iRow) || m_Timing->IsFakeAtRow(iRow) ) + if (!m_Timing->IsJudgableAtRow(iRow)) continue; if( iLastSeenRow != iRow ) @@ -2990,7 +2990,7 @@ void Player::HandleTapRowScore( unsigned row ) #endif // Do not score rows in WarpSegments or FakeSegments - if( m_Timing->IsWarpAtRow( row ) || m_Timing->IsFakeAtRow( row ) ) + if (!m_Timing->IsJudgableAtRow(row)) return; if( GAMESTATE->m_bDemonstrationOrJukebox ) @@ -3094,7 +3094,7 @@ void Player::HandleHoldCheckpoint( int iRow, int iNumHoldsHeldThisRow, int iNumH #endif // WarpSegments and FakeSegments aren't judged in any way. - if( m_Timing->IsWarpAtRow( iRow ) || m_Timing->IsFakeAtRow( iRow ) ) + if (!m_Timing->IsJudgableAtRow(iRow)) return; // don't accumulate combo if AutoPlay is on. diff --git a/src/TimingData.h b/src/TimingData.h index e81fc078e7..fda617ee4c 100644 --- a/src/TimingData.h +++ b/src/TimingData.h @@ -845,6 +845,20 @@ public: */ void AddFakeSegment( const FakeSegment &seg ); + /** + * @brief Determine if this notes on this row can be judged. + * @param row the row to focus on. + * @return true if the row can be judged, false otherwise. */ + bool IsJudgableAtRow( int row ) const + { + return !(IsWarpAtRow(row) && IsFakeAtRow(row)); + } + /** + * @brief Determine if this notes on this beat can be judged. + * @param beat the beat to focus on. + * @return true if the row can be judged, false otherwise. */ + bool IsJudgableAtBeat( float beat ) const { return IsJudgableAtRow( BeatToNoteRow( beat ) ); } + void MultiplyBPMInBeatRange( int iStartIndex, int iEndIndex, float fFactor ); From d0821262d1c30d43e83cf968150fa7f5f1a30123 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Wed, 8 Jun 2011 12:38:36 -0500 Subject: [PATCH 040/530] add @waiei's changes to SuperNova2 scoring: http://twitpic.com/57wqss --- Themes/_fallback/Scripts/04 Scoring.lua | 40 +++++++++++++++++-------- 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/Themes/_fallback/Scripts/04 Scoring.lua b/Themes/_fallback/Scripts/04 Scoring.lua index 27a1d6155a..75b5733f1a 100644 --- a/Themes/_fallback/Scripts/04 Scoring.lua +++ b/Themes/_fallback/Scripts/04 Scoring.lua @@ -148,23 +148,39 @@ end; r['DDR SuperNOVA 2'] = function(params, pss) local multLookup = { - ['TapNoteScore_W1'] = 1, - ['TapNoteScore_W2'] = 1, - ['TapNoteScore_W3'] = 0.5 + ['TapNoteScore_W1'] = 10, + ['TapNoteScore_W2'] = 10, + ['TapNoteScore_W3'] = 5 }; setmetatable(multLookup, ZeroIfNotFound); local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues); - local base = 100000 / totalItems; - local hold = base * (params.HoldNoteScore == 'HoldNoteScore_Held' and 1 or 0); - local maxScore = (base * multLookup['TapNoteScore_W1']) + hold; - pss:SetCurMaxScore(pss:GetCurMaxScore() + (math.round(maxScore) * 10)); - local preW1 = base * multLookup[params.TapNoteScore]; - local buildScore = (preW1 - (IsW1Allowed(params.TapNoteScore) and 10 or 0)) + hold; - pss:SetScore(pss:GetScore() + (math.round(buildScore) * 10)); + local numLifts = radarValues:GetCategory('RadarCategory_Lifts') + local numFakes = radarValues:GetCategory('RadarCategory_Fakes') + local totalItems = GetTotalItems(radarValues) - (numLifts + numFakes); + + -- handle freezes + local maxAdd = 0 + if params.HoldNoteScore == 'HoldNoteScore_Held' then + maxAdd = 10 + else + if params.HoldNoteScore == 'HoldNoteScore_LetGo' then + maxAdd = 0 + else + maxAdd = multLookup[params.TapNoteScore] + if params.TapNoteScore == 'TapNoteScore_W2' then + pss:SetCurMaxScore( pss:GetCurMaxScore() + 1000000 ) + end + end + end + pss:SetCurMaxScore(pss:GetCurMaxScore() + maxAdd); + + local scoreDiv = pss:GetCurMaxScore() % 1000000 + local w2 = math.floor( pss:GetCurMaxScore()/1000000 ) + + pss:SetScore( math.floor( 1000*(scoreDiv/totalItems) * (1000 - (w2*100)) ) ); end; ----------------------------------------------------------- ---Radar Master (doesn't work in 1.2.1, disabled) +--Radar Master (doesn't work in sm-ssc 1.2.1, disabled) --don't try to "fix it up", either. you *cannot* make it work in 1.2.1. ----------------------------------------------------------- r['[SSC] Radar Master'] = function(params, pss) From 9ac07e1e2eb18dd8f3e0d6b8917068e3974d0660 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Wed, 8 Jun 2011 14:43:59 -0400 Subject: [PATCH 041/530] Prepare for a place to process timing data. Hopefully what I'm thinking of won't cause too much slowdown. --- src/GameState.cpp | 11 +++++++++++ src/GameState.h | 12 ++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/GameState.cpp b/src/GameState.cpp index a720dcbd89..9b030ff98d 100644 --- a/src/GameState.cpp +++ b/src/GameState.cpp @@ -106,6 +106,7 @@ static Preference g_Premium( "Premium", Premium_Off ); Preference GameState::m_bAutoJoin( "AutoJoin", false ); GameState::GameState() : + processedTiming( NULL ), m_pCurGame( Message_CurrentGameChanged ), m_pCurStyle( Message_CurrentStyleChanged ), m_PlayMode( Message_PlayModeChanged ), @@ -200,6 +201,16 @@ void GameState::SetMasterPlayerNumber(const PlayerNumber p) this->masterPlayerNumber = p; } +TimingData * GameState::GetProcessedTimingData() const +{ + return this->processedTiming; +} + +void GameState::SetProcessedTimingData(TimingData t) +{ + this->processedTiming = &t; +} + void GameState::ApplyGameCommand( const RString &sCommand, PlayerNumber pn ) { GameCommand m; diff --git a/src/GameState.h b/src/GameState.h index 79618aa711..463cc8c2ca 100644 --- a/src/GameState.h +++ b/src/GameState.h @@ -37,6 +37,8 @@ class GameState { /** @brief The player number used with Styles where one player controls both sides. */ PlayerNumber masterPlayerNumber; + /** @brief The TimingData that is used for processing certain functions. */ + TimingData * processedTiming; public: /** @brief Set up the GameState with initial values. */ GameState(); @@ -149,6 +151,16 @@ public: * @brief Set the master player number. * @param p the master player number. */ void SetMasterPlayerNumber(const PlayerNumber p); + + /** + * @brief Retrieve the present timing data being processed. + * @return the timing data pointer. */ + TimingData * GetProcessedTimingData() const; + + /** + * @brief Set the timing data to be used with processing. + * @param t the timing data. */ + void SetProcessedTimingData(TimingData t); bool IsCourseMode() const; bool IsBattleMode() const; // not Rave From fec932e153f234209004065533e1cbfb3cbdc1ff Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Wed, 8 Jun 2011 15:02:54 -0400 Subject: [PATCH 042/530] More prep work for better radar calculations. --- src/GameState.cpp | 4 ++-- src/GameState.h | 2 +- src/ScoreKeeperNormal.cpp | 2 ++ src/ScreenGameplay.cpp | 4 +++- src/Steps.cpp | 3 +++ src/Trail.cpp | 3 +++ 6 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/GameState.cpp b/src/GameState.cpp index 9b030ff98d..825d051fda 100644 --- a/src/GameState.cpp +++ b/src/GameState.cpp @@ -206,9 +206,9 @@ TimingData * GameState::GetProcessedTimingData() const return this->processedTiming; } -void GameState::SetProcessedTimingData(TimingData t) +void GameState::SetProcessedTimingData(TimingData * t) { - this->processedTiming = &t; + this->processedTiming = t; } void GameState::ApplyGameCommand( const RString &sCommand, PlayerNumber pn ) diff --git a/src/GameState.h b/src/GameState.h index 463cc8c2ca..0b2463f3c7 100644 --- a/src/GameState.h +++ b/src/GameState.h @@ -160,7 +160,7 @@ public: /** * @brief Set the timing data to be used with processing. * @param t the timing data. */ - void SetProcessedTimingData(TimingData t); + void SetProcessedTimingData(TimingData * t); bool IsCourseMode() const; bool IsBattleMode() const; // not Rave diff --git a/src/ScoreKeeperNormal.cpp b/src/ScoreKeeperNormal.cpp index ce3874aa5a..e3872b8c83 100644 --- a/src/ScoreKeeperNormal.cpp +++ b/src/ScoreKeeperNormal.cpp @@ -120,6 +120,7 @@ void ScoreKeeperNormal::Load( * forced and not chosen by the user. */ NoteDataUtil::TransformNoteData( nd, aa, pSteps->m_StepsType, pSong ); RadarValues rvPre; + GAMESTATE->SetProcessedTimingData(&pSteps->m_Timing); NoteDataUtil::CalculateRadarValues( nd, pSong->m_fMusicLengthSeconds, rvPre ); /* Apply user transforms to find out how the notes will really look. @@ -132,6 +133,7 @@ void ScoreKeeperNormal::Load( NoteDataUtil::TransformNoteData( nd, m_pPlayerState->m_PlayerOptions.GetStage(), pSteps->m_StepsType ); RadarValues rvPost; NoteDataUtil::CalculateRadarValues( nd, pSong->m_fMusicLengthSeconds, rvPost ); + GAMESTATE->SetProcessedTimingData(NULL); iTotalPossibleDancePoints += this->GetPossibleDancePoints( rvPre, rvPost ); iTotalPossibleGradePoints += this->GetPossibleGradePoints( rvPre, rvPost ); diff --git a/src/ScreenGameplay.cpp b/src/ScreenGameplay.cpp index c4a6ccaeca..e29d45fa63 100644 --- a/src/ScreenGameplay.cpp +++ b/src/ScreenGameplay.cpp @@ -2294,10 +2294,12 @@ void ScreenGameplay::SaveStats() RadarValues rv; PlayerStageStats &pss = *pi->GetPlayerStageStats(); const NoteData &nd = pi->m_pPlayer->GetNoteData(); + PlayerNumber pn = pi->m_pn; + GAMESTATE->SetProcessedTimingData(&GAMESTATE->m_pCurSteps[pn]->m_Timing); NoteDataUtil::CalculateRadarValues( nd, fMusicLen, rv ); pss.m_radarPossible += rv; - + GAMESTATE->SetProcessedTimingData(NULL); NoteDataWithScoring::GetActualRadarValues( nd, pss, fMusicLen, rv ); pss.m_radarActual += rv; } diff --git a/src/Steps.cpp b/src/Steps.cpp index c1a79064f5..c09ebe49a6 100644 --- a/src/Steps.cpp +++ b/src/Steps.cpp @@ -14,6 +14,7 @@ #include "global.h" #include "Steps.h" #include "StepsUtil.h" +#include "GameState.h" #include "Song.h" #include "RageUtil.h" #include "RageLog.h" @@ -192,6 +193,7 @@ void Steps::CalculateRadarValues( float fMusicLengthSeconds ) FOREACH_PlayerNumber( pn ) m_CachedRadarValues[pn].Zero(); + GAMESTATE->SetProcessedTimingData(&this->m_Timing); if( tempNoteData.IsComposite() ) { vector vParts; @@ -205,6 +207,7 @@ void Steps::CalculateRadarValues( float fMusicLengthSeconds ) NoteDataUtil::CalculateRadarValues( tempNoteData, fMusicLengthSeconds, m_CachedRadarValues[0] ); fill_n( m_CachedRadarValues + 1, NUM_PLAYERS-1, m_CachedRadarValues[0] ); } + GAMESTATE->SetProcessedTimingData(NULL); } void Steps::Decompress() const diff --git a/src/Trail.cpp b/src/Trail.cpp index 073d266c93..25ece2abd3 100644 --- a/src/Trail.cpp +++ b/src/Trail.cpp @@ -1,6 +1,7 @@ #include "global.h" #include "Trail.h" #include "Foreach.h" +#include "GameState.h" #include "Steps.h" #include "Song.h" #include "PlayerOptions.h" @@ -116,6 +117,7 @@ const RadarValues &Trail::GetRadarValues() const NoteData nd; pSteps->GetNoteData( nd ); RadarValues rv_orig; + GAMESTATE->SetProcessedTimingData(const_cast(&pSteps->m_Timing)); NoteDataUtil::CalculateRadarValues( nd, e->pSong->m_fMusicLengthSeconds, rv_orig ); PlayerOptions po; po.FromString( e->Modifiers ); @@ -124,6 +126,7 @@ const RadarValues &Trail::GetRadarValues() const NoteDataUtil::TransformNoteData( nd, e->Attacks, pSteps->m_StepsType, e->pSong ); RadarValues transformed_rv; NoteDataUtil::CalculateRadarValues( nd, e->pSong->m_fMusicLengthSeconds, transformed_rv ); + GAMESTATE->SetProcessedTimingData(NULL); rv += transformed_rv; } else From 06efa5c726f46f2ade36bafe39678d44c866fd66 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Wed, 8 Jun 2011 15:33:40 -0400 Subject: [PATCH 043/530] Simple solutions are smart. --- src/TimingData.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/TimingData.h b/src/TimingData.h index fda617ee4c..58999a23e9 100644 --- a/src/TimingData.h +++ b/src/TimingData.h @@ -851,7 +851,9 @@ public: * @return true if the row can be judged, false otherwise. */ bool IsJudgableAtRow( int row ) const { - return !(IsWarpAtRow(row) && IsFakeAtRow(row)); + if (IsWarpAtRow(row)) return false; + if (IsFakeAtRow(row)) return false; + return true; } /** * @brief Determine if this notes on this beat can be judged. From 90e563cbce1ce1381cb3400a32150859acb54b4b Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Wed, 8 Jun 2011 14:36:24 -0500 Subject: [PATCH 044/530] add @waiei's hybrid scoring and fix up supernova 2 scoring --- Themes/_fallback/Scripts/03 ThemePrefs.lua | 2 +- Themes/_fallback/Scripts/04 Scoring.lua | 61 +++++++++++++++++++--- 2 files changed, 56 insertions(+), 7 deletions(-) diff --git a/Themes/_fallback/Scripts/03 ThemePrefs.lua b/Themes/_fallback/Scripts/03 ThemePrefs.lua index dfa9e3e695..90d7d73a19 100644 --- a/Themes/_fallback/Scripts/03 ThemePrefs.lua +++ b/Themes/_fallback/Scripts/03 ThemePrefs.lua @@ -150,7 +150,7 @@ function InitUserPrefs() end; function UserPrefScoringMode() - local baseChoices = { 'DDR 1stMIX', 'DDR 4thMIX', 'DDR Extreme', 'DDR SuperNOVA', 'DDR SuperNOVA 2', 'MIGS' }; --'[SSC] Radar Master' + local baseChoices = { 'DDR 1stMIX', 'DDR 4thMIX', 'DDR Extreme', 'DDR SuperNOVA', 'DDR SuperNOVA 2', 'MIGS', 'HYBRID' }; --'[SSC] Radar Master' local t = { Name = "UserPrefScoringMode"; LayoutType = "ShowAllInRow"; diff --git a/Themes/_fallback/Scripts/04 Scoring.lua b/Themes/_fallback/Scripts/04 Scoring.lua index 75b5733f1a..fd579db996 100644 --- a/Themes/_fallback/Scripts/04 Scoring.lua +++ b/Themes/_fallback/Scripts/04 Scoring.lua @@ -122,6 +122,48 @@ r['DDR Extreme'] = function(params, pss) Shared.CurrentStep[pn] = 0; -- Reset for the next song. end; end; + +----------------------------------------------------------- +--HYBRID Scoring +----------------------------------------------------------- +r['HYBRID'] = function(params, pss) + local multLookup = + { + ['TapNoteScore_W1'] = 10, + ['TapNoteScore_W2'] = 9, + ['TapNoteScore_W3'] = 5 + }; + setmetatable(multLookup, ZeroIfNotFound); + local radarValues = GetDirectRadar(params.Player); + local totalItems = GetTotalItems(radarValues) + - radarValues:GetValue('RadarCategory_Lifts'); + -- 1+2+3+...+totalItems ã®å€¤ + local sTotal = (totalItems+1)*totalItems/2; + -- [en] Score for one song + -- [ja] 1ã¤ã‚ãŸã‚Šã®ã‚¹ã‚³ã‚¢ + local sOne = math.floor(100000000/sTotal); + -- [ja] ç«¯æ•°ã¯æœ€å¾Œã®1ステップã§åŠ ç®—ã™ã‚‹ã®ã§ãã®å€¤ã‚’å–å¾— + local sLast = 100000000-(sOne*sTotal); + -- [ja] ç¾åœ¨ä½•個目ã®è­œé¢ã‹ + pss:SetCurMaxScore(pss:GetCurMaxScore()+1); + -- [en] current score + -- [ja] 今回ã®ã‚¹ã‚³ã‚¢ + local vScore = sOne*(pss:GetCurMaxScore()); + if (params.HoldNoteScore == 'HoldNoteScore_Held') then + vScore = vScore; + else + if (params.HoldNoteScore == 'HoldNoteScore_LetGo') then + vScore = 0; + else + vScore = vScore*multLookup[params.TapNoteScore]/10; + end; + end; + if ((vScore > 0) and (pss:GetCurMaxScore() == totalItems)) then + vScore = vScore+sLast; + end; + pss:SetScore(pss:GetScore()+vScore); +end; + ----------------------------------------------------------- --DDR SuperNOVA(-esque) scoring ----------------------------------------------------------- @@ -158,7 +200,7 @@ r['DDR SuperNOVA 2'] = function(params, pss) local numFakes = radarValues:GetCategory('RadarCategory_Fakes') local totalItems = GetTotalItems(radarValues) - (numLifts + numFakes); - -- handle freezes + -- handle holds local maxAdd = 0 if params.HoldNoteScore == 'HoldNoteScore_Held' then maxAdd = 10 @@ -167,21 +209,28 @@ r['DDR SuperNOVA 2'] = function(params, pss) maxAdd = 0 else maxAdd = multLookup[params.TapNoteScore] - if params.TapNoteScore == 'TapNoteScore_W2' then + if params.TapNoteScore == 'TapNoteScore_W2' or 'TapNoteScore_W3' then + -- [ja] 超最終手段 pss:SetCurMaxScore( pss:GetCurMaxScore() + 1000000 ) end end end pss:SetCurMaxScore(pss:GetCurMaxScore() + maxAdd); - local scoreDiv = pss:GetCurMaxScore() % 1000000 - local w2 = math.floor( pss:GetCurMaxScore()/1000000 ) + --[[ + [ja] パフェ数å–å¾— ã“ã®æ–¹æ³•ã§å–å¾—ã™ã‚‹ã¨ãƒ­ãƒ³ã‚°ãƒŽãƒ¼ãƒˆã®å ´åˆ2ã¤ã‚«ã‚¦ãƒ³ãƒˆã•れる ãã®ãŸã‚使ãˆãªã„ + pss:GetTapNoteScores('TapNoteScore_W2') + 仕方ãŒãªã„ã®ã§ãƒ‘フェ数を 1000000 å˜ä½ã§ GetCurMaxScore ã«è¨˜éŒ² + ãã®å¾Œã€æƒ…報を分解ã—ã¦å–り出㙠+ --]] - pss:SetScore( math.floor( 1000*(scoreDiv/totalItems) * (1000 - (w2*100)) ) ); + local vScore = pss:GetCurMaxScore() % 1000000 + local vSub = math.floor( pss:GetCurMaxScore()/1000000 ) + pss:SetScore( math.floor(10000*vScore/totalItems) * 10 - (vSub*10) ); end; ----------------------------------------------------------- --Radar Master (doesn't work in sm-ssc 1.2.1, disabled) ---don't try to "fix it up", either. you *cannot* make it work in 1.2.1. +--todo: get this working with StepMania 5 ----------------------------------------------------------- r['[SSC] Radar Master'] = function(params, pss) local masterTable = { From fc9f07158a0eaa8b1714e5e8b0177d188018ac86 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Wed, 8 Jun 2011 16:14:11 -0400 Subject: [PATCH 045/530] 99% fix scoring with warps and fakes. Now all charts can seek 100%. This does force yet another cache reload. Hopefully it won't slow first loads too much. --- Docs/Changelog_sm5.txt | 6 ++++++ src/NoteData.cpp | 29 +++++++++++++++++++++-------- src/NoteDataUtil.cpp | 5 +++++ src/ScoreKeeperNormal.cpp | 4 ++++ src/ScreenEdit.cpp | 5 +++++ src/ScreenGameplay.cpp | 2 +- src/Song.cpp | 2 +- 7 files changed, 43 insertions(+), 10 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index e9ccf1cc69..0739778269 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,12 @@ ________________________________________________________________________________ StepMania 5.0 Preview 2 | 20110??? -------------------------------------------------------------------------------- +2011/06/08 +---------- +* Any notes in a fake segment or warp segment are completely ignored for + scoring purposes. Now you can get 100% on your warping goodness! + [Wolfman2000] + 2011/06/06 ---------- * [PlayerOptions] Removed the ScoreDisplay mod choices. Use lua to make your diff --git a/src/NoteData.cpp b/src/NoteData.cpp index eac5bc42b4..50265d5b65 100644 --- a/src/NoteData.cpp +++ b/src/NoteData.cpp @@ -9,6 +9,7 @@ #include "RageUtil.h" #include "RageLog.h" #include "XmlFile.h" +#include "GameState.h" // blame radar calculations. #include "Foreach.h" #include "RageUtil_AutoPtr.h" @@ -467,7 +468,8 @@ int NoteData::GetNumTapNotes( int iStartIndex, int iEndIndex ) const { const TapNote &tn = GetTapNote(t, r); if( tn.type != TapNote::empty && tn.type != TapNote::mine - && tn.type != TapNote::lift && tn.type != TapNote::fake ) + && tn.type != TapNote::lift && tn.type != TapNote::fake + && GAMESTATE->GetProcessedTimingData()->IsJudgableAtRow(r) ) iNumNotes++; } } @@ -485,7 +487,7 @@ int NoteData::GetNumRowsWithTap( int iStartIndex, int iEndIndex ) const { int iNumNotes = 0; FOREACH_NONEMPTY_ROW_ALL_TRACKS_RANGE( *this, r, iStartIndex, iEndIndex ) - if( IsThereATapAtRow(r) ) + if( IsThereATapAtRow(r) && GAMESTATE->GetProcessedTimingData()->IsJudgableAtRow(r) ) iNumNotes++; return iNumNotes; @@ -498,7 +500,8 @@ int NoteData::GetNumMines( int iStartIndex, int iEndIndex ) const for( int t=0; tGetProcessedTimingData()->IsJudgableAtRow(r)) iNumMines++; } @@ -509,7 +512,7 @@ int NoteData::GetNumRowsWithTapOrHoldHead( int iStartIndex, int iEndIndex ) cons { int iNumNotes = 0; FOREACH_NONEMPTY_ROW_ALL_TRACKS_RANGE( *this, r, iStartIndex, iEndIndex ) - if( IsThereATapOrHoldHeadAtRow(r) ) + if( IsThereATapOrHoldHeadAtRow(r) && GAMESTATE->GetProcessedTimingData()->IsJudgableAtRow(r) ) iNumNotes++; return iNumNotes; @@ -560,7 +563,8 @@ int NoteData::GetNumRowsWithSimultaneousPresses( int iMinSimultaneousPresses, in { if( !RowNeedsAtLeastSimultaneousPresses(iMinSimultaneousPresses,r) ) continue; - + if (!GAMESTATE->GetProcessedTimingData()->IsJudgableAtRow(r)) + continue; iNum++; } @@ -576,7 +580,10 @@ int NoteData::GetNumRowsWithSimultaneousTaps( int iMinTaps, int iStartIndex, int for( int t=0; tGetProcessedTimingData()->IsJudgableAtRow(r)) iNumNotesThisIndex++; } if( iNumNotesThisIndex >= iMinTaps ) @@ -598,6 +605,8 @@ int NoteData::GetNumHoldNotes( int iStartIndex, int iEndIndex ) const if( lBegin->second.type != TapNote::hold_head || lBegin->second.subType != TapNote::hold_head_hold ) continue; + if (!GAMESTATE->GetProcessedTimingData()->IsJudgableAtRow(lBegin->first)) + continue; iNumHolds++; } } @@ -616,6 +625,8 @@ int NoteData::GetNumRolls( int iStartIndex, int iEndIndex ) const if( lBegin->second.type != TapNote::hold_head || lBegin->second.subType != TapNote::hold_head_roll ) continue; + if (!GAMESTATE->GetProcessedTimingData()->IsJudgableAtRow(lBegin->first)) + continue; iNumRolls++; } } @@ -629,7 +640,8 @@ int NoteData::GetNumLifts( int iStartIndex, int iEndIndex ) const for( int t=0; tGetProcessedTimingData()->IsJudgableAtRow(r)) iNumLifts++; } @@ -643,7 +655,8 @@ int NoteData::GetNumFakes( int iStartIndex, int iEndIndex ) const for( int t=0; tGetProcessedTimingData()->IsJudgableAtRow(r)) iNumFakes++; } diff --git a/src/NoteDataUtil.cpp b/src/NoteDataUtil.cpp index ccb9faf2b4..7ecbbe46ac 100644 --- a/src/NoteDataUtil.cpp +++ b/src/NoteDataUtil.cpp @@ -799,6 +799,11 @@ RadarStats CalculateRadarStatsFast( const NoteData &in, RadarStats &out ) { FOREACH_NONEMPTY_ROW_IN_TRACK_RANGE( in, t, r, 0, MAX_NOTE_ROW ) { + /* This function deals strictly with taps, jumps, hands, and quads. + * As such, all rows in here have to be judgable. */ + if (!GAMESTATE->GetProcessedTimingData()->IsJudgableAtRow(r)) + continue; + const TapNote &tn = in.GetTapNote(t, r); switch( tn.type ) { diff --git a/src/ScoreKeeperNormal.cpp b/src/ScoreKeeperNormal.cpp index e3872b8c83..d5b3494a5f 100644 --- a/src/ScoreKeeperNormal.cpp +++ b/src/ScoreKeeperNormal.cpp @@ -219,6 +219,8 @@ void ScoreKeeperNormal::OnNextSong( int iSongInCourseIndex, const Steps* pSteps, ASSERT( m_iMaxPossiblePoints >= 0 ); m_iMaxScoreSoFar += m_iMaxPossiblePoints; + GAMESTATE->SetProcessedTimingData(const_cast(&pSteps->m_Timing)); + m_iNumTapsAndHolds = pNoteData->GetNumRowsWithTapOrHoldHead() + pNoteData->GetNumHoldNotes() + pNoteData->GetNumRolls(); @@ -232,6 +234,8 @@ void ScoreKeeperNormal::OnNextSong( int iSongInCourseIndex, const Steps* pSteps, ASSERT( m_iPointBonus >= 0 ); m_iTapNotesHit = 0; + + GAMESTATE->SetProcessedTimingData(NULL); } static int GetScore(int p, int Z, int S, int n) diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index c6905545f4..ac98d5c18e 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -1152,6 +1152,9 @@ void ScreenEdit::UpdateTextInfo() sText += ssprintf( TAP_NOTE_TYPE_FORMAT.GetValue(), TAP_NOTE_TYPE.GetValue().c_str(), TapNoteTypeToString( m_selectedTap.type ).c_str() ); break; } + + GAMESTATE->SetProcessedTimingData(&m_pSteps->m_Timing); + sText += ssprintf( NUM_STEPS_FORMAT.GetValue(), TAP_STEPS.GetValue().c_str(), m_NoteDataEdit.GetNumTapNotes() ); sText += ssprintf( NUM_JUMPS_FORMAT.GetValue(), JUMPS.GetValue().c_str(), m_NoteDataEdit.GetNumJumps() ); sText += ssprintf( NUM_HANDS_FORMAT.GetValue(), HANDS.GetValue().c_str(), m_NoteDataEdit.GetNumHands() ); @@ -1182,6 +1185,8 @@ void ScreenEdit::UpdateTextInfo() } m_textInfo.SetText( sText ); + + GAMESTATE->SetProcessedTimingData(NULL); } void ScreenEdit::DrawPrimitives() diff --git a/src/ScreenGameplay.cpp b/src/ScreenGameplay.cpp index e29d45fa63..a0eb87b581 100644 --- a/src/ScreenGameplay.cpp +++ b/src/ScreenGameplay.cpp @@ -2299,9 +2299,9 @@ void ScreenGameplay::SaveStats() GAMESTATE->SetProcessedTimingData(&GAMESTATE->m_pCurSteps[pn]->m_Timing); NoteDataUtil::CalculateRadarValues( nd, fMusicLen, rv ); pss.m_radarPossible += rv; - GAMESTATE->SetProcessedTimingData(NULL); NoteDataWithScoring::GetActualRadarValues( nd, pss, fMusicLen, rv ); pss.m_radarActual += rv; + GAMESTATE->SetProcessedTimingData(NULL); } } diff --git a/src/Song.cpp b/src/Song.cpp index 62696a93e2..e6196ac12e 100644 --- a/src/Song.cpp +++ b/src/Song.cpp @@ -41,7 +41,7 @@ * @brief The internal version of the cache for StepMania. * * Increment this value to invalidate the current cache. */ -const int FILE_CACHE_VERSION = 179; +const int FILE_CACHE_VERSION = 180; /** @brief How long does a song sample last by default? */ const float DEFAULT_MUSIC_SAMPLE_LENGTH = 12.f; From 80196549567143f7dc2874bea874a20676ad0797 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Wed, 8 Jun 2011 18:14:50 -0400 Subject: [PATCH 046/530] shakesoda was right. --- src/TimingData.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/TimingData.h b/src/TimingData.h index 58999a23e9..687016ea5b 100644 --- a/src/TimingData.h +++ b/src/TimingData.h @@ -851,9 +851,7 @@ public: * @return true if the row can be judged, false otherwise. */ bool IsJudgableAtRow( int row ) const { - if (IsWarpAtRow(row)) return false; - if (IsFakeAtRow(row)) return false; - return true; + return !(IsWarpAtRow(row) || IsFakeAtRow(row)); } /** * @brief Determine if this notes on this beat can be judged. From 2f896c38072bc165f86b820a4c742453a2821176 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Wed, 8 Jun 2011 18:20:37 -0400 Subject: [PATCH 047/530] Missed a spot. --- src/ScreenEdit.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index ac98d5c18e..e0c805a5ad 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -3242,6 +3242,7 @@ static LocalizedString SAVE_CHANGES_BEFORE_EXITING ( "ScreenEdit", "Do you want void ScreenEdit::HandleMainMenuChoice( MainMenuChoice c, const vector &iAnswers ) { + GAMESTATE->SetProcessedTimingData(&m_pSteps->m_Timing); switch( c ) { DEFAULT_FAIL( c ); @@ -3460,6 +3461,7 @@ void ScreenEdit::HandleMainMenuChoice( MainMenuChoice c, const vector &iAns } break; }; + GAMESTATE->SetProcessedTimingData(NULL); } void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector &iAnswers, bool bAllowUndo ) From 42f39c7ab9bc7034b9d581a4262b73b3a5921ea9 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Wed, 8 Jun 2011 21:58:45 -0400 Subject: [PATCH 048/530] Restrict course editor to playable songs. This does not yet deal with songs with charts in multiple game types. ...at least, as far as I know. --- src/ScreenOptionsEditCourse.cpp | 2 +- src/SongUtil.cpp | 21 +++++++++++++++++++-- src/SongUtil.h | 15 ++++++++++++++- 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/src/ScreenOptionsEditCourse.cpp b/src/ScreenOptionsEditCourse.cpp index 6f5c6aa111..020f328c1d 100644 --- a/src/ScreenOptionsEditCourse.cpp +++ b/src/ScreenOptionsEditCourse.cpp @@ -145,7 +145,7 @@ void ScreenOptionsEditCourse::Init() sc.m_Tutorial = SongCriteria::Tutorial_No; sc.m_Locked = SongCriteria::Locked_Unlocked; - SongUtil::FilterSongs( sc, SONGMAN->GetAllSongs(), m_vpSongs ); + SongUtil::FilterSongs( sc, SONGMAN->GetAllSongs(), m_vpSongs, true ); SongUtil::SortSongPointerArrayByTitle( m_vpSongs ); } diff --git a/src/SongUtil.cpp b/src/SongUtil.cpp index b188a0c108..f13576fbc0 100644 --- a/src/SongUtil.cpp +++ b/src/SongUtil.cpp @@ -871,13 +871,15 @@ void SongUtil::GetAllSongGenres( vector &vsOut ) } } -void SongUtil::FilterSongs( const SongCriteria &sc, const vector &in, vector &out ) +void SongUtil::FilterSongs( const SongCriteria &sc, const vector &in, + vector &out, bool doCareAboutGame ) { out.reserve( in.size() ); FOREACH_CONST( Song*, in, s ) { - if( sc.Matches( *s ) ) + if( sc.Matches( *s ) && (!doCareAboutGame || IsSongPlayable(*s) ) ) { + out.push_back( *s ); } } @@ -963,6 +965,21 @@ bool SongUtil::IsStepsPlayable( Song *pSong, Steps *pSteps ) return find( vpSteps.begin(), vpSteps.end(), pSteps ) != vpSteps.end(); } +bool SongUtil::IsSongPlayable( Song *s ) +{ + const vector & steps = s->GetAllSteps(); + // I'm sure there is a foreach loop, but I don't + FOREACH( Steps*, const_cast&>(steps), step ) + { + if (IsStepsPlayable(s, *step)) + { + return true; + } + } + + return false; +} + bool SongUtil::GetStepsTypeAndDifficultyFromSortOrder( SortOrder so, StepsType &stOut, Difficulty &dcOut ) { switch( so ) diff --git a/src/SongUtil.h b/src/SongUtil.h index 0c0a18043d..5432d455e3 100644 --- a/src/SongUtil.h +++ b/src/SongUtil.h @@ -163,12 +163,25 @@ namespace SongUtil bool ValidateCurrentStepsCredit( const RString &sAnswer, RString &sErrorOut ); void GetAllSongGenres( vector &vsOut ); - void FilterSongs( const SongCriteria &sc, const vector &in, vector &out ); + /** + * @brief Filter the selection of songs to only match certain criteria. + * @param sc the intended song criteria. + * @param in the starting batch of songs. + * @param out the resulting batch. + * @param doCareAboutGame a flag to see if we should only get playable steps. */ + void FilterSongs( const SongCriteria &sc, const vector &in, vector &out, + bool doCareAboutGame = false ); void GetPlayableStepsTypes( const Song *pSong, set &vOut ); void GetPlayableSteps( const Song *pSong, vector &vOut ); bool IsStepsTypePlayable( Song *pSong, StepsType st ); bool IsStepsPlayable( Song *pSong, Steps *pSteps ); + + /** + * @brief Determine if the song has any playable steps in the present game. + * @param s the current song. + * @return true if the song has playable steps, false otherwise. */ + bool IsSongPlayable( Song *s ); bool GetStepsTypeAndDifficultyFromSortOrder( SortOrder so, StepsType &st, Difficulty &dc ); } From 0fa0d425496cb07dd00676c6a4112f284a6ad579 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Wed, 8 Jun 2011 23:05:28 -0400 Subject: [PATCH 049/530] Minor updates. The extra padded space is for planning. Going to try to take care of another Pump thing. --- src/Player.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Player.cpp b/src/Player.cpp index 569a9080df..f8582c9a06 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -2878,7 +2878,7 @@ void Player::CrossedRows( int iLastRowCrossed, const RageTimer &now ) } else if( CHECKPOINTS_USE_TIME_SIGNATURES ) { - TimeSignatureSegment tSignature = m_Timing->GetTimeSignatureSegmentAtBeat( NoteRowToBeat( iLastRowCrossed ) ); + TimeSignatureSegment & tSignature = m_Timing->GetTimeSignatureSegmentAtRow( iLastRowCrossed ); // Most songs are in 4/4 time. The frequency for checking tick counts should reflect that. iCheckpointFrequencyRows = ROWS_PER_BEAT * tSignature.GetDen() / (tSignature.GetNum() * 4); @@ -2921,8 +2921,11 @@ void Player::CrossedRows( int iLastRowCrossed, const RageTimer &now ) bool bHoldOverlapsRow = iFirstCheckpointOfHold <= r && r <= iLastCheckpointOfHold; if( !bHoldOverlapsRow ) continue; + + viColsWithHold.push_back( iTrack ); + if( tn.HoldResult.fLife > 0 ) { ++iNumHoldsHeldThisRow; From b6bf776716064bd96166e65dd2ebb1663d5aeddd Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Thu, 9 Jun 2011 13:46:30 -0400 Subject: [PATCH 050/530] New branch: [notesloader] Time to better unify our files and refactor properly. --- src/GameSoundManager.cpp | 10 ++++++---- src/NotesLoader.cpp | 17 ++++++++++------- src/NotesLoaderSM.h | 8 +++++--- src/NotesLoaderSMA.h | 3 ++- src/NotesLoaderSSC.cpp | 13 +------------ src/NotesLoaderSSC.h | 6 ++++-- src/ScreenGameplaySyncMachine.cpp | 6 ++++-- src/ScreenHowToPlay.cpp | 6 ++++-- src/ScreenServiceAction.cpp | 3 ++- src/Song.cpp | 8 +++++--- src/SongManager.cpp | 9 ++++++--- src/Steps.cpp | 6 ++++-- 12 files changed, 53 insertions(+), 42 deletions(-) diff --git a/src/GameSoundManager.cpp b/src/GameSoundManager.cpp index a9e71fce24..8b878c50ef 100644 --- a/src/GameSoundManager.cpp +++ b/src/GameSoundManager.cpp @@ -142,8 +142,10 @@ static void StartMusic( MusicToPlay &ToPlay ) { LOG->Trace( "Found '%s'", ToPlay.m_sTimingFile.c_str() ); Song song; - if( GetExtension(ToPlay.m_sTimingFile) == ".ssc" && - SSCLoader::LoadFromSSCFile(ToPlay.m_sTimingFile, song) ) + SSCLoader loaderSSC; + SMLoader loaderSM; + if(GetExtension(ToPlay.m_sTimingFile) == ".ssc" && + loaderSSC.LoadFromSSCFile(ToPlay.m_sTimingFile, song) ) { ToPlay.HasTiming = true; ToPlay.m_TimingData = song.m_SongTiming; @@ -152,8 +154,8 @@ static void StartMusic( MusicToPlay &ToPlay ) if( pStepsCabinetLights ) pStepsCabinetLights->GetNoteData( ToPlay.m_LightsData ); } - else if( GetExtension(ToPlay.m_sTimingFile) == ".sm" && - SMLoader::LoadFromSMFile(ToPlay.m_sTimingFile, song) ) + else if(GetExtension(ToPlay.m_sTimingFile) == ".sm" && + loaderSM.LoadFromSMFile(ToPlay.m_sTimingFile, song) ) { ToPlay.HasTiming = true; ToPlay.m_TimingData = song.m_SongTiming; diff --git a/src/NotesLoader.cpp b/src/NotesLoader.cpp index 88f68787aa..983f35cedb 100644 --- a/src/NotesLoader.cpp +++ b/src/NotesLoader.cpp @@ -32,20 +32,23 @@ bool NotesLoader::LoadFromDir( const RString &sPath, Song &out, set &Bl vector list; BlacklistedImages.clear(); - SSCLoader::GetApplicableFiles( sPath, list ); + SSCLoader loaderSSC; + loaderSSC.GetApplicableFiles( sPath, list ); if( !list.empty() ) { - if( !SSCLoader::LoadFromDir( sPath, out ) ) + if( !loaderSSC.LoadFromDir( sPath, out ) ) return false; - SSCLoader::TidyUpData( out, false ); + loaderSSC.TidyUpData( out, false ); return true; } - SMALoader::GetApplicableFiles( sPath, list ); + SMALoader loaderSMA; + loaderSMA.GetApplicableFiles( sPath, list ); if (!list.empty() ) - return SMALoader::LoadFromDir( sPath, out ); - SMLoader::GetApplicableFiles( sPath, list ); + return loaderSMA.LoadFromDir( sPath, out ); + SMLoader loaderSM; + loaderSM.GetApplicableFiles( sPath, list ); if (!list.empty() ) - return SMLoader::LoadFromDir( sPath, out ); + return loaderSM.LoadFromDir( sPath, out ); DWILoader::GetApplicableFiles( sPath, list ); if( !list.empty() ) return DWILoader::LoadFromDir( sPath, out, BlacklistedImages ); diff --git a/src/NotesLoaderSM.h b/src/NotesLoaderSM.h index 94dfdd2dfe..0d947ea28a 100644 --- a/src/NotesLoaderSM.h +++ b/src/NotesLoaderSM.h @@ -16,8 +16,9 @@ class TimingData; const float FAST_BPM_WARP = 9999999.f; /** @brief Reads a Song from an .SM file. */ -namespace SMLoader +struct SMLoader { + virtual ~SMLoader() {} void LoadFromSMTokens( RString sStepsType, RString sDescription, RString sDifficulty, RString sMeter, RString sRadarValues, RString sNoteData, Steps &out ); @@ -29,7 +30,8 @@ namespace SMLoader bool LoadEditFromFile( RString sEditFilePath, ProfileSlot slot, bool bAddStepsToSong ); bool LoadEditFromBuffer( const RString &sBuffer, const RString &sEditFilePath, ProfileSlot slot ); bool LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath, ProfileSlot slot, bool bAddStepsToSong ); - bool LoadFromBGChangesString( BackgroundChange &change, const RString &sBGChangeExpression ); + virtual bool LoadFromBGChangesString(BackgroundChange &change, + const RString &sBGChangeExpression ); bool ProcessBPMs( TimingData &, const RString ); @@ -41,7 +43,7 @@ namespace SMLoader const RString &sPath, const RString &sParam ); void ProcessAttacks( Song &out, MsdFile::value_t sParams ); void ProcessInstrumentTracks( Song &out, const RString &sParam ); -} +}; #endif diff --git a/src/NotesLoaderSMA.h b/src/NotesLoaderSMA.h index c9e3dfa811..fec87e8fce 100644 --- a/src/NotesLoaderSMA.h +++ b/src/NotesLoaderSMA.h @@ -2,6 +2,7 @@ #define NOTES_LOADER_SMA_H #include "GameConstantsAndTypes.h" +#include "NotesLoaderSM.h" #include "BackgroundUtil.h" class MsdFile; @@ -20,7 +21,7 @@ enum SMALoadingStates }; /** @brief Reads a Song from a .SMA file. */ -namespace SMALoader +struct SMALoader : public SMLoader { void LoadFromSMATokens( RString sStepsType, RString sDescription, diff --git a/src/NotesLoaderSSC.cpp b/src/NotesLoaderSSC.cpp index 04a4fdc167..b9180850ae 100644 --- a/src/NotesLoaderSSC.cpp +++ b/src/NotesLoaderSSC.cpp @@ -19,17 +19,6 @@ */ const int MAX_EDIT_STEPS_SIZE_BYTES = 60*1024; // 60 KB -/** - * @brief Attempt to load any background changes in use by this song. - * @param change a reference to the background change. - * @param sBGChangeExpression a reference to the list of changes to be made. - * @return its success or failure. - */ -bool LoadFromBGSSCChangesString( BackgroundChange &change, const RString &sBGChangeExpression ) -{ - return SMLoader::LoadFromBGChangesString( change, sBGChangeExpression ); -} - bool SSCLoader::LoadFromDir( const RString &sPath, Song &out ) { vector aFileNames; @@ -421,7 +410,7 @@ bool SSCLoader::LoadFromSSCFile( const RString &sPath, Song &out, bool bFromCach for( unsigned b=0; bGetPathO("ScreenGameplaySyncMachine","music"); // Allow themers to use either a .ssc or .sm file for this. -aj + SSCLoader loaderSSC; + SMLoader loaderSM; if(sFile.Right(4) == ".ssc") - SSCLoader::LoadFromSSCFile( sFile, m_Song ); + loaderSSC.LoadFromSSCFile( sFile, m_Song ); else - SMLoader::LoadFromSMFile( sFile, m_Song ); + loaderSM.LoadFromSMFile( sFile, m_Song ); m_Song.SetSongDir( Dirname(sFile) ); m_Song.TidyUpData(); diff --git a/src/ScreenHowToPlay.cpp b/src/ScreenHowToPlay.cpp index b38848bb7d..64ce65815c 100644 --- a/src/ScreenHowToPlay.cpp +++ b/src/ScreenHowToPlay.cpp @@ -135,10 +135,12 @@ void ScreenHowToPlay::Init() // Allow themers to use either a .ssc or .sm file for this. -aj RString sStepsPath = THEME->GetPathO(m_sName, "steps"); + SSCLoader loaderSSC; + SMLoader loaderSM; if( sStepsPath.Right(4) == ".ssc" ) - SSCLoader::LoadFromSSCFile( sStepsPath, m_Song, false ); + loaderSSC.LoadFromSSCFile( sStepsPath, m_Song, false ); else - SMLoader::LoadFromSMFile( sStepsPath, m_Song, false ); + loaderSM.LoadFromSMFile( sStepsPath, m_Song, false ); m_Song.AddAutoGenNotes(); const Style* pStyle = GAMESTATE->GetCurrentStyle(); diff --git a/src/ScreenServiceAction.cpp b/src/ScreenServiceAction.cpp index 13e1222260..c28086a72c 100644 --- a/src/ScreenServiceAction.cpp +++ b/src/ScreenServiceAction.cpp @@ -197,7 +197,8 @@ static void CopyEdits( const RString &sFromProfileDir, const RString &sToProfile iNumErrored++; // Test whether the song we need for this edit is present and ignore this edit if not present. - if( !SSCLoader::LoadEditFromFile( sFromDir+*i, ProfileSlot_Machine, false ) ) + SSCLoader loaderSSC; + if( !loaderSSC.LoadEditFromFile( sFromDir+*i, ProfileSlot_Machine, false ) ) { iNumIgnored++; continue; diff --git a/src/Song.cpp b/src/Song.cpp index e6196ac12e..d547a02e47 100644 --- a/src/Song.cpp +++ b/src/Song.cpp @@ -235,12 +235,14 @@ bool Song::LoadFromSongDir( RString sDir ) if( bUseCache ) { // LOG->Trace( "Loading '%s' from cache file '%s'.", m_sSongDir.c_str(), GetCacheFilePath().c_str() ); - bool bLoadedFromSSC = SSCLoader::LoadFromSSCFile( sCacheFilePath, *this, true ); + SSCLoader loaderSSC; + bool bLoadedFromSSC = loaderSSC.LoadFromSSCFile( sCacheFilePath, *this, true ); if( !bLoadedFromSSC ) { // load from .sm - SMLoader::LoadFromSMFile( sCacheFilePath, *this, true ); - SMLoader::TidyUpData( *this, true ); + SMLoader loaderSM; + loaderSM.LoadFromSMFile( sCacheFilePath, *this, true ); + loaderSM.TidyUpData( *this, true ); } } else diff --git a/src/SongManager.cpp b/src/SongManager.cpp index 48a7d3c5eb..e25374c739 100644 --- a/src/SongManager.cpp +++ b/src/SongManager.cpp @@ -1655,12 +1655,15 @@ void SongManager::LoadStepEditsFromProfileDir( const RString &sProfileDir, Profi for( int i=0; iWarn( "Couldn't load \"%s\"", m_sFilename.c_str() ); return; From e00b7f36160b9bd04c4c9f94f98e843e034fb81b Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Thu, 9 Jun 2011 14:01:55 -0400 Subject: [PATCH 051/530] [notesloader] Some refactoring done. --- src/NotesLoaderSM.cpp | 23 +++++++++++++++++++---- src/NotesLoaderSM.h | 29 +++++++++++++++++++++++++++-- src/NotesLoaderSMA.cpp | 33 ++------------------------------- src/NotesLoaderSMA.h | 12 +----------- src/NotesLoaderSSC.cpp | 10 +++++++--- 5 files changed, 56 insertions(+), 51 deletions(-) diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index f18c556056..68a0f7d089 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -16,7 +16,22 @@ /** @brief The maximum file size for edits. */ const int MAX_EDIT_STEPS_SIZE_BYTES = 60*1024; // 60KB -void SMLoader::LoadFromSMTokens( +float SMLoader::RowToBeat( RString line, const int rowsPerBeat ) +{ + RString backup = line; + Trim(line, "r"); + Trim(line, "R"); + if( backup != line ) + { + return StringToFloat( line ) / rowsPerBeat; + } + else + { + return StringToFloat( line ); + } +} + +void SMLoader::LoadFromTokens( RString sStepsType, RString sDescription, RString sDifficulty, @@ -34,7 +49,7 @@ void SMLoader::LoadFromSMTokens( Trim( sDifficulty ); Trim( sNoteData ); - // LOG->Trace( "Steps::LoadFromSMTokens()" ); + // LOG->Trace( "Steps::LoadFromTokens()" ); // insert stepstype hacks from GameManager.cpp here? -aj out.m_StepsType = GAMEMAN->StringToStepsType( sStepsType ); @@ -719,7 +734,7 @@ bool SMLoader::LoadFromSMFile( const RString &sPath, Song &out, bool bFromCache } Steps* pNewNotes = out.CreateSteps(); - LoadFromSMTokens( + LoadFromTokens( sParams[1], sParams[2], sParams[3], @@ -853,7 +868,7 @@ bool SMLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath return true; Steps* pNewNotes = pSong->CreateSteps(); - LoadFromSMTokens( + LoadFromTokens( sParams[1], sParams[2], sParams[3], sParams[4], sParams[5], sParams[6], *pNewNotes); diff --git a/src/NotesLoaderSM.h b/src/NotesLoaderSM.h index 0d947ea28a..3c635a2fb8 100644 --- a/src/NotesLoaderSM.h +++ b/src/NotesLoaderSM.h @@ -19,8 +19,6 @@ const float FAST_BPM_WARP = 9999999.f; struct SMLoader { virtual ~SMLoader() {} - void LoadFromSMTokens( RString sStepsType, RString sDescription, RString sDifficulty, - RString sMeter, RString sRadarValues, RString sNoteData, Steps &out ); bool LoadFromDir( const RString &sPath, Song &out ); void TidyUpData( Song &song, bool bFromCache ); @@ -43,6 +41,33 @@ struct SMLoader const RString &sPath, const RString &sParam ); void ProcessAttacks( Song &out, MsdFile::value_t sParams ); void ProcessInstrumentTracks( Song &out, const RString &sParam ); + + /** + * @brief Convert a row value to the proper beat value. + * + * This is primarily used for assistance with converting SMA files. + * @param line The line that contains the value. + * @param rowsPerBeat the number of rows per beat according to the original file. + * @return the converted beat value. */ + float RowToBeat(RString line, const int rowsPerBeat); + +protected: + /** + * @brief Process the different tokens we have available to get NoteData. + * @param stepsType The current StepsType. + * @param description The description of the chart. + * @param difficulty The difficulty (in words) of the chart. + * @param meter the difficulty (in numbers) of the chart. + * @param radarValues the calculated radar values. + * @param noteData the note data itself. + * @param out the Steps getting the data. */ + virtual void LoadFromTokens(RString sStepsType, + RString sDescription, + RString sDifficulty, + RString sMeter, + RString sRadarValues, + RString sNoteData, + Steps &out); }; #endif diff --git a/src/NotesLoaderSMA.cpp b/src/NotesLoaderSMA.cpp index c902b1f103..069724542a 100644 --- a/src/NotesLoaderSMA.cpp +++ b/src/NotesLoaderSMA.cpp @@ -39,19 +39,6 @@ bool SMALoader::LoadFromDir( const RString &sPath, Song &out ) return LoadFromSMAFile( sPath + aFileNames[0], out ); } -float SMALoader::RowToBeat( RString sLine, const int iRowsPerBeat ) -{ - if( sLine.find("R") || sLine.find("r") ) - { - sLine = sLine.Left(sLine.size()-1); - return StringToFloat( sLine ) / iRowsPerBeat; - } - else - { - return StringToFloat( sLine ); - } -} - bool SMALoader::ProcessBPMs( TimingData &out, const int iRowsPerBeat, const RString sParam ) { vector arrayBPMChangeExpressions; @@ -391,22 +378,6 @@ void SMALoader::ProcessFakes( TimingData &out, const int iRowsPerBeat, const RSt } } - -void SMALoader::LoadFromSMATokens( - RString sStepsType, - RString sDescription, - RString sDifficulty, - RString sMeter, - RString sRadarValues, - RString sNoteData, - Steps &out -) -{ - SMLoader::LoadFromSMTokens( sStepsType, sDescription, - sDifficulty, sMeter, sRadarValues, - sNoteData, out ); -} - void SMALoader::TidyUpData( Song &song, bool bFromCache ) { SMLoader::TidyUpData( song, bFromCache ); @@ -706,7 +677,7 @@ bool SMALoader::LoadFromSMAFile( const RString &sPath, Song &out ) continue; } - LoadFromSMATokens( + LoadFromTokens( sParams[1], sParams[2], sParams[3], @@ -815,7 +786,7 @@ bool SMALoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePat return true; Steps* pNewNotes = pSong->CreateSteps(); - LoadFromSMATokens( + LoadFromTokens( sParams[1], sParams[2], sParams[3], sParams[4], sParams[5], sParams[6], *pNewNotes); diff --git a/src/NotesLoaderSMA.h b/src/NotesLoaderSMA.h index fec87e8fce..31026f5089 100644 --- a/src/NotesLoaderSMA.h +++ b/src/NotesLoaderSMA.h @@ -22,15 +22,7 @@ enum SMALoadingStates /** @brief Reads a Song from a .SMA file. */ struct SMALoader : public SMLoader -{ - void LoadFromSMATokens( RString sStepsType, - RString sDescription, - RString sDifficulty, - RString sMeter, - RString sRadarValues, - RString sNoteData, - Steps &out ); - +{ bool LoadFromDir( const RString &sPath, Song &out ); void TidyUpData( Song &song, bool bFromCache ); @@ -50,8 +42,6 @@ struct SMALoader : public SMLoader void ProcessMultipliers( TimingData &out, const int iRowsPerBeat, const RString sParam ); void ProcessSpeeds( TimingData &out, const int iRowsPerBeat, const RString sParam ); void ProcessFakes( TimingData &out, const int iRowsPerBeat, const RString sParam ); - - float RowToBeat( RString sLine, const int iRowsPerBeat ); }; #endif diff --git a/src/NotesLoaderSSC.cpp b/src/NotesLoaderSSC.cpp index b9180850ae..54c7e208b5 100644 --- a/src/NotesLoaderSSC.cpp +++ b/src/NotesLoaderSSC.cpp @@ -872,9 +872,13 @@ bool SSCLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePat else { pNewNotes = pSong->CreateSteps(); - SMLoader::LoadFromSMTokens( - sParams[1], sParams[2], sParams[3], sParams[4], sParams[5], sParams[6], - *pNewNotes); + LoadFromTokens(sParams[1], + sParams[2], + sParams[3], + sParams[4], + sParams[5], + sParams[6], + *pNewNotes); } pNewNotes->SetLoadedFromProfile( slot ); From d2be04719d2849e69dc0e3b8b654cf177a315ed3 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Thu, 9 Jun 2011 14:19:12 -0400 Subject: [PATCH 052/530] [notesloader] More refactoring. --- src/NotesLoaderSM.cpp | 18 ++--- src/NotesLoaderSM.h | 33 ++++++-- src/NotesLoaderSMA.cpp | 177 +---------------------------------------- src/NotesLoaderSMA.h | 3 - 4 files changed, 39 insertions(+), 192 deletions(-) diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index 68a0f7d089..574dc17fc4 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -186,10 +186,10 @@ void SMLoader::ProcessInstrumentTracks( Song &out, const RString &sParam ) } } -bool SMLoader::ProcessBPMs( TimingData &out, const RString sParam ) +bool SMLoader::ProcessBPMs( TimingData &out, const RString line, const int rowsPerBeat ) { vector arrayBPMChangeExpressions; - split( sParam, ",", arrayBPMChangeExpressions ); + split( line, ",", arrayBPMChangeExpressions ); // prepare storage variables for negative BPMs -> Warps. float negBeat = -1; @@ -211,7 +211,7 @@ bool SMLoader::ProcessBPMs( TimingData &out, const RString sParam ) bNotEmpty = true; - const float fBeat = StringToFloat( arrayBPMChangeValues[0] ); + const float fBeat = RowToBeat( arrayBPMChangeValues[0], rowsPerBeat ); const float fNewBPM = StringToFloat( arrayBPMChangeValues[1] ); if( fNewBPM < 0.0f ) @@ -257,10 +257,10 @@ bool SMLoader::ProcessBPMs( TimingData &out, const RString sParam ) return bNotEmpty; } -void SMLoader::ProcessStops( TimingData &out, const RString sParam ) +void SMLoader::ProcessStops( TimingData &out, const RString line, const int rowsPerBeat ) { vector arrayFreezeExpressions; - split( sParam, ",", arrayFreezeExpressions ); + split( line, ",", arrayFreezeExpressions ); // Prepare variables for negative stop conversion. float negBeat = -1; @@ -278,7 +278,7 @@ void SMLoader::ProcessStops( TimingData &out, const RString sParam ) continue; } - const float fFreezeBeat = StringToFloat( arrayFreezeValues[0] ); + const float fFreezeBeat = RowToBeat( arrayFreezeValues[0], rowsPerBeat ); const float fFreezeSeconds = StringToFloat( arrayFreezeValues[1] ); // Process the prior stop. @@ -323,10 +323,10 @@ void SMLoader::ProcessStops( TimingData &out, const RString sParam ) } } -void SMLoader::ProcessDelays( TimingData &out, const RString sParam ) +void SMLoader::ProcessDelays( TimingData &out, const RString line, const int rowsPerBeat ) { vector arrayDelayExpressions; - split( sParam, ",", arrayDelayExpressions ); + split( line, ",", arrayDelayExpressions ); for( unsigned f=0; f arrayBPMChangeExpressions; - split( sParam, ",", arrayBPMChangeExpressions ); - - // prepare storage variables for negative BPMs -> Warps. - float negBeat = -1; - float negBPM = 1; - float highspeedBeat = -1; - bool bNotEmpty = false; - - for( unsigned b=0; b arrayBPMChangeValues; - split( arrayBPMChangeExpressions[b], "=", arrayBPMChangeValues ); - // XXX: Hard to tell which file caused this. - if( arrayBPMChangeValues.size() != 2 ) - { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid #BPMs value \"%s\" (must have exactly one '='), ignored.", - arrayBPMChangeExpressions[b].c_str() ); - continue; - } - - bNotEmpty = true; - - const float fBeat = RowToBeat( arrayBPMChangeValues[0], iRowsPerBeat ); - const float fNewBPM = StringToFloat( arrayBPMChangeValues[1] ); - - if( fNewBPM < 0.0f ) - { - out.m_bHasNegativeBpms = true; - negBeat = fBeat; - negBPM = fNewBPM; - } - else if( fNewBPM > 0.0f ) - { - // add in a warp. - if( negBPM < 0 ) - { - float endBeat = fBeat + (fNewBPM / -negBPM) * (fBeat - negBeat); - WarpSegment new_seg(negBeat, endBeat - negBeat); - out.AddWarpSegment( new_seg ); - - negBeat = -1; - negBPM = 1; - } - // too fast. make it a warp. - if( fNewBPM > FAST_BPM_WARP ) - { - highspeedBeat = fBeat; - } - else - { - // add in a warp. - if( highspeedBeat > 0 ) - { - WarpSegment new_seg(highspeedBeat, fBeat - highspeedBeat); - out.AddWarpSegment( new_seg ); - highspeedBeat = -1; - } - { - BPMSegment new_seg( BeatToNoteRow( fBeat ), fNewBPM ); - out.AddBPMSegment( new_seg ); - } - } - } - } - - return bNotEmpty; -} - -void SMALoader::ProcessStops( TimingData &out, const int iRowsPerBeat, const RString sParam ) -{ - vector arrayFreezeExpressions; - split( sParam, ",", arrayFreezeExpressions ); - - // Prepare variables for negative stop conversion. - float negBeat = -1; - float negPause = 0; - - for( unsigned f=0; f arrayFreezeValues; - split( arrayFreezeExpressions[f], "=", arrayFreezeValues ); - if( arrayFreezeValues.size() != 2 ) - { - // XXX: Hard to tell which file caused this. - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid #STOPS value \"%s\" (must have exactly one '='), ignored.", - arrayFreezeExpressions[f].c_str() ); - continue; - } - - const float fFreezeBeat = RowToBeat( arrayFreezeValues[0], iRowsPerBeat ); - const float fFreezeSeconds = StringToFloat( arrayFreezeValues[1] ); - - // Process the prior stop. - if( negPause > 0 ) - { - BPMSegment oldBPM = out.GetBPMSegmentAtRow(BeatToNoteRow(negBeat)); - float fSecondsPerBeat = 60 / oldBPM.GetBPM(); - float fSkipBeats = negPause / fSecondsPerBeat; - - if( negBeat + fSkipBeats > fFreezeBeat ) - fSkipBeats = fFreezeBeat - negBeat; - - WarpSegment ws( negBeat, fSkipBeats); - out.AddWarpSegment( ws ); - - negBeat = -1; - negPause = 0; - } - - if( fFreezeSeconds < 0.0f ) - { - negBeat = fFreezeBeat; - negPause = -fFreezeSeconds; - } - else if( fFreezeSeconds > 0.0f ) - { - StopSegment ss( BeatToNoteRow(fFreezeBeat), fFreezeSeconds ); - out.AddStopSegment( ss ); - } - - } - - // Process the prior stop if there was one. - if( negPause > 0 ) - { - BPMSegment oldBPM = out.GetBPMSegmentAtRow(BeatToNoteRow(negBeat)); - float fSecondsPerBeat = 60 / oldBPM.GetBPM(); - float fSkipBeats = negPause / fSecondsPerBeat; - - WarpSegment ws( negBeat, fSkipBeats); - out.AddWarpSegment( ws ); - } -} - -void SMALoader::ProcessDelays( TimingData &out, const int iRowsPerBeat, const RString sParam ) -{ - vector arrayDelayExpressions; - split( sParam, ",", arrayDelayExpressions ); - - for( unsigned f=0; f arrayDelayValues; - split( arrayDelayExpressions[f], "=", arrayDelayValues ); - if( arrayDelayValues.size() != 2 ) - { - // XXX: Hard to tell which file caused this. - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid #DELAYS value \"%s\" (must have exactly one '='), ignored.", - arrayDelayExpressions[f].c_str() ); - continue; - } - - const float fFreezeBeat = RowToBeat( arrayDelayValues[0], iRowsPerBeat ); - const float fFreezeSeconds = StringToFloat( arrayDelayValues[1] ); - - StopSegment new_seg( fFreezeBeat, fFreezeSeconds, true ); - // XXX: Remove Negatives Bug? - new_seg.SetBeat(fFreezeBeat); - new_seg.SetPause(fFreezeSeconds); - - // LOG->Trace( "Adding a delay segment: beat: %f, seconds = %f", new_seg.m_fStartBeat, new_seg.m_fStopSeconds ); - - if(fFreezeSeconds > 0.0f) - out.AddStopSegment( new_seg ); - else - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid delay at beat %f, length %f.", fFreezeBeat, fFreezeSeconds ); - } -} - void SMALoader::ProcessTickcounts( TimingData &out, const int iRowsPerBeat, const RString sParam ) { vector arrayTickcountExpressions; @@ -606,21 +435,21 @@ bool SMALoader::LoadFromSMAFile( const RString &sPath, Song &out ) { TimingData &timing = (state == SMA_GETTING_STEP_INFO ? pNewNotes->m_Timing : out.m_SongTiming); - ProcessBPMs( timing, iRowsPerBeat, sParams[1] ); + ProcessBPMs( timing, sParams[1], iRowsPerBeat ); } else if( sValueName=="STOPS" || sValueName=="FREEZES" ) { TimingData &timing = (state == SMA_GETTING_STEP_INFO ? pNewNotes->m_Timing : out.m_SongTiming); - ProcessStops( timing, iRowsPerBeat, sParams[1] ); + ProcessStops( timing, sParams[1], iRowsPerBeat ); } else if( sValueName=="DELAYS" ) { TimingData &timing = (state == SMA_GETTING_STEP_INFO ? pNewNotes->m_Timing : out.m_SongTiming); - ProcessDelays( timing, iRowsPerBeat, sParams[1] ); + ProcessDelays( timing, sParams[1], iRowsPerBeat ); } else if( sValueName=="TICKCOUNT" ) diff --git a/src/NotesLoaderSMA.h b/src/NotesLoaderSMA.h index 31026f5089..500e3de3f2 100644 --- a/src/NotesLoaderSMA.h +++ b/src/NotesLoaderSMA.h @@ -35,9 +35,6 @@ struct SMALoader : public SMLoader bool LoadFromBGChangesString( BackgroundChange &change, const RString &sBGChangeExpression ); void ProcessBeatsPerMeasure( TimingData &out, const RString sParam ); - bool ProcessBPMs( TimingData &out, const int iRowsPerBeat, const RString sParam ); - void ProcessStops( TimingData &out, const int iRowsPerBeat, const RString sParam ); - void ProcessDelays( TimingData &out, const int iRowsPerBeat, const RString sParam ); void ProcessTickcounts( TimingData &out, const int iRowsPerBeat, const RString sParam ); void ProcessMultipliers( TimingData &out, const int iRowsPerBeat, const RString sParam ); void ProcessSpeeds( TimingData &out, const int iRowsPerBeat, const RString sParam ); From e37fe84d6a6dfdf9e29a916d03b9356466026401 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Thu, 9 Jun 2011 14:32:14 -0400 Subject: [PATCH 053/530] [notesloader] Simplify. --- src/NotesLoaderSM.cpp | 27 ++++---- src/NotesLoaderSM.h | 28 ++++++-- src/NotesLoaderSMA.cpp | 148 +---------------------------------------- src/NotesLoaderSMA.h | 7 -- 4 files changed, 36 insertions(+), 174 deletions(-) diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index 574dc17fc4..bb465057d4 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -94,11 +94,6 @@ void SMLoader::LoadFromTokens( out.TidyUpData(); } -void SMLoader::GetApplicableFiles( const RString &sPath, vector &out ) -{ - GetDirListing( sPath + RString("*.sm"), out ); -} - void SMLoader::ProcessBGChanges( Song &out, const RString &sValueName, const RString &sPath, const RString &sParam ) { BackgroundLayer iLayer = BACKGROUND_LAYER_1; @@ -357,10 +352,10 @@ void SMLoader::ProcessDelays( TimingData &out, const RString line, const int row } } -void SMLoader::ProcessTimeSignatures( TimingData &out, const RString sParam ) +void SMLoader::ProcessTimeSignatures( TimingData &out, const RString line, const int rowsPerBeat ) { vector vs1; - split( sParam, ",", vs1 ); + split( line, ",", vs1 ); FOREACH_CONST( RString, vs1, s1 ) { @@ -373,9 +368,9 @@ void SMLoader::ProcessTimeSignatures( TimingData &out, const RString sParam ) continue; } - const float fBeat = StringToFloat( vs2[0] ); + const float fBeat = RowToBeat( vs2[0], rowsPerBeat ); - TimeSignatureSegment seg( BeatToNoteRow( fBeat ), StringToInt( vs2[1] ), StringToInt( vs2[2] )); + TimeSignatureSegment seg( fBeat, StringToInt( vs2[1] ), StringToInt( vs2[2] )); if( fBeat < 0 ) { @@ -399,10 +394,10 @@ void SMLoader::ProcessTimeSignatures( TimingData &out, const RString sParam ) } } -void SMLoader::ProcessTickcounts( TimingData &out, const RString sParam ) +void SMLoader::ProcessTickcounts( TimingData &out, const RString line, const int rowsPerBeat ) { vector arrayTickcountExpressions; - split( sParam, ",", arrayTickcountExpressions ); + split( line, ",", arrayTickcountExpressions ); for( unsigned f=0; f aBGChangeValues; @@ -896,6 +892,11 @@ bool SMLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath } +void SMLoader::GetApplicableFiles( const RString &sPath, vector &out ) +{ + GetDirListing( sPath + RString("*.sm"), out ); +} + void SMLoader::TidyUpData( Song &song, bool bFromCache ) { /* diff --git a/src/NotesLoaderSM.h b/src/NotesLoaderSM.h index 21b5e20398..a3da6ecde1 100644 --- a/src/NotesLoaderSM.h +++ b/src/NotesLoaderSM.h @@ -21,13 +21,13 @@ struct SMLoader virtual ~SMLoader() {} bool LoadFromDir( const RString &sPath, Song &out ); - void TidyUpData( Song &song, bool bFromCache ); + virtual void TidyUpData( Song &song, bool bFromCache ); bool LoadFromSMFile( const RString &sPath, Song &out, bool bFromCache = false ); void GetApplicableFiles( const RString &sPath, vector &out ); - bool LoadEditFromFile( RString sEditFilePath, ProfileSlot slot, bool bAddStepsToSong ); - bool LoadEditFromBuffer( const RString &sBuffer, const RString &sEditFilePath, ProfileSlot slot ); - bool LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath, ProfileSlot slot, bool bAddStepsToSong ); + virtual bool LoadEditFromFile( RString sEditFilePath, ProfileSlot slot, bool bAddStepsToSong ); + virtual bool LoadEditFromBuffer( const RString &sBuffer, const RString &sEditFilePath, ProfileSlot slot ); + virtual bool LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath, ProfileSlot slot, bool bAddStepsToSong ); virtual bool LoadFromBGChangesString(BackgroundChange &change, const RString &sBGChangeExpression ); @@ -49,15 +49,29 @@ struct SMLoader const RString line, const int rowsPerBeat = -1); /** - * @brief Process the Stop Segments from the string. + * @brief Process the Delay Segments from the string. * @param out the TimingData being modified. * @param line the string in question. * @param rowsPerBeat the number of rows per beat for this purpose. */ void ProcessDelays(TimingData & out, const RString line, const int rowsPerBeat = -1); - void ProcessTimeSignatures( TimingData & out, const RString line ); - void ProcessTickcounts( TimingData & out, const RString line ); + /** + * @brief Process the Time Signature Segments from the string. + * @param out the TimingData being modified. + * @param line the string in question. + * @param rowsPerBeat the number of rows per beat for this purpose. */ + void ProcessTimeSignatures(TimingData & out, + const RString line, + const int rowsPerBeat = -1); + /** + * @brief Process the Tickcount Segments from the string. + * @param out the TimingData being modified. + * @param line the string in question. + * @param rowsPerBeat the number of rows per beat for this purpose. */ + void ProcessTickcounts(TimingData & out, + const RString line, + const int rowsPerBeat = -1); void ProcessBGChanges( Song &out, const RString &sValueName, const RString &sPath, const RString &sParam ); void ProcessAttacks( Song &out, MsdFile::value_t sParams ); diff --git a/src/NotesLoaderSMA.cpp b/src/NotesLoaderSMA.cpp index d11600ba4b..c5cf98952d 100644 --- a/src/NotesLoaderSMA.cpp +++ b/src/NotesLoaderSMA.cpp @@ -19,12 +19,6 @@ */ const int MAX_EDIT_STEPS_SIZE_BYTES = 60*1024; // 60 KB -bool SMALoader::LoadFromBGChangesString( BackgroundChange &change, - const RString &sBGChangeExpression ) -{ - return SMLoader::LoadFromBGChangesString(change, sBGChangeExpression); -} - bool SMALoader::LoadFromDir( const RString &sPath, Song &out ) { vector aFileNames; @@ -39,31 +33,6 @@ bool SMALoader::LoadFromDir( const RString &sPath, Song &out ) return LoadFromSMAFile( sPath + aFileNames[0], out ); } -void SMALoader::ProcessTickcounts( TimingData &out, const int iRowsPerBeat, const RString sParam ) -{ - vector arrayTickcountExpressions; - split( sParam, ",", arrayTickcountExpressions ); - - for( unsigned f=0; f arrayTickcountValues; - split( arrayTickcountExpressions[f], "=", arrayTickcountValues ); - if( arrayTickcountValues.size() != 2 ) - { - // XXX: Hard to tell which file caused this. - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid #TICKCOUNTS value \"%s\" (must have exactly one '='), ignored.", - arrayTickcountExpressions[f].c_str() ); - continue; - } - - const float fTickcountBeat = RowToBeat( arrayTickcountValues[0], iRowsPerBeat ); - int iTicks = clamp(atoi( arrayTickcountValues[1] ), 0, ROWS_PER_BEAT); - - TickcountSegment new_seg( BeatToNoteRow(fTickcountBeat), iTicks ); - out.AddTickcountSegment( new_seg ); - } -} - void SMALoader::ProcessMultipliers( TimingData &out, const int iRowsPerBeat, const RString sParam ) { vector arrayMultiplierExpressions; @@ -207,11 +176,6 @@ void SMALoader::ProcessFakes( TimingData &out, const int iRowsPerBeat, const RSt } } -void SMALoader::TidyUpData( Song &song, bool bFromCache ) -{ - SMLoader::TidyUpData( song, bFromCache ); -} - bool SMALoader::LoadFromSMAFile( const RString &sPath, Song &out ) { LOG->Trace( "Song::LoadFromSMAFile(%s)", sPath.c_str() ); @@ -456,7 +420,7 @@ bool SMALoader::LoadFromSMAFile( const RString &sPath, Song &out ) { TimingData &timing = (state == SMA_GETTING_STEP_INFO ? pNewNotes->m_Timing : out.m_SongTiming); - ProcessTickcounts( timing, iRowsPerBeat, sParams[1] ); + ProcessTickcounts( timing, sParams[1], iRowsPerBeat ); } else if( sValueName=="SPEED" ) @@ -532,116 +496,6 @@ void SMALoader::GetApplicableFiles( const RString &sPath, vector &out ) GetDirListing( sPath + RString("*.sma"), out ); } -bool SMALoader::LoadEditFromFile( RString sEditFilePath, ProfileSlot slot, bool bAddStepsToSong ) -{ - LOG->Trace( "SMALoader::LoadEditFromFile(%s)", sEditFilePath.c_str() ); - - int iBytes = FILEMAN->GetFileSizeInBytes( sEditFilePath ); - if( iBytes > MAX_EDIT_STEPS_SIZE_BYTES ) - { - LOG->UserLog( "Edit file", sEditFilePath, "is unreasonably large. It won't be loaded." ); - return false; - } - - MsdFile msd; - if( !msd.ReadFile( sEditFilePath, true ) ) // unescape - { - LOG->UserLog( "Edit file", sEditFilePath, "couldn't be opened: %s", msd.GetError().c_str() ); - return false; - } - - return LoadEditFromMsd( msd, sEditFilePath, slot, bAddStepsToSong ); -} - -bool SMALoader::LoadEditFromBuffer( const RString &sBuffer, const RString &sEditFilePath, ProfileSlot slot ) -{ - MsdFile msd; - msd.ReadFromString( sBuffer, true ); // unescape - return LoadEditFromMsd( msd, sEditFilePath, slot, true ); -} - -bool SMALoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath, ProfileSlot slot, bool bAddStepsToSong ) -{ - Song* pSong = NULL; - - for( unsigned i=0; iUserLog( "Edit file", sEditFilePath, "has more than one #SONG tag." ); - return false; - } - - RString sSongFullTitle = sParams[1]; - sSongFullTitle.Replace( '\\', '/' ); - - pSong = SONGMAN->FindSong( sSongFullTitle ); - if( pSong == NULL ) - { - LOG->UserLog( "Edit file", sEditFilePath, "requires a song \"%s\" that isn't present.", sSongFullTitle.c_str() ); - return false; - } - - if( pSong->GetNumStepsLoadedFromProfile(slot) >= MAX_EDITS_PER_SONG_PER_PROFILE ) - { - LOG->UserLog( "Song file", sSongFullTitle, "already has the maximum number of edits allowed for ProfileSlotP%d.", slot+1 ); - return false; - } - } - - else if( sValueName=="NOTES" ) - { - if( pSong == NULL ) - { - LOG->UserLog( "Edit file", sEditFilePath, "doesn't have a #SONG tag preceeding the first #NOTES tag." ); - return false; - } - - if( iNumParams < 7 ) - { - LOG->UserLog( "Edit file", sEditFilePath, "has %d fields in a #NOTES tag, but should have at least 7.", iNumParams ); - continue; - } - - if( !bAddStepsToSong ) - return true; - - Steps* pNewNotes = pSong->CreateSteps(); - LoadFromTokens( - sParams[1], sParams[2], sParams[3], sParams[4], sParams[5], sParams[6], - *pNewNotes); - - pNewNotes->SetLoadedFromProfile( slot ); - pNewNotes->SetDifficulty( Difficulty_Edit ); - pNewNotes->SetFilename( sEditFilePath ); - - if( pSong->IsEditAlreadyLoaded(pNewNotes) ) - { - LOG->UserLog( "Edit file", sEditFilePath, "is a duplicate of another edit that was already loaded." ); - SAFE_DELETE( pNewNotes ); - return false; - } - - pSong->AddSteps( pNewNotes ); - return true; // Only allow one Steps per edit file! - } - else - { - LOG->UserLog( "Edit file", sEditFilePath, "has an unexpected value \"%s\".", sValueName.c_str() ); - } - } - - return true; -} - /** * @file * @author Aldo Fregoso, Jason Felds (c) 2009-2011 diff --git a/src/NotesLoaderSMA.h b/src/NotesLoaderSMA.h index 500e3de3f2..494646026e 100644 --- a/src/NotesLoaderSMA.h +++ b/src/NotesLoaderSMA.h @@ -24,18 +24,11 @@ enum SMALoadingStates struct SMALoader : public SMLoader { bool LoadFromDir( const RString &sPath, Song &out ); - void TidyUpData( Song &song, bool bFromCache ); bool LoadFromSMAFile( const RString &sPath, Song &out ); void GetApplicableFiles( const RString &sPath, vector &out ); - bool LoadEditFromFile( RString sEditFilePath, ProfileSlot slot, bool bAddStepsToSong ); - bool LoadEditFromBuffer( const RString &sBuffer, const RString &sEditFilePath, ProfileSlot slot ); - bool LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath, ProfileSlot slot, bool bAddStepsToSong ); - bool LoadFromBGChangesString( BackgroundChange &change, const RString &sBGChangeExpression ); - void ProcessBeatsPerMeasure( TimingData &out, const RString sParam ); - void ProcessTickcounts( TimingData &out, const int iRowsPerBeat, const RString sParam ); void ProcessMultipliers( TimingData &out, const int iRowsPerBeat, const RString sParam ); void ProcessSpeeds( TimingData &out, const int iRowsPerBeat, const RString sParam ); void ProcessFakes( TimingData &out, const int iRowsPerBeat, const RString sParam ); From 48eefc770010ae40b8373549e310763bc4076c92 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Thu, 9 Jun 2011 14:45:30 -0400 Subject: [PATCH 054/530] [notesloader] Have common ground. --- src/NotesLoaderSM.cpp | 100 ++++++++++++++++++++++++++++++----------- src/NotesLoaderSM.h | 21 ++++++++- src/NotesLoaderSMA.cpp | 13 ++---- src/NotesLoaderSMA.h | 2 +- src/NotesLoaderSSC.cpp | 56 +---------------------- src/NotesLoaderSSC.h | 9 +--- 6 files changed, 101 insertions(+), 100 deletions(-) diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index bb465057d4..bdb8a332ea 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -16,6 +16,33 @@ /** @brief The maximum file size for edits. */ const int MAX_EDIT_STEPS_SIZE_BYTES = 60*1024; // 60KB +bool SMLoader::LoadFromDir( const RString &sPath, Song &out ) +{ + vector aFileNames; + GetApplicableFiles( sPath, aFileNames ); + + if( aFileNames.size() > 1 ) + { + LOG->UserLog( "Song", sPath, "has more than one SM file. There can be only one (unless you are using TougaKiryuu's AnimeMix files somehow, which assume a different version of StepMania)!" ); + return false; + /* + for( unsigned i=0; i= 1 ); + + return LoadFromSMFile( sPath + aFileNames[0], out ); +} + float SMLoader::RowToBeat( RString line, const int rowsPerBeat ) { RString backup = line; @@ -419,6 +446,52 @@ void SMLoader::ProcessTickcounts( TimingData &out, const RString line, const int } } +void SMLoader::ProcessSpeeds( TimingData &out, const RString line, const int rowsPerBeat ) +{ + vector vs1; + split( line, ",", vs1 ); + + FOREACH_CONST( RString, vs1, s1 ) + { + vector vs2; + split( *s1, "=", vs2 ); + + if( vs2[0] == 0 && vs2.size() == 2 ) // First one always seems to have 2. + { + vs2.push_back("0"); + } + + if( vs2.size() == 3 ) // use beats by default. + { + vs2.push_back("0"); + } + + if( vs2.size() < 4 ) + { + LOG->UserLog( "Song file", "(UNKNOWN)", "has an speed change with %i values.", (int)vs2.size() ); + continue; + } + + const float fBeat = RowToBeat( vs2[0], rowsPerBeat ); + + SpeedSegment seg( fBeat, StringToFloat( vs2[1] ), StringToFloat( vs2[2] )); + seg.SetUnit(StringToInt(vs2[3])); + + if( fBeat < 0 ) + { + LOG->UserLog( "Song file", "(UNKNOWN)", "has an speed change with beat %f.", fBeat ); + continue; + } + + if( seg.GetLength() < 0 ) + { + LOG->UserLog( "Song file", "(UNKNOWN)", "has an speed change with beat %f, length %f.", fBeat, seg.GetLength() ); + continue; + } + + out.AddSpeedSegment( seg ); + } +} bool SMLoader::LoadFromBGChangesString( BackgroundChange &change, const RString &sBGChangeExpression ) { @@ -754,33 +827,6 @@ bool SMLoader::LoadFromSMFile( const RString &sPath, Song &out, bool bFromCache return true; } -bool SMLoader::LoadFromDir( const RString &sPath, Song &out ) -{ - vector aFileNames; - GetApplicableFiles( sPath, aFileNames ); - - if( aFileNames.size() > 1 ) - { - LOG->UserLog( "Song", sPath, "has more than one SM file. There can be only one (unless you are using TougaKiryuu's AnimeMix files somehow, which assume a different version of StepMania)!" ); - return false; - /* - for( unsigned i=0; i= 1 ); - - return LoadFromSMFile( sPath + aFileNames[0], out ); -} - bool SMLoader::LoadEditFromFile( RString sEditFilePath, ProfileSlot slot, bool bAddStepsToSong ) { LOG->Trace( "SMLoader::LoadEditFromFile(%s)", sEditFilePath.c_str() ); diff --git a/src/NotesLoaderSM.h b/src/NotesLoaderSM.h index a3da6ecde1..e63e80acdb 100644 --- a/src/NotesLoaderSM.h +++ b/src/NotesLoaderSM.h @@ -21,6 +21,11 @@ struct SMLoader virtual ~SMLoader() {} bool LoadFromDir( const RString &sPath, Song &out ); + /** + * @brief Perform some cleanup on the loaded song. + * @param song a reference to the song that may need cleaning up. + * @param bFromCache a flag to determine if this song is loaded from a cache file. + */ virtual void TidyUpData( Song &song, bool bFromCache ); bool LoadFromSMFile( const RString &sPath, Song &out, bool bFromCache = false ); @@ -72,7 +77,21 @@ struct SMLoader void ProcessTickcounts(TimingData & out, const RString line, const int rowsPerBeat = -1); - void ProcessBGChanges( Song &out, const RString &sValueName, + + /** + * @brief Process the Speed Segments from the string. + * @param out the TimingData being modified. + * @param line the string in question. + * @param rowsPerBeat the number of rows per beat for this purpose. */ + virtual void ProcessSpeeds(TimingData & out, + const RString line, + const int rowsPerBeat = -1); + + virtual void ProcessCombos(TimingData & out, + const RString line, + const int rowsPerBeat = -1) {} + + virtual void ProcessBGChanges( Song &out, const RString &sValueName, const RString &sPath, const RString &sParam ); void ProcessAttacks( Song &out, MsdFile::value_t sParams ); void ProcessInstrumentTracks( Song &out, const RString &sParam ); diff --git a/src/NotesLoaderSMA.cpp b/src/NotesLoaderSMA.cpp index c5cf98952d..f5b726626f 100644 --- a/src/NotesLoaderSMA.cpp +++ b/src/NotesLoaderSMA.cpp @@ -91,15 +91,10 @@ void SMALoader::ProcessBeatsPerMeasure( TimingData &out, const RString sParam ) } } -float BeatToSeconds(float fromBeat, RString toSomething) -{ - return 0; -} - -void SMALoader::ProcessSpeeds( TimingData &out, const int iRowsPerBeat, const RString sParam ) +void SMALoader::ProcessSpeeds( TimingData &out, const RString line, const int rowsPerBeat ) { vector vs1; - split( sParam, ",", vs1 ); + split( line, ",", vs1 ); FOREACH_CONST( RString, vs1, s1 ) { @@ -120,7 +115,7 @@ void SMALoader::ProcessSpeeds( TimingData &out, const int iRowsPerBeat, const RS continue; } - const float fBeat = RowToBeat( vs2[0], iRowsPerBeat ); + const float fBeat = RowToBeat( vs2[0], rowsPerBeat ); RString backup = vs2[2]; Trim(vs2[2], "s"); @@ -429,7 +424,7 @@ bool SMALoader::LoadFromSMAFile( const RString &sPath, Song &out ) ? pNewNotes->m_Timing : out.m_SongTiming); RString tmp = sParams[1]; Trim( tmp ); - ProcessSpeeds( timing, iRowsPerBeat, tmp ); + ProcessSpeeds( timing, tmp, iRowsPerBeat ); } else if( sValueName=="MULTIPLIER" ) diff --git a/src/NotesLoaderSMA.h b/src/NotesLoaderSMA.h index 494646026e..a38a07752f 100644 --- a/src/NotesLoaderSMA.h +++ b/src/NotesLoaderSMA.h @@ -30,7 +30,7 @@ struct SMALoader : public SMLoader void ProcessBeatsPerMeasure( TimingData &out, const RString sParam ); void ProcessMultipliers( TimingData &out, const int iRowsPerBeat, const RString sParam ); - void ProcessSpeeds( TimingData &out, const int iRowsPerBeat, const RString sParam ); + virtual void ProcessSpeeds( TimingData &out, const RString line, const int rowsPerBeat ); void ProcessFakes( TimingData &out, const int iRowsPerBeat, const RString sParam ); }; diff --git a/src/NotesLoaderSSC.cpp b/src/NotesLoaderSSC.cpp index 54c7e208b5..1482054bb9 100644 --- a/src/NotesLoaderSSC.cpp +++ b/src/NotesLoaderSSC.cpp @@ -97,10 +97,10 @@ void SSCLoader::ProcessLabels( TimingData &out, const RString sParam ) } } -void SSCLoader::ProcessCombos( TimingData &out, const RString sParam ) +void SSCLoader::ProcessCombos( TimingData &out, const RString line, const int rowsPerBeat ) { vector arrayComboExpressions; - split( sParam, ",", arrayComboExpressions ); + split( line, ",", arrayComboExpressions ); for( unsigned f=0; f vs1; - split( sParam, ",", vs1 ); - - FOREACH_CONST( RString, vs1, s1 ) - { - vector vs2; - split( *s1, "=", vs2 ); - - if( vs2[0] == 0 && vs2.size() == 2 ) // First one always seems to have 2. - { - vs2.push_back("0"); - } - - if( vs2.size() == 3 ) // use beats by default. - { - vs2.push_back("0"); - } - - if( vs2.size() < 4 ) - { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an speed change with %i values.", (int)vs2.size() ); - continue; - } - - const float fBeat = StringToFloat( vs2[0] ); - - SpeedSegment seg( fBeat, StringToFloat( vs2[1] ), StringToFloat( vs2[2] )); - seg.SetUnit(StringToInt(vs2[3])); - - if( fBeat < 0 ) - { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an speed change with beat %f.", fBeat ); - continue; - } - - if( seg.GetLength() < 0 ) - { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an speed change with beat %f, length %f.", fBeat, seg.GetLength() ); - continue; - } - - out.AddSpeedSegment( seg ); - } -} - void SSCLoader::ProcessScrolls( TimingData &out, const RString sParam ) { vector vs1; @@ -906,11 +859,6 @@ bool SSCLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePat return bSSCFormat; } -void SSCLoader::TidyUpData( Song &song, bool bFromCache ) -{ - SMLoader::TidyUpData(song, bFromCache); -} - /* * (c) 2011 Jason Felds * All rights reserved. diff --git a/src/NotesLoaderSSC.h b/src/NotesLoaderSSC.h index d3ffe6c12c..29cf560458 100644 --- a/src/NotesLoaderSSC.h +++ b/src/NotesLoaderSSC.h @@ -70,18 +70,11 @@ struct SSCLoader : public SMLoader * @return its success or failure. */ bool LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath, ProfileSlot slot, bool bAddStepsToSong ); - /** - * @brief Perform some cleanup on the loaded song. - * @param song a reference to the song that may need cleaning up. - * @param bFromCache a flag to determine if this song is loaded from a cache file. - */ - void TidyUpData( Song &song, bool bFromCache ); void ProcessWarps( TimingData &, const RString, const float ); void ProcessLabels( TimingData &, const RString ); - void ProcessCombos( TimingData &, const RString ); - void ProcessSpeeds( TimingData &, const RString ); + virtual void ProcessCombos( TimingData &, const RString, const int = -1 ); void ProcessScrolls( TimingData &, const RString ); void ProcessFakes( TimingData &, const RString ); }; From dec615a2e7c8d10b9d8a499d562b429cbd178903 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Thu, 9 Jun 2011 14:53:58 -0400 Subject: [PATCH 055/530] [notesloader] Handle fakes on their own. --- src/NotesLoaderSM.cpp | 29 +++++++++++++++++++++++++++++ src/NotesLoaderSM.h | 9 +++++++++ src/NotesLoaderSMA.cpp | 31 +------------------------------ src/NotesLoaderSMA.h | 1 - src/NotesLoaderSSC.cpp | 29 ----------------------------- src/NotesLoaderSSC.h | 1 - 6 files changed, 39 insertions(+), 61 deletions(-) diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index bdb8a332ea..859ff6951e 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -493,6 +493,35 @@ void SMLoader::ProcessSpeeds( TimingData &out, const RString line, const int row } } +void SMLoader::ProcessFakes( TimingData &out, const RString line, const int rowsPerBeat ) +{ + vector arrayFakeExpressions; + split( line, ",", arrayFakeExpressions ); + + for( unsigned b=0; b arrayFakeValues; + split( arrayFakeExpressions[b], "=", arrayFakeValues ); + // XXX: Hard to tell which file caused this. + if( arrayFakeValues.size() != 2 ) + { + LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid #FAKES value \"%s\" (must have exactly one '='), ignored.", + arrayFakeExpressions[b].c_str() ); + continue; + } + + const float fBeat = RowToBeat( arrayFakeValues[0], rowsPerBeat ); + const float fNewBeat = StringToFloat( arrayFakeValues[1] ); + + if(fNewBeat > 0) + out.AddFakeSegment( FakeSegment(fBeat, fNewBeat) ); + else + { + LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid Fake at beat %f, BPM %f.", fBeat, fNewBeat ); + } + } +} + bool SMLoader::LoadFromBGChangesString( BackgroundChange &change, const RString &sBGChangeExpression ) { vector aBGChangeValues; diff --git a/src/NotesLoaderSM.h b/src/NotesLoaderSM.h index e63e80acdb..0a85448022 100644 --- a/src/NotesLoaderSM.h +++ b/src/NotesLoaderSM.h @@ -91,6 +91,15 @@ struct SMLoader const RString line, const int rowsPerBeat = -1) {} + /** + * @brief Process the Fake Segments from the string. + * @param out the TimingData being modified. + * @param line the string in question. + * @param rowsPerBeat the number of rows per beat for this purpose. */ + virtual void ProcessFakes(TimingData & out, + const RString line, + const int rowsPerBeat = -1); + virtual void ProcessBGChanges( Song &out, const RString &sValueName, const RString &sPath, const RString &sParam ); void ProcessAttacks( Song &out, MsdFile::value_t sParams ); diff --git a/src/NotesLoaderSMA.cpp b/src/NotesLoaderSMA.cpp index f5b726626f..aa148933bc 100644 --- a/src/NotesLoaderSMA.cpp +++ b/src/NotesLoaderSMA.cpp @@ -142,35 +142,6 @@ void SMALoader::ProcessSpeeds( TimingData &out, const RString line, const int ro } } -void SMALoader::ProcessFakes( TimingData &out, const int iRowsPerBeat, const RString sParam ) -{ - vector arrayFakeExpressions; - split( sParam, ",", arrayFakeExpressions ); - - for( unsigned b=0; b arrayFakeValues; - split( arrayFakeExpressions[b], "=", arrayFakeValues ); - // XXX: Hard to tell which file caused this. - if( arrayFakeValues.size() != 2 ) - { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid #FAKES value \"%s\" (must have exactly one '='), ignored.", - arrayFakeExpressions[b].c_str() ); - continue; - } - - const float fBeat = RowToBeat( arrayFakeValues[0], iRowsPerBeat ); - const float fNewBeat = StringToFloat( arrayFakeValues[1] ); - - if(fNewBeat > 0) - out.AddFakeSegment( FakeSegment(fBeat, fNewBeat) ); - else - { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid Fake at beat %f, BPM %f.", fBeat, fNewBeat ); - } - } -} - bool SMALoader::LoadFromSMAFile( const RString &sPath, Song &out ) { LOG->Trace( "Song::LoadFromSMAFile(%s)", sPath.c_str() ); @@ -438,7 +409,7 @@ bool SMALoader::LoadFromSMAFile( const RString &sPath, Song &out ) { TimingData &timing = (state == SMA_GETTING_STEP_INFO ? pNewNotes->m_Timing : out.m_SongTiming); - ProcessFakes( timing, iRowsPerBeat, sParams[1] ); + ProcessFakes( timing, sParams[1], iRowsPerBeat ); } else if( sValueName=="METERTYPE" ) diff --git a/src/NotesLoaderSMA.h b/src/NotesLoaderSMA.h index a38a07752f..223b489571 100644 --- a/src/NotesLoaderSMA.h +++ b/src/NotesLoaderSMA.h @@ -31,7 +31,6 @@ struct SMALoader : public SMLoader void ProcessBeatsPerMeasure( TimingData &out, const RString sParam ); void ProcessMultipliers( TimingData &out, const int iRowsPerBeat, const RString sParam ); virtual void ProcessSpeeds( TimingData &out, const RString line, const int rowsPerBeat ); - void ProcessFakes( TimingData &out, const int iRowsPerBeat, const RString sParam ); }; #endif diff --git a/src/NotesLoaderSSC.cpp b/src/NotesLoaderSSC.cpp index 1482054bb9..f4bce60d21 100644 --- a/src/NotesLoaderSSC.cpp +++ b/src/NotesLoaderSSC.cpp @@ -149,35 +149,6 @@ void SSCLoader::ProcessScrolls( TimingData &out, const RString sParam ) } } -void SSCLoader::ProcessFakes( TimingData &out, const RString sParam ) -{ - vector arrayFakeExpressions; - split( sParam, ",", arrayFakeExpressions ); - - for( unsigned b=0; b arrayFakeValues; - split( arrayFakeExpressions[b], "=", arrayFakeValues ); - // XXX: Hard to tell which file caused this. - if( arrayFakeValues.size() != 2 ) - { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid #FAKES value \"%s\" (must have exactly one '='), ignored.", - arrayFakeExpressions[b].c_str() ); - continue; - } - - const float fBeat = StringToFloat( arrayFakeValues[0] ); - const float fNewBeat = StringToFloat( arrayFakeValues[1] ); - - if(fNewBeat > 0) - out.AddFakeSegment( FakeSegment(fBeat, fNewBeat) ); - else - { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid Fake at beat %f, BPM %f.", fBeat, fNewBeat ); - } - } -} - bool SSCLoader::LoadFromSSCFile( const RString &sPath, Song &out, bool bFromCache ) { diff --git a/src/NotesLoaderSSC.h b/src/NotesLoaderSSC.h index 29cf560458..88fc17842a 100644 --- a/src/NotesLoaderSSC.h +++ b/src/NotesLoaderSSC.h @@ -76,7 +76,6 @@ struct SSCLoader : public SMLoader void ProcessLabels( TimingData &, const RString ); virtual void ProcessCombos( TimingData &, const RString, const int = -1 ); void ProcessScrolls( TimingData &, const RString ); - void ProcessFakes( TimingData &, const RString ); }; #endif From 68fd21fdc8159a973c1a5ee533f0d5a3b9b5d2f5 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Thu, 9 Jun 2011 15:14:47 -0400 Subject: [PATCH 056/530] [notesloader] More cleanup. Need to test something in gameplay before continuing. --- src/NotesLoaderSM.cpp | 10 ---------- src/NotesLoaderSM.h | 7 ++++++- src/NotesLoaderSMA.h | 12 +++++++++++- src/NotesLoaderSSC.cpp | 3 +-- src/NotesLoaderSSC.h | 2 +- 5 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index 859ff6951e..e75e1c5998 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -25,19 +25,9 @@ bool SMLoader::LoadFromDir( const RString &sPath, Song &out ) { LOG->UserLog( "Song", sPath, "has more than one SM file. There can be only one (unless you are using TougaKiryuu's AnimeMix files somehow, which assume a different version of StepMania)!" ); return false; - /* - for( unsigned i=0; i= 1 ); return LoadFromSMFile( sPath + aFileNames[0], out ); diff --git a/src/NotesLoaderSM.h b/src/NotesLoaderSM.h index 0a85448022..4a1f3bc7c0 100644 --- a/src/NotesLoaderSM.h +++ b/src/NotesLoaderSM.h @@ -29,7 +29,12 @@ struct SMLoader virtual void TidyUpData( Song &song, bool bFromCache ); bool LoadFromSMFile( const RString &sPath, Song &out, bool bFromCache = false ); - void GetApplicableFiles( const RString &sPath, vector &out ); + /** + * @brief Retrieve the list of .sm files. + * @param sPath a const reference to the path on the hard drive to check. + * @param out a vector of files found in the path. + */ + virtual void GetApplicableFiles( const RString &sPath, vector &out ); virtual bool LoadEditFromFile( RString sEditFilePath, ProfileSlot slot, bool bAddStepsToSong ); virtual bool LoadEditFromBuffer( const RString &sBuffer, const RString &sEditFilePath, ProfileSlot slot ); virtual bool LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath, ProfileSlot slot, bool bAddStepsToSong ); diff --git a/src/NotesLoaderSMA.h b/src/NotesLoaderSMA.h index 223b489571..040b1e9d38 100644 --- a/src/NotesLoaderSMA.h +++ b/src/NotesLoaderSMA.h @@ -26,10 +26,20 @@ struct SMALoader : public SMLoader bool LoadFromDir( const RString &sPath, Song &out ); bool LoadFromSMAFile( const RString &sPath, Song &out ); - void GetApplicableFiles( const RString &sPath, vector &out ); + /** + * @brief Retrieve the list of .sma files. + * @param sPath a const reference to the path on the hard drive to check. + * @param out a vector of files found in the path. + */ + virtual void GetApplicableFiles( const RString &sPath, vector &out ); void ProcessBeatsPerMeasure( TimingData &out, const RString sParam ); void ProcessMultipliers( TimingData &out, const int iRowsPerBeat, const RString sParam ); + /** + * @brief Process the Speed Segments from the string. + * @param out the TimingData being modified. + * @param line the string in question. + * @param rowsPerBeat the number of rows per beat for this purpose. */ virtual void ProcessSpeeds( TimingData &out, const RString line, const int rowsPerBeat ); }; diff --git a/src/NotesLoaderSSC.cpp b/src/NotesLoaderSSC.cpp index f4bce60d21..b5644b8243 100644 --- a/src/NotesLoaderSSC.cpp +++ b/src/NotesLoaderSSC.cpp @@ -30,8 +30,7 @@ bool SSCLoader::LoadFromDir( const RString &sPath, Song &out ) return false; } - ASSERT( aFileNames.size() == 1 ); // Ensure one was found entirely. - + ASSERT( aFileNames.size() == 1 ); return LoadFromSSCFile( sPath + aFileNames[0], out ); } diff --git a/src/NotesLoaderSSC.h b/src/NotesLoaderSSC.h index 88fc17842a..7a5cd3f172 100644 --- a/src/NotesLoaderSSC.h +++ b/src/NotesLoaderSSC.h @@ -52,7 +52,7 @@ struct SSCLoader : public SMLoader * @param sPath a const reference to the path on the hard drive to check. * @param out a vector of files found in the path. */ - void GetApplicableFiles( const RString &sPath, vector &out ); + virtual void GetApplicableFiles( const RString &sPath, vector &out ); /** * @brief Attempt to load an edit from the hard drive. * @param sEditFilePath a path on the hard drive to check. From 21ca14d5898a4c772de37b6a4dfd7c103adf8c6d Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Thu, 9 Jun 2011 18:12:38 -0400 Subject: [PATCH 057/530] Fix F11/F12 split timing sync adjuster. --- Docs/Changelog_sm5.txt | 4 ++++ src/ScreenSyncOverlay.cpp | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 0739778269..cce227e55d 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,10 @@ ________________________________________________________________________________ StepMania 5.0 Preview 2 | 20110??? -------------------------------------------------------------------------------- +2011/06/09 +* [ScreenSyncOverlay] Ensure that F11 / F12 work with all charts due to Split + Timing. [Wolfman2000] + 2011/06/08 ---------- * Any notes in a fake segment or warp segment are completely ignored for diff --git a/src/ScreenSyncOverlay.cpp b/src/ScreenSyncOverlay.cpp index 3596c91e70..e91cf6569d 100644 --- a/src/ScreenSyncOverlay.cpp +++ b/src/ScreenSyncOverlay.cpp @@ -253,7 +253,14 @@ bool ScreenSyncOverlay::OverlayInput( const InputEventPlus &input ) case ChangeSongOffset: if( GAMESTATE->m_pCurSong != NULL ) + { GAMESTATE->m_pCurSong->m_SongTiming.m_fBeat0OffsetInSeconds += fDelta; + const vector& vpSteps = GAMESTATE->m_pCurSong->GetAllSteps(); + FOREACH( Steps*, const_cast&>(vpSteps), s ) + { + (*s)->m_Timing.m_fBeat0OffsetInSeconds += fDelta; + } + } break; } } From 11dfc1dd8baa9760f0c9206f56bbe6da9c563d97 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Thu, 9 Jun 2011 18:16:23 -0400 Subject: [PATCH 058/530] Deprecate Lua's HasNegativeBPMs(). Use HasWarps() instead. Hmm...is there a way to mark the XML with a deprecated tag? --- src/TimingData.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/TimingData.cpp b/src/TimingData.cpp index 1e57e455ac..f65c00122e 100644 --- a/src/TimingData.cpp +++ b/src/TimingData.cpp @@ -1746,7 +1746,7 @@ public: LuaHelpers::CreateTableFromArray(fBPMs, L); return 1; } - static int HasNegativeBPMs( T* p, lua_State *L ) { lua_pushboolean(L, p->m_bHasNegativeBpms); return 1; } + static int HasNegativeBPMs( T* p, lua_State *L ) { lua_pushboolean(L, p->HasWarps()); return 1; } // formerly in Song.cpp in sm-ssc private beta 1.x: static int GetBPMAtBeat( T* p, lua_State *L ) { lua_pushnumber(L, p->GetBPMAtBeat(FArg(1))); return 1; } static int GetBeatFromElapsedTime( T* p, lua_State *L ) { lua_pushnumber(L, p->GetBeatFromElapsedTime(FArg(1))); return 1; } From 1e296ed0bf27fcd37ca99ff7d9282e701a5ec85c Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Thu, 9 Jun 2011 21:27:47 -0400 Subject: [PATCH 059/530] [notesloader] More virtuals. --- src/GameSoundManager.cpp | 4 ++-- src/NotesLoaderSM.cpp | 4 ++-- src/NotesLoaderSM.h | 9 ++++++++- src/NotesLoaderSMA.cpp | 4 ++-- src/NotesLoaderSMA.h | 2 +- src/NotesLoaderSSC.cpp | 4 ++-- src/NotesLoaderSSC.h | 2 +- src/ScreenGameplaySyncMachine.cpp | 4 ++-- src/ScreenHowToPlay.cpp | 4 ++-- src/Song.cpp | 4 ++-- src/Steps.cpp | 4 ++-- 11 files changed, 26 insertions(+), 19 deletions(-) diff --git a/src/GameSoundManager.cpp b/src/GameSoundManager.cpp index 8b878c50ef..27933d5d82 100644 --- a/src/GameSoundManager.cpp +++ b/src/GameSoundManager.cpp @@ -145,7 +145,7 @@ static void StartMusic( MusicToPlay &ToPlay ) SSCLoader loaderSSC; SMLoader loaderSM; if(GetExtension(ToPlay.m_sTimingFile) == ".ssc" && - loaderSSC.LoadFromSSCFile(ToPlay.m_sTimingFile, song) ) + loaderSSC.LoadFromSimfile(ToPlay.m_sTimingFile, song) ) { ToPlay.HasTiming = true; ToPlay.m_TimingData = song.m_SongTiming; @@ -155,7 +155,7 @@ static void StartMusic( MusicToPlay &ToPlay ) pStepsCabinetLights->GetNoteData( ToPlay.m_LightsData ); } else if(GetExtension(ToPlay.m_sTimingFile) == ".sm" && - loaderSM.LoadFromSMFile(ToPlay.m_sTimingFile, song) ) + loaderSM.LoadFromSimfile(ToPlay.m_sTimingFile, song) ) { ToPlay.HasTiming = true; ToPlay.m_TimingData = song.m_SongTiming; diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index e75e1c5998..4e1b073a9b 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -30,7 +30,7 @@ bool SMLoader::LoadFromDir( const RString &sPath, Song &out ) ASSERT( aFileNames.size() == 1 ); //ASSERT( aFileNames.size() >= 1 ); - return LoadFromSMFile( sPath + aFileNames[0], out ); + return LoadFromSimfile( sPath + aFileNames[0], out ); } float SMLoader::RowToBeat( RString line, const int rowsPerBeat ) @@ -598,7 +598,7 @@ bool SMLoader::LoadFromBGChangesString( BackgroundChange &change, const RString return aBGChangeValues.size() >= 2; } -bool SMLoader::LoadFromSMFile( const RString &sPath, Song &out, bool bFromCache ) +bool SMLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache ) { LOG->Trace( "Song::LoadFromSMFile(%s)", sPath.c_str() ); diff --git a/src/NotesLoaderSM.h b/src/NotesLoaderSM.h index 4a1f3bc7c0..f2c964a43a 100644 --- a/src/NotesLoaderSM.h +++ b/src/NotesLoaderSM.h @@ -28,7 +28,14 @@ struct SMLoader */ virtual void TidyUpData( Song &song, bool bFromCache ); - bool LoadFromSMFile( const RString &sPath, Song &out, bool bFromCache = false ); + /** + * @brief Attempt to load the specified sm file. + * @param sPath a const reference to the path on the hard drive to check. + * @param out a reference to the Song that will retrieve the song information. + * @param bFromCache a check to see if we are getting certain information from the cache file. + * @return its success or failure. + */ + virtual bool LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache = false ); /** * @brief Retrieve the list of .sm files. * @param sPath a const reference to the path on the hard drive to check. diff --git a/src/NotesLoaderSMA.cpp b/src/NotesLoaderSMA.cpp index aa148933bc..a52c7db68b 100644 --- a/src/NotesLoaderSMA.cpp +++ b/src/NotesLoaderSMA.cpp @@ -30,7 +30,7 @@ bool SMALoader::LoadFromDir( const RString &sPath, Song &out ) return false; } ASSERT( aFileNames.size() == 1 ); - return LoadFromSMAFile( sPath + aFileNames[0], out ); + return LoadFromSimfile( sPath + aFileNames[0], out ); } void SMALoader::ProcessMultipliers( TimingData &out, const int iRowsPerBeat, const RString sParam ) @@ -142,7 +142,7 @@ void SMALoader::ProcessSpeeds( TimingData &out, const RString line, const int ro } } -bool SMALoader::LoadFromSMAFile( const RString &sPath, Song &out ) +bool SMALoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache ) { LOG->Trace( "Song::LoadFromSMAFile(%s)", sPath.c_str() ); diff --git a/src/NotesLoaderSMA.h b/src/NotesLoaderSMA.h index 040b1e9d38..71d307642b 100644 --- a/src/NotesLoaderSMA.h +++ b/src/NotesLoaderSMA.h @@ -25,7 +25,7 @@ struct SMALoader : public SMLoader { bool LoadFromDir( const RString &sPath, Song &out ); - bool LoadFromSMAFile( const RString &sPath, Song &out ); + virtual bool LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache = false ); /** * @brief Retrieve the list of .sma files. * @param sPath a const reference to the path on the hard drive to check. diff --git a/src/NotesLoaderSSC.cpp b/src/NotesLoaderSSC.cpp index b5644b8243..ddac4631fe 100644 --- a/src/NotesLoaderSSC.cpp +++ b/src/NotesLoaderSSC.cpp @@ -31,7 +31,7 @@ bool SSCLoader::LoadFromDir( const RString &sPath, Song &out ) } ASSERT( aFileNames.size() == 1 ); - return LoadFromSSCFile( sPath + aFileNames[0], out ); + return LoadFromSimfile( sPath + aFileNames[0], out ); } void SSCLoader::ProcessWarps( TimingData &out, const RString sParam, const float fVersion ) @@ -149,7 +149,7 @@ void SSCLoader::ProcessScrolls( TimingData &out, const RString sParam ) } -bool SSCLoader::LoadFromSSCFile( const RString &sPath, Song &out, bool bFromCache ) +bool SSCLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache ) { LOG->Trace( "Song::LoadFromSSCFile(%s)", sPath.c_str() ); diff --git a/src/NotesLoaderSSC.h b/src/NotesLoaderSSC.h index 7a5cd3f172..e535f8ac48 100644 --- a/src/NotesLoaderSSC.h +++ b/src/NotesLoaderSSC.h @@ -46,7 +46,7 @@ struct SSCLoader : public SMLoader * @param bFromCache a check to see if we are getting certain information from the cache file. * @return its success or failure. */ - bool LoadFromSSCFile( const RString &sPath, Song &out, bool bFromCache = false ); + virtual bool LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache = false ); /** * @brief Retrieve the list of .ssc files. * @param sPath a const reference to the path on the hard drive to check. diff --git a/src/ScreenGameplaySyncMachine.cpp b/src/ScreenGameplaySyncMachine.cpp index f1202c3c13..3f72cd1976 100644 --- a/src/ScreenGameplaySyncMachine.cpp +++ b/src/ScreenGameplaySyncMachine.cpp @@ -24,9 +24,9 @@ void ScreenGameplaySyncMachine::Init() SSCLoader loaderSSC; SMLoader loaderSM; if(sFile.Right(4) == ".ssc") - loaderSSC.LoadFromSSCFile( sFile, m_Song ); + loaderSSC.LoadFromSimfile( sFile, m_Song ); else - loaderSM.LoadFromSMFile( sFile, m_Song ); + loaderSM.LoadFromSimfile( sFile, m_Song ); m_Song.SetSongDir( Dirname(sFile) ); m_Song.TidyUpData(); diff --git a/src/ScreenHowToPlay.cpp b/src/ScreenHowToPlay.cpp index 64ce65815c..bb5e021db2 100644 --- a/src/ScreenHowToPlay.cpp +++ b/src/ScreenHowToPlay.cpp @@ -138,9 +138,9 @@ void ScreenHowToPlay::Init() SSCLoader loaderSSC; SMLoader loaderSM; if( sStepsPath.Right(4) == ".ssc" ) - loaderSSC.LoadFromSSCFile( sStepsPath, m_Song, false ); + loaderSSC.LoadFromSimfile( sStepsPath, m_Song, false ); else - loaderSM.LoadFromSMFile( sStepsPath, m_Song, false ); + loaderSM.LoadFromSimfile( sStepsPath, m_Song, false ); m_Song.AddAutoGenNotes(); const Style* pStyle = GAMESTATE->GetCurrentStyle(); diff --git a/src/Song.cpp b/src/Song.cpp index d547a02e47..5bb35928f5 100644 --- a/src/Song.cpp +++ b/src/Song.cpp @@ -236,12 +236,12 @@ bool Song::LoadFromSongDir( RString sDir ) { // LOG->Trace( "Loading '%s' from cache file '%s'.", m_sSongDir.c_str(), GetCacheFilePath().c_str() ); SSCLoader loaderSSC; - bool bLoadedFromSSC = loaderSSC.LoadFromSSCFile( sCacheFilePath, *this, true ); + bool bLoadedFromSSC = loaderSSC.LoadFromSimfile( sCacheFilePath, *this, true ); if( !bLoadedFromSSC ) { // load from .sm SMLoader loaderSM; - loaderSM.LoadFromSMFile( sCacheFilePath, *this, true ); + loaderSM.LoadFromSimfile( sCacheFilePath, *this, true ); loaderSM.TidyUpData( *this, true ); } } diff --git a/src/Steps.cpp b/src/Steps.cpp index e78bed9c3f..ee7a27c98f 100644 --- a/src/Steps.cpp +++ b/src/Steps.cpp @@ -243,12 +243,12 @@ void Steps::Decompress() const // We have data on disk and not in memory. Load it. Song s; SSCLoader loaderSSC; - bool bLoadedFromSSC = loaderSSC.LoadFromSSCFile(m_sFilename, s, true); + bool bLoadedFromSSC = loaderSSC.LoadFromSimfile(m_sFilename, s, true); if( !bLoadedFromSSC ) { // try reading from .sm instead SMLoader loaderSM; - if( !loaderSM.LoadFromSMFile(m_sFilename, s, true) ) + if( !loaderSM.LoadFromSimfile(m_sFilename, s, true) ) { LOG->Warn( "Couldn't load \"%s\"", m_sFilename.c_str() ); return; From 1ec548442d833469d76ef83d83e1051211526b94 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Thu, 9 Jun 2011 21:34:04 -0400 Subject: [PATCH 060/530] [notesloader] Take advantage of const members. --- src/NotesLoaderSM.h | 13 +++++++++++++ src/NotesLoaderSMA.h | 1 + src/NotesLoaderSSC.h | 2 ++ 3 files changed, 16 insertions(+) diff --git a/src/NotesLoaderSM.h b/src/NotesLoaderSM.h index f2c964a43a..168b7e411f 100644 --- a/src/NotesLoaderSM.h +++ b/src/NotesLoaderSM.h @@ -18,6 +18,10 @@ const float FAST_BPM_WARP = 9999999.f; /** @brief Reads a Song from an .SM file. */ struct SMLoader { + SMLoader() : fileExt(".sm") {} + + SMLoader(RString ext) : fileExt(ext) {} + virtual ~SMLoader() {} bool LoadFromDir( const RString &sPath, Song &out ); @@ -143,6 +147,15 @@ protected: RString sRadarValues, RString sNoteData, Steps &out); + + /** + * @brief Retrieve the file extension associated with this loader. + * @return the file extension. */ + RString GetFileExtension() const { return fileExt; } + +private: + /** @brief The file extension in use. */ + const RString fileExt; }; #endif diff --git a/src/NotesLoaderSMA.h b/src/NotesLoaderSMA.h index 71d307642b..dad853fa19 100644 --- a/src/NotesLoaderSMA.h +++ b/src/NotesLoaderSMA.h @@ -23,6 +23,7 @@ enum SMALoadingStates /** @brief Reads a Song from a .SMA file. */ struct SMALoader : public SMLoader { + SMALoader() : SMLoader(".sma") {} bool LoadFromDir( const RString &sPath, Song &out ); virtual bool LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache = false ); diff --git a/src/NotesLoaderSSC.h b/src/NotesLoaderSSC.h index e535f8ac48..e400b94bb7 100644 --- a/src/NotesLoaderSSC.h +++ b/src/NotesLoaderSSC.h @@ -32,6 +32,8 @@ const float VERSION_SPLIT_TIMING = 0.7f; */ struct SSCLoader : public SMLoader { + SSCLoader() : SMLoader(".ssc") {} + /** * @brief Attempt to load a song from a specified path. * @param sPath a const reference to the path on the hard drive to check. From bb642827a8fd6bde6a9367af0bcc56bc9c326815 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Thu, 9 Jun 2011 21:41:56 -0400 Subject: [PATCH 061/530] [notesloader] More abstracting. --- src/NotesLoaderSM.cpp | 9 +++------ src/NotesLoaderSM.h | 11 ++++++++++- src/NotesLoaderSMA.cpp | 19 ------------------- src/NotesLoaderSMA.h | 1 - src/NotesLoaderSSC.cpp | 20 -------------------- src/NotesLoaderSSC.h | 7 ------- 6 files changed, 13 insertions(+), 54 deletions(-) diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index 4e1b073a9b..5e5ae1292a 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -13,9 +13,6 @@ #include "Attack.h" #include "PrefsManager.h" -/** @brief The maximum file size for edits. */ -const int MAX_EDIT_STEPS_SIZE_BYTES = 60*1024; // 60KB - bool SMLoader::LoadFromDir( const RString &sPath, Song &out ) { vector aFileNames; @@ -23,13 +20,13 @@ bool SMLoader::LoadFromDir( const RString &sPath, Song &out ) if( aFileNames.size() > 1 ) { - LOG->UserLog( "Song", sPath, "has more than one SM file. There can be only one (unless you are using TougaKiryuu's AnimeMix files somehow, which assume a different version of StepMania)!" ); + // Need to break this up first. + RString tmp = "Song " + sPath + " has more than one"; + LOG->UserLog(tmp, this->GetFileExtension(), "file. There can only be one!"); return false; } ASSERT( aFileNames.size() == 1 ); - //ASSERT( aFileNames.size() >= 1 ); - return LoadFromSimfile( sPath + aFileNames[0], out ); } diff --git a/src/NotesLoaderSM.h b/src/NotesLoaderSM.h index 168b7e411f..0e03988b58 100644 --- a/src/NotesLoaderSM.h +++ b/src/NotesLoaderSM.h @@ -15,6 +15,9 @@ class TimingData; * This was brought in from StepMania 4's recent betas. */ const float FAST_BPM_WARP = 9999999.f; +/** @brief The maximum file size for edits. */ +const int MAX_EDIT_STEPS_SIZE_BYTES = 60*1024; // 60KB + /** @brief Reads a Song from an .SM file. */ struct SMLoader { @@ -24,7 +27,13 @@ struct SMLoader virtual ~SMLoader() {} - bool LoadFromDir( const RString &sPath, Song &out ); + /** + * @brief Attempt to load a song from a specified path. + * @param sPath a const reference to the path on the hard drive to check. + * @param out a reference to the Song that will retrieve the song information. + * @return its success or failure. + */ + virtual bool LoadFromDir( const RString &sPath, Song &out ); /** * @brief Perform some cleanup on the loaded song. * @param song a reference to the song that may need cleaning up. diff --git a/src/NotesLoaderSMA.cpp b/src/NotesLoaderSMA.cpp index a52c7db68b..930f718ec6 100644 --- a/src/NotesLoaderSMA.cpp +++ b/src/NotesLoaderSMA.cpp @@ -14,25 +14,6 @@ #include "Steps.h" #include "Attack.h" -/** - * @brief A custom .edit file can only be so big before we have to reject it. - */ -const int MAX_EDIT_STEPS_SIZE_BYTES = 60*1024; // 60 KB - -bool SMALoader::LoadFromDir( const RString &sPath, Song &out ) -{ - vector aFileNames; - GetApplicableFiles( sPath, aFileNames ); - - if( aFileNames.size() > 1 ) - { - LOG->UserLog( "Song", sPath, "has more than one SMA file. Only one SMA file is allowed per song." ); - return false; - } - ASSERT( aFileNames.size() == 1 ); - return LoadFromSimfile( sPath + aFileNames[0], out ); -} - void SMALoader::ProcessMultipliers( TimingData &out, const int iRowsPerBeat, const RString sParam ) { vector arrayMultiplierExpressions; diff --git a/src/NotesLoaderSMA.h b/src/NotesLoaderSMA.h index dad853fa19..ecebd82676 100644 --- a/src/NotesLoaderSMA.h +++ b/src/NotesLoaderSMA.h @@ -24,7 +24,6 @@ enum SMALoadingStates struct SMALoader : public SMLoader { SMALoader() : SMLoader(".sma") {} - bool LoadFromDir( const RString &sPath, Song &out ); virtual bool LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache = false ); /** diff --git a/src/NotesLoaderSSC.cpp b/src/NotesLoaderSSC.cpp index ddac4631fe..6c32cc6c9e 100644 --- a/src/NotesLoaderSSC.cpp +++ b/src/NotesLoaderSSC.cpp @@ -14,26 +14,6 @@ #include "Attack.h" #include "PrefsManager.h" -/** - * @brief A custom .edit file can only be so big before we have to reject it. - */ -const int MAX_EDIT_STEPS_SIZE_BYTES = 60*1024; // 60 KB - -bool SSCLoader::LoadFromDir( const RString &sPath, Song &out ) -{ - vector aFileNames; - GetApplicableFiles( sPath, aFileNames ); - - if( aFileNames.size() > 1 ) - { - LOG->UserLog( "Song", sPath, "has more than one SSC file. Only one SSC file is allowed per song." ); - return false; - } - - ASSERT( aFileNames.size() == 1 ); - return LoadFromSimfile( sPath + aFileNames[0], out ); -} - void SSCLoader::ProcessWarps( TimingData &out, const RString sParam, const float fVersion ) { vector arrayWarpExpressions; diff --git a/src/NotesLoaderSSC.h b/src/NotesLoaderSSC.h index e400b94bb7..fc6332f731 100644 --- a/src/NotesLoaderSSC.h +++ b/src/NotesLoaderSSC.h @@ -34,13 +34,6 @@ struct SSCLoader : public SMLoader { SSCLoader() : SMLoader(".ssc") {} - /** - * @brief Attempt to load a song from a specified path. - * @param sPath a const reference to the path on the hard drive to check. - * @param out a reference to the Song that will retrieve the song information. - * @return its success or failure. - */ - bool LoadFromDir( const RString &sPath, Song &out ); /** * @brief Attempt to load the specified ssc file. * @param sPath a const reference to the path on the hard drive to check. From 4830ecc730c09941e46bd2e220ff202d9208ee28 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Thu, 9 Jun 2011 22:00:10 -0400 Subject: [PATCH 062/530] [notesreader] Ready to test again. --- src/NotesLoaderSM.cpp | 2 +- src/NotesLoaderSMA.cpp | 5 ----- src/NotesLoaderSMA.h | 7 +------ src/NotesLoaderSSC.cpp | 5 ----- src/NotesLoaderSSC.h | 7 +------ 5 files changed, 3 insertions(+), 23 deletions(-) diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index 5e5ae1292a..35562c1efd 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -956,7 +956,7 @@ bool SMLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath void SMLoader::GetApplicableFiles( const RString &sPath, vector &out ) { - GetDirListing( sPath + RString("*.sm"), out ); + GetDirListing( sPath + RString("*" + this->GetFileExtension() ), out ); } void SMLoader::TidyUpData( Song &song, bool bFromCache ) diff --git a/src/NotesLoaderSMA.cpp b/src/NotesLoaderSMA.cpp index 930f718ec6..44f6f5026f 100644 --- a/src/NotesLoaderSMA.cpp +++ b/src/NotesLoaderSMA.cpp @@ -438,11 +438,6 @@ bool SMALoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach return true; } -void SMALoader::GetApplicableFiles( const RString &sPath, vector &out ) -{ - GetDirListing( sPath + RString("*.sma"), out ); -} - /** * @file * @author Aldo Fregoso, Jason Felds (c) 2009-2011 diff --git a/src/NotesLoaderSMA.h b/src/NotesLoaderSMA.h index ecebd82676..f38acac470 100644 --- a/src/NotesLoaderSMA.h +++ b/src/NotesLoaderSMA.h @@ -26,12 +26,7 @@ struct SMALoader : public SMLoader SMALoader() : SMLoader(".sma") {} virtual bool LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache = false ); - /** - * @brief Retrieve the list of .sma files. - * @param sPath a const reference to the path on the hard drive to check. - * @param out a vector of files found in the path. - */ - virtual void GetApplicableFiles( const RString &sPath, vector &out ); + void ProcessBeatsPerMeasure( TimingData &out, const RString sParam ); void ProcessMultipliers( TimingData &out, const int iRowsPerBeat, const RString sParam ); diff --git a/src/NotesLoaderSSC.cpp b/src/NotesLoaderSSC.cpp index 6c32cc6c9e..3c13899ff7 100644 --- a/src/NotesLoaderSSC.cpp +++ b/src/NotesLoaderSSC.cpp @@ -557,11 +557,6 @@ bool SSCLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach return true; } -void SSCLoader::GetApplicableFiles( const RString &sPath, vector &out ) -{ - GetDirListing( sPath + RString("*.ssc"), out ); -} - bool SSCLoader::LoadEditFromFile( RString sEditFilePath, ProfileSlot slot, bool bAddStepsToSong ) { LOG->Trace( "SSCLoader::LoadEditFromFile(%s)", sEditFilePath.c_str() ); diff --git a/src/NotesLoaderSSC.h b/src/NotesLoaderSSC.h index fc6332f731..3031932841 100644 --- a/src/NotesLoaderSSC.h +++ b/src/NotesLoaderSSC.h @@ -42,12 +42,7 @@ struct SSCLoader : public SMLoader * @return its success or failure. */ virtual bool LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache = false ); - /** - * @brief Retrieve the list of .ssc files. - * @param sPath a const reference to the path on the hard drive to check. - * @param out a vector of files found in the path. - */ - virtual void GetApplicableFiles( const RString &sPath, vector &out ); + /** * @brief Attempt to load an edit from the hard drive. * @param sEditFilePath a path on the hard drive to check. From 61d935ba7011ecf6edd9fbf2f71dd2868b1ad7a9 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 10 Jun 2011 03:04:47 -0400 Subject: [PATCH 063/530] Split the Editor's Area menu into two menus. Use the "Enter" key for the old menu, and the "A" key for the Alter menu (requires having selected an area of notes). --- Docs/Changelog_sm5.txt | 8 + Themes/_fallback/Languages/en.ini | 3 +- Themes/_fallback/metrics.ini | 3 + src/ScreenEdit.cpp | 470 ++++++++++++++++-------------- src/ScreenEdit.h | 47 ++- 5 files changed, 307 insertions(+), 224 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index cce227e55d..3aff3dbb7f 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,7 +8,15 @@ ________________________________________________________________________________ StepMania 5.0 Preview 2 | 20110??? -------------------------------------------------------------------------------- +2011/06/10 +---------- +* [ScreenEdit] Split the Area Menu into the Area Menu and Alter Menu. Use the + "A" key to enter the Alter Menu when a selection of notes/rows are + highlighted. Use the Enter key to enter the old Area Menu for the options that + do not depend on selecting NoteData. [Wolfman2000] + 2011/06/09 +---------- * [ScreenSyncOverlay] Ensure that F11 / F12 work with all charts due to Split Timing. [Wolfman2000] diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 63c9701cc0..3b77e336c3 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -1257,7 +1257,7 @@ Enter a new min BPM.=Enter the minimum displayed BPM. Enter a new max BPM.=Enter the maximum displayed BPM. More than %d notes per measure is not allowed. This change has been reverted.=More than %d notes per measure is not allowed. This change has been reverted. No backgrounds available=No backgrounds available -EditHelpText=Up/Down:\n change beat\nLeft/Right:\n change snap\nNumber keys:\n add/remove\n tap note\nN and M keys:\n swap tap notes\nCreate hold note:\n Hold a number\n while moving\n Up or Down\nCreate roll note:\n Hold Shift,\n then create a\n hold note.\nSpace bar:\n Set area\n marker\nT key:\n Switch Timing\nEnter:\n Area Menu\nEscape:\n Main Menu\nF4:\n Timing Menu\nF1:\n Show help\n +EditHelpText=Up/Down:\n change beat\nLeft/Right:\n change snap\nNumber keys:\n add/remove\n tap note\nN and M keys:\n swap tap notes\nCreate hold note:\n Hold a number\n while moving\n Up or Down\nCreate roll note:\n Hold Shift,\n then create a\n hold note.\nSpace bar:\n Set area\n marker\nT key:\n Switch Timing\nEnter:\n Area Menu\nA Key: Alter Menu\nEscape:\n Main Menu\nF4:\n Timing Menu\nF1:\n Show help\n PlayRecordHelpText=Press START to end Save successful.=Save successful. Saved as SM and DWI.=Saved as SM and DWI. @@ -1269,6 +1269,7 @@ This change creates notes past the end of the music and is not allowed.=This cha This will destroy all unsaved changes.=This will destroy all unsaved changes. Undo=Undo You must be in Song Timing Mode to edit BG Changes.=You must be in Song Timing Mode to edit BG Changes. +You must have an area selected to enter the Alter Menu.=You must have an area selected to enter the Alter Menu. Current beat=Current beat Current second=Current second diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 18712e9a16..e504462b0e 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -3752,6 +3752,9 @@ TitleX=SCREEN_CENTER_X-80 [ScreenMiniMenuAreaMenu] Fallback="ScreenMiniMenu" +[ScreenMiniMenuAlterMenu] +Fallback="ScreenMiniMenu" + [ScreenMiniMenuStepsInformation] Fallback="ScreenMiniMenu" diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index e0c805a5ad..340545e112 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -61,6 +61,7 @@ const float RECORD_HOLD_SECONDS = 0.3f; AutoScreenMessage( SM_UpdateTextInfo ); AutoScreenMessage( SM_BackFromMainMenu ); AutoScreenMessage( SM_BackFromAreaMenu ); +AutoScreenMessage( SM_BackFromAlterMenu ); AutoScreenMessage( SM_BackFromStepsInformation ); AutoScreenMessage( SM_BackFromOptions ); AutoScreenMessage( SM_BackFromSongInformation ); @@ -170,6 +171,7 @@ void ScreenEdit::InitEditMappings() m_EditMappingsMenuButton.button [EDIT_BUTTON_OPEN_EDIT_MENU][0] = GAME_BUTTON_START; m_EditMappingsMenuButton.button [EDIT_BUTTON_OPEN_EDIT_MENU][1] = GAME_BUTTON_BACK; + // Escape, Enter = exit play/record m_PlayMappingsDeviceInput.button [EDIT_BUTTON_RETURN_TO_EDIT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_ENTER); m_PlayMappingsDeviceInput.button [EDIT_BUTTON_RETURN_TO_EDIT][1] = DeviceInput(DEVICE_KEYBOARD, KEY_ESC); @@ -280,6 +282,7 @@ void ScreenEdit::InitEditMappings() m_EditMappingsMenuButton.button[EDIT_BUTTON_OPEN_EDIT_MENU][0] = GAME_BUTTON_START; m_EditMappingsMenuButton.button[EDIT_BUTTON_OPEN_EDIT_MENU][1] = GAME_BUTTON_BACK; m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_AREA_MENU][0] = DeviceInput(DEVICE_KEYBOARD, KEY_ENTER); + m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_ALTER_MENU][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Ca); m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_INPUT_HELP][0] = DeviceInput(DEVICE_KEYBOARD, KEY_F1); m_EditMappingsDeviceInput.button[EDIT_BUTTON_BAKE_RANDOM_FROM_SONG_GROUP][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cb); @@ -505,26 +508,48 @@ static MenuDef g_MainMenu( MenuRowDef( ScreenEdit::exit, "Exit Edit Mode", true, EditMode_Practice, true, true, 0, NULL ) ); +static MenuDef g_AlterMenu( + "ScreenMiniMenuAlterMenu", + MenuRowDef(ScreenEdit::cut, "Cut", true, + EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::copy, "Copy", true, + EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::clear, "Clear area", true, + EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::quantize, "Quantize", true, + EditMode_Practice, true, true, 0, + "4th","8th","12th","16th","24th","32nd","48th","64th","192nd"), + MenuRowDef(ScreenEdit::turn, "Turn", true, + EditMode_Practice, true, true, 0, "Left","Right","Mirror","Shuffle","SuperShuffle" ), + MenuRowDef(ScreenEdit::transform, "Transform", true, + EditMode_Practice, true, true, 0, "NoHolds","NoMines","Little","Wide", + "Big","Quick","Skippy","Mines","Echo","Stomp","Planted","Floored", + "Twister","NoJumps","NoHands","NoQuads","NoStretch" ), + MenuRowDef(ScreenEdit::alter, "Alter", true, + EditMode_Practice, true, true, 0, "Autogen To Fill Width","Backwards","Swap Sides", + "Copy Left To Right","Copy Right To Left","Clear Left","Clear Right", + "Collapse To One","Collapse Left","Shift Left","Shift Right" ), + MenuRowDef(ScreenEdit::tempo, "Tempo", true, + EditMode_Full, true, true, 0, "Compress 2x","Compress 3->2", + "Compress 4->3","Expand 3->4","Expand 2->3","Expand 2x" ), + MenuRowDef(ScreenEdit::play, "Play selection", true, + EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::record, "Record in selection", true, + EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::convert_to_pause, "Convert selection to pause", true, + EditMode_Full, true, true, 0, NULL ) +); + static MenuDef g_AreaMenu( "ScreenMiniMenuAreaMenu", - MenuRowDef( ScreenEdit::cut, "Cut", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::copy, "Copy", true, EditMode_Practice, true, true, 0, NULL ), MenuRowDef( ScreenEdit::paste_at_current_beat, "Paste at current beat", true, EditMode_Practice, true, true, 0, NULL ), MenuRowDef( ScreenEdit::paste_at_begin_marker, "Paste at begin marker", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::clear, "Clear area", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::quantize, "Quantize", true, EditMode_Practice, true, true, 0, "4th","8th","12th","16th","24th","32nd","48th","64th","192nd"), - MenuRowDef( ScreenEdit::turn, "Turn", true, EditMode_Practice, true, true, 0, "Left","Right","Mirror","Shuffle","SuperShuffle" ), - MenuRowDef( ScreenEdit::transform, "Transform", true, EditMode_Practice, true, true, 0, "NoHolds","NoMines","Little","Wide","Big","Quick","Skippy","Mines","Echo","Stomp","Planted","Floored","Twister","NoJumps","NoHands","NoQuads","NoStretch" ), - MenuRowDef( ScreenEdit::alter, "Alter", true, EditMode_Practice, true, true, 0, "Autogen To Fill Width","Backwards","Swap Sides","Copy Left To Right","Copy Right To Left","Clear Left","Clear Right","Collapse To One","Collapse Left","Shift Left","Shift Right" ), - MenuRowDef( ScreenEdit::tempo, "Tempo", true, EditMode_Full, true, true, 0, "Compress 2x","Compress 3->2","Compress 4->3","Expand 3->4","Expand 2->3","Expand 2x" ), - MenuRowDef( ScreenEdit::play, "Play selection", true, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::record, "Record in selection", true, EditMode_Practice, true, true, 0, NULL ), MenuRowDef( ScreenEdit::insert_and_shift, "Insert beat and shift down", true, EditMode_Practice, true, true, 0, NULL ), MenuRowDef( ScreenEdit::delete_and_shift, "Delete beat and shift up", true, EditMode_Practice, true, true, 0, NULL ), MenuRowDef( ScreenEdit::shift_pauses_forward, "Shift all timing changes down", true, EditMode_Full, true, true, 0, NULL ), MenuRowDef( ScreenEdit::shift_pauses_backward, "Shift all timing changes up", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::convert_to_pause, "Convert selection to pause", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::convert_pause_to_beat, "Convert pause to beats", true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::convert_pause_to_beat, "Convert pause to beats", true, + EditMode_Full, true, true, 0, NULL ), MenuRowDef( ScreenEdit::undo, "Undo", true, EditMode_Practice, true, true, 0, NULL ) ); @@ -1299,7 +1324,7 @@ static int FindAttackAtTime( const AttackArray& attacks, float fStartTime ) } static LocalizedString BG_CHANGE_STEP_TIMING ( "ScreenEdit", "You must be in Song Timing Mode to edit BG Changes." ); - +static LocalizedString ALTER_MENU_NO_SELECTION ( "ScreenEdit", "You must have an area selected to enter the Alter Menu." ); static LocalizedString SWITCHED_TO ( "ScreenEdit", "Switched to" ); static LocalizedString NO_BACKGROUNDS_AVAILABLE ( "ScreenEdit", "No backgrounds available" ); static ThemeMetric INVERT_SCROLL_BUTTONS ( "ScreenEdit", "InvertScrollSpeedButtons" ); @@ -1561,24 +1586,27 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) case EDIT_BUTTON_OPEN_AREA_MENU: { // update enabled/disabled in g_AreaMenu - bool bAreaSelected = m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1; - g_AreaMenu.rows[cut].bEnabled = bAreaSelected; - g_AreaMenu.rows[copy].bEnabled = bAreaSelected; g_AreaMenu.rows[paste_at_current_beat].bEnabled = !m_Clipboard.IsEmpty(); g_AreaMenu.rows[paste_at_begin_marker].bEnabled = !m_Clipboard.IsEmpty() != 0 && m_NoteFieldEdit.m_iBeginMarker!=-1; - g_AreaMenu.rows[clear].bEnabled = bAreaSelected; - g_AreaMenu.rows[quantize].bEnabled = bAreaSelected; - g_AreaMenu.rows[turn].bEnabled = bAreaSelected; - g_AreaMenu.rows[transform].bEnabled = bAreaSelected; - g_AreaMenu.rows[alter].bEnabled = bAreaSelected; - g_AreaMenu.rows[tempo].bEnabled = bAreaSelected; - g_AreaMenu.rows[play].bEnabled = bAreaSelected; - g_AreaMenu.rows[record].bEnabled = bAreaSelected; - g_AreaMenu.rows[convert_to_pause].bEnabled = bAreaSelected; g_AreaMenu.rows[undo].bEnabled = m_bHasUndo; EditMiniMenu( &g_AreaMenu, SM_BackFromAreaMenu ); } break; + case EDIT_BUTTON_OPEN_ALTER_MENU: + { + bool bAreaSelected = m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1; + if (!bAreaSelected) + { + SCREENMAN->SystemMessage( ALTER_MENU_NO_SELECTION ); + SCREENMAN->PlayInvalidSound(); + } + else + { + EditMiniMenu(&g_AlterMenu, SM_BackFromAlterMenu); + } + break; + + } case EDIT_BUTTON_OPEN_EDIT_MENU: EditMiniMenu( &g_MainMenu, SM_BackFromMainMenu ); break; @@ -2044,7 +2072,7 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) case EDIT_BUTTON_RECORD_SELECTION: if( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1 ) { - HandleAreaMenuChoice( record ); + HandleAlterMenuChoice( record ); } else { @@ -2644,6 +2672,10 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM ) { HandleAreaMenuChoice( (AreaMenuChoice)ScreenMiniMenu::s_iLastRowCode, ScreenMiniMenu::s_viLastAnswers ); } + else if( SM == SM_BackFromAlterMenu ) + { + HandleAlterMenuChoice( (AlterMenuChoice)ScreenMiniMenu::s_iLastRowCode, ScreenMiniMenu::s_viLastAnswers ); + } else if( SM == SM_BackFromStepsInformation ) { HandleStepsInformationChoice( (StepsInformationChoice)ScreenMiniMenu::s_iLastRowCode, ScreenMiniMenu::s_viLastAnswers ); @@ -3248,7 +3280,7 @@ void ScreenEdit::HandleMainMenuChoice( MainMenuChoice c, const vector &iAns DEFAULT_FAIL( c ); case play_selection: if( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1 ) - HandleAreaMenuChoice( play ); + HandleAlterMenuChoice( play ); else if( m_NoteFieldEdit.m_iBeginMarker!=-1 ) HandleMainMenuChoice( play_selection_start_to_end ); else @@ -3464,14 +3496,208 @@ void ScreenEdit::HandleMainMenuChoice( MainMenuChoice c, const vector &iAns GAMESTATE->SetProcessedTimingData(NULL); } +void ScreenEdit::HandleAlterMenuChoice(AlterMenuChoice c, const vector &iAnswers, bool bAllowUndo) +{ + bool bSaveUndo = true; + switch (c) + { + case cut: + case copy: + { + bSaveUndo = false; + } + default: + break; + } + + if( bSaveUndo ) + SetDirty( true ); + + /* We call HandleAreaMenuChoice recursively. Only the outermost + * HandleAreaMenuChoice should allow Undo so that the inner calls don't + * also save Undo and mess up the outermost */ + if( !bAllowUndo ) + bSaveUndo = false; + + if( bSaveUndo ) + SaveUndo(); + + switch(c) + { + case cut: + { + HandleAlterMenuChoice( copy ); + HandleAlterMenuChoice( clear ); + } + break; + case copy: + { + ASSERT( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1 ); + m_Clipboard.ClearAll(); + m_Clipboard.CopyRange( m_NoteDataEdit, m_NoteFieldEdit.m_iBeginMarker, m_NoteFieldEdit.m_iEndMarker ); + } + break; + case clear: + { + ASSERT( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1 ); + m_NoteDataEdit.ClearRange( m_NoteFieldEdit.m_iBeginMarker, m_NoteFieldEdit.m_iEndMarker ); + } + break; + case quantize: + { + NoteType nt = (NoteType)iAnswers[c]; + NoteDataUtil::SnapToNearestNoteType(m_NoteDataEdit, nt, nt, + m_NoteFieldEdit.m_iBeginMarker, + m_NoteFieldEdit.m_iEndMarker ); + break; + } + case turn: + { + const NoteData OldClipboard( m_Clipboard ); + HandleAlterMenuChoice( cut ); + + StepsType st = GAMESTATE->GetCurrentStyle()->m_StepsType; + TurnType tt = (TurnType)iAnswers[c]; + switch( tt ) + { + DEFAULT_FAIL( tt ); + case left: NoteDataUtil::Turn( m_Clipboard, st, NoteDataUtil::left ); break; + case right: NoteDataUtil::Turn( m_Clipboard, st, NoteDataUtil::right ); break; + case mirror: NoteDataUtil::Turn( m_Clipboard, st, NoteDataUtil::mirror ); break; + case shuffle: NoteDataUtil::Turn( m_Clipboard, st, NoteDataUtil::shuffle ); break; + case super_shuffle: NoteDataUtil::Turn( m_Clipboard, st, NoteDataUtil::super_shuffle ); break; + } + + HandleAreaMenuChoice( paste_at_begin_marker ); + m_Clipboard = OldClipboard; + } + break; + case transform: + { + int iBeginRow = m_NoteFieldEdit.m_iBeginMarker; + int iEndRow = m_NoteFieldEdit.m_iEndMarker; + TransformType tt = (TransformType)iAnswers[c]; + StepsType st = GAMESTATE->GetCurrentStyle()->m_StepsType; + + switch( tt ) + { + DEFAULT_FAIL( tt ); + case noholds: NoteDataUtil::RemoveHoldNotes( m_NoteDataEdit, iBeginRow, iEndRow ); break; + case nomines: NoteDataUtil::RemoveMines( m_NoteDataEdit, iBeginRow, iBeginRow ); break; + case little: NoteDataUtil::Little( m_NoteDataEdit, iBeginRow, iEndRow ); break; + case wide: NoteDataUtil::Wide( m_NoteDataEdit, iBeginRow, iEndRow ); break; + case big: NoteDataUtil::Big( m_NoteDataEdit, iBeginRow, iEndRow ); break; + case quick: NoteDataUtil::Quick( m_NoteDataEdit, iBeginRow, iEndRow ); break; + case skippy: NoteDataUtil::Skippy( m_NoteDataEdit, iBeginRow, iEndRow ); break; + case add_mines: NoteDataUtil::AddMines( m_NoteDataEdit, iBeginRow, iEndRow ); break; + case echo: NoteDataUtil::Echo( m_NoteDataEdit, iBeginRow, iEndRow ); break; + case stomp: NoteDataUtil::Stomp( m_NoteDataEdit, st, iBeginRow, iEndRow ); break; + case planted: NoteDataUtil::Planted( m_NoteDataEdit, iBeginRow, iEndRow ); break; + case floored: NoteDataUtil::Floored( m_NoteDataEdit, iBeginRow, iEndRow ); break; + case twister: NoteDataUtil::Twister( m_NoteDataEdit, iBeginRow, iEndRow ); break; + case nojumps: NoteDataUtil::RemoveJumps( m_NoteDataEdit, iBeginRow, iEndRow ); break; + case nohands: NoteDataUtil::RemoveHands( m_NoteDataEdit, iBeginRow, iEndRow ); break; + case noquads: NoteDataUtil::RemoveQuads( m_NoteDataEdit, iBeginRow, iEndRow ); break; + case nostretch: NoteDataUtil::RemoveStretch( m_NoteDataEdit, st, iBeginRow, iBeginRow );break; + } + + // bake in the additions + NoteDataUtil::ConvertAdditionsToRegular( m_NoteDataEdit ); + break; + } + case alter: + { + const NoteData OldClipboard( m_Clipboard ); + HandleAlterMenuChoice( cut ); + + AlterType at = (AlterType)iAnswers[c]; + switch( at ) + { + DEFAULT_FAIL( at ); + case autogen_to_fill_width: + { + NoteData temp( m_Clipboard ); + int iMaxNonEmptyTrack = NoteDataUtil::GetMaxNonEmptyTrack( temp ); + if( iMaxNonEmptyTrack == -1 ) + break; + temp.SetNumTracks( iMaxNonEmptyTrack+1 ); + NoteDataUtil::LoadTransformedSlidingWindow( temp, m_Clipboard, m_Clipboard.GetNumTracks() ); + NoteDataUtil::RemoveStretch( m_Clipboard, GAMESTATE->m_pCurSteps[0]->m_StepsType ); + } + break; + case backwards: NoteDataUtil::Backwards( m_Clipboard ); break; + case swap_sides: NoteDataUtil::SwapSides( m_Clipboard ); break; + case copy_left_to_right: NoteDataUtil::CopyLeftToRight( m_Clipboard ); break; + case copy_right_to_left: NoteDataUtil::CopyRightToLeft( m_Clipboard ); break; + case clear_left: NoteDataUtil::ClearLeft( m_Clipboard ); break; + case clear_right: NoteDataUtil::ClearRight( m_Clipboard ); break; + case collapse_to_one: NoteDataUtil::CollapseToOne( m_Clipboard ); break; + case collapse_left: NoteDataUtil::CollapseLeft( m_Clipboard ); break; + case shift_left: NoteDataUtil::ShiftLeft( m_Clipboard ); break; + case shift_right: NoteDataUtil::ShiftRight( m_Clipboard ); break; + } + + HandleAreaMenuChoice( paste_at_begin_marker ); + m_Clipboard = OldClipboard; + break; + } + case tempo: + { + // This affects all steps. + AlterType at = (AlterType)iAnswers[c]; + float fScale = -1; + + switch( at ) + { + DEFAULT_FAIL( at ); + case compress_2x: fScale = 0.5f; break; + case compress_3_2: fScale = 2.0f/3; break; + case compress_4_3: fScale = 0.75f; break; + case expand_4_3: fScale = 4.0f/3; break; + case expand_3_2: fScale = 1.5f; break; + case expand_2x: fScale = 2; break; + } + + int iStartIndex = m_NoteFieldEdit.m_iBeginMarker; + int iEndIndex = m_NoteFieldEdit.m_iEndMarker; + int iNewEndIndex = iEndIndex + lrintf( (iEndIndex - iStartIndex) * (fScale - 1) ); + + // scale currently editing notes + NoteDataUtil::ScaleRegion( m_NoteDataEdit, fScale, iStartIndex, iEndIndex ); + + // scale timing data + GetAppropriateTiming().ScaleRegion(fScale, + m_NoteFieldEdit.m_iBeginMarker, + m_NoteFieldEdit.m_iEndMarker, true ); + + m_NoteFieldEdit.m_iEndMarker = iNewEndIndex; + break; + + } + + case play: + ASSERT( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1 ); + m_iStartPlayingAt = m_NoteFieldEdit.m_iBeginMarker; + m_iStopPlayingAt = m_NoteFieldEdit.m_iEndMarker; + TransitionEditState( STATE_PLAYING ); + break; + case record: + ASSERT( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1 ); + m_iStartPlayingAt = m_NoteFieldEdit.m_iBeginMarker; + m_iStopPlayingAt = m_NoteFieldEdit.m_iEndMarker; + TransitionEditState( STATE_RECORDING ); + break; + + } + +} + void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector &iAnswers, bool bAllowUndo ) { bool bSaveUndo = false; switch( c ) { DEFAULT_FAIL( c ); - case cut: - case copy: case play: case record: case undo: @@ -3479,12 +3705,6 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector &iAns break; case paste_at_current_beat: case paste_at_begin_marker: - case clear: - case quantize: - case turn: - case transform: - case alter: - case tempo: case insert_and_shift: case delete_and_shift: case shift_pauses_forward: @@ -3510,19 +3730,7 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector &iAns switch( c ) { DEFAULT_FAIL( c ); - case cut: - { - HandleAreaMenuChoice( copy ); - HandleAreaMenuChoice( clear ); - } - break; - case copy: - { - ASSERT( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1 ); - m_Clipboard.ClearAll(); - m_Clipboard.CopyRange( m_NoteDataEdit, m_NoteFieldEdit.m_iBeginMarker, m_NoteFieldEdit.m_iEndMarker ); - } - break; + case paste_at_current_beat: case paste_at_begin_marker: { @@ -3543,172 +3751,6 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector &iAns m_NoteDataEdit.CopyRange( m_Clipboard, 0, iRowsToCopy, iDestFirstRow ); } break; - case clear: - { - ASSERT( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1 ); - m_NoteDataEdit.ClearRange( m_NoteFieldEdit.m_iBeginMarker, m_NoteFieldEdit.m_iEndMarker ); - } - break; - case quantize: - { - NoteType nt = (NoteType)iAnswers[c]; - NoteDataUtil::SnapToNearestNoteType( m_NoteDataEdit, nt, nt, m_NoteFieldEdit.m_iBeginMarker, m_NoteFieldEdit.m_iEndMarker ); - } - break; - case turn: - { - const NoteData OldClipboard( m_Clipboard ); - HandleAreaMenuChoice( cut ); - - StepsType st = GAMESTATE->GetCurrentStyle()->m_StepsType; - TurnType tt = (TurnType)iAnswers[c]; - switch( tt ) - { - DEFAULT_FAIL( tt ); - case left: NoteDataUtil::Turn( m_Clipboard, st, NoteDataUtil::left ); break; - case right: NoteDataUtil::Turn( m_Clipboard, st, NoteDataUtil::right ); break; - case mirror: NoteDataUtil::Turn( m_Clipboard, st, NoteDataUtil::mirror ); break; - case shuffle: NoteDataUtil::Turn( m_Clipboard, st, NoteDataUtil::shuffle ); break; - case super_shuffle: NoteDataUtil::Turn( m_Clipboard, st, NoteDataUtil::super_shuffle ); break; - } - - HandleAreaMenuChoice( paste_at_begin_marker ); - m_Clipboard = OldClipboard; - } - break; - case transform: - { - int iBeginRow = m_NoteFieldEdit.m_iBeginMarker; - int iEndRow = m_NoteFieldEdit.m_iEndMarker; - TransformType tt = (TransformType)iAnswers[c]; - StepsType st = GAMESTATE->GetCurrentStyle()->m_StepsType; - - switch( tt ) - { - DEFAULT_FAIL( tt ); - case noholds: NoteDataUtil::RemoveHoldNotes( m_NoteDataEdit, iBeginRow, iEndRow ); break; - case nomines: NoteDataUtil::RemoveMines( m_NoteDataEdit, iBeginRow, iBeginRow ); break; - case little: NoteDataUtil::Little( m_NoteDataEdit, iBeginRow, iEndRow ); break; - case wide: NoteDataUtil::Wide( m_NoteDataEdit, iBeginRow, iEndRow ); break; - case big: NoteDataUtil::Big( m_NoteDataEdit, iBeginRow, iEndRow ); break; - case quick: NoteDataUtil::Quick( m_NoteDataEdit, iBeginRow, iEndRow ); break; - case skippy: NoteDataUtil::Skippy( m_NoteDataEdit, iBeginRow, iEndRow ); break; - case add_mines: NoteDataUtil::AddMines( m_NoteDataEdit, iBeginRow, iEndRow ); break; - case echo: NoteDataUtil::Echo( m_NoteDataEdit, iBeginRow, iEndRow ); break; - case stomp: NoteDataUtil::Stomp( m_NoteDataEdit, st, iBeginRow, iEndRow ); break; - case planted: NoteDataUtil::Planted( m_NoteDataEdit, iBeginRow, iEndRow ); break; - case floored: NoteDataUtil::Floored( m_NoteDataEdit, iBeginRow, iEndRow ); break; - case twister: NoteDataUtil::Twister( m_NoteDataEdit, iBeginRow, iEndRow ); break; - case nojumps: NoteDataUtil::RemoveJumps( m_NoteDataEdit, iBeginRow, iEndRow ); break; - case nohands: NoteDataUtil::RemoveHands( m_NoteDataEdit, iBeginRow, iEndRow ); break; - case noquads: NoteDataUtil::RemoveQuads( m_NoteDataEdit, iBeginRow, iEndRow ); break; - case nostretch: NoteDataUtil::RemoveStretch( m_NoteDataEdit, st, iBeginRow, iBeginRow );break; - } - - // bake in the additions - NoteDataUtil::ConvertAdditionsToRegular( m_NoteDataEdit ); - } - break; - case alter: - { - const NoteData OldClipboard( m_Clipboard ); - HandleAreaMenuChoice( cut ); - - AlterType at = (AlterType)iAnswers[c]; - switch( at ) - { - DEFAULT_FAIL( at ); - case autogen_to_fill_width: - { - NoteData temp( m_Clipboard ); - int iMaxNonEmptyTrack = NoteDataUtil::GetMaxNonEmptyTrack( temp ); - if( iMaxNonEmptyTrack == -1 ) - break; - temp.SetNumTracks( iMaxNonEmptyTrack+1 ); - NoteDataUtil::LoadTransformedSlidingWindow( temp, m_Clipboard, m_Clipboard.GetNumTracks() ); - NoteDataUtil::RemoveStretch( m_Clipboard, GAMESTATE->m_pCurSteps[0]->m_StepsType ); - } - break; - case backwards: NoteDataUtil::Backwards( m_Clipboard ); break; - case swap_sides: NoteDataUtil::SwapSides( m_Clipboard ); break; - case copy_left_to_right: NoteDataUtil::CopyLeftToRight( m_Clipboard ); break; - case copy_right_to_left: NoteDataUtil::CopyRightToLeft( m_Clipboard ); break; - case clear_left: NoteDataUtil::ClearLeft( m_Clipboard ); break; - case clear_right: NoteDataUtil::ClearRight( m_Clipboard ); break; - case collapse_to_one: NoteDataUtil::CollapseToOne( m_Clipboard ); break; - case collapse_left: NoteDataUtil::CollapseLeft( m_Clipboard ); break; - case shift_left: NoteDataUtil::ShiftLeft( m_Clipboard ); break; - case shift_right: NoteDataUtil::ShiftRight( m_Clipboard ); break; - } - - HandleAreaMenuChoice( paste_at_begin_marker ); - m_Clipboard = OldClipboard; - } - break; - case tempo: - { - // This affects all steps. - AlterType at = (AlterType)iAnswers[c]; - float fScale = -1; - - switch( at ) - { - DEFAULT_FAIL( at ); - case compress_2x: fScale = 0.5f; break; - case compress_3_2: fScale = 2.0f/3; break; - case compress_4_3: fScale = 0.75f; break; - case expand_4_3: fScale = 4.0f/3; break; - case expand_3_2: fScale = 1.5f; break; - case expand_2x: fScale = 2; break; - } - - int iStartIndex = m_NoteFieldEdit.m_iBeginMarker; - int iEndIndex = m_NoteFieldEdit.m_iEndMarker; - int iNewEndIndex = iEndIndex + lrintf( (iEndIndex - iStartIndex) * (fScale - 1) ); - - // scale currently editing notes - NoteDataUtil::ScaleRegion( m_NoteDataEdit, fScale, iStartIndex, iEndIndex ); - - // scale timing data - GetAppropriateTiming().ScaleRegion( fScale, m_NoteFieldEdit.m_iBeginMarker, m_NoteFieldEdit.m_iEndMarker, true ); - - // scale all other steps. - /* - const vector sIter = m_pSong->GetAllSteps(); - RString sTempStyle, sTempDiff; - for( unsigned i = 0; i < sIter.size(); i++ ) - { - if( sIter[i]->IsAutogen() ) - continue; - - // XXX: Edits are distinguished by description. - // Compare vs m_pSteps. - if( (sIter[i]->m_StepsType == GAMESTATE->m_pCurSteps[PLAYER_1]->m_StepsType) && - (sIter[i]->GetDifficulty() == GAMESTATE->m_pCurSteps[PLAYER_1]->GetDifficulty()) ) - continue; - - NoteData ndTemp; - sIter[i]->GetNoteData( ndTemp ); - NoteDataUtil::ScaleRegion( ndTemp, fScale, m_NoteFieldEdit.m_iBeginMarker, m_NoteFieldEdit.m_iEndMarker ); - sIter[i]->SetNoteData( ndTemp ); - } - */ - m_NoteFieldEdit.m_iEndMarker = iNewEndIndex; - - } - break; - case play: - ASSERT( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1 ); - m_iStartPlayingAt = m_NoteFieldEdit.m_iBeginMarker; - m_iStopPlayingAt = m_NoteFieldEdit.m_iEndMarker; - TransitionEditState( STATE_PLAYING ); - break; - case record: - ASSERT( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1 ); - m_iStartPlayingAt = m_NoteFieldEdit.m_iBeginMarker; - m_iStopPlayingAt = m_NoteFieldEdit.m_iEndMarker; - TransitionEditState( STATE_RECORDING ); - break; case insert_and_shift: NoteDataUtil::InsertRows( m_NoteDataEdit, BeatToNoteRow( GetBeat() ), BeatToNoteRow(1) ); break; diff --git a/src/ScreenEdit.h b/src/ScreenEdit.h index 2b92f8bbd5..7e2f82eebd 100644 --- a/src/ScreenEdit.h +++ b/src/ScreenEdit.h @@ -87,6 +87,7 @@ enum EditButton EDIT_BUTTON_OPEN_EDIT_MENU, EDIT_BUTTON_OPEN_TIMING_MENU, + EDIT_BUTTON_OPEN_ALTER_MENU, EDIT_BUTTON_OPEN_AREA_MENU, EDIT_BUTTON_OPEN_BGCHANGE_LAYER1_MENU, EDIT_BUTTON_OPEN_BGCHANGE_LAYER2_MENU, @@ -209,7 +210,12 @@ public: virtual void PushSelf( lua_State *L ); protected: - virtual ScreenType GetScreenType() const { return m_EditState==STATE_PLAYING ? gameplay : ScreenWithMenuElements::GetScreenType(); } + virtual ScreenType GetScreenType() const + { + return m_EditState==STATE_PLAYING ? + gameplay : + ScreenWithMenuElements::GetScreenType(); + } void TransitionEditState( EditState em ); void ScrollTo( float fDestinationBeat ); @@ -268,7 +274,8 @@ protected: BitmapText m_textPlayRecordHelp; // keep track of where we are and what we're doing - float m_fTrailingBeat; // this approaches GAMESTATE->m_fSongBeat, which is the actual beat + float m_fTrailingBeat; + // the above approaches GAMESTATE->m_fSongBeat, which is the actual beat /** * @brief The location we were at when shift was pressed. * @@ -365,13 +372,12 @@ public: void HandleMainMenuChoice( MainMenuChoice c ) { const vector v; HandleMainMenuChoice( c, v ); } MainMenuChoice m_CurrentAction; - enum AreaMenuChoice + enum AlterMenuChoice { cut, copy, - paste_at_current_beat, - paste_at_begin_marker, clear, + // clear_undo, quantize, turn, transform, @@ -379,17 +385,37 @@ public: tempo, play, record, + convert_to_pause, + NUM_ALTER_MENU_CHOICES + + }; + + enum AreaMenuChoice + { + paste_at_current_beat, + paste_at_begin_marker, insert_and_shift, delete_and_shift, shift_pauses_forward, shift_pauses_backward, - convert_to_pause, convert_pause_to_beat, undo, NUM_AREA_MENU_CHOICES }; + void HandleAlterMenuChoice(AlterMenuChoice c, + const vector &iAnswers, + bool bAllowUndo = true); + void HandleAlterMenuChoice(AlterMenuChoice c, + bool bAllowUndo = true) + { + const vector v; HandleAlterMenuChoice(c, v, bAllowUndo); + } + void HandleAreaMenuChoice( AreaMenuChoice c, const vector &iAnswers, bool bAllowUndo = true ); - void HandleAreaMenuChoice( AreaMenuChoice c, bool bAllowUndo = true ) { const vector v; HandleAreaMenuChoice( c, v, bAllowUndo ); } + void HandleAreaMenuChoice( AreaMenuChoice c, bool bAllowUndo = true ) + { + const vector v; HandleAreaMenuChoice( c, v, bAllowUndo ); + } /** @brief How should the selected notes be transformed? */ enum TurnType { @@ -511,7 +537,8 @@ public: NUM_TIMING_DATA_INFORMATION_CHOICES }; - void HandleTimingDataInformationChoice ( TimingDataInformationChoice c, const vector &iAnswers ); + void HandleTimingDataInformationChoice (TimingDataInformationChoice c, + const vector &iAnswers ); enum BGChangeChoice { @@ -581,7 +608,9 @@ public: MapEditButtonToMenuButton m_RecordPausedMappingsMenuButton; void MakeFilteredMenuDef( const MenuDef* pDef, MenuDef &menu ); - void EditMiniMenu( const MenuDef* pDef, ScreenMessage SM_SendOnOK = SM_None, ScreenMessage SM_SendOnCancel = SM_None ); + void EditMiniMenu(const MenuDef* pDef, + ScreenMessage SM_SendOnOK = SM_None, + ScreenMessage SM_SendOnCancel = SM_None ); private: /** * @brief Retrieve the appropriate TimingData based on GAMESTATE. From 1486b72e2338a80c0b29edccadc651a7224726ef Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 10 Jun 2011 11:02:02 -0400 Subject: [PATCH 064/530] AutoPlay shouldn't hit unjudgable notes. --- src/Player.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Player.cpp b/src/Player.cpp index f8582c9a06..ab8ebdb412 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -2852,7 +2852,8 @@ void Player::CrossedRows( int iLastRowCrossed, const RageTimer &now ) // check to see if there's a note at the crossed row if( m_pPlayerState->m_PlayerController != PC_HUMAN ) { - if( tn.type != TapNote::empty && tn.type != TapNote::fake && tn.result.tns == TNS_None ) + if(tn.type != TapNote::empty && tn.type != TapNote::fake && tn.result.tns == TNS_None + && this->m_Timing->IsJudgableAtRow(iRow) ) { Step( iTrack, iRow, now, false, false ); if( m_pPlayerState->m_PlayerController == PC_AUTOPLAY ) From 493a49f55e95736afd29ebb9f6c1c4e132464820 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 10 Jun 2011 15:18:08 -0400 Subject: [PATCH 065/530] Missed a fix spot. Checkpoints... --- src/Player.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Player.cpp b/src/Player.cpp index ab8ebdb412..c853fc86f9 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -2938,6 +2938,7 @@ void Player::CrossedRows( int iLastRowCrossed, const RageTimer &now ) ++tn.HoldResult.iCheckpointsMissed; } } + GAMESTATE->SetProcessedTimingData(this->m_Timing); // TODO: Find a better way of handling hold checkpoints with other taps. if( !viColsWithHold.empty() && ( CHECKPOINTS_TAPS_SEPARATE_JUDGMENT || m_NoteData.GetNumTapNotesInRow( iLastRowCrossed ) == 0 ) ) From b857ead66dbfc8c72f4e03f80e93dbea0be8f1f3 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Fri, 10 Jun 2011 14:55:48 -0500 Subject: [PATCH 066/530] people actually build WITHOUT_NETWORKING? shock. --- src/ScreenPackagesSSC.cpp | 3 +++ src/ScreenPackagesSSC.h | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/ScreenPackagesSSC.cpp b/src/ScreenPackagesSSC.cpp index 48d292612e..73ba2c57ed 100644 --- a/src/ScreenPackagesSSC.cpp +++ b/src/ScreenPackagesSSC.cpp @@ -1,4 +1,6 @@ #include "global.h" + +#if !defined(WITHOUT_NETWORKING) #include "ScreenPackagesSSC.h" #include "ThemeManager.h" #include "RageDisplay.h" @@ -50,6 +52,7 @@ RString ScreenPackagesSSC::JSONParse( const RString &string_in ) return ""; } +#endif /* * (c) 2009 Colby Klein * All rights reserved. diff --git a/src/ScreenPackagesSSC.h b/src/ScreenPackagesSSC.h index c9de431c7b..7db51bfef6 100644 --- a/src/ScreenPackagesSSC.h +++ b/src/ScreenPackagesSSC.h @@ -7,6 +7,8 @@ #include "RageFileManager.h" #include "RageFile.h" #include "Sprite.h" + +#if !defined(WITHOUT_NETWORKING) /** @brief Parses JSON for downloadable content. */ class ScreenPackagesSSC : public ScreenWithMenuElements { @@ -24,6 +26,7 @@ public: private: RString JSONParse( const RString &string_in ); }; +#endif // WITHOUT_NETWORKING? #endif From 866d72e660ff9e41bb34df989fcaa274b723d768 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 10 Jun 2011 16:10:43 -0400 Subject: [PATCH 067/530] Add a Clear Clipboard function to the editor. --- Themes/_fallback/Languages/en.ini | 1 + src/ScreenEdit.cpp | 28 ++++++++++++++-------------- src/ScreenEdit.h | 2 +- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 3b77e336c3..bc3fd8b21e 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -807,6 +807,7 @@ Clear Machine Edits=Clear Machine Edits Clear Machine Stats=Clear Machine Scores Clear USB edits=Clear USB edits Clear area=Clear area +Clear clipboard=Clear clipboard CoinMode=Coin Mode CoinModeNoHome=Coin Mode CoinsPerCredit=Coins Per Credit diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 340545e112..7bad89f8b4 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -550,7 +550,10 @@ static MenuDef g_AreaMenu( MenuRowDef( ScreenEdit::shift_pauses_backward, "Shift all timing changes up", true, EditMode_Full, true, true, 0, NULL ), MenuRowDef(ScreenEdit::convert_pause_to_beat, "Convert pause to beats", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::undo, "Undo", true, EditMode_Practice, true, true, 0, NULL ) + MenuRowDef( ScreenEdit::undo, "Undo", true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::clear_clipboard, "Clear clipboard", true, + EditMode_Practice, true, true, 0, NULL ) + ); static MenuDef g_StepsInformation( @@ -3501,6 +3504,8 @@ void ScreenEdit::HandleAlterMenuChoice(AlterMenuChoice c, const vector &iAn bool bSaveUndo = true; switch (c) { + case play: + case record: case cut: case copy: { @@ -3694,24 +3699,14 @@ void ScreenEdit::HandleAlterMenuChoice(AlterMenuChoice c, const vector &iAn void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector &iAnswers, bool bAllowUndo ) { - bool bSaveUndo = false; + bool bSaveUndo = true; switch( c ) { - DEFAULT_FAIL( c ); - case play: - case record: + case clear_clipboard: case undo: bSaveUndo = false; break; - case paste_at_current_beat: - case paste_at_begin_marker: - case insert_and_shift: - case delete_and_shift: - case shift_pauses_forward: - case shift_pauses_backward: - case convert_to_pause: - case convert_pause_to_beat: - bSaveUndo = true; + default: break; } @@ -3802,6 +3797,11 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector &iAns case undo: Undo(); break; + case clear_clipboard: + { + m_Clipboard.ClearAll(); + break; + } }; if( bSaveUndo ) diff --git a/src/ScreenEdit.h b/src/ScreenEdit.h index 7e2f82eebd..81dc6346fa 100644 --- a/src/ScreenEdit.h +++ b/src/ScreenEdit.h @@ -377,7 +377,6 @@ public: cut, copy, clear, - // clear_undo, quantize, turn, transform, @@ -400,6 +399,7 @@ public: shift_pauses_backward, convert_pause_to_beat, undo, + clear_clipboard, NUM_AREA_MENU_CHOICES }; void HandleAlterMenuChoice(AlterMenuChoice c, From 0db9f87b74c5592736912be317b83e5abbc40d66 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 10 Jun 2011 16:43:38 -0400 Subject: [PATCH 068/530] Add "Convert Selection to Warp Segment" option. Also, preemptively fix another bug with the menu moving. --- Themes/_fallback/Languages/en.ini | 1 + src/ScreenEdit.cpp | 57 ++++++++++++++++++------------- src/ScreenEdit.h | 1 + 3 files changed, 36 insertions(+), 23 deletions(-) diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index bc3fd8b21e..89904c4cbe 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -814,6 +814,7 @@ CoinsPerCredit=Coins Per Credit Connection=Connection Convert pause to beats=Convert pause to beats Convert selection to pause=Convert selection to pause +Convert selection to warp=Convert selection to Warp Segment Copy=Copy CourseSortOrder=Course Sort Create New=Create New diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 7bad89f8b4..116b8762fb 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -537,7 +537,9 @@ static MenuDef g_AlterMenu( MenuRowDef(ScreenEdit::record, "Record in selection", true, EditMode_Practice, true, true, 0, NULL ), MenuRowDef(ScreenEdit::convert_to_pause, "Convert selection to pause", true, - EditMode_Full, true, true, 0, NULL ) + EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::convert_to_warp, "Convert selection to warp", true, + EditMode_Full, true, true, 0, NULL ) ); static MenuDef g_AreaMenu( @@ -3692,6 +3694,37 @@ void ScreenEdit::HandleAlterMenuChoice(AlterMenuChoice c, const vector &iAn m_iStopPlayingAt = m_NoteFieldEdit.m_iEndMarker; TransitionEditState( STATE_RECORDING ); break; + case convert_to_pause: + { + ASSERT_M( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1, "Attempted to convert beats outside the notefield to pauses!" ); + float fMarkerStart = GetAppropriateTiming().GetElapsedTimeFromBeat( NoteRowToBeat(m_NoteFieldEdit.m_iBeginMarker) ); + float fMarkerEnd = GetAppropriateTiming().GetElapsedTimeFromBeat( NoteRowToBeat(m_NoteFieldEdit.m_iEndMarker) ); + + // The length of the stop segment we're going to create. This includes time spent in any + // stops in the selection, which will be deleted and subsumed into the new stop. + float fStopLength = fMarkerEnd - fMarkerStart; + + // be sure not to clobber the row at the start - a row at the end + // can be dropped safely, though + NoteDataUtil::DeleteRows( m_NoteDataEdit, + m_NoteFieldEdit.m_iBeginMarker + 1, + m_NoteFieldEdit.m_iEndMarker-m_NoteFieldEdit.m_iBeginMarker + ); + GetAppropriateTiming().DeleteRows( m_NoteFieldEdit.m_iBeginMarker + 1, + m_NoteFieldEdit.m_iEndMarker-m_NoteFieldEdit.m_iBeginMarker ); + GetAppropriateTiming().SetStopAtRow( m_NoteFieldEdit.m_iBeginMarker, fStopLength ); + m_NoteFieldEdit.m_iBeginMarker = -1; + m_NoteFieldEdit.m_iEndMarker = -1; + break; + } + case convert_to_warp: + { + float startBeat = NoteRowToBeat(m_NoteFieldEdit.m_iBeginMarker); + float lengthBeat = NoteRowToBeat(m_NoteFieldEdit.m_iEndMarker) - startBeat; + GetAppropriateTiming().SetWarpAtBeat(startBeat,lengthBeat); + SetDirty(true); + break; + } } @@ -3758,29 +3791,7 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector &iAns case shift_pauses_backward: GetAppropriateTiming().DeleteRows( GetRow() + 1, BeatToNoteRow(1) ); break; - case convert_to_pause: - { - ASSERT_M( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1, "Attempted to convert beats outside the notefield to pauses!" ); - float fMarkerStart = GetAppropriateTiming().GetElapsedTimeFromBeat( NoteRowToBeat(m_NoteFieldEdit.m_iBeginMarker) ); - float fMarkerEnd = GetAppropriateTiming().GetElapsedTimeFromBeat( NoteRowToBeat(m_NoteFieldEdit.m_iEndMarker) ); - // The length of the stop segment we're going to create. This includes time spent in any - // stops in the selection, which will be deleted and subsumed into the new stop. - float fStopLength = fMarkerEnd - fMarkerStart; - - // be sure not to clobber the row at the start - a row at the end - // can be dropped safely, though - NoteDataUtil::DeleteRows( m_NoteDataEdit, - m_NoteFieldEdit.m_iBeginMarker + 1, - m_NoteFieldEdit.m_iEndMarker-m_NoteFieldEdit.m_iBeginMarker - ); - GetAppropriateTiming().DeleteRows( m_NoteFieldEdit.m_iBeginMarker + 1, - m_NoteFieldEdit.m_iEndMarker-m_NoteFieldEdit.m_iBeginMarker ); - GetAppropriateTiming().SetStopAtRow( m_NoteFieldEdit.m_iBeginMarker, fStopLength ); - m_NoteFieldEdit.m_iBeginMarker = -1; - m_NoteFieldEdit.m_iEndMarker = -1; - break; - } case convert_pause_to_beat: { // TODO: Convert both Delays and Stops at once. diff --git a/src/ScreenEdit.h b/src/ScreenEdit.h index 81dc6346fa..e01c332c27 100644 --- a/src/ScreenEdit.h +++ b/src/ScreenEdit.h @@ -385,6 +385,7 @@ public: play, record, convert_to_pause, + convert_to_warp, NUM_ALTER_MENU_CHOICES }; From 9a258e70427593c290e843849eb153f45ff29f17 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 10 Jun 2011 16:52:23 -0400 Subject: [PATCH 069/530] Add "Convert Selection to Fake Segment" option. Once again, do things math free. --- Themes/_fallback/Languages/en.ini | 1 + src/ScreenEdit.cpp | 12 +++++++++++- src/ScreenEdit.h | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 89904c4cbe..01b038adf5 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -815,6 +815,7 @@ Connection=Connection Convert pause to beats=Convert pause to beats Convert selection to pause=Convert selection to pause Convert selection to warp=Convert selection to Warp Segment +Convert selection to fake=Convert selection to Fake Segment Copy=Copy CourseSortOrder=Course Sort Create New=Create New diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 116b8762fb..db85c529d5 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -539,7 +539,9 @@ static MenuDef g_AlterMenu( MenuRowDef(ScreenEdit::convert_to_pause, "Convert selection to pause", true, EditMode_Full, true, true, 0, NULL ), MenuRowDef(ScreenEdit::convert_to_warp, "Convert selection to warp", true, - EditMode_Full, true, true, 0, NULL ) + EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::convert_to_fake, "Convert selection to fake", true, + EditMode_Full, true, true, 0, NULL ) ); static MenuDef g_AreaMenu( @@ -3725,6 +3727,14 @@ void ScreenEdit::HandleAlterMenuChoice(AlterMenuChoice c, const vector &iAn SetDirty(true); break; } + case convert_to_fake: + { + float startBeat = NoteRowToBeat(m_NoteFieldEdit.m_iBeginMarker); + float lengthBeat = NoteRowToBeat(m_NoteFieldEdit.m_iEndMarker) - startBeat; + GetAppropriateTiming().SetFakeAtBeat(startBeat,lengthBeat); + SetDirty(true); + break; + } } diff --git a/src/ScreenEdit.h b/src/ScreenEdit.h index e01c332c27..35f30f155b 100644 --- a/src/ScreenEdit.h +++ b/src/ScreenEdit.h @@ -386,6 +386,7 @@ public: record, convert_to_pause, convert_to_warp, + convert_to_fake, NUM_ALTER_MENU_CHOICES }; From 7768134149a6dc70155cc52ac9feb1524e994d55 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 10 Jun 2011 17:03:53 -0400 Subject: [PATCH 070/530] Alright pumpervinil, you got your Delay wish. I hope that's enough for you. --- Themes/_fallback/Languages/en.ini | 1 + src/ScreenEdit.cpp | 23 +++++++++++++++++++++++ src/ScreenEdit.h | 1 + 3 files changed, 25 insertions(+) diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 01b038adf5..75e0cfdf1b 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -814,6 +814,7 @@ CoinsPerCredit=Coins Per Credit Connection=Connection Convert pause to beats=Convert pause to beats Convert selection to pause=Convert selection to pause +Convert selection to delay=Convert selection to delay Convert selection to warp=Convert selection to Warp Segment Convert selection to fake=Convert selection to Fake Segment Copy=Copy diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index db85c529d5..b5ff78ffae 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -538,6 +538,8 @@ static MenuDef g_AlterMenu( EditMode_Practice, true, true, 0, NULL ), MenuRowDef(ScreenEdit::convert_to_pause, "Convert selection to pause", true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::convert_to_delay, "Convert selection to delay", true, + EditMode_Full, true, true, 0, NULL ), MenuRowDef(ScreenEdit::convert_to_warp, "Convert selection to warp", true, EditMode_Full, true, true, 0, NULL ), MenuRowDef(ScreenEdit::convert_to_fake, "Convert selection to fake", true, @@ -3719,6 +3721,27 @@ void ScreenEdit::HandleAlterMenuChoice(AlterMenuChoice c, const vector &iAn m_NoteFieldEdit.m_iEndMarker = -1; break; } + case convert_to_delay: + { + ASSERT_M( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1, "Attempted to convert beats outside the notefield to pauses!" ); + float fMarkerStart = GetAppropriateTiming().GetElapsedTimeFromBeat( NoteRowToBeat(m_NoteFieldEdit.m_iBeginMarker) ); + float fMarkerEnd = GetAppropriateTiming().GetElapsedTimeFromBeat( NoteRowToBeat(m_NoteFieldEdit.m_iEndMarker) ); + + // The length of the delay segment we're going to create. This includes time spent in any + // stops in the selection, which will be deleted and subsumed into the new stop. + float fStopLength = fMarkerEnd - fMarkerStart; + + NoteDataUtil::DeleteRows( m_NoteDataEdit, + m_NoteFieldEdit.m_iBeginMarker, + m_NoteFieldEdit.m_iEndMarker-m_NoteFieldEdit.m_iBeginMarker + ); + GetAppropriateTiming().DeleteRows( m_NoteFieldEdit.m_iBeginMarker, + m_NoteFieldEdit.m_iEndMarker-m_NoteFieldEdit.m_iBeginMarker ); + GetAppropriateTiming().SetDelayAtRow( m_NoteFieldEdit.m_iBeginMarker, fStopLength ); + m_NoteFieldEdit.m_iBeginMarker = -1; + m_NoteFieldEdit.m_iEndMarker = -1; + break; + } case convert_to_warp: { float startBeat = NoteRowToBeat(m_NoteFieldEdit.m_iBeginMarker); diff --git a/src/ScreenEdit.h b/src/ScreenEdit.h index 35f30f155b..f3e4a912e5 100644 --- a/src/ScreenEdit.h +++ b/src/ScreenEdit.h @@ -385,6 +385,7 @@ public: play, record, convert_to_pause, + convert_to_delay, convert_to_warp, convert_to_fake, NUM_ALTER_MENU_CHOICES From 465ed345dbd4fce8533b63a22994a773b78072ca Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 10 Jun 2011 17:05:57 -0400 Subject: [PATCH 071/530] May as well put this in the changelog. --- Docs/Changelog_sm5.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 3aff3dbb7f..2263fcc511 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -14,6 +14,8 @@ StepMania 5.0 Preview 2 | 20110??? "A" key to enter the Alter Menu when a selection of notes/rows are highlighted. Use the Enter key to enter the old Area Menu for the options that do not depend on selecting NoteData. [Wolfman2000] +* [ScreenEdit] Allow converting selections to Delays, Warps, or Fakes as well + as Stops. Remember, use the Alter Menu for this. [Wolfman2000] 2011/06/09 ---------- From 3123bbaea0fee82b63bc0c4953fa2b55b138dbae Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 10 Jun 2011 21:20:26 -0400 Subject: [PATCH 072/530] Revert 0b67f6b. Perhaps there is a better implementation. --- src/Song.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Song.cpp b/src/Song.cpp index 5bb35928f5..926ac196d1 100644 --- a/src/Song.cpp +++ b/src/Song.cpp @@ -1505,7 +1505,7 @@ public: { RString s = p->GetBackgroundPath(); if( s.empty() ) - s = ""; + return 0; lua_pushstring(L, s); return 1; } From ee742856b21ac027217b38d6a5d7426c91f2a11e Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Fri, 10 Jun 2011 20:39:31 -0500 Subject: [PATCH 073/530] fix this up --- src/Song.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Song.cpp b/src/Song.cpp index 926ac196d1..8cf6d352a7 100644 --- a/src/Song.cpp +++ b/src/Song.cpp @@ -1504,9 +1504,10 @@ public: static int GetBackgroundPath( T* p, lua_State *L ) { RString s = p->GetBackgroundPath(); - if( s.empty() ) - return 0; - lua_pushstring(L, s); + if( !s.empty() ) + lua_pushstring(L, s); + else + lua_pushnil(L); return 1; } static int GetCDTitlePath( T* p, lua_State *L ) { RString s = p->GetCDTitlePath(); if( s.empty() ) return 0; LuaHelpers::Push(L, s); return 1; } From b78c5350e3c7087cc28424f37917aacbf0631365 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 10 Jun 2011 21:40:56 -0400 Subject: [PATCH 074/530] Only load the background if it exists. Took us awhile to find it. --- .../BGAnimations/ScreenEvaluation background/default.lua | 5 ++++- .../default/BGAnimations/ScreenPlayerOptions background.lua | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Themes/default/BGAnimations/ScreenEvaluation background/default.lua b/Themes/default/BGAnimations/ScreenEvaluation background/default.lua index ac0c710158..5cd05e9772 100644 --- a/Themes/default/BGAnimations/ScreenEvaluation background/default.lua +++ b/Themes/default/BGAnimations/ScreenEvaluation background/default.lua @@ -5,7 +5,10 @@ t[#t+1] = Def.ActorFrame { Def.Sprite { OnCommand=function(self) if GAMESTATE:GetCurrentSong() then - self:LoadBackground( GAMESTATE:GetCurrentSong():GetBackgroundPath() ); + local song = GAMESTATE:GetCurrentSong(); + if song:HasBackground() then + self:LoadBackground(song:GetBackgroundPath()); + end; self:scaletoclipped( SCREEN_WIDTH+1,SCREEN_HEIGHT ); (cmd(fadebottom,0.25;fadetop,0.25;croptop,48/480;cropbottom,48/480))(self); else diff --git a/Themes/default/BGAnimations/ScreenPlayerOptions background.lua b/Themes/default/BGAnimations/ScreenPlayerOptions background.lua index a02c0291d9..e7cafc1283 100644 --- a/Themes/default/BGAnimations/ScreenPlayerOptions background.lua +++ b/Themes/default/BGAnimations/ScreenPlayerOptions background.lua @@ -6,7 +6,10 @@ t[#t+1] = Def.ActorFrame { Condition=not GAMESTATE:IsCourseMode(); OnCommand=function(self) if GAMESTATE:GetCurrentSong() then - self:LoadBackground( GAMESTATE:GetCurrentSong():GetBackgroundPath() ); + local song = GAMESTATE:GetCurrentSong(); + if song:HasBackground() then + self:LoadBackground(song:GetBackgroundPath()); + end; self:scaletoclipped( SCREEN_WIDTH+1,SCREEN_HEIGHT ); (cmd(fadebottom,0.25;fadetop,0.25;croptop,48/480;cropbottom,48/480))(self); else From 1b5853c5ea05956ce161d54789373eff6a8b0d53 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 11 Jun 2011 00:17:47 -0400 Subject: [PATCH 075/530] Make sure the music file exists. Well, better this than a bad access error. --- src/RageSoundReader_Extend.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/RageSoundReader_Extend.cpp b/src/RageSoundReader_Extend.cpp index 0c316c7a50..38beacfa35 100644 --- a/src/RageSoundReader_Extend.cpp +++ b/src/RageSoundReader_Extend.cpp @@ -15,6 +15,7 @@ RageSoundReader_Extend::RageSoundReader_Extend( RageSoundReader *pSource ): RageSoundReader_Filter( pSource ) { + ASSERT_M(pSource, "The music file was not found! Was it deleted or moved while the game was on?"); m_iPositionFrames = pSource->GetNextSourceFrame(); m_StopMode = M_STOP; From fb8c45066aceea9a2143201eb59ca66c7a81f013 Mon Sep 17 00:00:00 2001 From: Colby Klein Date: Fri, 10 Jun 2011 23:24:46 -0700 Subject: [PATCH 076/530] Don't overwrite global Screen table. --- Themes/_fallback/Scripts/02 Other.lua | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/Themes/_fallback/Scripts/02 Other.lua b/Themes/_fallback/Scripts/02 Other.lua index f9f2532a6f..ea544d1dd4 100644 --- a/Themes/_fallback/Scripts/02 Other.lua +++ b/Themes/_fallback/Scripts/02 Other.lua @@ -98,16 +98,15 @@ end -- Get a metric from the currently-loading screen. This is only valid while loading -- an actor, such as from File or InitCommand attributes; not from commands. -Screen = { - Metric = function ( sName ) - local sClass = Var "LoadingScreen" - return THEME:GetMetric( sClass, sName ) - end, - String = function ( sName ) - local sClass = Var "LoadingScreen"; - return THEME:GetString( sClass, sName ) - end -}; +Screen.Metric = function ( sName ) + local sClass = Var "LoadingScreen" + return THEME:GetMetric( sClass, sName ) +end + +Screen.String = function ( sName ) + local sClass = Var "LoadingScreen"; + return THEME:GetString( sClass, sName ) +end function TextBannerAfterSet(self,param) local Title=self:GetChild("Title"); From 9737b3f94f03206b78c6468da0912f4f575b2424 Mon Sep 17 00:00:00 2001 From: Colby Klein Date: Fri, 10 Jun 2011 23:43:21 -0700 Subject: [PATCH 077/530] Fix MaskSource. clearzbuffer likes to behave badly. --- Themes/_fallback/Scripts/03 ProductivityHelpers.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Themes/_fallback/Scripts/03 ProductivityHelpers.lua b/Themes/_fallback/Scripts/03 ProductivityHelpers.lua index 0d9fbd2816..4297389fc6 100644 --- a/Themes/_fallback/Scripts/03 ProductivityHelpers.lua +++ b/Themes/_fallback/Scripts/03 ProductivityHelpers.lua @@ -148,7 +148,9 @@ end -- MaskSource([clearzbuffer]) -- Sets an actor up as the source for a mask. Clears zBuffer by default. function Actor:MaskSource(noclear) - self:clearzbuffer(noclear or true) + if noclear == true then + self:clearzbuffer(true) + end self:zwrite(true) self:blend('BlendMode_NoEffect') end From d8cd86af2c95be19da7f545638f1ffc610ccdf97 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sat, 11 Jun 2011 01:44:00 -0500 Subject: [PATCH 078/530] lua doc updates --- Docs/Luadoc/Lua.xml | 62 +++++++++++++++++++++++++++++++++++++++++---- Docs/Luadoc/Lua.xsl | 7 ++++- 2 files changed, 63 insertions(+), 6 deletions(-) diff --git a/Docs/Luadoc/Lua.xml b/Docs/Luadoc/Lua.xml index 201f0b6312..4ad7b93c44 100644 --- a/Docs/Luadoc/Lua.xml +++ b/Docs/Luadoc/Lua.xml @@ -39,11 +39,8 @@ - - - @@ -57,6 +54,7 @@ + @@ -130,7 +128,6 @@ - @@ -143,6 +140,8 @@ + + @@ -1026,6 +1025,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1093,6 +1138,13 @@ + + + + + + + @@ -2061,5 +2113,5 @@ StepMania 5 v5.0 Preview 1a - 2011-06-04 + 2011-06-11 diff --git a/Docs/Luadoc/Lua.xsl b/Docs/Luadoc/Lua.xsl index 2861185f63..01f3657220 100644 --- a/Docs/Luadoc/Lua.xsl +++ b/Docs/Luadoc/Lua.xsl @@ -395,7 +395,12 @@ $type='bool' or $type='table' or $type='color' or - $type='Enum'"> + $type='Enum' or + $type='ThreadVariable' or + $type='LuaOptionRow' or + $type='ActorDef' or + $type='chunk' or + $type='various'"> From 76c321bdd628b94de68eab7de78b59071f82c067 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sat, 11 Jun 2011 01:46:42 -0500 Subject: [PATCH 079/530] make ScreenString and ScreenMetric work for people coming over from sm4a5 or whatnot --- Themes/_fallback/Scripts/01 alias.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Themes/_fallback/Scripts/01 alias.lua b/Themes/_fallback/Scripts/01 alias.lua index 126d9c69ef..e0e3841f07 100644 --- a/Themes/_fallback/Scripts/01 alias.lua +++ b/Themes/_fallback/Scripts/01 alias.lua @@ -21,3 +21,11 @@ local _screen = { cx = SCREEN_CENTER_X, cy = SCREEN_CENTER_Y } + +if Screen.String then + ScreenString = Screen.String +end + +if Screen.Metric then + ScreenMetric = Screen.Metric +end \ No newline at end of file From e1c899f98dde0a200d31e617b19740e3c0d98708 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sat, 11 Jun 2011 02:16:12 -0500 Subject: [PATCH 080/530] remove unused define --- src/Background.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Background.cpp b/src/Background.cpp index 2761fd3b18..19e21abf7a 100644 --- a/src/Background.cpp +++ b/src/Background.cpp @@ -27,7 +27,6 @@ static ThemeMetric LEFT_EDGE ("Background","LeftEdge"); static ThemeMetric TOP_EDGE ("Background","TopEdge"); static ThemeMetric RIGHT_EDGE ("Background","RightEdge"); static ThemeMetric BOTTOM_EDGE ("Background","BottomEdge"); -#define RECT_BACKGROUND RectF (LEFT_EDGE,TOP_EDGE,RIGHT_EDGE,BOTTOM_EDGE) static ThemeMetric CLAMP_OUTPUT_PERCENT ("Background","ClampOutputPercent"); static ThemeMetric SHOW_DANCING_CHARACTERS ("Background","ShowDancingCharacters"); static ThemeMetric USE_STATIC_BG ("Background","UseStaticBackground"); From 6f0533d5b171b4d24d91b5d49bee1b7b8e078b8b Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sat, 11 Jun 2011 13:03:40 +0200 Subject: [PATCH 081/530] [default] I guess people don't find it amusing when everything is in the common app data when in portable mode. --- src/arch/ArchHooks/ArchHooks_Win32Static.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/arch/ArchHooks/ArchHooks_Win32Static.cpp b/src/arch/ArchHooks/ArchHooks_Win32Static.cpp index 3e63241dc4..4b10291357 100644 --- a/src/arch/ArchHooks/ArchHooks_Win32Static.cpp +++ b/src/arch/ArchHooks/ArchHooks_Win32Static.cpp @@ -55,14 +55,13 @@ static RString GetMountDir( const RString &sDirOfExecutable ) void ArchHooks::MountInitialFilesystems( const RString &sDirOfExecutable ) { RString sDir = GetMountDir( sDirOfExecutable ); - RString sCommonAppDataDir = SpecialDirs::GetCommonAppDataDir() + PRODUCT_ID; + FILEMAN->Mount( "dir", sDir, "/" ); - FILEMAN->Mount( "dir", sCommonAppDataDir, "/" ); - FILEMAN->Mount( "dir", sCommonAppDataDir + "/Cache", "/Cache" ); } void ArchHooks::MountUserFilesystems( const RString &sDirOfExecutable ) { + RString sCommonAppDataDir = SpecialDirs::GetCommonAppDataDir() + PRODUCT_ID; RString sAppDataDir = SpecialDirs::GetAppDataDir() + PRODUCT_ID; RString sLocalAppDataDir = SpecialDirs::GetLocalAppDataDir() + PRODUCT_ID; RString sPicturesDir = SpecialDirs::GetPicturesDir() + PRODUCT_ID; @@ -70,6 +69,8 @@ void ArchHooks::MountUserFilesystems( const RString &sDirOfExecutable ) FILEMAN->Mount( "dir", sAppDataDir + "/Logs", "/Logs" ); FILEMAN->Mount( "dir", sAppDataDir + "/Save", "/Save" ); FILEMAN->Mount( "dir", sPicturesDir + " Screenshots", "/Screenshots" ); + FILEMAN->Mount( "dir", sCommonAppDataDir, "/" ); + FILEMAN->Mount( "dir", sCommonAppDataDir + "/Cache", "/Cache" ); FILEMAN->Mount( "dir", sAppDataDir + "/Packages", "/" + SpecialFiles::USER_PACKAGES_DIR ); } From c06763db85c29952b520e2ae5da5253fd85a98e4 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 11 Jun 2011 09:30:49 -0400 Subject: [PATCH 082/530] Make linux compile the loading window code. NOTE: The actual loading window code is stubbed. I do not know GTK window code yet, so hopefully this won't crash yet. --- src/Makefile.am | 1 + src/arch/LoadingWindow/LoadingWindow_Gtk.cpp | 15 +++++++++++++++ src/arch/LoadingWindow/LoadingWindow_Gtk.h | 4 +++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am index 2abcf7c4be..7b7c57d5ab 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -340,6 +340,7 @@ DualScrollBar.cpp DualScrollBar.h \ EditMenu.cpp EditMenu.h FadingBanner.cpp FadingBanner.h \ GradeDisplay.cpp GradeDisplay.h GraphDisplay.cpp GraphDisplay.h \ GrooveRadar.cpp GrooveRadar.h HelpDisplay.cpp HelpDisplay.h \ +InGameLoadingWindow.cpp InGameLoadingWindow.h \ MemoryCardDisplay.cpp MemoryCardDisplay.h \ MenuTimer.cpp MenuTimer.h \ ModIcon.cpp ModIcon.h ModIconRow.cpp ModIconRow.h \ diff --git a/src/arch/LoadingWindow/LoadingWindow_Gtk.cpp b/src/arch/LoadingWindow/LoadingWindow_Gtk.cpp index c27a6f3cb2..d7f542b2e9 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Gtk.cpp +++ b/src/arch/LoadingWindow/LoadingWindow_Gtk.cpp @@ -56,6 +56,21 @@ void LoadingWindow_Gtk::SetText( RString s ) Module_SetText( s ); } +void LoadingWindow_Gtk::SetProgress( const int progress ) +{ + ; // stub, needs to be finished. +} + +void LoadingWindow_Gtk::SetTotalWork( const int totalWork ) +{ + ; // stub, needs to be finished. +} + +void LoadingWindow_Gtk::SetIndeterminate( bool indeterminate ) +{ + ; // stub, needs to be finished. +} + /* * (c) 2003-2004 Glenn Maynard, Sean Burke * All rights reserved. diff --git a/src/arch/LoadingWindow/LoadingWindow_Gtk.h b/src/arch/LoadingWindow/LoadingWindow_Gtk.h index 14752cc58a..6abeb87b4d 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Gtk.h +++ b/src/arch/LoadingWindow/LoadingWindow_Gtk.h @@ -11,8 +11,10 @@ public: LoadingWindow_Gtk(); RString Init(); ~LoadingWindow_Gtk(); - void SetText( RString str ); + void SetProgress( const int progress ); + void SetTotalWork( const int totalWork ); + void SetIndeterminate( bool indeterminate ); }; #define USE_LOADING_WINDOW_GTK From 5ef549d80d0b986c8d7e85d3305de4844a1afc00 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 11 Jun 2011 09:36:17 -0400 Subject: [PATCH 083/530] Warning fixes. --- src/GameState.cpp | 6 +++--- src/MusicWheel.cpp | 4 ++-- src/Steps.cpp | 5 +++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/GameState.cpp b/src/GameState.cpp index 825d051fda..7450d8a7b3 100644 --- a/src/GameState.cpp +++ b/src/GameState.cpp @@ -123,14 +123,14 @@ GameState::GameState() : m_pCurTrail( Message_CurrentTrailP1Changed ), m_bGameplayLeadIn( Message_GameplayLeadInChanged ), m_bDidModeChangeNoteSkin( false ), + m_bIsUsingStepTiming( true ), + m_bInStepEditor( false ), m_stEdit( Message_EditStepsTypeChanged ), m_cdEdit( Message_EditCourseDifficultyChanged ), m_pEditSourceSteps( Message_EditSourceStepsChanged ), m_stEditSource( Message_EditSourceStepsTypeChanged ), m_iEditCourseEntryIndex( Message_EditCourseEntryIndexChanged ), - m_sEditLocalProfileID( Message_EditLocalProfileIDChanged ), - m_bIsUsingStepTiming( true ), - m_bInStepEditor( false ) + m_sEditLocalProfileID( Message_EditLocalProfileIDChanged ) { g_pImpl = new GameStateImpl; diff --git a/src/MusicWheel.cpp b/src/MusicWheel.cpp index e8e4c76353..5c7d9a6b6b 100644 --- a/src/MusicWheel.cpp +++ b/src/MusicWheel.cpp @@ -1476,11 +1476,11 @@ RString MusicWheel::JumpToPrevGroup() // in case it wasn't found above: for( unsigned int i = m_CurWheelItemData.size()-1; i > 0; --i ) { - LOG->Trace( ssprintf("JumpToPrevGroup iteration 2 | i = %u",i) ); + LOG->Trace( "JumpToPrevGroup iteration 2 | i = %u",i ); if( m_CurWheelItemData[i]->m_Type == TYPE_SECTION ) { m_iSelection = i; - LOG->Trace( ssprintf("finding it in #2 | i = %u | text = %s",i, m_CurWheelItemData[i]->m_sText.c_str()) ); + LOG->Trace( "finding it in #2 | i = %u | text = %s",i, m_CurWheelItemData[i]->m_sText.c_str() ); return m_CurWheelItemData[i]->m_sText; } } diff --git a/src/Steps.cpp b/src/Steps.cpp index ee7a27c98f..c24fea7275 100644 --- a/src/Steps.cpp +++ b/src/Steps.cpp @@ -32,8 +32,9 @@ Steps::Steps(): m_StepsType(StepsType_Invalid), m_sNoteDataCompressed(""), m_sFilename(""), m_bSavedToDisk(false), m_LoadedFromProfile(ProfileSlot_Invalid), m_iHash(0), m_sDescription(""), m_sChartStyle(""), - m_Difficulty(Difficulty_Invalid), m_iMeter(0), m_sCredit(""), - m_bAreCachedRadarValuesJustLoaded(false) {} + m_Difficulty(Difficulty_Invalid), m_iMeter(0), + m_bAreCachedRadarValuesJustLoaded(false), + m_sCredit("") {} Steps::~Steps() { From 788d7005dc1821763cf3783efcc305af4552211b Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 11 Jun 2011 09:44:51 -0400 Subject: [PATCH 084/530] Remove commented code, add comment. Need a warning expert on this one. --- src/ModIconRow.cpp | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/src/ModIconRow.cpp b/src/ModIconRow.cpp index 362c5a8e4d..b2e3c68fd1 100644 --- a/src/ModIconRow.cpp +++ b/src/ModIconRow.cpp @@ -72,30 +72,12 @@ struct OptionColumnEntry //void FromStack( lua_State *L, int iPos ); }; -/* -void OptionColumnEntry::FromStack( lua_State *L, int iPos ) -{ - if( lua_type(L, iPos) != LUA_TTABLE ) - return; - - lua_pushvalue( L, iPos ); - const int iTab = lua_gettop( L ); - - // option name - lua_getfield( L, iTab, "Name" ); - RString sName = lua_tostring( L, -1 ); - szString = const_cast(sName.c_str()); - lua_settop( L, iTab ); - - // option icon index - lua_getfield( L, iTab, "IconIndex" ); - iSlotIndex = lua_tointeger( L, -1 ); - lua_settop( L, iTab ); -} -static vector g_OptionColumnEntries; -*/ - // todo: metric these? -aj +/* + * May be a good idea to do so at some point. GCC gives plenty of warnings + * About the code below, something about turning string constants into + * char * items. Gotta love the many compilers we use. -Wolfman2000 + */ static const OptionColumnEntry g_OptionColumnEntries[] = { {"Boost", 0}, From 50cb0f9b78c3747325cd0b36d26adec28e66f475 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 11 Jun 2011 09:48:16 -0400 Subject: [PATCH 085/530] More warning fixes. --- src/RageThreads.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/RageThreads.cpp b/src/RageThreads.cpp index 1396fb869b..4d502a8a94 100644 --- a/src/RageThreads.cpp +++ b/src/RageThreads.cpp @@ -525,7 +525,7 @@ static set *g_FreeMutexIDs = NULL; #endif RageMutex::RageMutex( const RString &name ): - m_sName( name ), m_pMutex( MakeMutex (this ) ), + m_pMutex( MakeMutex (this ) ), m_sName(name), m_LockedBy(GetInvalidThreadId()), m_LockCnt(0) { @@ -732,7 +732,7 @@ bool RageEvent::WaitTimeoutSupported() const } RageSemaphore::RageSemaphore( RString sName, int iInitialValue ): - m_sName( sName ), m_pSema(MakeSemaphore( iInitialValue )) {} + m_pSema(MakeSemaphore( iInitialValue )), m_sName(sName) {} RageSemaphore::~RageSemaphore() { From aeb07190d81c6bee9d3378b5f6f95816cbe9e8f3 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 11 Jun 2011 11:15:58 -0400 Subject: [PATCH 086/530] Allow setting Preview Music via Alter Menu. Now math calculations are no longer needed. --- Docs/Changelog_sm5.txt | 6 ++++++ Themes/_fallback/Languages/en.ini | 1 + src/ScreenEdit.cpp | 11 +++++++++++ src/ScreenEdit.h | 1 + 4 files changed, 19 insertions(+) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 2263fcc511..a6b6c015c7 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,12 @@ ________________________________________________________________________________ StepMania 5.0 Preview 2 | 20110??? -------------------------------------------------------------------------------- +2011/06/11 +---------- +* [ScreenEdit] Allow setting the Music Preview via the Alter Menu. Just select + your area, enter the menu, and choose "Designate as Music Preview". No more + math calculations needed! [Wolfman2000] + 2011/06/10 ---------- * [ScreenEdit] Split the Area Menu into the Area Menu and Alter Menu. Use the diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 4bdf6c7716..1e0a33cef6 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -833,6 +833,7 @@ DelayedTextureDelete=Keep Textures In Memory Delete=Delete Delete beat and shift up=Delete beat and shift up Description=Description +Designate as Music Preview=Designate as Music Preview Difficulty=Difficulty Display BPM=Display BPM DisplayAspectRatio=Aspect Ratio diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index b5ff78ffae..b3feb57c2e 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -536,6 +536,8 @@ static MenuDef g_AlterMenu( EditMode_Practice, true, true, 0, NULL ), MenuRowDef(ScreenEdit::record, "Record in selection", true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::preview_designation, "Designate as Music Preview", true, + EditMode_Full, true, true, 0, NULL ), MenuRowDef(ScreenEdit::convert_to_pause, "Convert selection to pause", true, EditMode_Full, true, true, 0, NULL ), MenuRowDef(ScreenEdit::convert_to_delay, "Convert selection to delay", true, @@ -3698,6 +3700,15 @@ void ScreenEdit::HandleAlterMenuChoice(AlterMenuChoice c, const vector &iAn m_iStopPlayingAt = m_NoteFieldEdit.m_iEndMarker; TransitionEditState( STATE_RECORDING ); break; + case preview_designation: + { + ASSERT( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1 ); + float fMarkerStart = GetAppropriateTiming().GetElapsedTimeFromBeat( NoteRowToBeat(m_NoteFieldEdit.m_iBeginMarker) ); + float fMarkerEnd = GetAppropriateTiming().GetElapsedTimeFromBeat( NoteRowToBeat(m_NoteFieldEdit.m_iEndMarker) ); + GAMESTATE->m_pCurSong->m_fMusicSampleStartSeconds = fMarkerStart; + GAMESTATE->m_pCurSong->m_fMusicSampleLengthSeconds = fMarkerEnd - fMarkerStart; + break; + } case convert_to_pause: { ASSERT_M( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1, "Attempted to convert beats outside the notefield to pauses!" ); diff --git a/src/ScreenEdit.h b/src/ScreenEdit.h index f3e4a912e5..2b3119a10a 100644 --- a/src/ScreenEdit.h +++ b/src/ScreenEdit.h @@ -384,6 +384,7 @@ public: tempo, play, record, + preview_designation, convert_to_pause, convert_to_delay, convert_to_warp, From cd3bb6f0ed9951005e2b85a9e23fba5b63230f56 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sat, 11 Jun 2011 13:13:30 -0500 Subject: [PATCH 087/530] [SongUtil] Added GetPlayableSteps(Song) Lua binding. --- Docs/Changelog_sm5.txt | 1 + src/SongUtil.cpp | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index a6b6c015c7..6cbc813953 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -13,6 +13,7 @@ StepMania 5.0 Preview 2 | 20110??? * [ScreenEdit] Allow setting the Music Preview via the Alter Menu. Just select your area, enter the menu, and choose "Designate as Music Preview". No more math calculations needed! [Wolfman2000] +* [SongUtil] Added GetPlayableSteps(Song) Lua binding. [AJ] 2011/06/10 ---------- diff --git a/src/SongUtil.cpp b/src/SongUtil.cpp index f13576fbc0..57345ac468 100644 --- a/src/SongUtil.cpp +++ b/src/SongUtil.cpp @@ -1097,6 +1097,14 @@ bool SongID::IsValid() const namespace { + int GetPlayableSteps( lua_State *L ) + { + const Song *pSong = Luna::check( L, 1, true ); + vector vSteps; + SongUtil::GetPlayableSteps(pSong,vSteps); + LuaHelpers::CreateTableFromArray( vSteps, L ); + return 1; + } int IsStepsTypePlayable( lua_State *L ) { Song *pSong = Luna::check( L, 1, true ); @@ -1116,6 +1124,7 @@ namespace const luaL_Reg SongUtilTable[] = { + LIST_METHOD( GetPlayableSteps ), LIST_METHOD( IsStepsTypePlayable ), LIST_METHOD( IsStepsPlayable ), { NULL, NULL } From f900b53f1d6d208519418bc881d8c457b418ac0a Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 11 Jun 2011 15:10:27 -0400 Subject: [PATCH 088/530] Edits can have 255 chars in the description now. --- Docs/Changelog_sm5.txt | 2 ++ src/ScreenEdit.cpp | 2 +- src/ScreenEditMenu.cpp | 2 +- src/ScreenOptionsManageEditSteps.cpp | 2 +- src/SongUtil.cpp | 2 +- src/Steps.cpp | 4 ++-- src/Steps.h | 6 +++--- 7 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 6cbc813953..41d20316ae 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -14,6 +14,8 @@ StepMania 5.0 Preview 2 | 20110??? your area, enter the menu, and choose "Designate as Music Preview". No more math calculations needed! [Wolfman2000] * [SongUtil] Added GetPlayableSteps(Song) Lua binding. [AJ] +* [Steps] Allow 255 characters for all chart descriptions, including edits. + We are no longer bound by In The Groove I think. [Wolfman2000] 2011/06/10 ---------- diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index b3feb57c2e..96fd658ff6 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -3880,7 +3880,7 @@ void ScreenEdit::HandleStepsInformationChoice( StepsInformationChoice c, const v SM_None, ENTER_NEW_DESCRIPTION, m_pSteps->GetDescription(), - (dc == Difficulty_Edit) ? MAX_EDIT_STEPS_DESCRIPTION_LENGTH : 255, + MAX_STEPS_DESCRIPTION_LENGTH, SongUtil::ValidateCurrentStepsDescription, ChangeDescription, NULL diff --git a/src/ScreenEditMenu.cpp b/src/ScreenEditMenu.cpp index 1bf4997aea..37aba49e5c 100644 --- a/src/ScreenEditMenu.cpp +++ b/src/ScreenEditMenu.cpp @@ -297,7 +297,7 @@ void ScreenEditMenu::MenuStart( const InputEventPlus &input ) SM_BackFromEditDescription, ENTER_EDIT_DESCRIPTION, GAMESTATE->m_pCurSteps[0]->GetDescription(), - MAX_EDIT_STEPS_DESCRIPTION_LENGTH, + MAX_STEPS_DESCRIPTION_LENGTH, SongUtil::ValidateCurrentStepsDescription, SetCurrentStepsDescription, DeleteCurrentSteps ); diff --git a/src/ScreenOptionsManageEditSteps.cpp b/src/ScreenOptionsManageEditSteps.cpp index 62d58bdfee..b4a48702ee 100644 --- a/src/ScreenOptionsManageEditSteps.cpp +++ b/src/ScreenOptionsManageEditSteps.cpp @@ -203,7 +203,7 @@ void ScreenOptionsManageEditSteps::HandleScreenMessage( const ScreenMessage SM ) SM_BackFromRename, ENTER_NAME_FOR_STEPS, GAMESTATE->m_pCurSteps[PLAYER_1]->GetDescription(), - MAX_EDIT_STEPS_DESCRIPTION_LENGTH, + MAX_STEPS_DESCRIPTION_LENGTH, SongUtil::ValidateCurrentEditStepsDescription ); } break; diff --git a/src/SongUtil.cpp b/src/SongUtil.cpp index 57345ac468..36f9aa72ee 100644 --- a/src/SongUtil.cpp +++ b/src/SongUtil.cpp @@ -760,7 +760,7 @@ RString SongUtil::MakeUniqueEditDescription( const Song *pSong, StepsType st, co { // make name "My Edit" -> "My Edit2" RString sNum = ssprintf("%d", i+1); - sTemp = sPreferredDescription.Left( MAX_EDIT_STEPS_DESCRIPTION_LENGTH - sNum.size() ) + sNum; + sTemp = sPreferredDescription.Left( MAX_STEPS_DESCRIPTION_LENGTH - sNum.size() ) + sNum; if( IsEditDescriptionUnique(pSong, st, sTemp, NULL) ) return sTemp; diff --git a/src/Steps.cpp b/src/Steps.cpp index c24fea7275..c795285d30 100644 --- a/src/Steps.cpp +++ b/src/Steps.cpp @@ -402,9 +402,9 @@ void Steps::SetChartStyle( RString sChartStyle ) bool Steps::MakeValidEditDescription( RString &sPreferredDescription ) { - if( int(sPreferredDescription.size()) > MAX_EDIT_STEPS_DESCRIPTION_LENGTH ) + if( int(sPreferredDescription.size()) > MAX_STEPS_DESCRIPTION_LENGTH ) { - sPreferredDescription = sPreferredDescription.Left( MAX_EDIT_STEPS_DESCRIPTION_LENGTH ); + sPreferredDescription = sPreferredDescription.Left( MAX_STEPS_DESCRIPTION_LENGTH ); return true; } return false; diff --git a/src/Steps.h b/src/Steps.h index 8ba508b9d2..3c46fa5b71 100644 --- a/src/Steps.h +++ b/src/Steps.h @@ -15,11 +15,11 @@ class NoteData; struct lua_State; /** - * @brief Allow only 12 characters for the length of edits. + * @brief Enforce a limit on the number of chars for the description. * - * This is a holdover from In The Groove: this may perhaps be not needed in the future. + * In In The Groove, this limit was 12: we do not need such a limit now. */ -const int MAX_EDIT_STEPS_DESCRIPTION_LENGTH = 12; +const int MAX_STEPS_DESCRIPTION_LENGTH = 255; /** * @brief Holds note information for a Song. From d90c8cfe07460e83f4e0a51532f1dbfc1f1c54ba Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 11 Jun 2011 15:17:48 -0400 Subject: [PATCH 089/530] Add GetPlayerTimingData lua binding...for now. This may be removed if it fails its purpose. --- src/Player.cpp | 8 +++++++- src/Player.h | 10 ++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/Player.cpp b/src/Player.cpp index c853fc86f9..aefe1b12a5 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -3339,11 +3339,17 @@ class LunaPlayer: public Luna public: static int SetActorWithJudgmentPosition( T* p, lua_State *L ) { Actor *pActor = Luna::check(L, 1); p->SetActorWithJudgmentPosition(pActor); return 0; } static int SetActorWithComboPosition( T* p, lua_State *L ) { Actor *pActor = Luna::check(L, 1); p->SetActorWithComboPosition(pActor); return 0; } - + static int GetPlayerTimingData( T* p, lua_State *L ) + { + p->GetPlayerTimingData().PushSelf(L); + return 1; + } + LunaPlayer() { ADD_METHOD( SetActorWithJudgmentPosition ); ADD_METHOD( SetActorWithComboPosition ); + ADD_METHOD( GetPlayerTimingData ); } }; diff --git a/src/Player.h b/src/Player.h index 8d85733858..f2cb2c9b5c 100644 --- a/src/Player.h +++ b/src/Player.h @@ -69,6 +69,16 @@ public: void Load(); void CrossedRows( int iLastRowCrossed, const RageTimer &now ); bool IsOniDead() const; + + /** + * @brief Retrieve the Player's TimingData. + * + * This is primarily for a lua hook. + * @return the TimingData in question. */ + TimingData GetPlayerTimingData() const + { + return *(this->m_Timing); + } // Called when a fret, step, or strum type button changes void Fret( int col, int row, const RageTimer &tm, bool bHeld, bool bRelease ); From 87d151687f1c79e57b8a2769e2ea7688769ff8e7 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 11 Jun 2011 15:24:16 -0400 Subject: [PATCH 090/530] Allow 15 edits per profile. --- src/DifficultyList.cpp | 16 ++++------------ src/Song.h | 4 ++-- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/src/DifficultyList.cpp b/src/DifficultyList.cpp index 2b79d6fe10..52695cd16f 100644 --- a/src/DifficultyList.cpp +++ b/src/DifficultyList.cpp @@ -11,18 +11,10 @@ #include "SongUtil.h" #include "XmlFile.h" -// MAX_METERS was previously set to NUM_Difficulty + MAX_EDITS_PER_SONG. -// This was all fine and well until AutoSetStyle was created. In certain -// gametypes (technomotion for example), if autogen is on, the number of -// available stepcharts exceeds MAX_METERS, resulting in a crash. -// My first thought to fix this was: -// (NUM_Difficulty (6) * NUM_StepsType (32)) + MAX_EDITS_PER_SONG (5*profileSlot (2)) = 202 -// However, 202 rows may be a bit overkill. -// Dance has 6 stepstypes counting 3panel, Pump and Techno have 5. -// (6 difficulties * 6 stepstypes) + MAX_EDITS_PER_SONG (which is 5 * profileSlots) = 46 rows -// 46 seems to be a good enough number for this. If we get a crash again, up the -// "magic" 6. -aj -#define MAX_METERS (NUM_Difficulty * 6) + MAX_EDITS_PER_SONG +/** @brief Specifies the max number of charts available for a song. + * + * This includes autogenned charts. */ +#define MAX_METERS (NUM_Difficulty * NUM_StepsType) + MAX_EDITS_PER_SONG REGISTER_ACTOR_CLASS( StepsDisplayList ); diff --git a/src/Song.h b/src/Song.h index cbe6e5ddf4..600694a640 100644 --- a/src/Song.h +++ b/src/Song.h @@ -20,9 +20,9 @@ struct BackgroundChange; const static float STEPFILE_VERSION_NUMBER = 0.7f; /** @brief How many edits for this song can each profile have? */ -const int MAX_EDITS_PER_SONG_PER_PROFILE = 5; +const int MAX_EDITS_PER_SONG_PER_PROFILE = 15; /** @brief How many edits for this song can be available? */ -const int MAX_EDITS_PER_SONG = 5*NUM_ProfileSlot; +const int MAX_EDITS_PER_SONG = MAX_EDITS_PER_SONG_PER_PROFILE * NUM_ProfileSlot; extern const int FILE_CACHE_VERSION; From cff72f7dab4cba565b0fe6fb0003d34dc5e3676e Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 11 Jun 2011 16:15:18 -0400 Subject: [PATCH 091/530] Minor cleanup. --- src/Player.cpp | 47 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/src/Player.cpp b/src/Player.cpp index aefe1b12a5..7195d3ab48 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -2867,7 +2867,9 @@ void Player::CrossedRows( int iLastRowCrossed, const RageTimer &now ) } - // Update hold checkpoints + /* Update hold checkpoints + * + * TODO: Move this to a separate function. */ if( HOLD_CHECKPOINTS ) { int iCheckpointFrequencyRows = ROWS_PER_BEAT/2; @@ -2943,7 +2945,10 @@ void Player::CrossedRows( int iLastRowCrossed, const RageTimer &now ) // TODO: Find a better way of handling hold checkpoints with other taps. if( !viColsWithHold.empty() && ( CHECKPOINTS_TAPS_SEPARATE_JUDGMENT || m_NoteData.GetNumTapNotesInRow( iLastRowCrossed ) == 0 ) ) { - HandleHoldCheckpoint( r, iNumHoldsHeldThisRow, iNumHoldsMissedThisRow, viColsWithHold ); + HandleHoldCheckpoint(r, + iNumHoldsHeldThisRow, + iNumHoldsMissedThisRow, + viColsWithHold ); } } } @@ -3091,7 +3096,10 @@ void Player::HandleTapRowScore( unsigned row ) ChangeLife( scoreOfLastTap ); } -void Player::HandleHoldCheckpoint( int iRow, int iNumHoldsHeldThisRow, int iNumHoldsMissedThisRow, const vector &viColsWithHold ) +void Player::HandleHoldCheckpoint(int iRow, + int iNumHoldsHeldThisRow, + int iNumHoldsMissedThisRow, + const vector &viColsWithHold ) { bool bNoCheating = true; #ifdef DEBUG @@ -3110,9 +3118,15 @@ void Player::HandleHoldCheckpoint( int iRow, int iNumHoldsHeldThisRow, int iNumH const int iOldMissCombo = m_pPlayerStageStats ? m_pPlayerStageStats->m_iCurMissCombo : 0; if( m_pPrimaryScoreKeeper ) - m_pPrimaryScoreKeeper->HandleHoldCheckpointScore( m_NoteData, iRow, iNumHoldsHeldThisRow, iNumHoldsMissedThisRow ); + m_pPrimaryScoreKeeper->HandleHoldCheckpointScore(m_NoteData, + iRow, + iNumHoldsHeldThisRow, + iNumHoldsMissedThisRow ); if( m_pSecondaryScoreKeeper ) - m_pSecondaryScoreKeeper->HandleHoldCheckpointScore( m_NoteData, iRow, iNumHoldsHeldThisRow, iNumHoldsMissedThisRow ); + m_pSecondaryScoreKeeper->HandleHoldCheckpointScore(m_NoteData, + iRow, + iNumHoldsHeldThisRow, + iNumHoldsMissedThisRow ); if( iNumHoldsMissedThisRow == 0 ) { @@ -3121,7 +3135,8 @@ void Player::HandleHoldCheckpoint( int iRow, int iNumHoldsHeldThisRow, int iNumH { FOREACH_CONST( int, viColsWithHold, i ) { - bool bBright = m_pPlayerStageStats && m_pPlayerStageStats->m_iCurCombo>(int)BRIGHT_GHOST_COMBO_THRESHOLD; + bool bBright = m_pPlayerStageStats + && m_pPlayerStageStats->m_iCurCombo>(int)BRIGHT_GHOST_COMBO_THRESHOLD; if( m_pNoteField ) m_pNoteField->DidHoldNote( *i, HNS_Held, bBright ); } @@ -3290,12 +3305,14 @@ void Player::SetCombo( int iCombo, int iMisses ) if( GAMESTATE->IsCourseMode() ) { int iSongIndexStartColoring = GAMESTATE->m_pCurCourse->GetEstimatedNumStages(); - iSongIndexStartColoring = static_cast(floor(iSongIndexStartColoring*PERCENT_UNTIL_COLOR_COMBO)); + iSongIndexStartColoring = + static_cast(floor(iSongIndexStartColoring*PERCENT_UNTIL_COLOR_COMBO)); bPastBeginning = GAMESTATE->GetCourseSongIndex() >= iSongIndexStartColoring; } else { - bPastBeginning = m_pPlayerState->m_Position.m_fMusicSeconds > GAMESTATE->m_pCurSong->m_fMusicLengthSeconds * PERCENT_UNTIL_COLOR_COMBO; + bPastBeginning = m_pPlayerState->m_Position.m_fMusicSeconds + > GAMESTATE->m_pCurSong->m_fMusicLengthSeconds * PERCENT_UNTIL_COLOR_COMBO; } if( m_bSendJudgmentAndComboMessages ) @@ -3337,8 +3354,18 @@ RString Player::ApplyRandomAttack() class LunaPlayer: public Luna { public: - static int SetActorWithJudgmentPosition( T* p, lua_State *L ) { Actor *pActor = Luna::check(L, 1); p->SetActorWithJudgmentPosition(pActor); return 0; } - static int SetActorWithComboPosition( T* p, lua_State *L ) { Actor *pActor = Luna::check(L, 1); p->SetActorWithComboPosition(pActor); return 0; } + static int SetActorWithJudgmentPosition( T* p, lua_State *L ) + { + Actor *pActor = Luna::check(L, 1); + p->SetActorWithJudgmentPosition(pActor); + return 0; + } + static int SetActorWithComboPosition( T* p, lua_State *L ) + { + Actor *pActor = Luna::check(L, 1); + p->SetActorWithComboPosition(pActor); + return 0; + } static int GetPlayerTimingData( T* p, lua_State *L ) { p->GetPlayerTimingData().PushSelf(L); From 05a7a24d88f848c62c2cbf73b3ef4aee8afc2fe0 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 11 Jun 2011 16:24:38 -0400 Subject: [PATCH 092/530] Make the GetPlayerTimingData() binding official. Hmm...did we never document the Player class in LuaDocumentation.xml? --- Docs/Changelog_sm5.txt | 1 + Docs/Luadoc/Lua.xml | 2 ++ Docs/Luadoc/LuaDocumentation.xml | 3 +++ 3 files changed, 6 insertions(+) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 41d20316ae..4e2237edd8 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -16,6 +16,7 @@ StepMania 5.0 Preview 2 | 20110??? * [SongUtil] Added GetPlayableSteps(Song) Lua binding. [AJ] * [Steps] Allow 255 characters for all chart descriptions, including edits. We are no longer bound by In The Groove I think. [Wolfman2000] +* [Player] Add GetPlayerTimingData() Lua binding. [Wolfman2000] 2011/06/10 ---------- diff --git a/Docs/Luadoc/Lua.xml b/Docs/Luadoc/Lua.xml index 4ad7b93c44..f88325bed1 100644 --- a/Docs/Luadoc/Lua.xml +++ b/Docs/Luadoc/Lua.xml @@ -890,6 +890,7 @@ + @@ -1522,6 +1523,7 @@ + diff --git a/Docs/Luadoc/LuaDocumentation.xml b/Docs/Luadoc/LuaDocumentation.xml index b0bd9a2393..30e4ff0436 100644 --- a/Docs/Luadoc/LuaDocumentation.xml +++ b/Docs/Luadoc/LuaDocumentation.xml @@ -437,6 +437,9 @@ + + Gets the playable Steps for the present Song based on the present Game. + Returns true if the song's steps (st) are playable. From 1d8e7286ccb2f8c26c52ed8fe78f9f02a69b34da Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 11 Jun 2011 17:05:03 -0400 Subject: [PATCH 093/530] Use the appropriate timing. Restores Page Up/Page Down/;/' properly. --- src/ScreenEdit.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 96fd658ff6..98fbd51007 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -1348,7 +1348,7 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) m_iShiftAnchor = -1; return; } - TimingData &sTiming = GAMESTATE->m_pCurSong->m_SongTiming; + TimingData &sTiming = GetAppropriateTiming(); float playerBeat = GetAppropriatePosition().m_fSongBeat; int beatsPerMeasure = sTiming.GetTimeSignatureSegmentAtBeat( playerBeat ).GetNum(); From 5a7ceecb89169a82b56d11efe5f597df10959eb0 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 11 Jun 2011 21:26:05 -0400 Subject: [PATCH 094/530] We're on libpng 1.5.1 now. Guess we have more to update here. --- Xcode/Libraries/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcode/Libraries/README b/Xcode/Libraries/README index c8dcc17f8a..176dad4352 100644 --- a/Xcode/Libraries/README +++ b/Xcode/Libraries/README @@ -1,7 +1,7 @@ Static Libraries: jpeg-6b libogg-1.1.2 -libpng-1.2.8 +libpng-1.5.1 libvorbis-1.1.1 libtheora-1.0alpha5 zlib-1.2.3 From 6c32ca085ea5e12d9add735f76678dd08c12e718 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 11 Jun 2011 22:40:14 -0400 Subject: [PATCH 095/530] Make sure these use split timing. --- Themes/_fallback/Other/ScreenGameplaySyncMachine music.ssc | 4 ++++ Themes/_fallback/Other/ScreenHowToPlay steps.ssc | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/Themes/_fallback/Other/ScreenGameplaySyncMachine music.ssc b/Themes/_fallback/Other/ScreenGameplaySyncMachine music.ssc index dde55e41ae..6c0c76d05e 100644 --- a/Themes/_fallback/Other/ScreenGameplaySyncMachine music.ssc +++ b/Themes/_fallback/Other/ScreenGameplaySyncMachine music.ssc @@ -26,6 +26,8 @@ #DIFFICULTY:Beginner; #METER:1; #RADARVALUES:0.302,0.205,0.000,0.000,0.000; +#BPMS:0.000=132.000; +#OFFSET:-0.012; #NOTES: // measure 1 0000 @@ -100,6 +102,8 @@ #DIFFICULTY:Beginner; #METER:1; #RADARVALUES:0.302,0.205,0.000,0.000,0.000; +#BPMS:0.000=132.000; +#OFFSET:-0.012; #NOTES: // measure 1 00000 diff --git a/Themes/_fallback/Other/ScreenHowToPlay steps.ssc b/Themes/_fallback/Other/ScreenHowToPlay steps.ssc index b64d877215..2f7ade5385 100644 --- a/Themes/_fallback/Other/ScreenHowToPlay steps.ssc +++ b/Themes/_fallback/Other/ScreenHowToPlay steps.ssc @@ -13,6 +13,8 @@ #DESCRIPTION:BASIC; #DIFFICULTY:easy; #METER:1; +#BPMS:0.000=100.000; +#STOPS:16=2,18=2,20=2,22=2; #RADARVALUES:0,0,0,0,0; #NOTES: 0000 @@ -72,6 +74,8 @@ #DESCRIPTION:NORMAL; #DIFFICULTY:easy; #METER:1; +#BPMS:0.000=100.000; +#STOPS:16=2,18=2,20=2,22=2; #RADARVALUES:0,0,0,0,0; #NOTES: 00000 From e4636a0a50ce56772ceb6f614679d6703861c76b Mon Sep 17 00:00:00 2001 From: Alberto Ramos Date: Sun, 12 Jun 2011 00:16:45 -0600 Subject: [PATCH 096/530] tweak things for noteskins, can't remember what was changed in the ghostarrow --- NoteSkins/pump/default/UpLeft Receptor.lua | 8 ++++++-- src/GhostArrowRow.cpp | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/NoteSkins/pump/default/UpLeft Receptor.lua b/NoteSkins/pump/default/UpLeft Receptor.lua index cde7525919..6ebcd0b547 100644 --- a/NoteSkins/pump/default/UpLeft Receptor.lua +++ b/NoteSkins/pump/default/UpLeft Receptor.lua @@ -1,12 +1,16 @@ + local function Beat(self) local this = self:GetChildren() + local player = GAMESTATE:GetMasterPlayerNumber() + local playerstate = GAMESTATE:GetPlayerState( player ) + local songposition = playerstate:GetSongPosition() -- GAMESTATE:GetSongPosition() - local beat = GAMESTATE:GetSongBeat() + local beat = songposition:GetSongBeat() -- GAMESTATE:GetSongBeat() local part = beat%1 part = clamp(part,0,0.5) local eff = scale(part,0,0.5,1,0) - if (GAMESTATE:GetSongPosition():GetDelay() or false) and part == 0 then eff = 0 end + if (songposition:GetDelay() or false) and part == 0 then eff = 0 end if beat < 0 then eff = 0 end diff --git a/src/GhostArrowRow.cpp b/src/GhostArrowRow.cpp index 8a2b9f0b4a..f81eef75d6 100644 --- a/src/GhostArrowRow.cpp +++ b/src/GhostArrowRow.cpp @@ -88,7 +88,9 @@ void GhostArrowRow::Update( float fDeltaTime ) void GhostArrowRow::DrawPrimitives() { for( unsigned c=0; cDraw(); + } } void GhostArrowRow::DidTapNote( int iCol, TapNoteScore tns, bool bBright ) From c057b23ab3de85d1b0e39a9d3b6d911bddbbc903 Mon Sep 17 00:00:00 2001 From: Thai Pangsakulyanont Date: Sun, 12 Jun 2011 13:24:39 +0700 Subject: [PATCH 097/530] progress bar for Linux partially done: no indeterminate progress bar yet. --- src/arch/LoadingWindow/LoadingWindow_Gtk.cpp | 17 ++++++++++++++--- .../LoadingWindow/LoadingWindow_GtkModule.cpp | 19 +++++++++++++++++++ .../LoadingWindow/LoadingWindow_GtkModule.h | 2 ++ 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/src/arch/LoadingWindow/LoadingWindow_Gtk.cpp b/src/arch/LoadingWindow/LoadingWindow_Gtk.cpp index d7f542b2e9..ec82aa8f3d 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Gtk.cpp +++ b/src/arch/LoadingWindow/LoadingWindow_Gtk.cpp @@ -11,6 +11,8 @@ static void *Handle = NULL; static INIT Module_Init; static SHUTDOWN Module_Shutdown; static SETTEXT Module_SetText; +static SETPROGRESS Module_SetProgress; +static SETINDETERMINATE Module_SetIndeterminate; LoadingWindow_Gtk::LoadingWindow_Gtk() { @@ -33,6 +35,12 @@ RString LoadingWindow_Gtk::Init() Module_SetText = (SETTEXT) dlsym(Handle, "SetText"); if( !Module_SetText ) return "Couldn't load symbol Module_SetText"; + Module_SetProgress = (SETPROGRESS) dlsym(Handle, "SetProgress"); + if( !Module_SetProgress ) + return "Couldn't load symbol Module_SetProgress"; + Module_SetIndeterminate = (SETINDETERMINATE) dlsym(Handle, "SetIndeterminate"); + if( !Module_SetIndeterminate ) + return "Couldn't load symbol Module_SetIndeterminate"; const char *ret = Module_Init( &g_argc, &g_argv ); if( ret != NULL ) @@ -58,17 +66,20 @@ void LoadingWindow_Gtk::SetText( RString s ) void LoadingWindow_Gtk::SetProgress( const int progress ) { - ; // stub, needs to be finished. + LoadingWindow::SetProgress( progress ); + Module_SetProgress( m_progress, m_totalWork ); } void LoadingWindow_Gtk::SetTotalWork( const int totalWork ) { - ; // stub, needs to be finished. + LoadingWindow::SetTotalWork( totalWork ); + Module_SetProgress( m_progress, m_totalWork ); } void LoadingWindow_Gtk::SetIndeterminate( bool indeterminate ) { - ; // stub, needs to be finished. + LoadingWindow::SetIndeterminate( indeterminate ); + Module_SetIndeterminate( m_indeterminate ); } /* diff --git a/src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp b/src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp index 78c65d1fb2..445654b7f1 100644 --- a/src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp +++ b/src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp @@ -5,6 +5,7 @@ static GtkWidget *label; static GtkWidget *window; +static GtkWidget *progressBar; extern "C" const char *Init( int *argc, char ***argv ) { @@ -22,9 +23,12 @@ extern "C" const char *Init( int *argc, char ***argv ) loadimage = gtk_image_new_from_file(splash_image_path); label = gtk_label_new(NULL); gtk_label_set_justify(GTK_LABEL(label),GTK_JUSTIFY_CENTER); + progressBar = gtk_progress_bar_new(); + gtk_progress_bar_set_fraction( GTK_PROGRESS_BAR(progressBar), 0.0 ); vbox = gtk_vbox_new(FALSE,5); gtk_container_add(GTK_CONTAINER(window),vbox); gtk_box_pack_start(GTK_BOX(vbox),loadimage,FALSE,FALSE,0); + gtk_box_pack_end(GTK_BOX(vbox),progressBar,TRUE,TRUE,0); gtk_box_pack_end(GTK_BOX(vbox),label,TRUE,TRUE,0); gtk_widget_show_all(window); @@ -47,6 +51,21 @@ extern "C" void SetText( const char *s ) gtk_main_iteration_do(FALSE); } +extern "C" void SetProgress( int progress, int totalWork ) +{ + gdouble fraction = ( totalWork > 0 ? progress / (gdouble)totalWork : 0 ); + if( fraction > 1.0 ) fraction = 1.0; + if( fraction < 0.0 ) fraction = 0.0; + gtk_progress_bar_set_fraction( GTK_PROGRESS_BAR(progressBar), fraction ); + gtk_main_iteration_do(FALSE); +} + +extern "C" void SetIndeterminate( bool indeterminate ) +{ + // TODO: Implement this! + gtk_main_iteration_do(FALSE); +} + /* * (c) 2003-2004 Glenn Maynard, Sean Burke * All rights reserved. diff --git a/src/arch/LoadingWindow/LoadingWindow_GtkModule.h b/src/arch/LoadingWindow/LoadingWindow_GtkModule.h index 77ad5a3233..350e1375d2 100644 --- a/src/arch/LoadingWindow/LoadingWindow_GtkModule.h +++ b/src/arch/LoadingWindow/LoadingWindow_GtkModule.h @@ -4,6 +4,8 @@ typedef const char *(*INIT)(int *argc, char ***argv); typedef void (*SHUTDOWN)(); typedef void (*SETTEXT)( const char *s ); +typedef void (*SETPROGRESS)( int progress, int totalWork ); +typedef void (*SETINDETERMINATE)( bool indeterminate ); #endif From 39c547c437c255c6cce75ae1e5cb49ff80ef3f29 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sun, 12 Jun 2011 01:48:13 -0500 Subject: [PATCH 098/530] shut stepmania up about multiple filenames warning --- .../Other/ScreenGameplaySyncMachine music.ssc | 2 +- ...ySyncMachine music.ogg => _sync music.ogg} | Bin Themes/_fallback/Scripts/02 Actor.lua | 27 ++++++++++++++---- 3 files changed, 22 insertions(+), 7 deletions(-) rename Themes/_fallback/Other/{ScreenGameplaySyncMachine music.ogg => _sync music.ogg} (100%) diff --git a/Themes/_fallback/Other/ScreenGameplaySyncMachine music.ssc b/Themes/_fallback/Other/ScreenGameplaySyncMachine music.ssc index 6c0c76d05e..5721dff9bf 100644 --- a/Themes/_fallback/Other/ScreenGameplaySyncMachine music.ssc +++ b/Themes/_fallback/Other/ScreenGameplaySyncMachine music.ssc @@ -10,7 +10,7 @@ #BACKGROUND:; #LYRICSPATH:; #CDTITLE:; -#MUSIC:ScreenGameplaySyncMachine music.ogg; +#MUSIC:_sync music.ogg; #OFFSET:-0.012; #SAMPLESTART:0.000; #SAMPLELENGTH:12.000; diff --git a/Themes/_fallback/Other/ScreenGameplaySyncMachine music.ogg b/Themes/_fallback/Other/_sync music.ogg similarity index 100% rename from Themes/_fallback/Other/ScreenGameplaySyncMachine music.ogg rename to Themes/_fallback/Other/_sync music.ogg diff --git a/Themes/_fallback/Scripts/02 Actor.lua b/Themes/_fallback/Scripts/02 Actor.lua index cfded1e6a4..d00281bf65 100644 --- a/Themes/_fallback/Scripts/02 Actor.lua +++ b/Themes/_fallback/Scripts/02 Actor.lua @@ -114,17 +114,32 @@ function Actor:FullScreen() end --[[ Typical background sizes: -320x240 - DDR 1st-Extreme, most NVLM_ZK songs -640x480 - most simfiles in distribution today are this big. -768x480 - 16:10 aspect ratio backgrounds -854x480 - pump it up pro +320x240 - [4:3] +640x480 - [4:3] (most simfiles in distribution today use this res.) +768x480 - [16:10] +854x480 - [16:9] ]] --- "Most backgrounds are 640x480. Some are 768x480. Stretch the 4:3 ones." function Actor:scale_or_crop_background() - if (self:GetWidth() * 3) / 4 == self:GetHeight() then + local gw = self:GetWidth() + local gh = self:GetHeight() + + local graphicAspect = gw/gh + local displayAspect = DISPLAY:GetDisplayWidth()/DISPLAY:GetDisplayHeight() + + if graphicAspect == displayAspect then + -- bga matches the current aspect, we can stretch it. self:stretchto( 0,0,SCREEN_WIDTH,SCREEN_HEIGHT ); else + -- temp self:scaletocover( 0,0,SCREEN_WIDTH,SCREEN_HEIGHT ); + --[[ + -- bga doesn't match the aspect. + if displayAspect > graphicAspect then + -- the graphic is smaller than the display aspect ratio + else + -- the graphic is bigger than the display aspect ratio; crop me + end + --]] end end From 4fb23797469ecefffb8ad1e6321917e2d4373167 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 12 Jun 2011 03:08:44 -0400 Subject: [PATCH 099/530] I think we can look into XCode 4 now sharksoda. --- Xcode/stepmania.xcodeproj/project.pbxproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Xcode/stepmania.xcodeproj/project.pbxproj b/Xcode/stepmania.xcodeproj/project.pbxproj index 7aed8f48e3..69f269a3da 100644 --- a/Xcode/stepmania.xcodeproj/project.pbxproj +++ b/Xcode/stepmania.xcodeproj/project.pbxproj @@ -7889,6 +7889,7 @@ GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( "$(SRCROOT)/../src", "$(SRCROOT)/../src/ffmpeg/include", @@ -7911,7 +7912,6 @@ OTHER_CPLUSPLUSFLAGS = ( "-finline-limit=300", "-fconstant-cfstrings", - "-fsingle-precision-constant", "-fno-exceptions", "-falign-loops=16", ); @@ -8576,6 +8576,7 @@ GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( "$(SRCROOT)/../src", "$(SRCROOT)/../src/ffmpeg/include", @@ -8598,7 +8599,6 @@ OTHER_CPLUSPLUSFLAGS = ( "-finline-limit=300", "-fconstant-cfstrings", - "-fsingle-precision-constant", "-fno-exceptions", "-falign-loops=16", ); @@ -8815,6 +8815,7 @@ GCC_ENABLE_SSE3_EXTENSIONS = NO; GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( "$(SRCROOT)/../src", "$(SRCROOT)/../src/ffmpeg/include", @@ -8837,7 +8838,6 @@ OTHER_CPLUSPLUSFLAGS = ( "-finline-limit=300", "-fconstant-cfstrings", - "-fsingle-precision-constant", "-fno-exceptions", "-falign-loops=16", ); @@ -8944,6 +8944,7 @@ GCC_ENABLE_OBJC_EXCEPTIONS = NO; GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( "$(SRCROOT)/../src", "$(SRCROOT)/../src/ffmpeg/include", @@ -8966,7 +8967,6 @@ OTHER_CPLUSPLUSFLAGS = ( "-finline-limit=300", "-fconstant-cfstrings", - "-fsingle-precision-constant", "-fno-exceptions", "-falign-loops=16", ); From 720675637e30fd5938e68ce61a89d9c03426567a Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 12 Jun 2011 03:12:44 -0400 Subject: [PATCH 100/530] The last of the LOG warnings I think. --- src/JsonUtil.cpp | 3 +-- src/NetworkSyncManager.cpp | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/JsonUtil.cpp b/src/JsonUtil.cpp index be736ea4b5..755036e770 100644 --- a/src/JsonUtil.cpp +++ b/src/JsonUtil.cpp @@ -14,8 +14,7 @@ bool JsonUtil::LoadFromString(Json::Value &root, RString sData, RString &sErrorO if (!parsingSuccessful) { RString err = reader.getFormatedErrorMessages(); - sErrorOut = ssprintf("JSON: LoadFromFileShowErrors failed: %s", err.c_str()); - LOG->Warn(sErrorOut); + LOG->Warn("JSON: LoadFromFileShowErrors failed: %s", err.c_str()); return false; } return true; diff --git a/src/NetworkSyncManager.cpp b/src/NetworkSyncManager.cpp index b49720a46a..66a4a1b4de 100644 --- a/src/NetworkSyncManager.cpp +++ b/src/NetworkSyncManager.cpp @@ -237,7 +237,7 @@ void NetworkSyncManager::ReportScore(int playerID, int step, int score, int comb if( !useSMserver ) //Make sure that we are using the network return; - LOG->Trace( ssprintf("Player ID %i combo = %i", playerID, combo) ); + LOG->Trace( "Player ID %i combo = %i", playerID, combo ); m_packet.ClearPacket(); m_packet.Write1( NSCGSU ); From 4bb0b28fc8d14c585121c2090f1e03a2b18cb7cb Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 12 Jun 2011 03:30:57 -0400 Subject: [PATCH 101/530] Good old warning fixes...how I missed thee. --- src/DancingCharacters.cpp | 4 +++- src/EnumHelper.h | 3 +++ src/LuaManager.h | 2 ++ src/RageDisplay.h | 2 +- src/RageDisplay_Legacy.cpp | 2 +- src/RageUtil.cpp | 2 ++ 6 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/DancingCharacters.cpp b/src/DancingCharacters.cpp index 8b5be828c3..08088290eb 100644 --- a/src/DancingCharacters.cpp +++ b/src/DancingCharacters.cpp @@ -11,6 +11,8 @@ #include "PrefsManager.h" #include "Model.h" +int Neg1OrPos1(); + #define DC_X( choice ) THEME->GetMetricF("DancingCharacters",ssprintf("2DCharacterXP%d",choice+1)) #define DC_Y( choice ) THEME->GetMetricF("DancingCharacters",ssprintf("2DCharacterYP%d",choice+1)) @@ -344,7 +346,7 @@ void DancingCharacters::DrawPrimitives() ambient, diffuse, specular, - RageVector3(-3, -7.5, +9) ); + RageVector3(-3, -7.5f, +9) ); if( PREFSMAN->m_bCelShadeModels ) { diff --git a/src/EnumHelper.h b/src/EnumHelper.h index 57e81d16c4..3f9c60c295 100644 --- a/src/EnumHelper.h +++ b/src/EnumHelper.h @@ -57,6 +57,7 @@ namespace Enum const RString &EnumToString( int iVal, int iMax, const char **szNameArray, auto_ptr *pNameCache ); // XToString helper #define XToString(X) \ + const RString& X##ToString(X x); \ COMPILE_ASSERT( NUM_##X == ARRAYLEN(X##Names) ); \ const RString& X##ToString( X x ) \ { \ @@ -66,6 +67,7 @@ const RString &EnumToString( int iVal, int iMax, const char **szNameArray, auto_ namespace StringConversion { template<> RString ToString( const X &value ) { return X##ToString(value); } } #define XToLocalizedString(X) \ + const RString &X##ToLocalizedString(X x); \ const RString &X##ToLocalizedString( X x ) \ { \ static auto_ptr g_##X##Name[NUM_##X]; \ @@ -80,6 +82,7 @@ const RString &EnumToString( int iVal, int iMax, const char **szNameArray, auto_ } #define StringToX(X) \ + X StringTo##X(const RString&); \ X StringTo##X( const RString& s ) \ { \ for( unsigned i = 0; i < ARRAYLEN(X##Names); ++i ) \ diff --git a/src/LuaManager.h b/src/LuaManager.h index 5bcf0233eb..084532800a 100644 --- a/src/LuaManager.h +++ b/src/LuaManager.h @@ -220,9 +220,11 @@ inline bool MyLua_checkintboolean( lua_State *L, int iArg ) #define FArg(n) ((float) luaL_checknumber(L,(n))) #define LuaFunction( func, expr ) \ +int LuaFunc_##func( lua_State *L ); \ int LuaFunc_##func( lua_State *L ) { \ LuaHelpers::Push( L, expr ); return 1; \ } \ +void LuaFunc_Register_##func( lua_State *L ); \ void LuaFunc_Register_##func( lua_State *L ) { lua_register( L, #func, LuaFunc_##func ); } \ REGISTER_WITH_LUA_FUNCTION( LuaFunc_Register_##func ); diff --git a/src/RageDisplay.h b/src/RageDisplay.h index 9cad4f74c4..ca881c85f5 100644 --- a/src/RageDisplay.h +++ b/src/RageDisplay.h @@ -112,7 +112,7 @@ public: bpp(0), rate(0), vsync(false), interlaced(false), bSmoothLines(false), bTrilinearFiltering(false), bAnisotropicFiltering(false), sWindowTitle(RString()), - sIconFile(RString()), PAL(false), fDisplayAspectRatio(0.0) {} + sIconFile(RString()), PAL(false), fDisplayAspectRatio(0.0f) {} bool windowed; int width; diff --git a/src/RageDisplay_Legacy.cpp b/src/RageDisplay_Legacy.cpp index b2ea632c5d..51d59720bd 100644 --- a/src/RageDisplay_Legacy.cpp +++ b/src/RageDisplay_Legacy.cpp @@ -2561,7 +2561,7 @@ RString RageDisplay_Legacy::GetTextureDiagnostics(unsigned iTexture) const void RageDisplay_Legacy::SetAlphaTest(bool b) { // Previously this was 0.01, rather than 0x01. - glAlphaFunc(GL_GREATER, 0.00390625 /* 1/256 */); + glAlphaFunc(GL_GREATER, 0.00390625f /* 1/256 */); if (b) glEnable(GL_ALPHA_TEST); else diff --git a/src/RageUtil.cpp b/src/RageUtil.cpp index 4f068df600..f50b1a5882 100644 --- a/src/RageUtil.cpp +++ b/src/RageUtil.cpp @@ -16,6 +16,8 @@ #include #include +bool HexToBinary(const RString&, RString&); + RandomGen g_RandomNumberGenerator; MersenneTwister::MersenneTwister( int iSeed ) : m_iNext(0) From 2ab5a4ddb8ff9c2739f7b9544a5f03cb2a5b2e03 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 12 Jun 2011 03:37:10 -0400 Subject: [PATCH 102/530] Mostly 64 - 32 float warning fixes. --- src/Actor.cpp | 6 +++--- src/AdjustSync.cpp | 2 +- src/ArrowEffects.cpp | 7 ++++++- src/BeginnerHelper.cpp | 4 ++-- src/LifeMeterBar.cpp | 2 +- src/RageSoundReader_Pan.cpp | 2 +- src/ScreenTestFonts.cpp | 2 +- src/ScreenTestSound.cpp | 4 ++-- src/ScreenUnlockStatus.cpp | 2 +- src/TimingData.cpp | 12 ++++++------ 10 files changed, 24 insertions(+), 19 deletions(-) diff --git a/src/Actor.cpp b/src/Actor.cpp index 3191d98d56..d7e8f3f4b2 100644 --- a/src/Actor.cpp +++ b/src/Actor.cpp @@ -105,9 +105,9 @@ void Actor::InitState() #endif m_fSecsIntoEffect = 0; m_fEffectDelta = 0; - m_fEffectRampUp = 0.5; + m_fEffectRampUp = 0.5f; m_fEffectHoldAtHalf = 0; - m_fEffectRampDown = 0.5; + m_fEffectRampDown = 0.5f; m_fEffectHoldAtZero = 0; m_fEffectOffset = 0; m_EffectClock = CLOCK_TIMER; @@ -118,7 +118,7 @@ void Actor::InitState() m_bVisible = true; m_fShadowLengthX = 0; m_fShadowLengthY = 0; - m_ShadowColor = RageColor(0,0,0,0.5); + m_ShadowColor = RageColor(0,0,0,0.5f); m_bIsAnimating = true; m_fHibernateSecondsLeft = 0; m_iDrawOrder = 0; diff --git a/src/AdjustSync.cpp b/src/AdjustSync.cpp index bee582b4bf..bc0425293d 100644 --- a/src/AdjustSync.cpp +++ b/src/AdjustSync.cpp @@ -256,7 +256,7 @@ void AdjustSync::AutosyncTempo() // keep only a fraction of the data, such as the 80% with the lowest // error. However, throwing away the ones with high error should // be enough in most cases. - float fFilteredError = 0.0; + float fFilteredError = 0; s_iStepsFiltered = s_vAutosyncTempoData.size(); FilterHighErrorPoints( s_vAutosyncTempoData, fSlope, fIntercept, ERROR_TOO_HIGH ); s_iStepsFiltered -= s_vAutosyncTempoData.size(); diff --git a/src/ArrowEffects.cpp b/src/ArrowEffects.cpp index fb8da38fb5..5b6dd64b08 100644 --- a/src/ArrowEffects.cpp +++ b/src/ArrowEffects.cpp @@ -60,6 +60,8 @@ static ThemeMetric MINI_PERCENT_BASE( "ArrowEffects", "MiniPercentBase" ) static ThemeMetric MINI_PERCENT_GATE( "ArrowEffects", "MiniPercentGate" ); static ThemeMetric DIZZY_HOLD_HEADS( "ArrowEffects", "DizzyHoldHeads" ); +float ArrowGetPercentVisible( const PlayerState* pPlayerState, float fYPosWithoutReverse ); + static float GetNoteFieldHeight( const PlayerState* pPlayerState ) { return SCREEN_HEIGHT + fabsf(pPlayerState->m_PlayerOptions.GetCurrent().m_fPerspectiveTilt)*200; @@ -236,7 +238,10 @@ float ArrowEffects::GetYOffset( const PlayerState* pPlayerState, int iCol, float if( bShowEffects ) fBeatsUntilStep = pCurSteps->m_Timing.GetDisplayedBeat(fNoteBeat) - pCurSteps->m_Timing.GetDisplayedBeat(fSongBeat); float fYOffsetBeatSpacing = fBeatsUntilStep; - float fSpeedMultiplier = bShowEffects ? pCurSteps->m_Timing.GetDisplayedSpeedPercent( position.m_fSongBeatVisible, position.m_fMusicSecondsVisible ) : 1.0; + float fSpeedMultiplier = bShowEffects ? + pCurSteps->m_Timing.GetDisplayedSpeedPercent( + position.m_fSongBeatVisible, + position.m_fMusicSecondsVisible ) : 1.0f; fYOffset += fSpeedMultiplier * fYOffsetBeatSpacing * (1-pPlayerState->m_PlayerOptions.GetCurrent().m_fTimeSpacing); } diff --git a/src/BeginnerHelper.cpp b/src/BeginnerHelper.cpp index 9bc73247ba..e6361729cf 100644 --- a/src/BeginnerHelper.cpp +++ b/src/BeginnerHelper.cpp @@ -242,7 +242,7 @@ void BeginnerHelper::DrawPrimitives() DISPLAY->SetLighting( true ); DISPLAY->SetLightDirectional( 0, - RageColor(0.5,0.5,0.5,1), + RageColor(0.5f,0.5f,0.5f,1), RageColor(1,1,1,1), RageColor(0,0,0,1), RageVector3(0, 0, 1) ); @@ -271,7 +271,7 @@ void BeginnerHelper::DrawPrimitives() DISPLAY->SetLighting( true ); DISPLAY->SetLightDirectional( 0, - RageColor(0.5,0.5,0.5,1), + RageColor(0.5f,0.5f,0.5f,1), RageColor(1,1,1,1), RageColor(0,0,0,1), RageVector3(0, 0, 1) ); diff --git a/src/LifeMeterBar.cpp b/src/LifeMeterBar.cpp index 8256732b89..bbc101058a 100644 --- a/src/LifeMeterBar.cpp +++ b/src/LifeMeterBar.cpp @@ -172,7 +172,7 @@ void LifeMeterBar::ChangeLife( HoldNoteScore score, TapNoteScore tscore ) switch( score ) { case HNS_Held: fDeltaLife = +0; break; - case HNS_LetGo: fDeltaLife = -1.0; break; + case HNS_LetGo: fDeltaLife = -1.0f; break; default: ASSERT(0); } diff --git a/src/RageSoundReader_Pan.cpp b/src/RageSoundReader_Pan.cpp index ee592c2fff..3b8d505154 100644 --- a/src/RageSoundReader_Pan.cpp +++ b/src/RageSoundReader_Pan.cpp @@ -5,7 +5,7 @@ RageSoundReader_Pan::RageSoundReader_Pan( RageSoundReader *pSource ): RageSoundReader_Filter( pSource ) { - m_fPan = 0.0; + m_fPan = 0; } diff --git a/src/ScreenTestFonts.cpp b/src/ScreenTestFonts.cpp index 8d163e22ec..708a2d711a 100644 --- a/src/ScreenTestFonts.cpp +++ b/src/ScreenTestFonts.cpp @@ -49,7 +49,7 @@ void ScreenTestFonts::Init() font.SetXY( SCREEN_CENTER_X, SCREEN_CENTER_Y+100 ); font.LoadFromFont( THEME->GetPathF("Common", "normal") ); - font.SetZoom(.5); + font.SetZoom(.5f); this->AddChild(&font); txt.SetName( "Text" ); diff --git a/src/ScreenTestSound.cpp b/src/ScreenTestSound.cpp index b27f93a87f..813f5cf6fa 100644 --- a/src/ScreenTestSound.cpp +++ b/src/ScreenTestSound.cpp @@ -17,7 +17,7 @@ void ScreenTestSound::Init() HEEEEEEEEELP.SetXY(450, 400); HEEEEEEEEELP.LoadFromFont( THEME->GetPathF("Common","normal") ); - HEEEEEEEEELP.SetZoom(.5); + HEEEEEEEEELP.SetZoom(.5f); HEEEEEEEEELP.SetText( "p Play\n" "s Stop\n" @@ -29,7 +29,7 @@ void ScreenTestSound::Init() { this->AddChild(&s[i].txt); s[i].txt.LoadFromFont( THEME->GetPathF("Common","normal") ); - s[i].txt.SetZoom(.5); + s[i].txt.SetZoom(.5f); } s[0].txt.SetXY(150, 100); diff --git a/src/ScreenUnlockStatus.cpp b/src/ScreenUnlockStatus.cpp index e06c7dfa95..502e5d76bf 100644 --- a/src/ScreenUnlockStatus.cpp +++ b/src/ScreenUnlockStatus.cpp @@ -127,7 +127,7 @@ void ScreenUnlockStatus::Init() break; default: text->SetText( "" ); - text->SetDiffuse( RageColor(0.5,0,0,1) ); + text->SetDiffuse( RageColor(0.5f,0,0,1) ); break; } diff --git a/src/TimingData.cpp b/src/TimingData.cpp index f65c00122e..660b5e50c0 100644 --- a/src/TimingData.cpp +++ b/src/TimingData.cpp @@ -821,10 +821,10 @@ void TimingData::GetBeatAndBPSFromElapsedTimeNoOffset( float fElapsedTime, float int iLastRow = 0; float fLastTime = -m_fBeat0OffsetInSeconds; - float fBPS = GetBPMAtRow(0) / 60.0; + float fBPS = GetBPMAtRow(0) / 60.0f; float bIsWarping = false; - float fWarpDestination = 0.0; + float fWarpDestination = 0; for( ;; ) { @@ -923,10 +923,10 @@ float TimingData::GetElapsedTimeFromBeatNoOffset( float fBeat ) const int iLastRow = 0; float fLastTime = -m_fBeat0OffsetInSeconds; - float fBPS = GetBPMAtRow(0) / 60.0; + float fBPS = GetBPMAtRow(0) / 60.0f; float bIsWarping = false; - float fWarpDestination = 0.0; + float fWarpDestination = 0; for( ;; ) { @@ -1004,7 +1004,7 @@ float TimingData::GetElapsedTimeFromBeatNoOffset( float fBeat ) const float TimingData::GetDisplayedBeat( float fBeat ) const { vector::const_iterator it = m_ScrollSegments.begin(), end = m_ScrollSegments.end(); - float fOutBeat = 0.0; + float fOutBeat = 0; for( ; it != end; it++ ) { if( it+1 == end || fBeat <= (it+1)->GetBeat() ) @@ -1508,7 +1508,7 @@ float TimingData::GetDisplayedSpeedPercent( float fSongBeat, float fMusicSeconds if( ( index == 0 && m_SpeedSegments[0].GetLength() > 0.0 ) && fCurTime < fStartTime ) { - return 1.0; + return 1.0f; } else if( fEndTime >= fCurTime && ( index > 0 || m_SpeedSegments[0].GetLength() > 0.0 ) ) { From b7ffecd3d0a2800ffd53c8faeb00d6879ea9c305 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 12 Jun 2011 03:40:26 -0400 Subject: [PATCH 103/530] This pointer was considered pointless. --- src/ScreenReloadSongs.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/ScreenReloadSongs.cpp b/src/ScreenReloadSongs.cpp index 7cd7360355..837a407e1a 100644 --- a/src/ScreenReloadSongs.cpp +++ b/src/ScreenReloadSongs.cpp @@ -40,14 +40,10 @@ ScreenReloadSongs::~ScreenReloadSongs() delete loadWin; } -int ScreenReloadSongs::loadingThreadProc(void *thisAsVoidPtr) { - - ScreenReloadSongs *self=(ScreenReloadSongs *)thisAsVoidPtr; - +int ScreenReloadSongs::loadingThreadProc(void *thisAsVoidPtr) +{ SONGMAN->Reload( false ); - SCREENMAN->PostMessageToTopScreen( SM_GoToNextScreen, 0 ); - return 0; } From 544f71c2587bf9d5faafc5e07652167d7cf28273 Mon Sep 17 00:00:00 2001 From: Alberto Ramos Date: Sun, 12 Jun 2011 01:41:36 -0600 Subject: [PATCH 104/530] comment+lineup thing --- NoteSkins/pump/default/UpLeft Receptor.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NoteSkins/pump/default/UpLeft Receptor.lua b/NoteSkins/pump/default/UpLeft Receptor.lua index 6ebcd0b547..86a2238fa1 100644 --- a/NoteSkins/pump/default/UpLeft Receptor.lua +++ b/NoteSkins/pump/default/UpLeft Receptor.lua @@ -1,5 +1,5 @@ - local function Beat(self) + -- too many locals local this = self:GetChildren() local player = GAMESTATE:GetMasterPlayerNumber() local playerstate = GAMESTATE:GetPlayerState( player ) From 7f3b8577b348c2f045c0236b8538a6c23931b815 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 12 Jun 2011 03:42:15 -0400 Subject: [PATCH 105/530] Prototypes. --- src/RageUtil.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/RageUtil.cpp b/src/RageUtil.cpp index f50b1a5882..cee069e043 100644 --- a/src/RageUtil.cpp +++ b/src/RageUtil.cpp @@ -17,6 +17,8 @@ #include bool HexToBinary(const RString&, RString&); +void utf8_sanitize(RString &); +void UnicodeUpperLower(wchar_t *, size_t, const unsigned char *); RandomGen g_RandomNumberGenerator; From 7acbe91683e36f5c6af92e11b8d91a05960bcd66 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 12 Jun 2011 03:47:22 -0400 Subject: [PATCH 106/530] More prototypes. --- src/Character.cpp | 2 ++ src/GameConstantsAndTypes.cpp | 1 + src/Inventory.cpp | 1 + src/NotesLoaderDWI.cpp | 2 ++ src/NotesLoaderJson.cpp | 2 ++ src/NotesWriterDWI.cpp | 2 ++ 6 files changed, 10 insertions(+) diff --git a/src/Character.cpp b/src/Character.cpp index 209d3c7fa3..bb7d0e0797 100644 --- a/src/Character.cpp +++ b/src/Character.cpp @@ -5,6 +5,8 @@ #include "RageTextureID.h" #include "ActorUtil.h" +RString GetRandomFileInDir( RString sDir ); + Character::Character(): m_sCharDir(""), m_sCharacterID(""), m_sDisplayName(""), m_sCardPath(""), m_sIconPath(""), m_bUsableInRave(false), m_iPreloadRefcount(0) {} diff --git a/src/GameConstantsAndTypes.cpp b/src/GameConstantsAndTypes.cpp index e1cbb161e4..f2279c6f5f 100644 --- a/src/GameConstantsAndTypes.cpp +++ b/src/GameConstantsAndTypes.cpp @@ -11,6 +11,7 @@ #include "PlayerNumber.h" #include +RString StepsTypeToString( StepsType st ); static vector GenerateRankingToFillInMarker() { diff --git a/src/Inventory.cpp b/src/Inventory.cpp index 3b7eb88b32..d3f563c30a 100644 --- a/src/Inventory.cpp +++ b/src/Inventory.cpp @@ -11,6 +11,7 @@ #include "ThemeMetric.h" #include "PlayerState.h" +void ReloadItems(); #define NUM_ITEM_TYPES THEME->GetMetricF("Inventory","NumItemTypes") #define ITEM_DURATION_SECONDS THEME->GetMetricF("Inventory","ItemDurationSeconds") diff --git a/src/NotesLoaderDWI.cpp b/src/NotesLoaderDWI.cpp index 9277a7a464..e7483e6fb6 100644 --- a/src/NotesLoaderDWI.cpp +++ b/src/NotesLoaderDWI.cpp @@ -14,6 +14,8 @@ #include +Difficulty DwiCompatibleStringToDifficulty( const RString& sDC ); + static std::map g_mapDanceNoteToNoteDataColumn; /** @brief The different types of core DWI arrows and pads. */ diff --git a/src/NotesLoaderJson.cpp b/src/NotesLoaderJson.cpp index e0f79204d8..9d422d5177 100644 --- a/src/NotesLoaderJson.cpp +++ b/src/NotesLoaderJson.cpp @@ -10,6 +10,8 @@ #include "Steps.h" #include "GameManager.h" +void Deserialize(BPMSegment &seg, const Json::Value &root); + void NotesLoaderJson::GetApplicableFiles( const RString &sPath, vector &out ) { GetDirListing( sPath + RString("*.json"), out ); diff --git a/src/NotesWriterDWI.cpp b/src/NotesWriterDWI.cpp index 3d0641c0e8..4c451d836a 100644 --- a/src/NotesWriterDWI.cpp +++ b/src/NotesWriterDWI.cpp @@ -11,6 +11,8 @@ #include "Song.h" #include "Steps.h" +RString OptimizeDWIString( RString holds, RString taps ); + /** * @brief Optimize an individual pair of characters whenever possible. * @param c1 the first character. From fe9dfa26c4191da0f27589858afdcb9c20df0fc4 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 12 Jun 2011 03:47:38 -0400 Subject: [PATCH 107/530] Consistency. --- src/NotesWriterJson.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NotesWriterJson.cpp b/src/NotesWriterJson.cpp index a758444e30..e5ad6338d9 100644 --- a/src/NotesWriterJson.cpp +++ b/src/NotesWriterJson.cpp @@ -9,7 +9,7 @@ #include "NoteData.h" #include "GameManager.h" -void Serialize(const BPMSegment &seg, Json::Value &root) +static void Serialize(const BPMSegment &seg, Json::Value &root) { root["Beat"] = seg.GetBeat(); root["BPM"] = seg.GetBPM(); From 4036ee89c22a45d4d1e847eea6051f59f3226c00 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 12 Jun 2011 03:55:48 -0400 Subject: [PATCH 108/530] Last bit of warnings for tonight. --- src/ModIconRow.cpp | 2 ++ src/Player.cpp | 14 ++++++-------- src/RageDisplay_Legacy.cpp | 7 +++++++ src/ScreenHighScores.cpp | 3 +++ src/ScreenInstallOverlay.cpp | 3 +++ 5 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/ModIconRow.cpp b/src/ModIconRow.cpp index b2e3c68fd1..d77bed655b 100644 --- a/src/ModIconRow.cpp +++ b/src/ModIconRow.cpp @@ -10,6 +10,8 @@ #include "LuaManager.h" #include "Foreach.h" +int OptionToPreferredColumn( RString sOptionText ); + REGISTER_ACTOR_CLASS( ModIconRow ); ModIconRow::ModIconRow() diff --git a/src/Player.cpp b/src/Player.cpp index 7195d3ab48..e7b55b6a36 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -42,6 +42,9 @@ #include "LocalizedString.h" #include "AdjustSync.h" +RString ATTACK_DISPLAY_X_NAME( size_t p, size_t both_sides ); +void TimingWindowSecondsInit( size_t /*TimingWindow*/ i, RString &sNameOut, float &defaultValueOut ); + /** * @brief Helper class to ensure that each row is only judged once without taking too much memory. */ @@ -1323,14 +1326,9 @@ void Player::UpdateHoldNotes( int iSongRow, float fDeltaTime, vector= 0 && tn.iKeysoundIndex < (int) m_vKeysounds.size() ) { - if( tn.subType == TapNote::hold_head_roll ) - { - m_vKeysounds[tn.iKeysoundIndex].SetProperty ("Volume", max(0.0, min(1.0, fLifeFraction * 2.0))); - } - else - { - m_vKeysounds[tn.iKeysoundIndex].SetProperty ("Volume", max(0.0, min(1.0, fLifeFraction * 10.0 - 8.5))); - } + float factor = (tn.subType == TapNote::hold_head_roll ? 2 : 10.0f - 8.5f); + factor *= fLifeFraction; + m_vKeysounds[tn.iKeysoundIndex].SetProperty ("Volume", max(0.0, min(1.0, factor))); } } diff --git a/src/RageDisplay_Legacy.cpp b/src/RageDisplay_Legacy.cpp index 51d59720bd..4247510dc7 100644 --- a/src/RageDisplay_Legacy.cpp +++ b/src/RageDisplay_Legacy.cpp @@ -31,6 +31,13 @@ using namespace RageDisplay_Legacy_Helpers; #define glFlush() #endif +RString GetInfoLog( GLhandleARB h ); +GLhandleARB CompileShader( GLenum ShaderType, RString sFile, vector asDefines ); +GLhandleARB LoadShader( GLenum ShaderType, RString sFile, vector asDefines ); +void InitShaders(); +void SetupExtensions(); +void SetPixelMapForSurface( int glImageFormat, int glTexFormat, const RageSurfacePalette *palette ); + // // Globals // diff --git a/src/ScreenHighScores.cpp b/src/ScreenHighScores.cpp index 1f5034b134..97ea53f980 100644 --- a/src/ScreenHighScores.cpp +++ b/src/ScreenHighScores.cpp @@ -6,6 +6,9 @@ #include "RageLog.h" #include "UnlockManager.h" +RString COLUMN_DIFFICULTY_NAME( size_t i ); +RString COLUMN_STEPS_TYPE_NAME( size_t i ); + static const char *HighScoresTypeNames[] = { "AllSteps", "NonstopCourses", diff --git a/src/ScreenInstallOverlay.cpp b/src/ScreenInstallOverlay.cpp index 25561e7d8d..6882c1be0c 100644 --- a/src/ScreenInstallOverlay.cpp +++ b/src/ScreenInstallOverlay.cpp @@ -41,6 +41,9 @@ struct PlayAfterLaunchInfo } }; +void InstallSmzipOsArg( const RString &sOsZipFile, PlayAfterLaunchInfo &out ); +PlayAfterLaunchInfo DoInstalls( CommandLineActions::CommandLineArgs args ); + static void Parse( const RString &sDir, PlayAfterLaunchInfo &out ) { vector vsDirParts; From e965e0b3e4ace87872fedfa54d358e6628107b3e Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sun, 12 Jun 2011 04:09:49 -0500 Subject: [PATCH 109/530] [ScreenNetSelectMusic] Add PlayerOptionsScreen metric. --- Docs/Changelog_sm5.txt | 4 ++++ Themes/_fallback/metrics.ini | 1 + src/ScreenNetSelectMusic.cpp | 3 ++- src/ScreenNetSelectMusic.h | 1 + 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 4e2237edd8..daa44ee8ac 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,10 @@ ________________________________________________________________________________ StepMania 5.0 Preview 2 | 20110??? -------------------------------------------------------------------------------- +2011/06/12 +---------- +* [ScreenNetSelectMusic] Add PlayerOptionsScreen metric. [AJ] + 2011/06/11 ---------- * [ScreenEdit] Allow setting the Music Preview via the Alter Menu. Just select diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index e504462b0e..77257bcb2d 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -3951,6 +3951,7 @@ PrevScreen="ScreenNetRoom" NextScreen="ScreenStageInformation" NoSongsScreen=Branch.TitleMenu() RoomSelectScreen="ScreenNetRoom" +PlayerOptionsScreen="ScreenPlayerOptions" Codes="CodeDetectorOnline" ShowStyleIcon=false diff --git a/src/ScreenNetSelectMusic.cpp b/src/ScreenNetSelectMusic.cpp index c9e4aa3ea8..3397ae997b 100644 --- a/src/ScreenNetSelectMusic.cpp +++ b/src/ScreenNetSelectMusic.cpp @@ -46,6 +46,7 @@ void ScreenNetSelectMusic::Init() SAMPLE_MUSIC_PREVIEW_MODE.Load( m_sName, "SampleMusicPreviewMode" ); MUSIC_WHEEL_TYPE.Load( m_sName, "MusicWheelType" ); + PLAYER_OPTIONS_SCREEN.Load( m_sName, "PlayerOptionsScreen" ); FOREACH_EnabledPlayer (p) { @@ -331,7 +332,7 @@ void ScreenNetSelectMusic::MenuUp( const InputEventPlus &input ) { NSMAN->ReportNSSOnOff(3); GAMESTATE->m_EditMode = EditMode_Full; - SCREENMAN->AddNewScreenToTop( "ScreenPlayerOptions", SM_BackFromPlayerOptions ); + SCREENMAN->AddNewScreenToTop( PLAYER_OPTIONS_SCREEN, SM_BackFromPlayerOptions ); } void ScreenNetSelectMusic::MenuDown( const InputEventPlus &input ) diff --git a/src/ScreenNetSelectMusic.h b/src/ScreenNetSelectMusic.h index 2a0ff5fe1f..ecb89a079f 100644 --- a/src/ScreenNetSelectMusic.h +++ b/src/ScreenNetSelectMusic.h @@ -44,6 +44,7 @@ protected: RString m_sRandomMusicPath; ThemeMetric MUSIC_WHEEL_TYPE; + ThemeMetric PLAYER_OPTIONS_SCREEN; private: MusicWheel m_MusicWheel; From c3c8753620e1daf83e807419f8b651ae4c6c3b66 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 12 Jun 2011 19:20:43 -0400 Subject: [PATCH 110/530] More prototype warning stuff. I know these should be in the .h files, but we can cover that later. --- src/NoteField.cpp | 3 +++ src/Player.cpp | 2 +- src/PlayerOptions.cpp | 3 +++ src/ScreenMiniMenu.cpp | 3 +++ src/StepMania.cpp | 4 ++++ 5 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/NoteField.cpp b/src/NoteField.cpp index 84dc4aae63..3795881eb7 100644 --- a/src/NoteField.cpp +++ b/src/NoteField.cpp @@ -20,6 +20,9 @@ #include "Course.h" #include "NoteData.h" +float FindFirstDisplayedBeat( const PlayerState* pPlayerState, int iDrawDistanceAfterTargetsPixels ); +float FindLastDisplayedBeat( const PlayerState* pPlayerState, int iDrawDistanceBeforeTargetsPixels ); + static ThemeMetric SHOW_BOARD( "NoteField", "ShowBoard" ); static ThemeMetric SHOW_BEAT_BARS( "NoteField", "ShowBeatBars" ); static ThemeMetric FADE_BEFORE_TARGETS_PERCENT( "NoteField", "FadeBeforeTargetsPercent" ); diff --git a/src/Player.cpp b/src/Player.cpp index e7b55b6a36..db17f00e07 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -1328,7 +1328,7 @@ void Player::UpdateHoldNotes( int iSongRow, float fDeltaTime, vector +void NextFloat( float fValues[], int size ); +void NextBool( bool bValues[], int size ); + ThemeMetric RANDOM_SPEED_CHANCE ( "PlayerOptions", "RandomSpeedChance" ); ThemeMetric RANDOM_REVERSE_CHANCE ( "PlayerOptions", "RandomReverseChance" ); ThemeMetric RANDOM_DARK_CHANCE ( "PlayerOptions", "RandomDarkChance" ); diff --git a/src/ScreenMiniMenu.cpp b/src/ScreenMiniMenu.cpp index 0d68986a97..83be2dd4f0 100644 --- a/src/ScreenMiniMenu.cpp +++ b/src/ScreenMiniMenu.cpp @@ -10,6 +10,9 @@ #include "OptionRowHandler.h" #include "PrefsManager.h" +void PrepareToLoadScreen( const RString &sScreenName ); +void FinishedLoadingScreen(); + AutoScreenMessage( SM_GoToOK ); AutoScreenMessage( SM_GoToCancel ); diff --git a/src/StepMania.cpp b/src/StepMania.cpp index e72f6f621d..a3d4af5c6f 100644 --- a/src/StepMania.cpp +++ b/src/StepMania.cpp @@ -72,6 +72,10 @@ #include #endif +void ShutdownGame(); +bool HandleGlobalInputs( const InputEventPlus &input ); +void HandleInputEvents(float fDeltaTime); + static Preference g_bAllowMultipleInstances( "AllowMultipleInstances", false ); void StepMania::GetPreferredVideoModeParams( VideoModeParams ¶msOut ) From 3d155c997080c1cb722d9c425016bab41bee750f Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 12 Jun 2011 19:35:24 -0400 Subject: [PATCH 111/530] NOW I start moving prototypes to headers? I need to be more consistent...gah, hungry. --- src/AttackDisplay.h | 2 ++ src/CourseUtil.h | 4 ++++ src/DateTime.h | 2 ++ src/GameSoundManager.h | 3 +++ src/GameState.h | 2 ++ src/MenuTimer.h | 2 ++ src/NoteDataUtil.cpp | 7 ------- src/NoteDataUtil.h | 18 ++++++++++++++++++ src/PrefsManager.h | 3 +++ src/RageFileManager.h | 4 ++++ src/RageSoundReader_MP3.cpp | 1 - src/RageSoundReader_MP3.h | 5 +++++ src/RageSoundReader_WAV.h | 3 +++ src/Song.h | 3 +++ src/SongManager.h | 4 ++++ src/SongUtil.h | 2 ++ src/Sprite.h | 2 ++ src/arch/MovieTexture/MovieTexture.h | 2 ++ src/arch/MovieTexture/MovieTexture_FFMpeg.cpp | 4 ++++ src/archutils/Unix/CrashHandlerChild.cpp | 2 ++ 20 files changed, 67 insertions(+), 8 deletions(-) diff --git a/src/AttackDisplay.h b/src/AttackDisplay.h index 1a411ea55a..5e4dccf3d3 100644 --- a/src/AttackDisplay.h +++ b/src/AttackDisplay.h @@ -6,6 +6,8 @@ #include "GameConstantsAndTypes.h" // for TapNoteScore #include "RageTexturePreloader.h" +RString GetAttackPieceName( const RString &sAttack ); + class PlayerState; /** @brief A graphical display for attacks. */ class AttackDisplay : public ActorFrame diff --git a/src/CourseUtil.h b/src/CourseUtil.h index e338c9c3e7..6be86abe77 100644 --- a/src/CourseUtil.h +++ b/src/CourseUtil.h @@ -11,6 +11,10 @@ class XNode; class CourseEntry; class Song; +bool CompareCoursePointersBySortValueAscending( const Course *pSong1, const Course *pSong2 ); +bool CompareCoursePointersBySortValueDescending( const Course *pSong1, const Course *pSong2 ); +bool CompareCoursePointersByTitle( const Course *pCourse1, const Course *pCourse2 ); + /** @brief Utility functions that deal with Courses. */ namespace CourseUtil { diff --git a/src/DateTime.h b/src/DateTime.h index 58f2cbe6ff..2d77da95bd 100644 --- a/src/DateTime.h +++ b/src/DateTime.h @@ -4,6 +4,8 @@ #include "EnumHelper.h" #include +int StringToDayInYear( RString sDayInYear ); + /** @brief The number of days we check for previously. */ const int NUM_LAST_DAYS = 7; /** @brief The number of weeks we check for previously. */ diff --git a/src/GameSoundManager.h b/src/GameSoundManager.h index 6ce38ca39e..1187924a37 100644 --- a/src/GameSoundManager.h +++ b/src/GameSoundManager.h @@ -6,6 +6,9 @@ class TimingData; class RageSound; struct lua_State; + +int MusicThread_start( void *p ); + /** @brief High-level sound utilities. */ class GameSoundManager { diff --git a/src/GameState.h b/src/GameState.h index 0b2463f3c7..51abbac141 100644 --- a/src/GameState.h +++ b/src/GameState.h @@ -32,6 +32,8 @@ class Style; class TimingData; class Trail; +SortOrder GetDefaultSort(); + /** @brief Holds game data that is not saved between sessions. */ class GameState { diff --git a/src/MenuTimer.h b/src/MenuTimer.h index 1756bf715d..cd3a211c54 100644 --- a/src/MenuTimer.h +++ b/src/MenuTimer.h @@ -9,6 +9,8 @@ #include "ThemeMetric.h" #include "AutoActor.h" +RString WARNING_COMMAND_NAME( size_t i ); + class MenuTimer : public ActorFrame { public: diff --git a/src/NoteDataUtil.cpp b/src/NoteDataUtil.cpp index 7ecbbe46ac..68151e4cae 100644 --- a/src/NoteDataUtil.cpp +++ b/src/NoteDataUtil.cpp @@ -778,13 +778,6 @@ void NoteDataUtil::LoadTransformedLightsFromTwo( const NoteData &marquee, const NoteDataUtil::RemoveMines( out ); } -struct RadarStats { - int taps; - int jumps; - int hands; - int quads; -}; - RadarStats CalculateRadarStatsFast( const NoteData &in, RadarStats &out ) { out.taps = 0; diff --git a/src/NoteDataUtil.h b/src/NoteDataUtil.h index f92043c9ff..167d2955f7 100644 --- a/src/NoteDataUtil.h +++ b/src/NoteDataUtil.h @@ -10,6 +10,24 @@ class NoteData; class Song; struct AttackArray; +/** @brief A limited selection of the RadarValues. */ +struct RadarStats +{ + /** @brief The number of tap notes in the song. */ + int taps; + /** @brief The number of jumps in the song. */ + int jumps; + /** @brief The number of 3 panel hits in the song. */ + int hands; + /** @brief The number of 4 panel hits in the song. */ + int quads; +}; + +void PlaceAutoKeysound( NoteData &out, int row, TapNote akTap ); +int FindLongestOverlappingHoldNoteForAnyTrack( const NoteData &in, int iRow ); +void LightTransformHelper( const NoteData &in, NoteData &out, const vector &aiTracks ); +RadarStats CalculateRadarStatsFast( const NoteData &in, RadarStats &out ); + /** * @brief Utility functions that deal with NoteData. * diff --git a/src/PrefsManager.h b/src/PrefsManager.h index 2d1f564bb3..589da26533 100644 --- a/src/PrefsManager.h +++ b/src/PrefsManager.h @@ -5,6 +5,9 @@ class IniFile; +void ValidateDisplayAspectRatio( float &val ); +void ValidateSongsPerPlay( int &val ); + /** @brief How many songs can be played during a normal game max? * * This assumes no extra stages, no event mode, no course modes. */ diff --git a/src/RageFileManager.h b/src/RageFileManager.h index 59767b7aa4..12c6ca1fe0 100644 --- a/src/RageFileManager.h +++ b/src/RageFileManager.h @@ -10,6 +10,10 @@ namespace RageFileManagerUtil class RageFileDriver; class RageFileBasic; struct lua_State; + +bool ilt( const RString &a, const RString &b ); +bool ieq( const RString &a, const RString &b ); + /** @brief File utilities and high-level manager for RageFile objects. */ class RageFileManager { diff --git a/src/RageSoundReader_MP3.cpp b/src/RageSoundReader_MP3.cpp index 048b20e508..cb7829c09f 100644 --- a/src/RageSoundReader_MP3.cpp +++ b/src/RageSoundReader_MP3.cpp @@ -26,7 +26,6 @@ enum tagtype { TAGTYPE_ID3V2_FOOTER }; -typedef unsigned long id3_length_t; static const int ID3_TAG_FLAG_FOOTERPRESENT = 0x10; static tagtype tagtype( const unsigned char *data, id3_length_t length ) diff --git a/src/RageSoundReader_MP3.h b/src/RageSoundReader_MP3.h index cc8862808a..815e8e7c27 100644 --- a/src/RageSoundReader_MP3.h +++ b/src/RageSoundReader_MP3.h @@ -8,6 +8,11 @@ struct madlib_t; +typedef unsigned long id3_length_t; + +signed long id3_tag_query( const unsigned char *data, id3_length_t length ); +void fill_frame_index_cache( madlib_t *mad ); + class RageSoundReader_MP3: public RageSoundReader_FileReader { public: diff --git a/src/RageSoundReader_WAV.h b/src/RageSoundReader_WAV.h index 20dcdeeaa2..53cf48d18d 100644 --- a/src/RageSoundReader_WAV.h +++ b/src/RageSoundReader_WAV.h @@ -7,6 +7,9 @@ #include "RageFile.h" struct WavReader; + +RString ReadString( RageFileBasic &f, int iSize, RString &sError ); + class RageSoundReader_WAV: public RageSoundReader_FileReader { public: diff --git a/src/Song.h b/src/Song.h index 600694a640..98ff89ece2 100644 --- a/src/Song.h +++ b/src/Song.h @@ -16,6 +16,9 @@ class StepsID; struct lua_State; struct BackgroundChange; +void FixupPath( RString &path, const RString &sSongPath ); +RString GetSongAssetPath( RString sPath, const RString &sSongPath ); + /** @brief The version of the .ssc file format. */ const static float STEPFILE_VERSION_NUMBER = 0.7f; diff --git a/src/SongManager.h b/src/SongManager.h index 4df49feae7..54eaaa0cec 100644 --- a/src/SongManager.h +++ b/src/SongManager.h @@ -18,6 +18,10 @@ struct lua_State; #include "RageTexturePreloader.h" #include "RageUtil.h" +RString SONG_GROUP_COLOR_NAME( size_t i ); +RString COURSE_GROUP_COLOR_NAME( size_t i ); +bool CompareNotesPointersForExtra(const Steps *n1, const Steps *n2); + /** @brief The max number of edit steps a profile can have. */ const int MAX_EDIT_STEPS_PER_PROFILE = 200; /** @brief The max number of edit courses a profile can have. */ diff --git a/src/SongUtil.h b/src/SongUtil.h index 5432d455e3..4ecbcb8687 100644 --- a/src/SongUtil.h +++ b/src/SongUtil.h @@ -13,6 +13,8 @@ class Steps; class Profile; class XNode; +void AppendOctal( int n, int digits, RString &out ); + /** @brief The criteria for dealing with songs. */ class SongCriteria { diff --git a/src/Sprite.h b/src/Sprite.h index 7247171f70..3a941ec28c 100644 --- a/src/Sprite.h +++ b/src/Sprite.h @@ -4,6 +4,8 @@ #include "Actor.h" #include "RageTextureID.h" +void TexCoordArrayFromRect( float fImageCoords[8], const RectF &rect ); + class RageTexture; /** @brief A bitmap Actor that animates and moves around. */ class Sprite: public Actor diff --git a/src/arch/MovieTexture/MovieTexture.h b/src/arch/MovieTexture/MovieTexture.h index a97ea7e89f..b36b15fcae 100644 --- a/src/arch/MovieTexture/MovieTexture.h +++ b/src/arch/MovieTexture/MovieTexture.h @@ -5,6 +5,8 @@ #include "arch/RageDriver.h" #include +void ForceToAscii( RString &str ); + class RageMovieTexture : public RageTexture { public: diff --git a/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp b/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp index ed70a0acbf..ba00dbacb0 100644 --- a/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp +++ b/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp @@ -28,6 +28,10 @@ namespace avcodec #endif }; +int URLRageFile_open( avcodec::URLContext *h, const char *filename, int flags ); +int URLRageFile_read( avcodec::URLContext *h, unsigned char *buf, int size ); +int URLRageFile_close( avcodec::URLContext *h ); + /* #if defined(_MSC_VER) #pragma comment(lib, "ffmpeg/lib/avcodec.lib") diff --git a/src/archutils/Unix/CrashHandlerChild.cpp b/src/archutils/Unix/CrashHandlerChild.cpp index 4255470779..518ad0c7f6 100644 --- a/src/archutils/Unix/CrashHandlerChild.cpp +++ b/src/archutils/Unix/CrashHandlerChild.cpp @@ -28,6 +28,8 @@ extern const char *const version_date; extern const char *const version_time; #endif +bool child_read( int fd, void *p, int size ); + const char *g_pCrashHandlerArgv0 = NULL; From acdc45042a729d4b951b9424149a04b2369c6be1 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 12 Jun 2011 20:34:23 -0400 Subject: [PATCH 112/530] Put old behavior back by default. Use the Control key for the time signature scrolling behavior. --- Docs/Changelog_sm5.txt | 3 +++ src/ScreenEdit.cpp | 21 ++++++++++++++++++++- src/ScreenEdit.h | 2 ++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index daa44ee8ac..f7ae75008c 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -11,6 +11,9 @@ StepMania 5.0 Preview 2 | 20110??? 2011/06/12 ---------- * [ScreenNetSelectMusic] Add PlayerOptionsScreen metric. [AJ] +* [ScreenEdit] Restore the old PageUp/PageDown behavior, added Control + + PageUp/PageDown to use recent time signature behavior. Laptop users, that + includes you guys too: semicolon and apostrophe are still good. [Wolfman2000] 2011/06/11 ---------- diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 98fbd51007..ea892be983 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -128,6 +128,17 @@ void ScreenEdit::InitEditMappings() m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_UP_PAGE][1] = DeviceInput(DEVICE_KEYBOARD, KEY_SEMICOLON); m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_DOWN_PAGE][0] = DeviceInput(DEVICE_KEYBOARD, KEY_PGDN); m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_DOWN_PAGE][1] = DeviceInput(DEVICE_KEYBOARD, KEY_SQUOTE); + + m_EditMappingsDeviceInput.hold[EDIT_BUTTON_SCROLL_UP_TS][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LCTRL); + m_EditMappingsDeviceInput.hold[EDIT_BUTTON_SCROLL_UP_TS][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RCTRL); + m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_UP_TS][0] = DeviceInput(DEVICE_KEYBOARD, KEY_PGUP); + m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_UP_TS][1] = DeviceInput(DEVICE_KEYBOARD, KEY_SEMICOLON); + + m_EditMappingsDeviceInput.hold[EDIT_BUTTON_SCROLL_DOWN_TS][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LCTRL); + m_EditMappingsDeviceInput.hold[EDIT_BUTTON_SCROLL_DOWN_TS][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RCTRL); + m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_DOWN_TS][0] = DeviceInput(DEVICE_KEYBOARD, KEY_PGDN); + m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_DOWN_TS][1] = DeviceInput(DEVICE_KEYBOARD, KEY_SQUOTE); + m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_HOME][0] = DeviceInput(DEVICE_KEYBOARD, KEY_HOME); m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_END][0] = DeviceInput(DEVICE_KEYBOARD, KEY_END); m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_NEXT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_PERIOD); @@ -1490,8 +1501,10 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) break; case EDIT_BUTTON_SCROLL_UP_LINE: case EDIT_BUTTON_SCROLL_UP_PAGE: + case EDIT_BUTTON_SCROLL_UP_TS: case EDIT_BUTTON_SCROLL_DOWN_LINE: case EDIT_BUTTON_SCROLL_DOWN_PAGE: + case EDIT_BUTTON_SCROLL_DOWN_TS: { float fBeatsToMove=0.f; switch( EditB ) @@ -1505,10 +1518,16 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) break; case EDIT_BUTTON_SCROLL_UP_PAGE: case EDIT_BUTTON_SCROLL_DOWN_PAGE: - fBeatsToMove = beatsPerMeasure; + fBeatsToMove = 4; if( EditB == EDIT_BUTTON_SCROLL_UP_PAGE ) fBeatsToMove *= -1; break; + case EDIT_BUTTON_SCROLL_UP_TS: + case EDIT_BUTTON_SCROLL_DOWN_TS: + fBeatsToMove = beatsPerMeasure; + if( EditB == EDIT_BUTTON_SCROLL_UP_TS ) + fBeatsToMove *= -1; + break; } if( m_PlayerStateEdit.m_PlayerOptions.GetSong().m_fScrolls[PlayerOptions::SCROLL_REVERSE] > 0.5 ) diff --git a/src/ScreenEdit.h b/src/ScreenEdit.h index 2b3119a10a..2e5a020c3b 100644 --- a/src/ScreenEdit.h +++ b/src/ScreenEdit.h @@ -62,8 +62,10 @@ enum EditButton EDIT_BUTTON_SCROLL_UP_LINE, EDIT_BUTTON_SCROLL_UP_PAGE, + EDIT_BUTTON_SCROLL_UP_TS, EDIT_BUTTON_SCROLL_DOWN_LINE, EDIT_BUTTON_SCROLL_DOWN_PAGE, + EDIT_BUTTON_SCROLL_DOWN_TS, EDIT_BUTTON_SCROLL_NEXT_MEASURE, EDIT_BUTTON_SCROLL_PREV_MEASURE, EDIT_BUTTON_SCROLL_HOME, From fc68776e3f21eae7579ac12dffb2b972214070c0 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 12 Jun 2011 20:45:21 -0400 Subject: [PATCH 113/530] Anyone on linux want to test this? I think this may work for an indeterminate bar. --- src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp b/src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp index 445654b7f1..86f2e25a5f 100644 --- a/src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp +++ b/src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp @@ -62,7 +62,7 @@ extern "C" void SetProgress( int progress, int totalWork ) extern "C" void SetIndeterminate( bool indeterminate ) { - // TODO: Implement this! + gtk_progress_bar_pulse(); gtk_main_iteration_do(FALSE); } From 88f844787f896f41c26586b89678f6986f4a8687 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 12 Jun 2011 20:45:30 -0400 Subject: [PATCH 114/530] Minor doxygen. --- src/ScreenEdit.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index ea892be983..9e41da67c4 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -41,7 +41,7 @@ static Preference g_iDefaultRecordLength( "DefaultRecordLength", 4 ); static Preference g_bEditorShowBGChangesPlay( "EditorShowBGChangesPlay", true ); -// Defines specific to ScreenEdit +/** @brief How long must the button be held to generate a hold in record mode? */ const float RECORD_HOLD_SECONDS = 0.3f; #define PLAYER_X (SCREEN_CENTER_X) From e55270cade65c92d71461e363e2ce60013132961 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 12 Jun 2011 20:45:47 -0400 Subject: [PATCH 115/530] Missed a GCC 4.2 spot. Still thinking we could go to LLVM 1.5 here. --- Xcode/stepmania.xcodeproj/project.pbxproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Xcode/stepmania.xcodeproj/project.pbxproj b/Xcode/stepmania.xcodeproj/project.pbxproj index 69f269a3da..30f38baac6 100644 --- a/Xcode/stepmania.xcodeproj/project.pbxproj +++ b/Xcode/stepmania.xcodeproj/project.pbxproj @@ -7946,7 +7946,7 @@ GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; GCC_STRICT_ALIASING = YES; GCC_UNROLL_LOOPS = YES; - GCC_VERSION = 4.0; + GCC_VERSION = ""; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; GCC_WARN_ABOUT_MISSING_NEWLINE = YES; @@ -8523,7 +8523,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_STRICT_ALIASING = YES; GCC_UNROLL_LOOPS = YES; - GCC_VERSION = 4.0; + GCC_VERSION = ""; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; GCC_WARN_ABOUT_MISSING_NEWLINE = YES; @@ -8870,7 +8870,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_STRICT_ALIASING = YES; GCC_UNROLL_LOOPS = YES; - GCC_VERSION = 4.0; + GCC_VERSION = ""; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; GCC_WARN_ABOUT_MISSING_NEWLINE = YES; @@ -9000,7 +9000,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_STRICT_ALIASING = YES; GCC_UNROLL_LOOPS = YES; - GCC_VERSION = 4.0; + GCC_VERSION = ""; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; GCC_WARN_ABOUT_MISSING_NEWLINE = YES; From 79b0c1ccbe7903aab833d5b65225bc8b25515af5 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sun, 12 Jun 2011 20:36:06 -0500 Subject: [PATCH 116/530] more reverting of 750b688 --- src/NoteSkinManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NoteSkinManager.cpp b/src/NoteSkinManager.cpp index d56062e0df..562629346f 100644 --- a/src/NoteSkinManager.cpp +++ b/src/NoteSkinManager.cpp @@ -200,7 +200,7 @@ bool NoteSkinManager::DoesNoteSkinExist( const RString &sSkinName ) vector asSkinNames; GetAllNoteSkinNamesForGame( GAMESTATE->m_pCurGame, asSkinNames ); for( unsigned i=0; i Date: Sun, 12 Jun 2011 21:52:51 -0500 Subject: [PATCH 117/530] make this value a little bit more realistic so that bad performance doesn't happen as often --- Themes/_fallback/metrics.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 77257bcb2d..e7a253f235 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -1527,7 +1527,7 @@ AllowRepeatingInput=false PreSwitchPageSeconds=0 PostSwitchPageSeconds=0 ScrollerSecondsPerItem=0 -ScrollerNumItemsToDraw=1024 +ScrollerNumItemsToDraw=16 ScrollerTransform=function(self,offset,itemIndex,numItems) end ScrollerSubdivisions=1 OverrideSleepAfterTweenOffSeconds=false From 5cd05670ab1444ae6a8d758bf2b240986b236386 Mon Sep 17 00:00:00 2001 From: Thai Pangsakulyanont Date: Mon, 13 Jun 2011 10:54:18 +0700 Subject: [PATCH 118/530] NotesLoaderBMS: Fix loading BPM changes by putting all of them in a map first and then finally add the BPM segments. As the BMS loader sorts the definitions by measure and channel, they are not sorted by time, so there are cases that this can happen: #00103:7F #00203:007F0000 #00208:01 #BPM01 63.5 In this case, the segment in the second line is parsed before the third line, and because of the BPM is the same as the segment before it (the first line), no BPM changes will be added, the segment in the third line will then set the BPM of the rest of the song, which is wrong. To fix this the BPM needs to be sorted. --- src/NotesLoaderBMS.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/NotesLoaderBMS.cpp b/src/NotesLoaderBMS.cpp index e7adf6d5a2..4f53c0e152 100644 --- a/src/NotesLoaderBMS.cpp +++ b/src/NotesLoaderBMS.cpp @@ -548,6 +548,7 @@ static bool LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNameTo { map mapIdToKeysoundIndex; + map mapNoteRowToBPM; MeasureToTimeSig_t sigAdjustments; LOG->Trace( "Steps::LoadFromBMSFile( '%s' )", sPath.c_str() ); @@ -622,7 +623,7 @@ static bool LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNameTo case BMS_TRACK_BPM: if( iVal > 0 ) { - out.m_Timing.SetBPMAtBeat( fBeat, (float) iVal ); + mapNoteRowToBPM[ BeatToNoteRow(fBeat) ] = iVal; LOG->Trace( "Inserting new BPM change at beat %f, BPM %i", fBeat, iVal ); } else @@ -639,7 +640,7 @@ static bool LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNameTo if( GetTagFromMap( mapNameToData, sTagToLookFor, sBPM ) ) { float fBPM = StringToFloat( sBPM ); - out.m_Timing.SetBPMAtBeat( fBeat, fBPM ); + mapNoteRowToBPM[ BeatToNoteRow(fBeat) ] = fBPM; } else { @@ -676,6 +677,11 @@ static bool LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNameTo } } + + for( map::iterator it = mapNoteRowToBPM.begin(); it != mapNoteRowToBPM.end(); it ++ ) + { + out.m_Timing.SetBPMAtRow( it->first, it->second ); + } // Now that we're done reading BPMs, factor out weird time signatures. SetTimeSigAdjustments( mapMeasureToTimeSig, outSong, sigAdjustments ); From 38ea269a10037597d9ca4a061e3296b9f54fbbdc Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 13 Jun 2011 01:39:23 -0500 Subject: [PATCH 119/530] [LifeMeterBattery] Added some metrics that allow anyone to change how the battery meter handles lives. * MinScoreToKeepLife='TapNoteScore_*' - any score below this = loss of life. * SubtractLives=1 - how many lives are lost when going below MinScoreToKeepLife. * MinesSubtractLives=1 - how many lives are lost when hitting a mine. * HeldAddLives=0 - how many lives are gained when a hold is completed. * LetGoSubtractLives=1 - how many lives are lost on a dropped hold. --- Docs/Changelog_sm5.txt | 9 ++++ Themes/_fallback/metrics.ini | 13 +++++- src/LifeMeterBattery.cpp | 88 +++++++++++++++++++----------------- src/LifeMeterBattery.h | 10 +++- 4 files changed, 77 insertions(+), 43 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index f7ae75008c..26f97b8b44 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,15 @@ ________________________________________________________________________________ StepMania 5.0 Preview 2 | 20110??? -------------------------------------------------------------------------------- +2011/06/13 +---------- +* [LifeMeterBattery] Added some important metrics. [AJ] + * MinScoreToKeepLife='TapNoteScore_*' - any score below this = loss of life. + * SubtractLives=1 - how many lives are lost when going below MinScoreToKeepLife. + * MinesSubtractLives=1 - how many lives are lost when hitting a mine. + * HeldAddLives=0 - how many lives are gained when a hold is completed. + * LetGoSubtractLives=1 - how many lives are lost on a dropped hold. + 2011/06/12 ---------- * [ScreenNetSelectMusic] Add PlayerOptionsScreen metric. [AJ] diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index e7a253f235..d7f2f0cf9a 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -606,6 +606,16 @@ OverY=0 [LifeMeterBattery] # The bar that shows up in Oni mode. +# any score below this one will cause you to lose a life. +MinScoreToKeepLife='TapNoteScore_W3' +# how many lives you'll lose upon doing so. +SubtractLives=1 +# how many lives you'll lose hitting a mine +MinesSubtractLives=1 +# how many lives a successful hold will net you. +HeldAddLives=0 +# how many lives an unsuccessful hold will cost you. +LetGoSubtractLives=1 # How long it flashes when you lose a life. BatteryBlinkTime=1.2 @@ -614,7 +624,8 @@ BatteryP1X=-92 BatteryP1Y=2 BatteryP2X=92 BatteryP2Y=2 -# Where your live count is +# Where your life count is +NumLivesFormat="x%d" NumLivesP1X=-92 NumLivesP1Y=0 NumLivesP2X=92 diff --git a/src/LifeMeterBattery.cpp b/src/LifeMeterBattery.cpp index 009d920e50..92049ee2cc 100644 --- a/src/LifeMeterBattery.cpp +++ b/src/LifeMeterBattery.cpp @@ -26,6 +26,13 @@ void LifeMeterBattery::Load( const PlayerState *pPlayerState, PlayerStageStats * const RString sType = "LifeMeterBattery"; PlayerNumber pn = pPlayerState->m_PlayerNumber; + MIN_SCORE_TO_KEEP_LIFE.Load(sType, "MinScoreToKeepLife"); + SUBTRACT_LIVES.Load(sType, "SubtractLives"); + MINES_SUBTRACT_LIVES.Load(sType, "MinesSubtractLives"); + HELD_ADD_LIVES.Load(sType, "HeldAddLives"); + LET_GO_SUBTRACT_LIVES.Load(sType, "LetGoSubtractLives"); + + LIVES_FORMAT.Load(sType, "NumLivesFormat"); BATTERY_BLINK_TIME.Load(sType, "BatteryBlinkTime"); // 1.2f by default bool bPlayerEnabled = GAMESTATE->IsPlayerEnabled( pPlayerState ); @@ -101,42 +108,46 @@ void LifeMeterBattery::OnSongEnded() Refresh(); } +void LifeMeterBattery::SubtractLives( int iLives ) +{ + m_iTrailingLivesLeft = m_iLivesLeft; + m_iLivesLeft -= iLives; + m_soundLoseLife.Play(); + + m_textNumLives.PlayCommand("LoseLife"); + /* + m_textNumLives.SetZoom( 1.5f ); + m_textNumLives.BeginTweening( 0.15f ); + m_textNumLives.SetZoom( 1.0f ); + */ + + Refresh(); + m_fBatteryBlinkTime = BATTERY_BLINK_TIME; +} + +void LifeMeterBattery::AddLives( int iLives ) +{ + m_iTrailingLivesLeft = m_iLivesLeft; + m_iLivesLeft += iLives; + m_soundGainLife.Play(); + m_textNumLives.PlayCommand("GainLife"); + + Refresh(); + m_fBatteryBlinkTime = 0; +} + void LifeMeterBattery::ChangeLife( TapNoteScore score ) { if( m_iLivesLeft == 0 ) return; - // todo: let the themer decide how this is handled. -aj - switch( score ) + // this probably doesn't handle hold checkpoints. -aj + if( score == TNS_HitMine && MINES_SUBTRACT_LIVES > 0 ) + SubtractLives(MINES_SUBTRACT_LIVES); + else { - case TNS_W1: - case TNS_W2: - case TNS_W3: - break; - case TNS_W4: - case TNS_W5: - case TNS_Miss: - case TNS_HitMine: - m_iTrailingLivesLeft = m_iLivesLeft; - m_iLivesLeft--; - m_soundLoseLife.Play(); - - m_textNumLives.PlayCommand("LoseLife"); - /* - m_textNumLives.SetZoom( 1.5f ); - m_textNumLives.BeginTweening( 0.15f ); - m_textNumLives.SetZoom( 1.0f ); - */ - - Refresh(); - m_fBatteryBlinkTime = BATTERY_BLINK_TIME; - break; - default: - break; - /* - // xxx: this doesn't handle hold checkpoints. - ASSERT(0); - */ + if( score < MIN_SCORE_TO_KEEP_LIFE && SUBTRACT_LIVES > 0 ) + SubtractLives(SUBTRACT_LIVES); } Message msg( "LifeChanged" ); @@ -148,16 +159,10 @@ void LifeMeterBattery::ChangeLife( TapNoteScore score ) void LifeMeterBattery::ChangeLife( HoldNoteScore score, TapNoteScore tscore ) { - switch( score ) - { - case HNS_Held: - break; - case HNS_LetGo: - ChangeLife( TNS_Miss ); // LetGo is the same as a miss - break; - default: - ASSERT(0); - } + if( score == HNS_Held && HELD_ADD_LIVES > 0 ) + AddLives(HELD_ADD_LIVES); + if( score == HNS_LetGo && LET_GO_SUBTRACT_LIVES > 0 ) + SubtractLives(LET_GO_SUBTRACT_LIVES); } void LifeMeterBattery::HandleTapScoreNone() @@ -208,7 +213,8 @@ void LifeMeterBattery::Refresh() } else { - m_textNumLives.SetText( ssprintf("x%d", m_iLivesLeft-1) ); + //m_textNumLives.SetText( ssprintf("x%d", m_iLivesLeft-1) ); + m_textNumLives.SetText( ssprintf(LIVES_FORMAT.GetValue(), m_iLivesLeft-1) ); m_sprBattery.SetState( 3 ); } } diff --git a/src/LifeMeterBattery.h b/src/LifeMeterBattery.h index d7b4a90a1d..30ddad877d 100644 --- a/src/LifeMeterBattery.h +++ b/src/LifeMeterBattery.h @@ -37,13 +37,21 @@ public: virtual void PushSelf( lua_State *L ); private: + void SubtractLives( int iLives ); + void AddLives( int iLives ); + int m_iLivesLeft; // dead when 0 int m_iTrailingLivesLeft; // lags m_iLivesLeft float m_fBatteryBlinkTime; // if > 0 battery is blinking - // theme metrics added for sm-ssc ThemeMetric BATTERY_BLINK_TIME; + ThemeMetric MIN_SCORE_TO_KEEP_LIFE; + ThemeMetric SUBTRACT_LIVES; + ThemeMetric MINES_SUBTRACT_LIVES; + ThemeMetric HELD_ADD_LIVES; + ThemeMetric LET_GO_SUBTRACT_LIVES; + ThemeMetric LIVES_FORMAT; AutoActor m_sprFrame; Sprite m_sprBattery; From 24644f3f231a3da1fb9e434b1dc09cb803f8601c Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 13 Jun 2011 01:56:23 -0500 Subject: [PATCH 120/530] add GainLife/LoseLife commands. --- Themes/_fallback/metrics.ini | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index d7f2f0cf9a..fb6c138ac1 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -628,8 +628,12 @@ BatteryP2Y=2 NumLivesFormat="x%d" NumLivesP1X=-92 NumLivesP1Y=0 +NumLivesP1GainLifeCommand= +NumLivesP1LoseLifeCommand=zoom,1.5;linear,0.15;zoom,1 NumLivesP2X=92 NumLivesP2Y=0 +NumLivesP2GainLifeCommand= +NumLivesP2LoseLifeCommand=zoom,1.5;linear,0.15;zoom,1 [LifeMeterBattery Percent] # The percentage on the bar. I wouldn't even bother changing this, because I From 11c84f8c50e10e3aa746e43171239e791918b646 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 13 Jun 2011 02:00:09 -0500 Subject: [PATCH 121/530] [LifeMeterBattery] Added DangerThreshold metric. --- Docs/Changelog_sm5.txt | 1 + Themes/_fallback/metrics.ini | 2 ++ src/LifeMeterBattery.cpp | 20 ++++++++++++-------- src/LifeMeterBattery.h | 1 + 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 26f97b8b44..264971b4ca 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -10,6 +10,7 @@ StepMania 5.0 Preview 2 | 20110??? 2011/06/13 ---------- +* [LifeMeterBattery] Added DangerThreshold metric. [AJ] * [LifeMeterBattery] Added some important metrics. [AJ] * MinScoreToKeepLife='TapNoteScore_*' - any score below this = loss of life. * SubtractLives=1 - how many lives are lost when going below MinScoreToKeepLife. diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index fb6c138ac1..1a9b00cb5a 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -617,6 +617,8 @@ HeldAddLives=0 # how many lives an unsuccessful hold will cost you. LetGoSubtractLives=1 +# How many lives trigger the "Danger" state. +DangerThreshold=1 # How long it flashes when you lose a life. BatteryBlinkTime=1.2 # Where the batteries are diff --git a/src/LifeMeterBattery.cpp b/src/LifeMeterBattery.cpp index 92049ee2cc..a638420fbf 100644 --- a/src/LifeMeterBattery.cpp +++ b/src/LifeMeterBattery.cpp @@ -27,6 +27,7 @@ void LifeMeterBattery::Load( const PlayerState *pPlayerState, PlayerStageStats * PlayerNumber pn = pPlayerState->m_PlayerNumber; MIN_SCORE_TO_KEEP_LIFE.Load(sType, "MinScoreToKeepLife"); + DANGER_THRESHOLD.Load(sType, "DangerThreshold"); SUBTRACT_LIVES.Load(sType, "SubtractLives"); MINES_SUBTRACT_LIVES.Load(sType, "MinesSubtractLives"); HELD_ADD_LIVES.Load(sType, "HeldAddLives"); @@ -110,16 +111,13 @@ void LifeMeterBattery::OnSongEnded() void LifeMeterBattery::SubtractLives( int iLives ) { + if( iLives <= 0 ) + return; + m_iTrailingLivesLeft = m_iLivesLeft; m_iLivesLeft -= iLives; m_soundLoseLife.Play(); - m_textNumLives.PlayCommand("LoseLife"); - /* - m_textNumLives.SetZoom( 1.5f ); - m_textNumLives.BeginTweening( 0.15f ); - m_textNumLives.SetZoom( 1.0f ); - */ Refresh(); m_fBatteryBlinkTime = BATTERY_BLINK_TIME; @@ -127,6 +125,9 @@ void LifeMeterBattery::SubtractLives( int iLives ) void LifeMeterBattery::AddLives( int iLives ) { + if( iLives <= 0 ) + return; + m_iTrailingLivesLeft = m_iLivesLeft; m_iLivesLeft += iLives; m_soundGainLife.Play(); @@ -159,6 +160,9 @@ void LifeMeterBattery::ChangeLife( TapNoteScore score ) void LifeMeterBattery::ChangeLife( HoldNoteScore score, TapNoteScore tscore ) { + if( m_iLivesLeft == 0 ) + return; + if( score == HNS_Held && HELD_ADD_LIVES > 0 ) AddLives(HELD_ADD_LIVES); if( score == HNS_LetGo && LET_GO_SUBTRACT_LIVES > 0 ) @@ -176,12 +180,12 @@ void LifeMeterBattery::ChangeLife( float fDeltaLifePercent ) bool LifeMeterBattery::IsInDanger() const { - return false; + return m_iLivesLeft < DANGER_THRESHOLD; } bool LifeMeterBattery::IsHot() const { - return false; + return m_iLivesLeft == GAMESTATE->m_SongOptions.GetSong().m_iBatteryLives; } bool LifeMeterBattery::IsFailing() const diff --git a/src/LifeMeterBattery.h b/src/LifeMeterBattery.h index 30ddad877d..a6d50a0319 100644 --- a/src/LifeMeterBattery.h +++ b/src/LifeMeterBattery.h @@ -47,6 +47,7 @@ private: ThemeMetric BATTERY_BLINK_TIME; ThemeMetric MIN_SCORE_TO_KEEP_LIFE; + ThemeMetric DANGER_THRESHOLD; ThemeMetric SUBTRACT_LIVES; ThemeMetric MINES_SUBTRACT_LIVES; ThemeMetric HELD_ADD_LIVES; From 0488193b6e083feca81cc4439d32d86b2c2f4d26 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 13 Jun 2011 03:43:20 -0400 Subject: [PATCH 122/530] *shrugs* May as well try this. --- src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp b/src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp index 86f2e25a5f..edc722fcb0 100644 --- a/src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp +++ b/src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp @@ -62,7 +62,7 @@ extern "C" void SetProgress( int progress, int totalWork ) extern "C" void SetIndeterminate( bool indeterminate ) { - gtk_progress_bar_pulse(); + gtk_progress_bar_pulse(GTK_PROGRESS_BAR(progressBar)); gtk_main_iteration_do(FALSE); } From d8e1296b5b6cc5f5203e4283ba894da2bf17e5b5 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 13 Jun 2011 13:32:28 -0500 Subject: [PATCH 123/530] [LifeMeterBattery] Added ChangeLives(int) Lua binding. --- Docs/Changelog_sm5.txt | 1 + src/LifeMeterBattery.cpp | 11 ++++++++++- src/LifeMeterBattery.h | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 264971b4ca..cbfd608628 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -10,6 +10,7 @@ StepMania 5.0 Preview 2 | 20110??? 2011/06/13 ---------- +* [LifeMeterBattery] Added ChangeLives(int) Lua binding. [AJ] * [LifeMeterBattery] Added DangerThreshold metric. [AJ] * [LifeMeterBattery] Added some important metrics. [AJ] * MinScoreToKeepLife='TapNoteScore_*' - any score below this = loss of life. diff --git a/src/LifeMeterBattery.cpp b/src/LifeMeterBattery.cpp index a638420fbf..20f42ff4e7 100644 --- a/src/LifeMeterBattery.cpp +++ b/src/LifeMeterBattery.cpp @@ -137,6 +137,14 @@ void LifeMeterBattery::AddLives( int iLives ) m_fBatteryBlinkTime = 0; } +void LifeMeterBattery::ChangeLives(int iLifeDiff) +{ + if( iLifeDiff < 0 ) + SubtractLives( abs(iLifeDiff) ); + else if( iLifeDiff > 0 ) + AddLives(iLifeDiff); +} + void LifeMeterBattery::ChangeLife( TapNoteScore score ) { if( m_iLivesLeft == 0 ) @@ -254,13 +262,14 @@ class LunaLifeMeterBattery: public Luna { public: static int GetLivesLeft( T* p, lua_State *L ) { lua_pushnumber( L, p->GetLivesLeft() ); return 1; } - // is this right? wtf -q2x static int GetTotalLives( T* p, lua_State *L ) { lua_pushnumber( L, GAMESTATE->m_SongOptions.GetSong().m_iBatteryLives ); return 1; } + static int ChangeLives( T* p, lua_State *L ) { p->ChangeLives(IArg(1)); return 0; } LunaLifeMeterBattery() { ADD_METHOD( GetLivesLeft ); ADD_METHOD( GetTotalLives ); + ADD_METHOD( ChangeLives ); } }; diff --git a/src/LifeMeterBattery.h b/src/LifeMeterBattery.h index a6d50a0319..648811a9fc 100644 --- a/src/LifeMeterBattery.h +++ b/src/LifeMeterBattery.h @@ -32,6 +32,7 @@ public: void Refresh(); int GetLivesLeft() { return m_iLivesLeft; } + void ChangeLives(int iLifeDiff); // Lua virtual void PushSelf( lua_State *L ); From 6e19262e2929e81037cb50f798f07438782080f3 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 13 Jun 2011 13:39:37 -0500 Subject: [PATCH 124/530] fix this ScreenString debacle once and for all --- Themes/_fallback/Scripts/01 alias.lua | 10 +--------- Themes/_fallback/Scripts/01 compat.lua | 9 --------- Themes/_fallback/Scripts/02 Other.lua | 2 ++ 3 files changed, 3 insertions(+), 18 deletions(-) diff --git a/Themes/_fallback/Scripts/01 alias.lua b/Themes/_fallback/Scripts/01 alias.lua index e0e3841f07..05935425bf 100644 --- a/Themes/_fallback/Scripts/01 alias.lua +++ b/Themes/_fallback/Scripts/01 alias.lua @@ -20,12 +20,4 @@ local _screen = { h = SCREEN_HEIGHT, cx = SCREEN_CENTER_X, cy = SCREEN_CENTER_Y -} - -if Screen.String then - ScreenString = Screen.String -end - -if Screen.Metric then - ScreenMetric = Screen.Metric -end \ No newline at end of file +} \ No newline at end of file diff --git a/Themes/_fallback/Scripts/01 compat.lua b/Themes/_fallback/Scripts/01 compat.lua index 36b5327aa2..4103cc9dbc 100644 --- a/Themes/_fallback/Scripts/01 compat.lua +++ b/Themes/_fallback/Scripts/01 compat.lua @@ -56,15 +56,6 @@ function ActorScroller:setfastcatchup(bFastCatchup) self:SetFastCatchup(bFastCatchup) end --- renaming various StepMania functions to sm-ssc ones: -if ScreenString then - ScreenString = Screen.String -end - -if ScreenMetric then - ScreenMetric = Screen.Metric -end - --[[ GameState ]] --Aliases for old GAMESTATE timing functions. --These have been converted to SongPosition, but most themes still use these old functions. diff --git a/Themes/_fallback/Scripts/02 Other.lua b/Themes/_fallback/Scripts/02 Other.lua index ea544d1dd4..91f81f06e1 100644 --- a/Themes/_fallback/Scripts/02 Other.lua +++ b/Themes/_fallback/Scripts/02 Other.lua @@ -102,11 +102,13 @@ Screen.Metric = function ( sName ) local sClass = Var "LoadingScreen" return THEME:GetMetric( sClass, sName ) end +ScreenMetric = Screen.Metric Screen.String = function ( sName ) local sClass = Var "LoadingScreen"; return THEME:GetString( sClass, sName ) end +ScreenString = Screen.String function TextBannerAfterSet(self,param) local Title=self:GetChild("Title"); From 7a16ba9c0f4d51408583b409ead37760bbf75512 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 13 Jun 2011 14:48:15 -0400 Subject: [PATCH 125/530] Add two new noteskin metrics. This properly resolves bug tracker issue 190. --- Docs/Changelog_sm5.txt | 5 +++ NoteSkins/common/common/metrics.ini | 2 ++ src/NoteDisplay.cpp | 47 ++++++++++++++++++++++++++++- src/NoteDisplay.h | 24 +++++++++++++-- src/NoteField.cpp | 23 ++++++++++++-- 5 files changed, 96 insertions(+), 5 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 264971b4ca..bac154e0ab 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -10,6 +10,11 @@ StepMania 5.0 Preview 2 | 20110??? 2011/06/13 ---------- +* [NoteDisplay] Add two new metrics. + * DrawRollHeadForTapsOnSameRow: bool, similar to DrawHoldHeadForTapsOnSameRow + * TapHoldRollOnRowMeansHold: bool, true means hold and false means roll + * No noteskins should require updating, as these were placed in common/common + for ease of use. [Wolfman2000] * [LifeMeterBattery] Added DangerThreshold metric. [AJ] * [LifeMeterBattery] Added some important metrics. [AJ] * MinScoreToKeepLife='TapNoteScore_*' - any score below this = loss of life. diff --git a/NoteSkins/common/common/metrics.ini b/NoteSkins/common/common/metrics.ini index 619f75b3f6..6c9f3f4e31 100644 --- a/NoteSkins/common/common/metrics.ini +++ b/NoteSkins/common/common/metrics.ini @@ -1,5 +1,7 @@ [NoteDisplay] DrawHoldHeadForTapsOnSameRow=1 +DrawRollHeadForTapsOnSameRow=1 +TapHoldRollOnRowMeansHold=1 AnimationIsBeatBased=1 TapNoteAnimationLength=1 TapMineAnimationLength=1 diff --git a/src/NoteDisplay.cpp b/src/NoteDisplay.cpp index a5c530bd73..9695fd09e9 100644 --- a/src/NoteDisplay.cpp +++ b/src/NoteDisplay.cpp @@ -46,6 +46,8 @@ static const NoteType MAX_DISPLAY_NOTE_TYPE = (NoteType)7; struct NoteMetricCache_t { bool m_bDrawHoldHeadForTapsOnSameRow; + bool m_bDrawRollHeadForTapsOnSameRow; + bool m_bTapHoldRollOnRowMeansHold; float m_fAnimationLength[NUM_NotePart]; bool m_bAnimationIsVivid[NUM_NotePart]; RageVector2 m_fAdditionTextureCoordOffset[NUM_NotePart]; @@ -69,6 +71,8 @@ struct NoteMetricCache_t void NoteMetricCache_t::Load( const RString &sButton ) { m_bDrawHoldHeadForTapsOnSameRow = NOTESKIN->GetMetricB(sButton,"DrawHoldHeadForTapsOnSameRow"); + m_bDrawRollHeadForTapsOnSameRow = NOTESKIN->GetMetricB(sButton,"DrawRollHeadForTapsOnSameRow"); + m_bTapHoldRollOnRowMeansHold = NOTESKIN->GetMetricB(sButton,"TapHoldRollOnRowMeansHold"); FOREACH_NotePart( p ) { const RString &s = NotePartToString(p); @@ -271,6 +275,11 @@ bool NoteDisplay::DrawHoldHeadForTapsOnSameRow() const return cache->m_bDrawHoldHeadForTapsOnSameRow; } +bool NoteDisplay::DrawRollHeadForTapsOnSameRow() const +{ + return cache->m_bDrawRollHeadForTapsOnSameRow; +} + void NoteDisplay::Update( float fDeltaTime ) { /* This function is static: it's called once per game loop, not once per @@ -718,7 +727,13 @@ void NoteDisplay::DrawActor( const TapNote& tn, Actor* pActor, NotePart part, in } } -void NoteDisplay::DrawTap( const TapNote& tn, int iCol, float fBeat, bool bOnSameRowAsHoldStart, bool bIsAddition, float fPercentFadeToFail, float fReverseOffsetPixels, float fDrawDistanceAfterTargetsPixels, float fDrawDistanceBeforeTargetsPixels, float fFadeInPercentOfDrawFar ) +void NoteDisplay::DrawTap(const TapNote& tn, int iCol, float fBeat, + bool bOnSameRowAsHoldStart, bool bOnSameRowAsRollStart, + bool bIsAddition, float fPercentFadeToFail, + float fReverseOffsetPixels, + float fDrawDistanceAfterTargetsPixels, + float fDrawDistanceBeforeTargetsPixels, + float fFadeInPercentOfDrawFar) { Actor* pActor = NULL; NotePart part = NotePart_Tap; @@ -738,10 +753,40 @@ void NoteDisplay::DrawTap( const TapNote& tn, int iCol, float fBeat, bool bOnSam pActor = GetTapActor( m_TapFake, NotePart_Fake, fBeat ); part = NotePart_Fake; } + // TODO: Simplify all of the below. + else if (bOnSameRowAsHoldStart && bOnSameRowAsRollStart) + { + if (cache->m_bDrawHoldHeadForTapsOnSameRow && cache->m_bDrawRollHeadForTapsOnSameRow) + { + if (cache->m_bTapHoldRollOnRowMeansHold) // another new metric? + { + pActor = GetHoldActor( m_HoldHead, NotePart_HoldHead, fBeat, false, false ); + } + else + { + pActor = GetHoldActor( m_HoldHead, NotePart_HoldHead, fBeat, true, false ); + } + } + else if (cache->m_bDrawHoldHeadForTapsOnSameRow) + { + pActor = GetHoldActor( m_HoldHead, NotePart_HoldHead, fBeat, false, false ); + } + else if (cache->m_bDrawRollHeadForTapsOnSameRow) + { + pActor = GetHoldActor( m_HoldHead, NotePart_HoldHead, fBeat, true, false ); + } + } + else if( bOnSameRowAsHoldStart && cache->m_bDrawHoldHeadForTapsOnSameRow ) { pActor = GetHoldActor( m_HoldHead, NotePart_HoldHead, fBeat, false, false ); } + + else if( bOnSameRowAsRollStart && cache->m_bDrawRollHeadForTapsOnSameRow ) + { + pActor = GetHoldActor( m_HoldHead, NotePart_HoldHead, fBeat, true, false ); + } + else { pActor = GetTapActor( m_TapNote, NotePart_Tap, fBeat ); diff --git a/src/NoteDisplay.h b/src/NoteDisplay.h index 8f79041e17..a7e45f3f62 100644 --- a/src/NoteDisplay.h +++ b/src/NoteDisplay.h @@ -80,13 +80,33 @@ public: static void Update( float fDeltaTime ); - void DrawTap( const TapNote& tn, int iCol, float fBeat, bool bOnSameRowAsHoldStart, bool bIsAddition, - float fPercentFadeToFail, float fReverseOffsetPixels, float fDrawDistanceAfterTargetsPixels, float fDrawDistanceBeforeTargetsPixels, float fFadeInPercentOfDrawFar ); + /** + * @brief Draw the TapNote onto the NoteField. + * @param tn the TapNote in question. + * @param iCol the column. + * @param float fBeat the beat to draw them on. + * @param bOnSameRowAsHoldStart a flag to see if a hold is on the same beat. + * @param bOnSameRowAsRollStart a flag to see if a roll is on the same beat. + * @param bIsAddition a flag to see if this note was added via mods. + * @param fPercentFadeToFail at what point do the notes fade on failure? + * @param fReverseOffsetPixels How are the notes adjusted on Reverse? + * @param fDrawDistanceAfterTargetsPixels how much to draw after the receptors. + * @param fDrawDistanceBeforeTargetsPixels how much ot draw before the receptors. + * @param fFadeInPercentOfDrawFar when to start fading in. */ + void DrawTap(const TapNote& tn, int iCol, float fBeat, + bool bOnSameRowAsHoldStart, bool bOnSameRowAsRollBeat, + bool bIsAddition, float fPercentFadeToFail, + float fReverseOffsetPixels, + float fDrawDistanceAfterTargetsPixels, + float fDrawDistanceBeforeTargetsPixels, + float fFadeInPercentOfDrawFar ); void DrawHold( const TapNote& tn, int iCol, int iRow, bool bIsBeingHeld, const HoldNoteResult &Result, bool bIsAddition, float fPercentFadeToFail, float fReverseOffsetPixels, float fDrawDistanceAfterTargetsPixels, float fDrawDistanceBeforeTargetsPixels, float fDrawDistanceBeforeTargetsPixels2, float fFadeInPercentOfDrawFar ); bool DrawHoldHeadForTapsOnSameRow() const; + + bool DrawRollHeadForTapsOnSameRow() const; private: void SetActiveFrame( float fNoteBeat, Actor &actorToSet, float fAnimationLength, bool bVivid ); diff --git a/src/NoteField.cpp b/src/NoteField.cpp index 3795881eb7..70faf81a5f 100644 --- a/src/NoteField.cpp +++ b/src/NoteField.cpp @@ -1260,13 +1260,31 @@ void NoteField::DrawPrimitives() { for( int c2=0; c2GetNumTracks(); c2++ ) { - if( m_pNoteData->GetTapNote(c2, q).type == TapNote::hold_head) + const TapNote &tmp = m_pNoteData->GetTapNote(c2, q); + if(tmp.type == TapNote::hold_head && + tmp.subType == TapNote::hold_head_hold) { bHoldNoteBeginsOnThisBeat = true; break; } } } + + // do the same for a roll. + bool bRollNoteBeginsOnThisBeat = false; + if (m_pCurDisplay->display[c].DrawRollHeadForTapsOnSameRow() ) + { + for( int c2=0; c2GetNumTracks(); c2++ ) + { + const TapNote &tmp = m_pNoteData->GetTapNote(c2, q); + if(tmp.type == TapNote::hold_head && + tmp.subType == TapNote::hold_head_roll) + { + bRollNoteBeginsOnThisBeat = true; + break; + } + } + } bool bIsInSelectionRange = false; if( m_iBeginMarker!=-1 && m_iEndMarker!=-1 ) @@ -1276,7 +1294,8 @@ void NoteField::DrawPrimitives() bool bIsHopoPossible = (tn.bHopoPossible); bool bUseAdditionColoring = bIsAddition || bIsHopoPossible; NoteDisplayCols *displayCols = tn.pn == PLAYER_INVALID ? m_pCurDisplay : m_pDisplays[tn.pn]; - displayCols->display[c].DrawTap( tn, c, NoteRowToVisibleBeat(m_pPlayerState, q), bHoldNoteBeginsOnThisBeat, + displayCols->display[c].DrawTap(tn, c, NoteRowToVisibleBeat(m_pPlayerState, q), + bHoldNoteBeginsOnThisBeat, bRollNoteBeginsOnThisBeat, bUseAdditionColoring, bIsInSelectionRange ? fSelectedRangeGlow : m_fPercentFadeToFail, m_fYReverseOffsetPixels, iDrawDistanceAfterTargetsPixels, iDrawDistanceBeforeTargetsPixels, FADE_BEFORE_TARGETS_PERCENT ); From a72241666de172ff8d45f9a673c5dc1974e4bda1 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 13 Jun 2011 15:00:21 -0400 Subject: [PATCH 126/530] Ensure AutoPlay doesn't cause ANY combo increase. AutoPlayCPU can, however. --- src/Player.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Player.cpp b/src/Player.cpp index db17f00e07..0fc3e02522 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -2868,7 +2868,7 @@ void Player::CrossedRows( int iLastRowCrossed, const RageTimer &now ) /* Update hold checkpoints * * TODO: Move this to a separate function. */ - if( HOLD_CHECKPOINTS ) + if( HOLD_CHECKPOINTS && m_pPlayerState->m_PlayerController != PC_AUTOPLAY ) { int iCheckpointFrequencyRows = ROWS_PER_BEAT/2; if( CHECKPOINTS_USE_TICKCOUNTS ) From 1a0bad45cf92101b5efc96d847c9b88e0e67aeb9 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 13 Jun 2011 14:32:35 -0500 Subject: [PATCH 127/530] stepmania 5 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 7917055408..dbf0199dca 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ(2.59) -AC_INIT(sm-ssc, experimental, [http://ssc.ajworld.net/sm-ssc/], StepMania) +AC_INIT(StepMania 5, experimental, [http://ssc.ajworld.net/sm-ssc/], StepMania) AC_CONFIG_SRCDIR([src/StepMania.cpp]) AC_CONFIG_AUX_DIR(autoconf) AC_CANONICAL_TARGET From fed3c9bf2cb1addada1fcd151b2b01910ec7080a Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 13 Jun 2011 16:08:28 -0400 Subject: [PATCH 128/530] NumLock becomes Hyphen. P2 gains Back Button. This should alleviate some issues. --- Docs/Changelog_sm5.txt | 4 ++++ src/InputMapper.cpp | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 7f7f8273a7..518cb7c920 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -10,6 +10,10 @@ StepMania 5.0 Preview 2 | 20110??? 2011/06/13 ---------- +* [InputMapper] Modify default mappings. Use the Hyphen key instead of the + Numlock key for Player 2's GAME_BUTTON_BACK. This should address some + issues with Player 2 being unable to back out if they use a laptop. + [Wolfman2000] * [NoteDisplay] Add two new metrics. * DrawRollHeadForTapsOnSameRow: bool, similar to DrawHoldHeadForTapsOnSameRow * TapHoldRollOnRowMeansHold: bool, true means hold and false means roll diff --git a/src/InputMapper.cpp b/src/InputMapper.cpp index 90e65ae879..1b0a71e77c 100644 --- a/src/InputMapper.cpp +++ b/src/InputMapper.cpp @@ -64,7 +64,7 @@ static const AutoMappings g_DefaultKeyMappings = AutoMappings( AutoMappingEntry( 0, KEY_KP_C2, GAME_BUTTON_MENUDOWN, true ), AutoMappingEntry( 0, KEY_KP_ENTER, GAME_BUTTON_START, true ), AutoMappingEntry( 0, KEY_KP_C0, GAME_BUTTON_SELECT, true ), - AutoMappingEntry( 0, KEY_NUMLOCK, GAME_BUTTON_BACK, true ), + AutoMappingEntry( 0, KEY_HYPHEN, GAME_BUTTON_BACK, true ), // laptop keyboards. AutoMappingEntry( 0, KEY_F1, GAME_BUTTON_COIN, false ), AutoMappingEntry( 0, KEY_SCRLLOCK, GAME_BUTTON_OPERATOR, false ) ); From cd9c8e97d25495c521cca0501d3fbe9741b66e61 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 13 Jun 2011 15:47:11 -0500 Subject: [PATCH 129/530] [ScreenTextEntry] Make it so only the keyboard's Enter key can finish the screen. Should fix issues with buttons whose secondary function is MenuStart. --- Docs/Changelog_sm5.txt | 2 ++ src/ScreenTextEntry.cpp | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 518cb7c920..bf62e25f8c 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -10,6 +10,8 @@ StepMania 5.0 Preview 2 | 20110??? 2011/06/13 ---------- +* [ScreenTextEntry] Make it so only the keyboard's Enter key can finish the + screen. Should fix issues with buttons whose secondary function is MenuStart. [AJ] * [InputMapper] Modify default mappings. Use the Hyphen key instead of the Numlock key for Player 2's GAME_BUTTON_BACK. This should address some issues with Player 2 being unable to back out if they use a laptop. diff --git a/src/ScreenTextEntry.cpp b/src/ScreenTextEntry.cpp index 994e0fc7a8..ee5fa14164 100644 --- a/src/ScreenTextEntry.cpp +++ b/src/ScreenTextEntry.cpp @@ -258,7 +258,8 @@ void ScreenTextEntry::BackspaceInAnswer() void ScreenTextEntry::MenuStart( const InputEventPlus &input ) { - if( input.type==IET_FIRST_PRESS ) + // HACK: Only allow the screen to end on the Enter key.-aj + if( input.DeviceI == DeviceInput(DEVICE_KEYBOARD, KEY_ENTER) && input.type==IET_FIRST_PRESS ) End( false ); } From 6d29e63095a2d3ea0f48c730fe0797519525f9cf Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 13 Jun 2011 15:50:55 -0500 Subject: [PATCH 130/530] add missing routine stuff, plus some freem voodoo for icon positioning. --- Themes/_fallback/metrics.ini | 1 + Themes/default/Graphics/_SelectIcon Routine.png | Bin 0 -> 5527 bytes Themes/default/metrics.ini | 13 +++++++++---- 3 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 Themes/default/Graphics/_SelectIcon Routine.png diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 1a9b00cb5a..e14fd53744 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -1834,6 +1834,7 @@ ChoiceDouble="name,Double;style,double;text,Double;screen,"..Branch.AfterSelectP ChoiceSolo="name,Solo;style,solo;text,Solo;screen,"..Branch.AfterSelectPlayMode() ChoiceVersus="name,Versus;style,versus;text,Versus;screen,"..Branch.AfterSelectPlayMode() ChoiceCouple="name,Couple;style,couple;text,Couple;screen,"..Branch.AfterSelectPlayMode() +ChoiceRoutine="name,Routine;style,routine;text,Routine;screen,"..Branch.AfterSelectPlayMode() ChoiceHalfDouble="name,HalfDouble;style,halfdouble;text,HalfDouble;screen,"..Branch.AfterSelectPlayMode() Choice5Keys="name,5Keys;style,single5;text,5Keys;screen,"..Branch.AfterSelectPlayMode() Choice7Keys="name,7Keys;style,single7;text,7Keys;screen,"..Branch.AfterSelectPlayMode() diff --git a/Themes/default/Graphics/_SelectIcon Routine.png b/Themes/default/Graphics/_SelectIcon Routine.png new file mode 100644 index 0000000000000000000000000000000000000000..27323219314aba46259645bf69ce6f0ec866de62 GIT binary patch literal 5527 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 Z{|8xcw|a7RS%?4t002ovPDHLkV1js4pV9yT literal 0 HcmV?d00001 diff --git a/Themes/default/metrics.ini b/Themes/default/metrics.ini index 85ecd68ca8..12844adf17 100644 --- a/Themes/default/metrics.ini +++ b/Themes/default/metrics.ini @@ -705,7 +705,7 @@ IconChoiceDoubleX=SCREEN_CENTER_X-160 IconChoiceDoubleY=SCREEN_CENTER_Y IconChoiceDoubleOnCommand=zoom,0;bounceend,0.35;zoom,1 IconChoiceDoubleOffCommand=linear,0.1175;zoomx,0 -# +#### IconChoiceSoloX=SCREEN_CENTER_X-160 IconChoiceSoloY=SCREEN_CENTER_Y+96 IconChoiceSoloOnCommand=zoom,0;bounceend,0.35;zoom,1 @@ -715,17 +715,22 @@ IconChoiceHalfDoubleX=SCREEN_CENTER_X-160 IconChoiceHalfDoubleY=SCREEN_CENTER_Y+96 IconChoiceHalfDoubleOnCommand=zoom,0;bounceend,0.35;zoom,1 IconChoiceHalfDoubleOffCommand=linear,0.1175;zoomx,0 -# +#### IconChoiceVersusX=SCREEN_CENTER_X+160 -IconChoiceVersusY=SCREEN_CENTER_Y-48 +IconChoiceVersusY=string.find(THEME:GetMetric("ScreenSelectStyle","ChoiceNames"),"Routine") and SCREEN_CENTER_Y-96 or SCREEN_CENTER_Y-48 IconChoiceVersusOnCommand=zoom,0;bounceend,0.35;zoom,1 IconChoiceVersusOffCommand=linear,0.1175;zoomx,0 # IconChoiceCoupleX=SCREEN_CENTER_X+160 -IconChoiceCoupleY=SCREEN_CENTER_Y+48 +IconChoiceCoupleY=string.find(THEME:GetMetric("ScreenSelectStyle","ChoiceNames"),"Routine") and SCREEN_CENTER_Y or SCREEN_CENTER_Y+48 IconChoiceCoupleOnCommand=zoom,0;bounceend,0.35;zoom,1 IconChoiceCoupleOffCommand=linear,0.1175;zoomx,0 # +IconChoiceRoutineX=SCREEN_CENTER_X+160 +IconChoiceRoutineY=SCREEN_CENTER_Y+96 +IconChoiceRoutineOnCommand=zoom,0;bounceend,0.35;zoom,1 +IconChoiceRoutineOffCommand=linear,0.1175;zoomx,0 +# IconChoicekb7X=SCREEN_CENTER_X IconChoicekb7Y=SCREEN_CENTER_Y IconChoicekb7OnCommand=zoom,0;bounceend,0.35;zoom,1 From 9b60587be96c6322a5947533e9ad07dbadf65487 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 13 Jun 2011 17:37:13 -0500 Subject: [PATCH 131/530] [InputHandler_DirectInput] Fixed MouseWheel input not resetting. --- Docs/Changelog_sm5.txt | 1 + src/arch/InputHandler/InputHandler_DirectInput.cpp | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index bf62e25f8c..874e230a6e 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -10,6 +10,7 @@ StepMania 5.0 Preview 2 | 20110??? 2011/06/13 ---------- +* [InputHandler_DirectInput] Fixed MouseWheel input not resetting. [AJ] * [ScreenTextEntry] Make it so only the keyboard's Enter key can finish the screen. Should fix issues with buttons whose secondary function is MenuStart. [AJ] * [InputMapper] Modify default mappings. Use the Hyphen key instead of the diff --git a/src/arch/InputHandler/InputHandler_DirectInput.cpp b/src/arch/InputHandler/InputHandler_DirectInput.cpp index 9817a88d0d..42d8387441 100644 --- a/src/arch/InputHandler/InputHandler_DirectInput.cpp +++ b/src/arch/InputHandler/InputHandler_DirectInput.cpp @@ -384,6 +384,10 @@ void InputHandler_DInput::UpdatePolled( DIDevice &device, const RageTimer &tm ) if( hr == DIERR_INPUTLOST || hr == DIERR_NOTACQUIRED ) return; + // reset mousewheel + ButtonPressed( DeviceInput(device.dev, MOUSE_WHEELUP, 0, tm) ); + ButtonPressed( DeviceInput(device.dev, MOUSE_WHEELDOWN, 0, tm) ); + for( unsigned i = 0; i < device.Inputs.size(); ++i ) { const input_t &in = device.Inputs[i]; @@ -476,6 +480,12 @@ void InputHandler_DInput::UpdateBuffered( DIDevice &device, const RageTimer &tm return; } + // reset mousewheel + DeviceInput diUp = DeviceInput(device.dev, MOUSE_WHEELUP, 0.0f, tm); + ButtonPressed( diUp ); + DeviceInput diDown = DeviceInput(device.dev, MOUSE_WHEELDOWN, 0.0f, tm); + ButtonPressed( diDown ); + for( int i = 0; i < (int) numevents; ++i ) { for(unsigned j = 0; j < device.Inputs.size(); ++j) @@ -522,6 +532,7 @@ void InputHandler_DInput::UpdateBuffered( DIDevice &device, const RageTimer &tm GetCursorPos(&cursorPos); // convert screen coordinates to client ScreenToClient(GraphicsWindow::GetHwnd(), &cursorPos); + switch(in.ofs) { case DIMOFS_X: From b2d5d2618863e49c96d32fd771c9440884613109 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 13 Jun 2011 22:14:24 -0500 Subject: [PATCH 132/530] More separation of Screens into folders [vs2008] --- src/StepMania-net2008.vcproj | 412 +++++++++++++++++++---------------- 1 file changed, 224 insertions(+), 188 deletions(-) diff --git a/src/StepMania-net2008.vcproj b/src/StepMania-net2008.vcproj index 4498df5d04..315331951d 100644 --- a/src/StepMania-net2008.vcproj +++ b/src/StepMania-net2008.vcproj @@ -460,14 +460,6 @@ RelativePath="Screen.h" > - - - - @@ -484,38 +476,6 @@ RelativePath="ScreenContinue.h" > - - - - - - - - - - - - - - - - @@ -540,14 +500,6 @@ RelativePath="ScreenExit.h" > - - - - @@ -556,14 +508,6 @@ RelativePath="ScreenHowToPlay.h" > - - - - @@ -580,14 +524,6 @@ RelativePath="ScreenJukebox.h" > - - - - @@ -620,46 +556,6 @@ RelativePath="ScreenNameEntryTraditional.h" > - - - - - - - - - - - - - - - - - - - - @@ -676,22 +572,6 @@ RelativePath="ScreenPlayerOptions.h" > - - - - - - - - @@ -700,14 +580,6 @@ RelativePath="ScreenPrompt.h" > - - - - @@ -796,14 +668,6 @@ RelativePath="ScreenSetTime.h" > - - - - @@ -820,22 +684,6 @@ RelativePath="ScreenSplash.h" > - - - - - - - - @@ -844,38 +692,6 @@ RelativePath="ScreenSystemLayer.h" > - - - - - - - - - - - - - - - - @@ -967,6 +783,14 @@ + + + + @@ -1064,6 +888,206 @@ > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + @@ -2810,8 +2840,14 @@ RelativePath="HelpDisplay.h" > - - + + + + From 0f435d2c4de3fecc57a160b365b133e56006d75e Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Tue, 14 Jun 2011 02:04:45 -0400 Subject: [PATCH 133/530] Fix music wheel bug thanks to...CLANG?!? When compilers are the source of bugs, you know we have to worry. Especially since Clang 1.5 isn't on Xcode 4 and Clang 2.0 isn't working on Xcode 4. --- Xcode/stepmania.xcodeproj/project.pbxproj | 56 +++++++++++++++++++---- 1 file changed, 48 insertions(+), 8 deletions(-) diff --git a/Xcode/stepmania.xcodeproj/project.pbxproj b/Xcode/stepmania.xcodeproj/project.pbxproj index 30f38baac6..691b409820 100644 --- a/Xcode/stepmania.xcodeproj/project.pbxproj +++ b/Xcode/stepmania.xcodeproj/project.pbxproj @@ -7352,6 +7352,7 @@ GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; @@ -7395,6 +7396,7 @@ GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; @@ -7438,6 +7440,7 @@ GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; @@ -7484,6 +7487,7 @@ GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; @@ -7527,6 +7531,7 @@ GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; @@ -7569,6 +7574,7 @@ GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; @@ -7611,6 +7617,7 @@ GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; @@ -7656,6 +7663,7 @@ GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; @@ -7698,6 +7706,7 @@ GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = ""; GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; @@ -7738,6 +7747,7 @@ GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = ""; GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; @@ -7778,6 +7788,7 @@ GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = ""; GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; @@ -7821,6 +7832,7 @@ GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = ""; GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; @@ -7889,7 +7901,7 @@ GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( "$(SRCROOT)/../src", "$(SRCROOT)/../src/ffmpeg/include", @@ -7946,7 +7958,7 @@ GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; GCC_STRICT_ALIASING = YES; GCC_UNROLL_LOOPS = YES; - GCC_VERSION = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; GCC_WARN_ABOUT_MISSING_NEWLINE = YES; @@ -8000,6 +8012,7 @@ NO_MP3_SUPPORT, WITHOUT_NETWORKING, ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( "$(SRCROOT)/../src", "$(SRCROOT)/Frameworks/ffmpeg.framework/Headers", @@ -8048,6 +8061,7 @@ NO_MP3_SUPPORT, WITHOUT_NETWORKING, ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( "$(SRCROOT)/../src", "$(SRCROOT)/Frameworks/ffmpeg.framework/Headers", @@ -8098,6 +8112,7 @@ WITHOUT_NETWORKING, "$(value)", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( "$(SRCROOT)/../src", "$(SRCROOT)/Frameworks/ffmpeg.framework/Headers", @@ -8141,6 +8156,7 @@ LUA_USE_MACOSX, "$(value)", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INSTALL_PATH = "$(HOME)/bin"; LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; OBJROOT = "$(SRCROOT)/build"; @@ -8159,6 +8175,7 @@ LUA_USE_MACOSX, "$(value)", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INSTALL_PATH = "$(HOME)/bin"; LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; OBJROOT = "$(SRCROOT)/build"; @@ -8177,6 +8194,7 @@ LUA_USE_MACOSX, "$(value)", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INSTALL_PATH = "$(HOME)/bin"; LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; OBJROOT = "$(SRCROOT)/build"; @@ -8192,6 +8210,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; GCC_PREPROCESSOR_DEFINITIONS = LUA_USE_MACOSX; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INSTALL_PATH = "$(HOME)/bin"; LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; OBJROOT = "$(SRCROOT)/build"; @@ -8207,6 +8226,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; GCC_PREPROCESSOR_DEFINITIONS = LUA_USE_MACOSX; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INSTALL_PATH = "$(HOME)/bin"; LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; OBJROOT = "$(SRCROOT)/build"; @@ -8222,6 +8242,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; GCC_PREPROCESSOR_DEFINITIONS = LUA_USE_MACOSX; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INSTALL_PATH = "$(HOME)/bin"; LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; OBJROOT = "$(SRCROOT)/build"; @@ -8261,6 +8282,7 @@ CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; GCC_DYNAMIC_NO_PIC = YES; GCC_MODEL_TUNING = G5; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; GCC_WARN_PROTOTYPE_CONVERSION = NO; @@ -8276,6 +8298,7 @@ CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; GCC_DYNAMIC_NO_PIC = YES; GCC_MODEL_TUNING = G5; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; GCC_WARN_PROTOTYPE_CONVERSION = NO; @@ -8293,6 +8316,7 @@ GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; GCC_WARN_PROTOTYPE_CONVERSION = NO; @@ -8310,6 +8334,7 @@ GCC_DYNAMIC_NO_PIC = YES; GCC_ENABLE_CPP_RTTI = NO; GCC_NO_COMMON_BLOCKS = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; GCC_WARN_PROTOTYPE_CONVERSION = NO; INSTALL_PATH = /usr/local/lib; @@ -8327,6 +8352,7 @@ GCC_DYNAMIC_NO_PIC = YES; GCC_ENABLE_CPP_RTTI = NO; GCC_NO_COMMON_BLOCKS = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; GCC_WARN_PROTOTYPE_CONVERSION = NO; INSTALL_PATH = /usr/local/lib; @@ -8344,6 +8370,7 @@ GCC_DYNAMIC_NO_PIC = YES; GCC_ENABLE_CPP_RTTI = NO; GCC_NO_COMMON_BLOCKS = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; GCC_WARN_PROTOTYPE_CONVERSION = NO; INSTALL_PATH = /usr/local/lib; @@ -8374,6 +8401,7 @@ "SIZEOF_LONG=4", "$(FPM)", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; @@ -8410,6 +8438,7 @@ "SIZEOF_LONG=4", "$(FPM)", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; @@ -8446,6 +8475,7 @@ "SIZEOF_LONG=4", "$(FPM)", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; @@ -8485,6 +8515,7 @@ "SIZEOF_LONG=4", "$(FPM)", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; @@ -8523,7 +8554,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_STRICT_ALIASING = YES; GCC_UNROLL_LOOPS = YES; - GCC_VERSION = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; GCC_WARN_ABOUT_MISSING_NEWLINE = YES; @@ -8576,7 +8607,7 @@ GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( "$(SRCROOT)/../src", "$(SRCROOT)/../src/ffmpeg/include", @@ -8650,6 +8681,7 @@ NO_MP3_SUPPORT, WITHOUT_NETWORKING, ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( "$(SRCROOT)/../src", "$(SRCROOT)/Frameworks/ffmpeg.framework/Headers", @@ -8695,6 +8727,7 @@ "$(value)", LUA_USE_MACOSX, ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; @@ -8718,6 +8751,7 @@ LUA_USE_MACOSX, "$(value)", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INSTALL_PATH = "$(HOME)/bin"; LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; OBJROOT = "$(SRCROOT)/build"; @@ -8733,6 +8767,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; GCC_PREPROCESSOR_DEFINITIONS = LUA_USE_MACOSX; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INSTALL_PATH = "$(HOME)/bin"; LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; OBJROOT = "$(SRCROOT)/build"; @@ -8754,6 +8789,7 @@ CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; GCC_DYNAMIC_NO_PIC = YES; GCC_MODEL_TUNING = G5; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; GCC_WARN_PROTOTYPE_CONVERSION = NO; @@ -8771,6 +8807,7 @@ GCC_DYNAMIC_NO_PIC = YES; GCC_ENABLE_CPP_RTTI = NO; GCC_NO_COMMON_BLOCKS = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; GCC_WARN_PROTOTYPE_CONVERSION = NO; INSTALL_PATH = /usr/local/lib; @@ -8815,7 +8852,7 @@ GCC_ENABLE_SSE3_EXTENSIONS = NO; GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( "$(SRCROOT)/../src", "$(SRCROOT)/../src/ffmpeg/include", @@ -8870,7 +8907,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_STRICT_ALIASING = YES; GCC_UNROLL_LOOPS = YES; - GCC_VERSION = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; GCC_WARN_ABOUT_MISSING_NEWLINE = YES; @@ -8944,7 +8981,7 @@ GCC_ENABLE_OBJC_EXCEPTIONS = NO; GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( "$(SRCROOT)/../src", "$(SRCROOT)/../src/ffmpeg/include", @@ -9000,7 +9037,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_STRICT_ALIASING = YES; GCC_UNROLL_LOOPS = YES; - GCC_VERSION = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; GCC_WARN_ABOUT_MISSING_NEWLINE = YES; @@ -9051,6 +9088,7 @@ "$(value)", LUA_USE_MACOSX, ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; @@ -9076,6 +9114,7 @@ "$(value)", LUA_USE_MACOSX, ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; @@ -9101,6 +9140,7 @@ "$(value)", LUA_USE_MACOSX, ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; From 8a9ba650719fafadb548b7b85a459d1117a3213d Mon Sep 17 00:00:00 2001 From: Alberto Ramos Date: Tue, 14 Jun 2011 02:59:15 -0600 Subject: [PATCH 134/530] Comments. I want to do that. KSF tweaks (scroll segments for now) --- src/NotesLoaderKSF.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/NotesLoaderKSF.cpp b/src/NotesLoaderKSF.cpp index 604c049ea1..c283ce7b53 100644 --- a/src/NotesLoaderKSF.cpp +++ b/src/NotesLoaderKSF.cpp @@ -23,6 +23,11 @@ static void HandleBunki( TimingData &timing, const float fEarlyBPM, static bool HandlePipeChars( TimingData &timing, const RString sNoteRow, const float fCurBeat, int &iTickCount ) { + // gotta do something tricky here: if the bpm is below one then a couple of calculations + // for scrollsegments will be made, example, bpm 0.2, tick 4000, the scrollsegment will + // be 0. if the tickcount is non a stepmania standard then it will be adapted, a scroll + // segment will then be added based on approximations. + RString temp = sNoteRow.substr(2,sNoteRow.size()-3); float numTemp = StringToFloat(temp); if (BeginsWith(sNoteRow, "|T")) @@ -51,6 +56,27 @@ static bool HandlePipeChars( TimingData &timing, const RString sNoteRow, timing.SetStopAtBeat( fCurBeat, fCurDelay, true ); return true; } + else if (BeginsWith(sNoteRow, "|M") || BeginsWith(sNoteRow, "|C")) + { + // multipliers/combo + timing.SetComboAtBeat( fCurBeat, static_cast(numTemp) ); + return true; + } + else if (BeginsWith(sNoteRow, "|S")) + { + return false; + } + else if (BeginsWith(sNoteRow, "|F")) + { + // + return false; + } + + else if (BeginsWith(sNoteRow, "|X")) + { + timing.SetScrollAtBeat( fCurBeat, numTemp ); + return true; + } return false; } From 23e71e15749ce0d5987d25cb1c9a3036374096ea Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Tue, 14 Jun 2011 13:15:54 -0400 Subject: [PATCH 135/530] Prototype warning. --- src/ScreenServiceAction.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ScreenServiceAction.h b/src/ScreenServiceAction.h index 35011f0106..174d80e57e 100644 --- a/src/ScreenServiceAction.h +++ b/src/ScreenServiceAction.h @@ -5,6 +5,8 @@ #include "ScreenPrompt.h" +RString ClearMachineStats(); + class ScreenServiceAction : public ScreenPrompt { public: From 3b1260bb799ab99da086aee65f67e5fc860076bf Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Tue, 14 Jun 2011 13:35:59 -0400 Subject: [PATCH 136/530] Start detecting which files have errors. Guess we needed this as a class/struct after all. --- src/NotesLoaderSM.cpp | 85 ++++++++++++++++++++++++++++++++---------- src/NotesLoaderSM.h | 16 +++++++- src/NotesLoaderSMA.cpp | 56 ++++++++++++++++++++++------ src/NotesLoaderSSC.cpp | 82 ++++++++++++++++++++++++++++++---------- 4 files changed, 186 insertions(+), 53 deletions(-) diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index 35562c1efd..3a36909da9 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -13,6 +13,16 @@ #include "Attack.h" #include "PrefsManager.h" +void SMLoader::SetSongTitle(const RString & title) +{ + this->songTitle = title; +} + +RString SMLoader::GetSongTitle() const +{ + return this->songTitle; +} + bool SMLoader::LoadFromDir( const RString &sPath, Song &out ) { vector aFileNames; @@ -210,10 +220,11 @@ bool SMLoader::ProcessBPMs( TimingData &out, const RString line, const int rowsP { vector arrayBPMChangeValues; split( arrayBPMChangeExpressions[b], "=", arrayBPMChangeValues ); - // XXX: Hard to tell which file caused this. if( arrayBPMChangeValues.size() != 2 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid #BPMs value \"%s\" (must have exactly one '='), ignored.", + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid #BPMs value \"%s\" (must have exactly one '='), ignored.", arrayBPMChangeExpressions[b].c_str() ); continue; } @@ -281,8 +292,9 @@ void SMLoader::ProcessStops( TimingData &out, const RString line, const int rows split( arrayFreezeExpressions[f], "=", arrayFreezeValues ); if( arrayFreezeValues.size() != 2 ) { - // XXX: Hard to tell which file caused this. - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid #STOPS value \"%s\" (must have exactly one '='), ignored.", + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid #STOPS value \"%s\" (must have exactly one '='), ignored.", arrayFreezeExpressions[f].c_str() ); continue; } @@ -343,8 +355,9 @@ void SMLoader::ProcessDelays( TimingData &out, const RString line, const int row split( arrayDelayExpressions[f], "=", arrayDelayValues ); if( arrayDelayValues.size() != 2 ) { - // XXX: Hard to tell which file caused this. - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid #DELAYS value \"%s\" (must have exactly one '='), ignored.", + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid #DELAYS value \"%s\" (must have exactly one '='), ignored.", arrayDelayExpressions[f].c_str() ); continue; } @@ -362,7 +375,11 @@ void SMLoader::ProcessDelays( TimingData &out, const RString line, const int row if(fFreezeSeconds > 0.0f) out.AddStopSegment( new_seg ); else - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid delay at beat %f, length %f.", fFreezeBeat, fFreezeSeconds ); + LOG->UserLog( + "Song file", + this->GetSongTitle(), + "has an invalid delay at beat %f, length %f.", + fFreezeBeat, fFreezeSeconds ); } } @@ -378,7 +395,10 @@ void SMLoader::ProcessTimeSignatures( TimingData &out, const RString line, const if( vs2.size() < 3 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid time signature change with %i values.", (int)vs2.size() ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid time signature change with %i values.", + static_cast(vs2.size()) ); continue; } @@ -388,19 +408,28 @@ void SMLoader::ProcessTimeSignatures( TimingData &out, const RString line, const if( fBeat < 0 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid time signature change with beat %f.", fBeat ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid time signature change with beat %f.", + fBeat ); continue; } if( seg.GetNum() < 1 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid time signature change with beat %f, iNumerator %i.", fBeat, seg.GetNum() ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid time signature change with beat %f, iNumerator %i.", + fBeat, seg.GetNum() ); continue; } if( seg.GetDen() < 1 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid time signature change with beat %f, iDenominator %i.", fBeat, seg.GetDen() ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid time signature change with beat %f, iDenominator %i.", + fBeat, seg.GetDen() ); continue; } @@ -419,8 +448,9 @@ void SMLoader::ProcessTickcounts( TimingData &out, const RString line, const int split( arrayTickcountExpressions[f], "=", arrayTickcountValues ); if( arrayTickcountValues.size() != 2 ) { - // XXX: Hard to tell which file caused this. - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid #TICKCOUNTS value \"%s\" (must have exactly one '='), ignored.", + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid #TICKCOUNTS value \"%s\" (must have exactly one '='), ignored.", arrayTickcountExpressions[f].c_str() ); continue; } @@ -455,7 +485,10 @@ void SMLoader::ProcessSpeeds( TimingData &out, const RString line, const int row if( vs2.size() < 4 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an speed change with %i values.", (int)vs2.size() ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an speed change with %i values.", + static_cast(vs2.size()) ); continue; } @@ -466,13 +499,19 @@ void SMLoader::ProcessSpeeds( TimingData &out, const RString line, const int row if( fBeat < 0 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an speed change with beat %f.", fBeat ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an speed change with beat %f.", + fBeat ); continue; } if( seg.GetLength() < 0 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an speed change with beat %f, length %f.", fBeat, seg.GetLength() ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an speed change with beat %f, length %f.", + fBeat, seg.GetLength() ); continue; } @@ -489,10 +528,11 @@ void SMLoader::ProcessFakes( TimingData &out, const RString line, const int rows { vector arrayFakeValues; split( arrayFakeExpressions[b], "=", arrayFakeValues ); - // XXX: Hard to tell which file caused this. if( arrayFakeValues.size() != 2 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid #FAKES value \"%s\" (must have exactly one '='), ignored.", + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid #FAKES value \"%s\" (must have exactly one '='), ignored.", arrayFakeExpressions[b].c_str() ); continue; } @@ -504,7 +544,10 @@ void SMLoader::ProcessFakes( TimingData &out, const RString line, const int rows out.AddFakeSegment( FakeSegment(fBeat, fNewBeat) ); else { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid Fake at beat %f, BPM %f.", fBeat, fNewBeat ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid Fake at beat %f, BPM %f.", + fBeat, fNewBeat ); } } } @@ -619,7 +662,10 @@ bool SMLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache /* Don't use GetMainAndSubTitlesFromFullTitle; that's only for heuristically * splitting other formats that *don't* natively support #SUBTITLE. */ if( sValueName=="TITLE" ) + { out.m_sMainTitle = sParams[1]; + this->SetSongTitle(sParams[1]); + } else if( sValueName=="SUBTITLE" ) out.m_sSubTitle = sParams[1]; @@ -892,6 +938,7 @@ bool SMLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath } RString sSongFullTitle = sParams[1]; + this->SetSongTitle(sParams[1]); sSongFullTitle.Replace( '\\', '/' ); pSong = SONGMAN->FindSong( sSongFullTitle ); diff --git a/src/NotesLoaderSM.h b/src/NotesLoaderSM.h index 0e03988b58..a6ff57122f 100644 --- a/src/NotesLoaderSM.h +++ b/src/NotesLoaderSM.h @@ -21,9 +21,9 @@ const int MAX_EDIT_STEPS_SIZE_BYTES = 60*1024; // 60KB /** @brief Reads a Song from an .SM file. */ struct SMLoader { - SMLoader() : fileExt(".sm") {} + SMLoader() : fileExt(".sm"), songTitle() {} - SMLoader(RString ext) : fileExt(ext) {} + SMLoader(RString ext) : fileExt(ext), songTitle() {} virtual ~SMLoader() {} @@ -162,9 +162,21 @@ protected: * @return the file extension. */ RString GetFileExtension() const { return fileExt; } + /** + * @brief Set the song title. + * @param t the song title. */ + virtual void SetSongTitle(const RString & title); + + /** + * @brief Get the song title. + * @return the song title. */ + virtual RString GetSongTitle() const; + private: /** @brief The file extension in use. */ const RString fileExt; + /** @brief The song title that is being processed. */ + RString songTitle; }; #endif diff --git a/src/NotesLoaderSMA.cpp b/src/NotesLoaderSMA.cpp index 44f6f5026f..09b9c30aa3 100644 --- a/src/NotesLoaderSMA.cpp +++ b/src/NotesLoaderSMA.cpp @@ -25,13 +25,15 @@ void SMALoader::ProcessMultipliers( TimingData &out, const int iRowsPerBeat, con split( arrayMultiplierExpressions[f], "=", arrayMultiplierValues ); if( arrayMultiplierValues.size() != 2 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid #MULTIPLIER value \"%s\" (must have exactly one '='), ignored.", + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid #MULTIPLIER value \"%s\" (must have exactly one '='), ignored.", arrayMultiplierExpressions[f].c_str() ); continue; } const float fComboBeat = RowToBeat( arrayMultiplierValues[0], iRowsPerBeat ); const int iCombos = StringToInt( arrayMultiplierValues[1] ); - ComboSegment new_seg( BeatToNoteRow( fComboBeat ), iCombos ); + ComboSegment new_seg( fComboBeat, iCombos ); out.AddComboSegment( new_seg ); } } @@ -48,23 +50,32 @@ void SMALoader::ProcessBeatsPerMeasure( TimingData &out, const RString sParam ) if( vs2.size() < 2 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid beats per measure change with %i values.", (int)vs2.size() ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid beats per measure change with %i values.", + static_cast(vs2.size()) ); continue; } const float fBeat = StringToFloat( vs2[0] ); - TimeSignatureSegment seg( BeatToNoteRow( fBeat ), StringToInt( vs2[1] ), 4 ); + TimeSignatureSegment seg( fBeat, StringToInt( vs2[1] ), 4 ); if( fBeat < 0 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid time signature change with beat %f.", fBeat ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid time signature change with beat %f.", + fBeat ); continue; } if( seg.GetNum() < 1 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid time signature change with beat %f, iNumerator %i.", fBeat, seg.GetNum() ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid time signature change with beat %f, iNumerator %i.", + fBeat, seg.GetNum() ); continue; } @@ -92,7 +103,10 @@ void SMALoader::ProcessSpeeds( TimingData &out, const RString line, const int ro if( vs2.size() < 3 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an speed change with %i values.", (int)vs2.size() ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an speed change with %i values.", + static_cast(vs2.size()) ); continue; } @@ -109,13 +123,19 @@ void SMALoader::ProcessSpeeds( TimingData &out, const RString line, const int ro if( fBeat < 0 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an speed change with beat %f.", fBeat ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an speed change with beat %f.", + fBeat ); continue; } if( seg.GetLength() < 0 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an speed change with beat %f, length %f.", fBeat, seg.GetLength() ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an speed change with beat %f, length %f.", + fBeat, seg.GetLength() ); continue; } @@ -152,7 +172,10 @@ bool SMALoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach /* Don't use GetMainAndSubTitlesFromFullTitle; that's only for heuristically * splitting other formats that *don't* natively support #SUBTITLE. */ if( sValueName=="TITLE" ) + { out.m_sMainTitle = sParams[1]; + this->SetSongTitle(sParams[1]); + } else if( sValueName=="SUBTITLE" ) out.m_sSubTitle = sParams[1]; @@ -314,7 +337,10 @@ bool SMALoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach else if( StringToInt(sParams[1]) > 0 ) out.m_SelectionDisplay = out.SHOW_ALWAYS; else - LOG->UserLog( "Song file", sPath, "has an unknown #SELECTABLE value, \"%s\"; ignored.", sParams[1].c_str() ); + LOG->UserLog("Song file", + sPath, + "has an unknown #SELECTABLE value, \"%s\"; ignored.", + sParams[1].c_str() ); } else if( sValueName.Left(strlen("BGCHANGES"))=="BGCHANGES" || sValueName=="ANIMATIONS" ) @@ -413,7 +439,10 @@ bool SMALoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach { if( iNumParams < 7 ) { - LOG->UserLog( "Song file", sPath, "has %d fields in a #NOTES tag, but should have at least 7.", iNumParams ); + LOG->UserLog("Song file", + sPath, + "has %d fields in a #NOTES tag, but should have at least 7.", + iNumParams ); continue; } @@ -431,7 +460,10 @@ bool SMALoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach else if( sValueName=="TIMESIGNATURES" || sValueName=="LEADTRACK" ) ; else - LOG->UserLog( "Song file", sPath, "has an unexpected value named \"%s\".", sValueName.c_str() ); + LOG->UserLog("Song file", + sPath, + "has an unexpected value named \"%s\".", + sValueName.c_str() ); } TidyUpData(out, false); out.TidyUpData(); diff --git a/src/NotesLoaderSSC.cpp b/src/NotesLoaderSSC.cpp index 3c13899ff7..9e94ba4ad7 100644 --- a/src/NotesLoaderSSC.cpp +++ b/src/NotesLoaderSSC.cpp @@ -23,10 +23,11 @@ void SSCLoader::ProcessWarps( TimingData &out, const RString sParam, const float { vector arrayWarpValues; split( arrayWarpExpressions[b], "=", arrayWarpValues ); - // XXX: Hard to tell which file caused this. if( arrayWarpValues.size() != 2 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid #WARPS value \"%s\" (must have exactly one '='), ignored.", + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid #WARPS value \"%s\" (must have exactly one '='), ignored.", arrayWarpExpressions[b].c_str() ); continue; } @@ -42,7 +43,10 @@ void SSCLoader::ProcessWarps( TimingData &out, const RString sParam, const float out.AddWarpSegment( WarpSegment(fBeat, fNewBeat) ); else { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid Warp at beat %f, BPM %f.", fBeat, fNewBeat ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid Warp at beat %f, BPM %f.", + fBeat, fNewBeat ); } } } @@ -58,7 +62,9 @@ void SSCLoader::ProcessLabels( TimingData &out, const RString sParam ) split( arrayLabelExpressions[b], "=", arrayLabelValues ); if( arrayLabelValues.size() != 2 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid #LABELS value \"%s\" (must have exactly one '='), ignored.", + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid #LABELS value \"%s\" (must have exactly one '='), ignored.", arrayLabelExpressions[b].c_str() ); continue; } @@ -70,7 +76,10 @@ void SSCLoader::ProcessLabels( TimingData &out, const RString sParam ) out.AddLabelSegment( LabelSegment(fBeat, sLabel) ); else { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid Label at beat %f called %s.", fBeat, sLabel.c_str() ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid Label at beat %f called %s.", + fBeat, sLabel.c_str() ); } } @@ -87,13 +96,15 @@ void SSCLoader::ProcessCombos( TimingData &out, const RString line, const int ro split( arrayComboExpressions[f], "=", arrayComboValues ); if( arrayComboValues.size() != 2 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an invalid #COMBOS value \"%s\" (must have exactly one '='), ignored.", + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an invalid #COMBOS value \"%s\" (must have exactly one '='), ignored.", arrayComboExpressions[f].c_str() ); continue; } const float fComboBeat = StringToFloat( arrayComboValues[0] ); const int iCombos = StringToInt( arrayComboValues[1] ); - ComboSegment new_seg( BeatToNoteRow( fComboBeat ), iCombos ); + ComboSegment new_seg( fComboBeat, iCombos ); out.AddComboSegment( new_seg ); } } @@ -110,7 +121,10 @@ void SSCLoader::ProcessScrolls( TimingData &out, const RString sParam ) if( vs2.size() < 2 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an scroll change with %i values.", (int)vs2.size() ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an scroll change with %i values.", + static_cast(vs2.size()) ); continue; } @@ -120,7 +134,10 @@ void SSCLoader::ProcessScrolls( TimingData &out, const RString sParam ) if( fBeat < 0 ) { - LOG->UserLog( "Song file", "(UNKNOWN)", "has an scroll change with beat %f.", fBeat ); + LOG->UserLog("Song file", + this->GetSongTitle(), + "has an scroll change with beat %f.", + fBeat ); continue; } @@ -166,6 +183,7 @@ bool SSCLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach else if( sValueName=="TITLE" ) { out.m_sMainTitle = sParams[1]; + this->SetSongTitle(sParams[1]); } else if( sValueName=="SUBTITLE" ) @@ -564,21 +582,28 @@ bool SSCLoader::LoadEditFromFile( RString sEditFilePath, ProfileSlot slot, bool int iBytes = FILEMAN->GetFileSizeInBytes( sEditFilePath ); if( iBytes > MAX_EDIT_STEPS_SIZE_BYTES ) { - LOG->UserLog( "Edit file", sEditFilePath, "is unreasonably large. It won't be loaded." ); + LOG->UserLog("Edit file", + sEditFilePath, + "is unreasonably large. It won't be loaded." ); return false; } MsdFile msd; if( !msd.ReadFile( sEditFilePath, true ) ) // unescape { - LOG->UserLog( "Edit file", sEditFilePath, "couldn't be opened: %s", msd.GetError().c_str() ); + LOG->UserLog("Edit file", + sEditFilePath, + "couldn't be opened: %s", msd.GetError().c_str() ); return false; } return LoadEditFromMsd( msd, sEditFilePath, slot, bAddStepsToSong ); } -bool SSCLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath, ProfileSlot slot, bool bAddStepsToSong ) +bool SSCLoader::LoadEditFromMsd(const MsdFile &msd, + const RString &sEditFilePath, + ProfileSlot slot, + bool bAddStepsToSong ) { Song* pSong = NULL; Steps* pNewNotes = NULL; @@ -608,18 +633,25 @@ bool SSCLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePat } RString sSongFullTitle = sParams[1]; + this->SetSongTitle(sParams[1]); sSongFullTitle.Replace( '\\', '/' ); pSong = SONGMAN->FindSong( sSongFullTitle ); if( pSong == NULL ) { - LOG->UserLog( "Edit file", sEditFilePath, "requires a song \"%s\" that isn't present.", sSongFullTitle.c_str() ); + LOG->UserLog("Edit file", + sEditFilePath, + "requires a song \"%s\" that isn't present.", + sSongFullTitle.c_str() ); return false; } if( pSong->GetNumStepsLoadedFromProfile(slot) >= MAX_EDITS_PER_SONG_PER_PROFILE ) { - LOG->UserLog( "Song file", sSongFullTitle, "already has the maximum number of edits allowed for ProfileSlotP%d.", slot+1 ); + LOG->UserLog("Song file", + sSongFullTitle, + "already has the maximum number of edits allowed for ProfileSlotP%d.", + slot+1 ); return false; } } @@ -667,8 +699,8 @@ bool SSCLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePat { RadarValues v[NUM_PLAYERS]; FOREACH_PlayerNumber( pn ) - FOREACH_ENUM( RadarCategory, rc ) - v[pn][rc] = StringToFloat( saValues[pn*NUM_RadarCategory + rc] ); + FOREACH_ENUM( RadarCategory, rc ) + v[pn][rc] = StringToFloat( saValues[pn*NUM_RadarCategory + rc] ); pNewNotes->SetCachedRadarValues( v ); } bSSCFormat = true; @@ -744,13 +776,18 @@ bool SSCLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePat { if( pSong == NULL ) { - LOG->UserLog( "Edit file", sEditFilePath, "doesn't have a #SONG tag preceeding the first #NOTES tag." ); + LOG->UserLog("Edit file", + sEditFilePath, + "doesn't have a #SONG tag preceeding the first #NOTES tag." ); return false; } if ( !bSSCFormat && iNumParams < 7 ) { - LOG->UserLog( "Edit file", sEditFilePath, "has %d fields in a #NOTES tag, but should have at least 7.", iNumParams ); + LOG->UserLog("Edit file", + sEditFilePath, + "has %d fields in a #NOTES tag, but should have at least 7.", + iNumParams ); continue; } @@ -785,7 +822,9 @@ bool SSCLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePat if( pSong->IsEditAlreadyLoaded(pNewNotes) ) { - LOG->UserLog( "Edit file", sEditFilePath, "is a duplicate of another edit that was already loaded." ); + LOG->UserLog("Edit file", + sEditFilePath, + "is a duplicate of another edit that was already loaded." ); SAFE_DELETE( pNewNotes ); return false; } @@ -795,7 +834,10 @@ bool SSCLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePat } else { - LOG->UserLog( "Edit file", sEditFilePath, "has an unexpected value \"%s\".", sValueName.c_str() ); + LOG->UserLog("Edit file", + sEditFilePath, + "has an unexpected value \"%s\".", + sValueName.c_str() ); } } From 0bc2c2026866261071c1c67c1ec4fe19f0fbf237 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Tue, 14 Jun 2011 13:51:26 -0400 Subject: [PATCH 137/530] More attempts at warning-free code. --- src/GameCommand.h | 3 +++ src/OptionRow.h | 3 +++ src/ScreenDebugOverlay.h | 3 +++ src/StatsManager.cpp | 2 ++ src/StatsManager.h | 1 + 5 files changed, 12 insertions(+) diff --git a/src/GameCommand.h b/src/GameCommand.h index 8cd135dde4..50f9ae5050 100644 --- a/src/GameCommand.h +++ b/src/GameCommand.h @@ -19,6 +19,9 @@ class Style; class Game; struct lua_State; +int GetNumCreditsPaid(); +int GetCreditsRequiredToPlayStyle( const Style *style ); + class GameCommand { public: diff --git a/src/OptionRow.h b/src/OptionRow.h index c2ef9fac4f..6ca653f88e 100644 --- a/src/OptionRow.h +++ b/src/OptionRow.h @@ -14,6 +14,9 @@ class OptionRowHandler; class GameCommand; struct OptionRowDefinition; +RString ITEMS_LONG_ROW_X_NAME( size_t p ); +RString MOD_ICON_X_NAME( size_t p ); + class OptionRowType { public: diff --git a/src/ScreenDebugOverlay.h b/src/ScreenDebugOverlay.h index 0dc03f3c1a..bd06795c84 100644 --- a/src/ScreenDebugOverlay.h +++ b/src/ScreenDebugOverlay.h @@ -7,6 +7,9 @@ #include "BitmapText.h" #include "Quad.h" +void ChangeVolume( float fDelta ); +void ChangeVisualDelay( float fDelta ); + class ScreenDebugOverlay : public Screen { public: diff --git a/src/StatsManager.cpp b/src/StatsManager.cpp index 96e91409a5..cd572dbf5a 100644 --- a/src/StatsManager.cpp +++ b/src/StatsManager.cpp @@ -16,6 +16,8 @@ StatsManager* STATSMAN = NULL; // global object accessable from anywhere in the program +void AddPlayerStatsToProfile( Profile *pProfile, const StageStats &ss, PlayerNumber pn ); +XNode* MakeRecentScoreNode( const StageStats &ss, Trail *pTrail, const PlayerStageStats &pss, MultiPlayer mp ); StatsManager::StatsManager() { diff --git a/src/StatsManager.h b/src/StatsManager.h index da7e869010..0b9b812e9b 100644 --- a/src/StatsManager.h +++ b/src/StatsManager.h @@ -2,6 +2,7 @@ #define StatsManager_H #include "StageStats.h" + /** @brief Managed non-persisted statistics. */ class StatsManager { From 27bd1ff1f2b7499d326daeacb7ec97030cf0b44b Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Tue, 14 Jun 2011 14:19:40 -0400 Subject: [PATCH 138/530] Starting stub for hopeful cache reduction. Now, let's see if we can pull this off. --- src/NotesLoaderSM.cpp | 6 ++++++ src/NotesLoaderSM.h | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index 3a36909da9..0265197ecd 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -638,6 +638,12 @@ bool SMLoader::LoadFromBGChangesString( BackgroundChange &change, const RString return aBGChangeValues.size() >= 2; } +bool SMLoader::LoadNotedataFromSimfile( const RString &path, Steps &out ) +{ + // stub: do this later. + return false; +} + bool SMLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache ) { LOG->Trace( "Song::LoadFromSMFile(%s)", sPath.c_str() ); diff --git a/src/NotesLoaderSM.h b/src/NotesLoaderSM.h index a6ff57122f..323fed027c 100644 --- a/src/NotesLoaderSM.h +++ b/src/NotesLoaderSM.h @@ -41,6 +41,12 @@ struct SMLoader */ virtual void TidyUpData( Song &song, bool bFromCache ); + /** + * @brief Retrieve the relevant notedata from the simfile. + * @param path the path where the simfile lives. + * @param out the Steps we are loading the data into. */ + virtual bool LoadNotedataFromSimfile(const RString &path, Steps &out ); + /** * @brief Attempt to load the specified sm file. * @param sPath a const reference to the path on the hard drive to check. From 254019b615d4b5a732913ecdca70f4df96e5a91b Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Tue, 14 Jun 2011 14:28:52 -0400 Subject: [PATCH 139/530] Less stubby. --- src/NotesLoaderSM.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index 0265197ecd..5dc4a4c649 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -641,6 +641,48 @@ bool SMLoader::LoadFromBGChangesString( BackgroundChange &change, const RString bool SMLoader::LoadNotedataFromSimfile( const RString &path, Steps &out ) { // stub: do this later. + MsdFile msd; + if( !msd.ReadFile( path, true ) ) // unescape + { + LOG->UserLog("Song file", + path, + "couldn't be opened: %s", + msd.GetError().c_str() ); + return false; + } + for (unsigned i = 0; iUserLog("Song file", + path, + "has %d fields in a #NOTES tag, but should have at least 7.", + iNumParams ); + continue; + } + /* + Steps* pNewNotes = out.CreateSteps(); + LoadFromTokens( + sParams[1], + sParams[2], + sParams[3], + sParams[4], + sParams[5], + sParams[6], + *pNewNotes ); + + out.AddSteps( pNewNotes ); + */ + } + } return false; } From 6be27bcb48f9720598b596f6bbf0c8d74cf1f157 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Tue, 14 Jun 2011 19:54:01 -0400 Subject: [PATCH 140/530] Prevent library conflicts for the future. Mac users, you will have to recompile. --- Xcode/stepmania.xcodeproj/project.pbxproj | 132 +++++++++++----------- 1 file changed, 66 insertions(+), 66 deletions(-) diff --git a/Xcode/stepmania.xcodeproj/project.pbxproj b/Xcode/stepmania.xcodeproj/project.pbxproj index 691b409820..b706bdb693 100644 --- a/Xcode/stepmania.xcodeproj/project.pbxproj +++ b/Xcode/stepmania.xcodeproj/project.pbxproj @@ -45,9 +45,9 @@ 2B17AB8A13980FF6001AE57D /* pngwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6132113773C8E00CC8BBD /* pngwrite.c */; }; 2B17AB8B13980FF6001AE57D /* pngwtran.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6132213773C8E00CC8BBD /* pngwtran.c */; }; 2B17AB8C13980FF6001AE57D /* pngwutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6132313773C8E00CC8BBD /* pngwutil.c */; }; - 2B17AB9F13981271001AE57D /* libpng-1.5.1sm0.1.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B17AB7213980FDF001AE57D /* libpng-1.5.1sm0.1.a */; }; + 2B17AB9F13981271001AE57D /* libpng-1.5.1-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B17AB7213980FDF001AE57D /* libpng-1.5.1-sm5.a */; }; 2B17ABC51398153F001AE57D /* glew.c in Sources */ = {isa = PBXBuildFile; fileRef = EE879BAA132E06C50078FDDC /* glew.c */; }; - 2B17ABCF139815E0001AE57D /* libglew.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B17ABC013981521001AE57D /* libglew.a */; }; + 2B17ABCF139815E0001AE57D /* libglew-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B17ABC013981521001AE57D /* libglew-sm5.a */; }; 2B17ABE51398179E001AE57D /* chartables.c in Sources */ = {isa = PBXBuildFile; fileRef = AA8B6C7904AFD87300D02EE9 /* chartables.c */; }; 2B17ABE61398179E001AE57D /* get.c in Sources */ = {isa = PBXBuildFile; fileRef = AA8B6C7A04AFD87300D02EE9 /* get.c */; }; 2B17ABE71398179E001AE57D /* internal.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8B6C7B04AFD87300D02EE9 /* internal.h */; }; @@ -55,8 +55,8 @@ 2B17ABE91398179E001AE57D /* pcre.c in Sources */ = {isa = PBXBuildFile; fileRef = AA8B6C7D04AFD87300D02EE9 /* pcre.c */; }; 2B17ABEA1398179E001AE57D /* pcre.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8B6C7E04AFD87300D02EE9 /* pcre.h */; }; 2B17ABEB1398179E001AE57D /* study.c in Sources */ = {isa = PBXBuildFile; fileRef = AA8B6C7F04AFD87300D02EE9 /* study.c */; }; - 2B17ABFC139817D5001AE57D /* libpcre.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B17ABE013981756001AE57D /* libpcre.a */; }; - 2B17ABFD139817D6001AE57D /* libpcre.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B17ABE013981756001AE57D /* libpcre.a */; }; + 2B17ABFC139817D5001AE57D /* libpcre-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B17ABE013981756001AE57D /* libpcre-sm5.a */; }; + 2B17ABFD139817D6001AE57D /* libpcre-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B17ABE013981756001AE57D /* libpcre-sm5.a */; }; 2B30D6821315EA7E00044B68 /* MouseDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B30D6801315EA7E00044B68 /* MouseDevice.cpp */; }; 2B30D6831315EA7E00044B68 /* MouseDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B30D6811315EA7E00044B68 /* MouseDevice.h */; }; 2B43509513949F37006FA051 /* TimingSegments.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B43509313949F37006FA051 /* TimingSegments.h */; }; @@ -1142,8 +1142,8 @@ AA77E76508B64B9A00FA24CA /* ScreenOptionsManageCourses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA77E75B08B64B9A00FA24CA /* ScreenOptionsManageCourses.cpp */; }; AA77E76708B64B9A00FA24CA /* ScreenOptionsManageProfiles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA77E75D08B64B9A00FA24CA /* ScreenOptionsManageProfiles.cpp */; }; AA77E8B108B6ABD500FA24CA /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA77E8A108B6ABD500FA24CA /* vecLib.framework */; }; - AA7A2BAF0AE09CEC0054C5BA /* liblua-5.1.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AAE7817E0AC7E37B00AEFC64 /* liblua-5.1.a */; }; - AA7A2BB00AE09CF10054C5BA /* liblua-5.1.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AAE7817E0AC7E37B00AEFC64 /* liblua-5.1.a */; }; + AA7A2BAF0AE09CEC0054C5BA /* liblua-5.1-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AAE7817E0AC7E37B00AEFC64 /* liblua-5.1-sm5.a */; }; + AA7A2BB00AE09CF10054C5BA /* liblua-5.1-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AAE7817E0AC7E37B00AEFC64 /* liblua-5.1-sm5.a */; }; AA7ADC27072CAB7F00C50A7F /* RageSoundReader_Chain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA7ADC23072CAB7F00C50A7F /* RageSoundReader_Chain.cpp */; }; AA7ADC29072CAB7F00C50A7F /* RageSoundUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA7ADC25072CAB7F00C50A7F /* RageSoundUtil.cpp */; }; AA7C8AFC0B6744F700FD9940 /* bn_error.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A800B6744F600FD9940 /* bn_error.c */; }; @@ -1424,10 +1424,10 @@ AA7C8CF00B67467D00FD9940 /* sober128.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C520B67467D00FD9940 /* sober128.c */; }; AA7C8CF20B67467D00FD9940 /* sprng.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C540B67467D00FD9940 /* sprng.c */; }; AA7C8CF30B67467D00FD9940 /* yarrow.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C550B67467D00FD9940 /* yarrow.c */; }; - AA7C8D1F0B6748E300FD9940 /* libtommath.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA7C895F0B67444700FD9940 /* libtommath.a */; }; - AA7C8D200B6748E400FD9940 /* libtomcrypt.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA7C8B8B0B67460600FD9940 /* libtomcrypt.a */; }; - AA7C8D430B674F4E00FD9940 /* libtommath.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA7C895F0B67444700FD9940 /* libtommath.a */; }; - AA7C8D440B674F4F00FD9940 /* libtomcrypt.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA7C8B8B0B67460600FD9940 /* libtomcrypt.a */; }; + AA7C8D1F0B6748E300FD9940 /* libtommath-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA7C895F0B67444700FD9940 /* libtommath-sm5.a */; }; + AA7C8D200B6748E400FD9940 /* libtomcrypt-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA7C8B8B0B67460600FD9940 /* libtomcrypt-sm5.a */; }; + AA7C8D430B674F4E00FD9940 /* libtommath-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA7C895F0B67444700FD9940 /* libtommath-sm5.a */; }; + AA7C8D440B674F4F00FD9940 /* libtomcrypt-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA7C8B8B0B67460600FD9940 /* libtomcrypt-sm5.a */; }; AA7C8DAE0B68CB2200FD9940 /* GameplayAssist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8DAC0B68CB2200FD9940 /* GameplayAssist.cpp */; }; AA7C8DAF0B68CB2200FD9940 /* GameplayAssist.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8DAD0B68CB2200FD9940 /* GameplayAssist.h */; }; AA7C8DB00B68CB2200FD9940 /* GameplayAssist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8DAC0B68CB2200FD9940 /* GameplayAssist.cpp */; }; @@ -1612,8 +1612,8 @@ AAE7804B060814AC0034E65F /* NetworkSyncManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE78049060814AC0034E65F /* NetworkSyncManager.cpp */; }; AAE7808706081A000034E65F /* ezsockets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE7808506081A000034E65F /* ezsockets.cpp */; }; AAE7812D0608249E0034E65F /* ActiveAttackList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE7812B0608249E0034E65F /* ActiveAttackList.cpp */; }; - AAE782030AC7E64D00AEFC64 /* liblua-5.1.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AAE7817E0AC7E37B00AEFC64 /* liblua-5.1.a */; }; - AAE782040AC7E65200AEFC64 /* liblua-5.1.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AAE7817E0AC7E37B00AEFC64 /* liblua-5.1.a */; }; + AAE782030AC7E64D00AEFC64 /* liblua-5.1-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AAE7817E0AC7E37B00AEFC64 /* liblua-5.1-sm5.a */; }; + AAE782040AC7E65200AEFC64 /* liblua-5.1-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AAE7817E0AC7E37B00AEFC64 /* liblua-5.1-sm5.a */; }; AAEBC6CC07A20AFE00793F0E /* RageSurface_Save_JPEG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAEBC6C607A20AFE00793F0E /* RageSurface_Save_JPEG.cpp */; }; AAEBC6CE07A20AFE00793F0E /* RageSurfaceUtils_Dither.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAEBC6C807A20AFE00793F0E /* RageSurfaceUtils_Dither.cpp */; }; AAEBC6D007A20AFE00793F0E /* RageSurfaceUtils_Zoom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAEBC6CA07A20AFE00793F0E /* RageSurfaceUtils_Zoom.cpp */; }; @@ -1826,9 +1826,9 @@ 1215D7A108C6559A00B87D8B /* ScreenGameplayNormal.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenGameplayNormal.h; path = ../src/ScreenGameplayNormal.h; sourceTree = ""; }; 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - 2B17AB7213980FDF001AE57D /* libpng-1.5.1sm0.1.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libpng-1.5.1sm0.1.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2B17ABC013981521001AE57D /* libglew.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libglew.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 2B17ABE013981756001AE57D /* libpcre.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libpcre.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 2B17AB7213980FDF001AE57D /* libpng-1.5.1-sm5.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libpng-1.5.1-sm5.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2B17ABC013981521001AE57D /* libglew-sm5.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libglew-sm5.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2B17ABE013981756001AE57D /* libpcre-sm5.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libpcre-sm5.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 2B30D6801315EA7E00044B68 /* MouseDevice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MouseDevice.cpp; sourceTree = ""; }; 2B30D6811315EA7E00044B68 /* MouseDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MouseDevice.h; sourceTree = ""; }; 2B43509313949F37006FA051 /* TimingSegments.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TimingSegments.h; path = ../src/TimingSegments.h; sourceTree = SOURCE_ROOT; }; @@ -2423,7 +2423,7 @@ AA7ADC24072CAB7F00C50A7F /* RageSoundReader_Chain.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSoundReader_Chain.h; path = ../src/RageSoundReader_Chain.h; sourceTree = ""; }; AA7ADC25072CAB7F00C50A7F /* RageSoundUtil.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSoundUtil.cpp; path = ../src/RageSoundUtil.cpp; sourceTree = ""; }; AA7ADC26072CAB7F00C50A7F /* RageSoundUtil.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSoundUtil.h; path = ../src/RageSoundUtil.h; sourceTree = ""; }; - AA7C895F0B67444700FD9940 /* libtommath.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libtommath.a; sourceTree = BUILT_PRODUCTS_DIR; }; + AA7C895F0B67444700FD9940 /* libtommath-sm5.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libtommath-sm5.a"; sourceTree = BUILT_PRODUCTS_DIR; }; AA7C8A800B6744F600FD9940 /* bn_error.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_error.c; sourceTree = ""; }; AA7C8A810B6744F600FD9940 /* bn_fast_mp_invmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_mp_invmod.c; sourceTree = ""; }; AA7C8A820B6744F600FD9940 /* bn_fast_mp_montgomery_reduce.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_mp_montgomery_reduce.c; sourceTree = ""; }; @@ -2546,7 +2546,7 @@ AA7C8AF90B6744F700FD9940 /* tommath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath.h; sourceTree = ""; }; AA7C8AFA0B6744F700FD9940 /* tommath_class.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath_class.h; sourceTree = ""; }; AA7C8AFB0B6744F700FD9940 /* tommath_superclass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath_superclass.h; sourceTree = ""; }; - AA7C8B8B0B67460600FD9940 /* libtomcrypt.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libtomcrypt.a; sourceTree = BUILT_PRODUCTS_DIR; }; + AA7C8B8B0B67460600FD9940 /* libtomcrypt-sm5.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libtomcrypt-sm5.a"; sourceTree = BUILT_PRODUCTS_DIR; }; AA7C8B950B67467C00FD9940 /* aes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aes.c; sourceTree = ""; }; AA7C8B960B67467C00FD9940 /* aes_tab.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aes_tab.c; sourceTree = ""; }; AA7C8B990B67467C00FD9940 /* hash_memory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hash_memory.c; sourceTree = ""; }; @@ -2973,7 +2973,7 @@ AAE7808606081A000034E65F /* ezsockets.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ezsockets.h; path = ../src/ezsockets.h; sourceTree = ""; }; AAE7812B0608249E0034E65F /* ActiveAttackList.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ActiveAttackList.cpp; path = ../src/ActiveAttackList.cpp; sourceTree = ""; }; AAE7812C0608249E0034E65F /* ActiveAttackList.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ActiveAttackList.h; path = ../src/ActiveAttackList.h; sourceTree = ""; }; - AAE7817E0AC7E37B00AEFC64 /* liblua-5.1.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "liblua-5.1.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + AAE7817E0AC7E37B00AEFC64 /* liblua-5.1-sm5.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "liblua-5.1-sm5.a"; sourceTree = BUILT_PRODUCTS_DIR; }; AAEBC6C607A20AFE00793F0E /* RageSurface_Save_JPEG.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSurface_Save_JPEG.cpp; path = ../src/RageSurface_Save_JPEG.cpp; sourceTree = ""; }; AAEBC6C707A20AFE00793F0E /* RageSurface_Save_JPEG.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSurface_Save_JPEG.h; path = ../src/RageSurface_Save_JPEG.h; sourceTree = ""; }; AAEBC6C807A20AFE00793F0E /* RageSurfaceUtils_Dither.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSurfaceUtils_Dither.cpp; path = ../src/RageSurfaceUtils_Dither.cpp; sourceTree = ""; }; @@ -3121,15 +3121,15 @@ AA21E47B0A9826CD00684CEA /* libogg_link.a in Frameworks */, AA21E47D0A9826CD00684CEA /* libtheora_link.a in Frameworks */, AA21E47E0A9826CD00684CEA /* libvorbis_link.a in Frameworks */, - AAE782030AC7E64D00AEFC64 /* liblua-5.1.a in Frameworks */, - AA7C8D200B6748E400FD9940 /* libtomcrypt.a in Frameworks */, - AA7C8D1F0B6748E300FD9940 /* libtommath.a in Frameworks */, + AAE782030AC7E64D00AEFC64 /* liblua-5.1-sm5.a in Frameworks */, + AA7C8D200B6748E400FD9940 /* libtomcrypt-sm5.a in Frameworks */, + AA7C8D1F0B6748E300FD9940 /* libtommath-sm5.a in Frameworks */, AA059E2C0B8F0C67006F8139 /* libz_link.a in Frameworks */, AAA0704E0CE5082E005A3060 /* libffmpeg_link.a in Frameworks */, AAA071B40CE7C9C9005A3060 /* libmad-sm5.a in Frameworks */, - 2B17AB9F13981271001AE57D /* libpng-1.5.1sm0.1.a in Frameworks */, - 2B17ABCF139815E0001AE57D /* libglew.a in Frameworks */, - 2B17ABFC139817D5001AE57D /* libpcre.a in Frameworks */, + 2B17AB9F13981271001AE57D /* libpng-1.5.1-sm5.a in Frameworks */, + 2B17ABCF139815E0001AE57D /* libglew-sm5.a in Frameworks */, + 2B17ABFC139817D5001AE57D /* libpcre-sm5.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3151,12 +3151,12 @@ AA21E4810A9826CD00684CEA /* libogg_link.a in Frameworks */, AA21E4830A9826CD00684CEA /* libtheora_link.a in Frameworks */, AA21E4840A9826CD00684CEA /* libvorbis_link.a in Frameworks */, - AAE782040AC7E65200AEFC64 /* liblua-5.1.a in Frameworks */, - AA7C8D440B674F4F00FD9940 /* libtomcrypt.a in Frameworks */, - AA7C8D430B674F4E00FD9940 /* libtommath.a in Frameworks */, + AAE782040AC7E65200AEFC64 /* liblua-5.1-sm5.a in Frameworks */, + AA7C8D440B674F4F00FD9940 /* libtomcrypt-sm5.a in Frameworks */, + AA7C8D430B674F4E00FD9940 /* libtommath-sm5.a in Frameworks */, AA059E2B0B8F0C67006F8139 /* libz_link.a in Frameworks */, AAA0704F0CE5082E005A3060 /* libffmpeg_link.a in Frameworks */, - 2B17ABFD139817D6001AE57D /* libpcre.a in Frameworks */, + 2B17ABFD139817D6001AE57D /* libpcre-sm5.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3164,7 +3164,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - AA7A2BAF0AE09CEC0054C5BA /* liblua-5.1.a in Frameworks */, + AA7A2BAF0AE09CEC0054C5BA /* liblua-5.1-sm5.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3172,7 +3172,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - AA7A2BB00AE09CF10054C5BA /* liblua-5.1.a in Frameworks */, + AA7A2BB00AE09CF10054C5BA /* liblua-5.1-sm5.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3239,15 +3239,15 @@ children = ( AA29CE580558741A00961A51 /* sm-ssc.app */, AA40D52B09A08D660068C0D5 /* sm-ssc.app */, - AAE7817E0AC7E37B00AEFC64 /* liblua-5.1.a */, + AAE7817E0AC7E37B00AEFC64 /* liblua-5.1-sm5.a */, AA7A2B940AE09B520054C5BA /* lua */, AA7A2BAB0AE09CD50054C5BA /* luac */, - AA7C895F0B67444700FD9940 /* libtommath.a */, - AA7C8B8B0B67460600FD9940 /* libtomcrypt.a */, + AA7C895F0B67444700FD9940 /* libtommath-sm5.a */, + AA7C8B8B0B67460600FD9940 /* libtomcrypt-sm5.a */, AAA070A90CE7B0DF005A3060 /* libmad-sm5.a */, - 2B17AB7213980FDF001AE57D /* libpng-1.5.1sm0.1.a */, - 2B17ABC013981521001AE57D /* libglew.a */, - 2B17ABE013981756001AE57D /* libpcre.a */, + 2B17AB7213980FDF001AE57D /* libpng-1.5.1-sm5.a */, + 2B17ABC013981521001AE57D /* libglew-sm5.a */, + 2B17ABE013981756001AE57D /* libpcre-sm5.a */, ); name = Products; sourceTree = ""; @@ -5680,7 +5680,7 @@ ); name = png; productName = png; - productReference = 2B17AB7213980FDF001AE57D /* libpng-1.5.1sm0.1.a */; + productReference = 2B17AB7213980FDF001AE57D /* libpng-1.5.1-sm5.a */; productType = "com.apple.product-type.library.static"; }; 2B17ABBF13981521001AE57D /* glew */ = { @@ -5697,7 +5697,7 @@ ); name = glew; productName = glew; - productReference = 2B17ABC013981521001AE57D /* libglew.a */; + productReference = 2B17ABC013981521001AE57D /* libglew-sm5.a */; productType = "com.apple.product-type.library.static"; }; 2B17ABDF13981756001AE57D /* pcre */ = { @@ -5714,7 +5714,7 @@ ); name = pcre; productName = pcre; - productReference = 2B17ABE013981756001AE57D /* libpcre.a */; + productReference = 2B17ABE013981756001AE57D /* libpcre-sm5.a */; productType = "com.apple.product-type.library.static"; }; AA29CC240558741A00961A51 /* stepmania */ = { @@ -5822,7 +5822,7 @@ ); name = tommath; productName = tommath; - productReference = AA7C895F0B67444700FD9940 /* libtommath.a */; + productReference = AA7C895F0B67444700FD9940 /* libtommath-sm5.a */; productType = "com.apple.product-type.library.static"; }; AA7C8B8A0B67460600FD9940 /* tomcrypt */ = { @@ -5839,7 +5839,7 @@ ); name = tomcrypt; productName = tomcrypt; - productReference = AA7C8B8B0B67460600FD9940 /* libtomcrypt.a */; + productReference = AA7C8B8B0B67460600FD9940 /* libtomcrypt-sm5.a */; productType = "com.apple.product-type.library.static"; }; AAA070A80CE7B0DF005A3060 /* mad */ = { @@ -5873,7 +5873,7 @@ ); name = "lua-5.1"; productName = "lua-5.1"; - productReference = AAE7817E0AC7E37B00AEFC64 /* liblua-5.1.a */; + productReference = AAE7817E0AC7E37B00AEFC64 /* liblua-5.1-sm5.a */; productType = "com.apple.product-type.library.static"; }; /* End PBXNativeTarget section */ @@ -7382,7 +7382,7 @@ INSTALL_PATH = /usr/local/lib; OTHER_LDFLAGS = ""; PREBINDING = NO; - PRODUCT_NAME = "png-1.5.1sm0.1"; + PRODUCT_NAME = "png-1.5.1-sm5"; USER_HEADER_SEARCH_PATHS = ""; }; name = Native; @@ -7426,7 +7426,7 @@ INSTALL_PATH = /usr/local/lib; OTHER_LDFLAGS = ""; PREBINDING = NO; - PRODUCT_NAME = "png-1.5.1sm0.1"; + PRODUCT_NAME = "png-1.5.1-sm5"; USER_HEADER_SEARCH_PATHS = ""; }; name = PerformanceDebug; @@ -7470,7 +7470,7 @@ INSTALL_PATH = /usr/local/lib; OTHER_LDFLAGS = ""; PREBINDING = NO; - PRODUCT_NAME = "png-1.5.1sm0.1"; + PRODUCT_NAME = "png-1.5.1-sm5"; USER_HEADER_SEARCH_PATHS = ""; }; name = Universal; @@ -7517,7 +7517,7 @@ INSTALL_PATH = /usr/local/lib; OTHER_LDFLAGS = ""; PREBINDING = NO; - PRODUCT_NAME = "png-1.5.1sm0.1"; + PRODUCT_NAME = "png-1.5.1-sm5"; USER_HEADER_SEARCH_PATHS = ""; }; name = Debug; @@ -7560,7 +7560,7 @@ INSTALL_PATH = /usr/local/lib; OTHER_LDFLAGS = ""; PREBINDING = NO; - PRODUCT_NAME = glew; + PRODUCT_NAME = "glew-sm5"; USER_HEADER_SEARCH_PATHS = ""; }; name = Native; @@ -7603,7 +7603,7 @@ INSTALL_PATH = /usr/local/lib; OTHER_LDFLAGS = ""; PREBINDING = NO; - PRODUCT_NAME = glew; + PRODUCT_NAME = "glew-sm5"; USER_HEADER_SEARCH_PATHS = ""; }; name = PerformanceDebug; @@ -7646,7 +7646,7 @@ INSTALL_PATH = /usr/local/lib; OTHER_LDFLAGS = ""; PREBINDING = NO; - PRODUCT_NAME = glew; + PRODUCT_NAME = "glew-sm5"; USER_HEADER_SEARCH_PATHS = ""; }; name = Universal; @@ -7692,7 +7692,7 @@ INSTALL_PATH = /usr/local/lib; OTHER_LDFLAGS = ""; PREBINDING = NO; - PRODUCT_NAME = glew; + PRODUCT_NAME = "glew-sm5"; USER_HEADER_SEARCH_PATHS = ""; }; name = Debug; @@ -7734,7 +7734,7 @@ INSTALL_PATH = /usr/local/lib; OTHER_LDFLAGS = ""; PREBINDING = NO; - PRODUCT_NAME = pcre; + PRODUCT_NAME = "pcre-sm5"; }; name = Native; }; @@ -7775,7 +7775,7 @@ INSTALL_PATH = /usr/local/lib; OTHER_LDFLAGS = ""; PREBINDING = NO; - PRODUCT_NAME = pcre; + PRODUCT_NAME = "pcre-sm5"; }; name = PerformanceDebug; }; @@ -7816,7 +7816,7 @@ INSTALL_PATH = /usr/local/lib; OTHER_LDFLAGS = ""; PREBINDING = NO; - PRODUCT_NAME = pcre; + PRODUCT_NAME = "pcre-sm5"; }; name = Universal; }; @@ -7860,7 +7860,7 @@ INSTALL_PATH = /usr/local/lib; OTHER_LDFLAGS = ""; PREBINDING = NO; - PRODUCT_NAME = pcre; + PRODUCT_NAME = "pcre-sm5"; }; name = Debug; }; @@ -8287,7 +8287,7 @@ GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; GCC_WARN_PROTOTYPE_CONVERSION = NO; INSTALL_PATH = /usr/local/lib; - PRODUCT_NAME = tommath; + PRODUCT_NAME = "tommath-sm5"; SYMROOT = "$(SRCROOT)/build"; }; name = Native; @@ -8303,7 +8303,7 @@ GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; GCC_WARN_PROTOTYPE_CONVERSION = NO; INSTALL_PATH = /usr/local/lib; - PRODUCT_NAME = tommath; + PRODUCT_NAME = "tommath-sm5"; SYMROOT = "$(SRCROOT)/build"; }; name = Universal; @@ -8321,7 +8321,7 @@ GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; GCC_WARN_PROTOTYPE_CONVERSION = NO; INSTALL_PATH = /usr/local/lib; - PRODUCT_NAME = tommath; + PRODUCT_NAME = "tommath-sm5"; SYMROOT = "$(SRCROOT)/build"; }; name = Debug; @@ -8339,7 +8339,7 @@ GCC_WARN_PROTOTYPE_CONVERSION = NO; INSTALL_PATH = /usr/local/lib; KEEP_PRIVATE_EXTERNS = YES; - PRODUCT_NAME = tomcrypt; + PRODUCT_NAME = "tomcrypt-sm5"; SYMROOT = "$(SRCROOT)/build"; }; name = Native; @@ -8357,7 +8357,7 @@ GCC_WARN_PROTOTYPE_CONVERSION = NO; INSTALL_PATH = /usr/local/lib; KEEP_PRIVATE_EXTERNS = YES; - PRODUCT_NAME = tomcrypt; + PRODUCT_NAME = "tomcrypt-sm5"; SYMROOT = "$(SRCROOT)/build"; }; name = Universal; @@ -8375,7 +8375,7 @@ GCC_WARN_PROTOTYPE_CONVERSION = NO; INSTALL_PATH = /usr/local/lib; KEEP_PRIVATE_EXTERNS = YES; - PRODUCT_NAME = tomcrypt; + PRODUCT_NAME = "tomcrypt-sm5"; SYMROOT = "$(SRCROOT)/build"; }; name = Debug; @@ -8736,7 +8736,7 @@ INSTALL_PATH = /usr/local/lib; OBJROOT = "$(SRCROOT)/build"; PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO; - PRODUCT_NAME = "lua-5.1"; + PRODUCT_NAME = "lua-5.1-sm5"; SYMROOT = "$(SRCROOT)/build"; }; name = PerformanceDebug; @@ -8794,7 +8794,7 @@ GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; GCC_WARN_PROTOTYPE_CONVERSION = NO; INSTALL_PATH = /usr/local/lib; - PRODUCT_NAME = tommath; + PRODUCT_NAME = "tommath-sm5"; SYMROOT = "$(SRCROOT)/build"; }; name = PerformanceDebug; @@ -8812,7 +8812,7 @@ GCC_WARN_PROTOTYPE_CONVERSION = NO; INSTALL_PATH = /usr/local/lib; KEEP_PRIVATE_EXTERNS = YES; - PRODUCT_NAME = tomcrypt; + PRODUCT_NAME = "tomcrypt-sm5"; SYMROOT = "$(SRCROOT)/build"; }; name = PerformanceDebug; @@ -9097,7 +9097,7 @@ INSTALL_PATH = /usr/local/lib; OBJROOT = "$(SRCROOT)/build"; PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO; - PRODUCT_NAME = "lua-5.1"; + PRODUCT_NAME = "lua-5.1-sm5"; SYMROOT = "$(SRCROOT)/build"; }; name = Native; @@ -9123,7 +9123,7 @@ INSTALL_PATH = /usr/local/lib; OBJROOT = "$(SRCROOT)/build"; PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO; - PRODUCT_NAME = "lua-5.1"; + PRODUCT_NAME = "lua-5.1-sm5"; SYMROOT = "$(SRCROOT)/build"; }; name = Universal; @@ -9149,7 +9149,7 @@ INSTALL_PATH = /usr/local/lib; OBJROOT = "$(SRCROOT)/build"; PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO; - PRODUCT_NAME = "lua-5.1"; + PRODUCT_NAME = "lua-5.1-sm5"; SYMROOT = "$(SRCROOT)/build"; }; name = Debug; From 8978ebffdfc41f2b01186315d58c77068d8eed1b Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Tue, 14 Jun 2011 21:05:49 -0400 Subject: [PATCH 141/530] Take Thai's advice: use LTC_NO_ROLC on debug. Release doesn't need it. I think we can soon get Xcode 4 working. :) --- Xcode/stepmania.xcodeproj/project.pbxproj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Xcode/stepmania.xcodeproj/project.pbxproj b/Xcode/stepmania.xcodeproj/project.pbxproj index b706bdb693..a3bdafb716 100644 --- a/Xcode/stepmania.xcodeproj/project.pbxproj +++ b/Xcode/stepmania.xcodeproj/project.pbxproj @@ -8370,6 +8370,10 @@ GCC_DYNAMIC_NO_PIC = YES; GCC_ENABLE_CPP_RTTI = NO; GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + LTC_NO_ROLC, + "DEBUG=1", + ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; GCC_WARN_PROTOTYPE_CONVERSION = NO; From b424659fcdafa59e48ad884fd04ba87330874688 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Tue, 14 Jun 2011 21:47:22 -0400 Subject: [PATCH 142/530] Prepare for dynamic notedata loading. I wonder if this should include radar calculations. --- src/NotesLoaderSM.cpp | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index 5dc4a4c649..d28588bdf6 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -668,19 +668,31 @@ bool SMLoader::LoadNotedataFromSimfile( const RString &path, Steps &out ) iNumParams ); continue; } - /* - Steps* pNewNotes = out.CreateSteps(); - LoadFromTokens( - sParams[1], - sParams[2], - sParams[3], - sParams[4], - sParams[5], - sParams[6], - *pNewNotes ); - out.AddSteps( pNewNotes ); - */ + RString stepsType = sParams[1]; + RString description = sParams[2]; + RString difficulty = sParams[3]; + Trim(stepsType); + Trim(description); + Trim(difficulty); + // Remember our old versions. + if (difficulty.CompareNoCase("smaniac") == 0) + { + difficulty = "Challenge"; + } + + if(!(out.m_StepsType == GAMEMAN->StringToStepsType( stepsType ) && + out.GetDescription() == description && + out.GetDifficulty() == StringToDifficulty(difficulty))) + { + continue; + } + + RString noteData = sParams[6]; + Trim( noteData ); + out.SetSMNoteData( noteData ); + + return true; } } return false; From 6a4dd911a88cbcb73f07722ebd88b99de79dce44 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Wed, 15 Jun 2011 02:36:53 -0400 Subject: [PATCH 143/530] Forgot to SAFE_DELETE a pointer. --- src/GameState.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/GameState.cpp b/src/GameState.cpp index 7450d8a7b3..fe0d7099de 100644 --- a/src/GameState.cpp +++ b/src/GameState.cpp @@ -189,6 +189,7 @@ GameState::~GameState() SAFE_DELETE( m_Environment ); SAFE_DELETE( g_pImpl ); + SAFE_DELETE( processedTiming ); } PlayerNumber GameState::GetMasterPlayerNumber() const From 614a878ebf8fbd0c7eeee71ac15b57766ab1639b Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Wed, 15 Jun 2011 03:04:58 -0500 Subject: [PATCH 144/530] fix start button issues on ScreenSelectProfile --- Themes/_fallback/metrics.ini | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index e14fd53744..d5a6276eda 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -1808,8 +1808,7 @@ CodeUp="+MenuUp" CodeUp2="+Up" CodeDown="+MenuDown" CodeDown2="+Down" -# Holding Start let us skip ( annoying ) -CodeStart="~Start,+Start" +CodeStart="+Start" CodeBack="Back" CodeCenter="Center" CodeDownLeft="DownLeft" From 49ac1c362dde0f122118624b633cb5e8d4106dc1 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Wed, 15 Jun 2011 16:56:01 -0400 Subject: [PATCH 145/530] Add many TimingData bindings. See changelog. --- Docs/Changelog_sm5.txt | 6 ++ Docs/Luadoc/Lua.xml | 7 +++ Docs/Luadoc/LuaDocumentation.xml | 21 +++++++ src/TimingData.cpp | 94 ++++++++++++++++++++++++++++++++ 4 files changed, 128 insertions(+) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 874e230a6e..a5370c4746 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,12 @@ ________________________________________________________________________________ StepMania 5.0 Preview 2 | 20110??? -------------------------------------------------------------------------------- +2011/06/15 +---------- +* [TimingData] Added many lua bindings for the other timing segments. GetWarps, + GetCombos, GetTimeSignatures, GetTickcounts, GetFakes, GetScrolls, GetSpeeds. + This should cover all of them now. [Wolfman2000] + 2011/06/13 ---------- * [InputHandler_DirectInput] Fixed MouseWheel input not resetting. [AJ] diff --git a/Docs/Luadoc/Lua.xml b/Docs/Luadoc/Lua.xml index f88325bed1..521b2c5e68 100644 --- a/Docs/Luadoc/Lua.xml +++ b/Docs/Luadoc/Lua.xml @@ -1430,10 +1430,17 @@ + + + + + + + diff --git a/Docs/Luadoc/LuaDocumentation.xml b/Docs/Luadoc/LuaDocumentation.xml index 30e4ff0436..659e951332 100644 --- a/Docs/Luadoc/LuaDocumentation.xml +++ b/Docs/Luadoc/LuaDocumentation.xml @@ -3611,6 +3611,27 @@ Returns a table of the Labels and the times they happen as strings with the format "beat=label name." + + Returns a table of the Warps and the times they happen as strings with the format "beat=number of beats warped over." + + + Returns a table of the Combos and the times they happen as strings with the format "beat=combo value." + + + Returns a table of the Time Signatures and the times they happen as strings with the format "beat=beats per measure (numerator)=denominator." + + + Returns a table of the Tickcountss and the times they happen as strings with the format "beat=number of ticks per beat." + + + Returns a table of the Fakes and the times they happen as strings with the format "beat=number of beats to not judge." + + + Returns a table of the Scrolls and the times they happen as strings with the format "beat=scroll rate ratio." + + + Returns a table of the Speeds and the times they happen as strings with the format "beat=scroll rate ratio=length of time to fully activate=unit of activation (0 for beats, 1 for seconds)." + Returns true if the TimingData contains BPM changes. diff --git a/src/TimingData.cpp b/src/TimingData.cpp index 660b5e50c0..579d11c635 100644 --- a/src/TimingData.cpp +++ b/src/TimingData.cpp @@ -1670,6 +1670,93 @@ public: static int HasFakes( T* p, lua_State *L ) { lua_pushboolean(L, p->HasFakes()); return 1; } static int HasSpeedChanges( T* p, lua_State *L ) { lua_pushboolean(L, p->HasSpeedChanges()); return 1; } static int HasScrollChanges( T* p, lua_State *L ) { lua_pushboolean(L, p->HasScrollChanges()); return 1; } + static int GetWarps( T* p, lua_State *L ) + { + vector vWarps; + FOREACH_CONST( WarpSegment, p->m_WarpSegments, seg ) + { + const float length = seg->GetLength(); + const float beat = seg->GetBeat(); + vWarps.push_back( ssprintf("%f=%f", beat, length) ); + } + LuaHelpers::CreateTableFromArray(vWarps, L); + return 1; + } + static int GetFakes( T* p, lua_State *L ) + { + vector vFakes; + FOREACH_CONST( FakeSegment, p->m_FakeSegments, seg ) + { + const float length = seg->GetLength(); + const float beat = seg->GetBeat(); + vFakes.push_back( ssprintf("%f=%f", beat, length) ); + } + LuaHelpers::CreateTableFromArray(vFakes, L); + return 1; + } + static int GetScrolls( T* p, lua_State *L ) + { + vector vScrolls; + FOREACH_CONST( ScrollSegment, p->m_ScrollSegments, seg ) + { + const float ratio = seg->GetRatio(); + const float beat = seg->GetBeat(); + vScrolls.push_back( ssprintf("%f=%f", beat, ratio) ); + } + LuaHelpers::CreateTableFromArray(vScrolls, L); + return 1; + } + static int GetSpeeds( T* p, lua_State *L ) + { + vector vSpeeds; + FOREACH_CONST( SpeedSegment, p->m_SpeedSegments, seg ) + { + const float length = seg->GetLength(); + const float ratio = seg->GetRatio(); + const unsigned short unit = seg->GetUnit(); + const float beat = seg->GetBeat(); + vSpeeds.push_back( ssprintf("%f=%f=%f=%uh", beat, ratio, length, unit) ); + } + LuaHelpers::CreateTableFromArray(vSpeeds, L); + return 1; + } + static int GetTimeSignatures( T* p, lua_State *L ) + { + vector vTimes; + FOREACH_CONST( TimeSignatureSegment, p->m_vTimeSignatureSegments, seg ) + { + const int numerator = seg->GetNum(); + const int denominator = seg->GetDen(); + const float beat = seg->GetBeat(); + vTimes.push_back( ssprintf("%f=%d=%d", beat, numerator, denominator) ); + } + LuaHelpers::CreateTableFromArray(vTimes, L); + return 1; + } + static int GetCombos( T* p, lua_State *L ) + { + vector vCombos; + FOREACH_CONST( ComboSegment, p->m_ComboSegments, seg ) + { + const int combo = seg->GetCombo(); + const float beat = seg->GetBeat(); + vCombos.push_back( ssprintf("%f=%d", beat, combo) ); + } + LuaHelpers::CreateTableFromArray(vCombos, L); + return 1; + } + static int GetTickcounts( T* p, lua_State *L ) + { + vector vTicks; + FOREACH_CONST( TickcountSegment, p->m_TickcountSegments, seg ) + { + const int ticks = seg->GetTicks(); + const float beat = seg->GetBeat(); + vTicks.push_back( ssprintf("%f=%d", beat, ticks) ); + } + LuaHelpers::CreateTableFromArray(vTicks, L); + return 1; + } static int GetStops( T* p, lua_State *L ) { vector vStops; @@ -1763,6 +1850,13 @@ public: ADD_METHOD( GetStops ); ADD_METHOD( GetDelays ); ADD_METHOD( GetBPMs ); + ADD_METHOD( GetWarps ); + ADD_METHOD( GetFakes ); + ADD_METHOD( GetTimeSignatures ); + ADD_METHOD( GetTickcounts ); + ADD_METHOD( GetSpeeds ); + ADD_METHOD( GetScrolls ); + ADD_METHOD( GetCombos ); ADD_METHOD( GetLabels ); ADD_METHOD( GetBPMsAndTimes ); ADD_METHOD( GetActualBPM ); From 768eb5a7b7b8196859b7804584a849d707220dd4 Mon Sep 17 00:00:00 2001 From: Alberto Ramos Date: Wed, 15 Jun 2011 17:32:40 -0600 Subject: [PATCH 146/530] idk what to put here --- src/NotesLoaderKSF.cpp | 193 ++++++++++++++++++++++++----------------- 1 file changed, 111 insertions(+), 82 deletions(-) diff --git a/src/NotesLoaderKSF.cpp b/src/NotesLoaderKSF.cpp index c283ce7b53..eff190d98c 100644 --- a/src/NotesLoaderKSF.cpp +++ b/src/NotesLoaderKSF.cpp @@ -20,66 +20,6 @@ static void HandleBunki( TimingData &timing, const float fEarlyBPM, timing.AddBPMSegment( BPMSegment(BeatToNoteRow(beat), fCurBPM) ); } -static bool HandlePipeChars( TimingData &timing, const RString sNoteRow, - const float fCurBeat, int &iTickCount ) -{ - // gotta do something tricky here: if the bpm is below one then a couple of calculations - // for scrollsegments will be made, example, bpm 0.2, tick 4000, the scrollsegment will - // be 0. if the tickcount is non a stepmania standard then it will be adapted, a scroll - // segment will then be added based on approximations. - - RString temp = sNoteRow.substr(2,sNoteRow.size()-3); - float numTemp = StringToFloat(temp); - if (BeginsWith(sNoteRow, "|T")) - { - iTickCount = static_cast(numTemp); - timing.SetTickcountAtBeat( fCurBeat, clamp(iTickCount, 0, ROWS_PER_BEAT) ); - return true; - } - else if (BeginsWith(sNoteRow, "|B")) - { - timing.SetBPMAtBeat( fCurBeat, numTemp ); - return true; - } - else if (BeginsWith(sNoteRow, "|E")) - { - // Finally! the |E| tag is working as it should. I can die happy now -DaisuMaster - float fCurDelay = 60 / timing.GetBPMAtBeat(fCurBeat) * numTemp / iTickCount; - fCurDelay += timing.GetDelayAtRow(BeatToNoteRow(fCurBeat) ); - timing.SetStopAtBeat( fCurBeat, fCurDelay, true ); - return true; - } - else if (BeginsWith(sNoteRow, "|D")) - { - float fCurDelay = timing.GetStopAtRow(BeatToNoteRow(fCurBeat) ); - fCurDelay += numTemp / 1000; - timing.SetStopAtBeat( fCurBeat, fCurDelay, true ); - return true; - } - else if (BeginsWith(sNoteRow, "|M") || BeginsWith(sNoteRow, "|C")) - { - // multipliers/combo - timing.SetComboAtBeat( fCurBeat, static_cast(numTemp) ); - return true; - } - else if (BeginsWith(sNoteRow, "|S")) - { - return false; - } - else if (BeginsWith(sNoteRow, "|F")) - { - // - return false; - } - - else if (BeginsWith(sNoteRow, "|X")) - { - timing.SetScrollAtBeat( fCurBeat, numTemp ); - return true; - } - return false; -} - static bool LoadFromKSFFile( const RString &sPath, Steps &out, const Song &song, bool bKIUCompliant ) { LOG->Trace( "Steps::LoadFromKSFFile( '%s' )", sPath.c_str() ); @@ -91,7 +31,10 @@ static bool LoadFromKSFFile( const RString &sPath, Steps &out, const Song &song, return false; } - int iTickCount = -1; // this is the value we read for TICKCOUNT + // this is the value we read for TICKCOUNT + int iTickCount = -1; + // used to adapt weird tickcounts + float fScrollRatio = 1.0f; vector vNoteRows; // According to Aldo_MX, there is a default BPM and it's 60. -aj @@ -350,21 +293,109 @@ static bool LoadFromKSFFile( const RString &sPath, Steps &out, const Song &song, // Log an error, ignore the line. continue; } - if ( !HandlePipeChars( stepsTiming, sRowString, fCurBeat, iTickCount ) ) - { - // LOG it first. - } - continue; + // gotta do something tricky here: if the bpm is below one then a couple of calculations + // for scrollsegments will be made, example, bpm 0.2, tick 4000, the scrollsegment will + // be 0. if the tickcount is non a stepmania standard then it will be adapted, a scroll + // segment will then be added based on approximations. -DaisuMaster + // eh better do it considering the tickcount (high tickcounts) - } - - else - { - // Is this why improper ksf or some kiucompilant ksf mixed with dm05 ksf are ignored?? -DaisuMaster - //LOG->UserLog( "Song file", sPath, "has a RowString with an improper length \"%s\"; corrupt notes ignored.", - // sRowString.c_str() ); - //return false; - //continue; + // I'm making some experiments, please spare me... + + RString temp = sRowString.substr(2,sRowString.size()-3); + float numTemp = StringToFloat(temp); + if (BeginsWith(sRowString, "|T")) + { + // duh + iTickCount = static_cast(numTemp); + //if( iTickCount > ROWS_PER_BEAT ) + + /* adapt tickcounts // + // valid tickcounts for SM: 1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 64, ROWS_PER_BEAT + // put this inside the tickcount handling condition yes/no + + if( iTickCount > ROWS_PER_BEAT ) // beyond 48 + { + // clamp/scale/whatever and use scroll segments + } + else if( iTickCount > 32 || iTickCount < ROWS_PER_BEAT ) // ranging from 33 to 48, approximate to 32 + { + fScrollRatio = 32; + iTickCount = 32; + } + else if( iTickCount > 24 || iTickCount < 32 ) // ranging from 25 to 31, approximate to 24 + { + fScrollRatio = 24; + iTickCount = 24; + } + else if( iTickCount > 16 || iTickCount < 24 ) // ranging from 17 to 23, approximate to 16 + { + fScrollRatio = 16; + iTickCount = 16; + } + else if( iTickCount > 12 || iTickCount < 16 ) // ranging from 13 to 15, approximate to 12 + { + fScrollRatio = 12; + iTickCount = 12; + } + else if( iTickCount > 8 || iTickCount < 12 ) // ranging from 9 to 11, approximate to 8 + { + fScrollRatio = 8; + iTickCount = 8; + } + else if( iTickCount > 6 || iTickCount < 8 ) // 7, approximate to 6 + { + fScrollRatio = 6 / iTickCountt; + iTickCount = 6; + } + else if( iTickCount > 4 || iTickCount < 6 ) // 5, approximate to 4 + { + fScrollRatio = iTickCount / 4; + iTickCount = 4; + } + //*/ + + stepsTiming.SetTickcountAtBeat( fCurBeat, clamp(iTickCount, 0, ROWS_PER_BEAT) ); + } + else if (BeginsWith(sRowString, "|B")) + { + // BPM + stepsTiming.SetBPMAtBeat( fCurBeat, numTemp ); + } + else if (BeginsWith(sRowString, "|E")) + { + // DelayBeat + float fCurDelay = 60 / stepsTiming.GetBPMAtBeat(fCurBeat) * numTemp / iTickCount; + fCurDelay += stepsTiming.GetDelayAtRow(BeatToNoteRow(fCurBeat) ); + stepsTiming.SetStopAtBeat( fCurBeat, fCurDelay, true ); + } + else if (BeginsWith(sRowString, "|D")) + { + // Delays + float fCurDelay = stepsTiming.GetStopAtRow(BeatToNoteRow(fCurBeat) ); + fCurDelay += numTemp / 1000; + stepsTiming.SetStopAtBeat( fCurBeat, fCurDelay, true ); + } + else if (BeginsWith(sRowString, "|M") || BeginsWith(sRowString, "|C")) + { + // multipliers/combo + stepsTiming.SetComboAtBeat( fCurBeat, static_cast(numTemp) ); + } + else if (BeginsWith(sRowString, "|S")) + { + // speed segments + } + else if (BeginsWith(sRowString, "|F")) + { + // fakes + } + else if (BeginsWith(sRowString, "|X")) + { + // scroll segments + stepsTiming.SetScrollAtBeat( fCurBeat, numTemp ); + return true; + } + + continue; } // Half-doubles is offset; "0011111100000". @@ -658,14 +689,11 @@ static bool LoadGlobalData( const RString &sPath, Song &out, bool &bKIUCompliant } // This is where the DMRequired test will take place. - if (BeginsWith(NoteRowString, "|T") || BeginsWith(NoteRowString, "|B") || - BeginsWith(NoteRowString, "|D") || BeginsWith(NoteRowString, "|E") ) + //if (BeginsWith(NoteRowString, "|T") || BeginsWith(NoteRowString, "|B") || BeginsWith(NoteRowString, "|D") || BeginsWith(NoteRowString, "|E") ) + if ( BeginsWith( NoteRowString, "|" ) ) { + // have a static timing for everything bDMRequired = true; - if ( !HandlePipeChars( out.m_SongTiming, NoteRowString, fCurBeat, iTickCount ) ) - { - // LOG it first. - } continue; } else @@ -711,8 +739,9 @@ bool KSFLoader::LoadFromDir( const RString &sDir, Song &out ) * order (hopefully), it is best to use the LAST file for timing * purposes, for that is the "normal", or easiest difficulty. * Usually. */ + // IT'S SCREWY DON'T DO IT!! unsigned files = arrayKSFFileNames.size(); - if( !LoadGlobalData(out.GetSongDir() + arrayKSFFileNames[files - 1], out, bKIUCompliant) ) + if( !LoadGlobalData(out.GetSongDir() + arrayKSFFileNames[0], out, bKIUCompliant) ) return false; // load the Steps from the rest of the KSF files From 49ff20cef64e8e0492d3150f2bd6d47eac7846d6 Mon Sep 17 00:00:00 2001 From: Alberto Ramos Date: Wed, 15 Jun 2011 18:41:42 -0600 Subject: [PATCH 147/530] see below: --- src/NotesLoaderKSF.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/NotesLoaderKSF.cpp b/src/NotesLoaderKSF.cpp index eff190d98c..c73ad1d547 100644 --- a/src/NotesLoaderKSF.cpp +++ b/src/NotesLoaderKSF.cpp @@ -733,22 +733,27 @@ bool KSFLoader::LoadFromDir( const RString &sDir, Song &out ) // We shouldn't have been called to begin with if there were no KSFs. ASSERT( arrayKSFFileNames.size() ); - bool bKIUCompliant = false; + //bool bKIUCompliant = false; /* With Split Timing, there has to be a backup Song Timing in case * anything goes wrong. As these files are kept in alphabetical * order (hopefully), it is best to use the LAST file for timing * purposes, for that is the "normal", or easiest difficulty. * Usually. */ - // IT'S SCREWY DON'T DO IT!! + // Nevermind, kiu compilancy is screwing things up + // about the "normal" thing, my simfiles uses non-standard naming so the last + // chart is usually nightmare or normal, I use easy and normal indistinctly + // for SM so it shouldn't matter, I use piu fiesta/ex naming for directmove + // though, and we're just gathering basic info anyway, and most of the time + // all the KSF files have the same info in the #TITLE:; section unsigned files = arrayKSFFileNames.size(); - if( !LoadGlobalData(out.GetSongDir() + arrayKSFFileNames[0], out, bKIUCompliant) ) + if( !LoadGlobalData(out.GetSongDir() + arrayKSFFileNames[0], out, false) ) return false; // load the Steps from the rest of the KSF files for( unsigned i=0; i Date: Wed, 15 Jun 2011 18:46:41 -0600 Subject: [PATCH 148/530] eye can update an comment -cirno --- src/NotesLoaderKSF.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/NotesLoaderKSF.cpp b/src/NotesLoaderKSF.cpp index c73ad1d547..5245b63835 100644 --- a/src/NotesLoaderKSF.cpp +++ b/src/NotesLoaderKSF.cpp @@ -739,12 +739,17 @@ bool KSFLoader::LoadFromDir( const RString &sDir, Song &out ) * order (hopefully), it is best to use the LAST file for timing * purposes, for that is the "normal", or easiest difficulty. * Usually. */ - // Nevermind, kiu compilancy is screwing things up - // about the "normal" thing, my simfiles uses non-standard naming so the last - // chart is usually nightmare or normal, I use easy and normal indistinctly - // for SM so it shouldn't matter, I use piu fiesta/ex naming for directmove - // though, and we're just gathering basic info anyway, and most of the time - // all the KSF files have the same info in the #TITLE:; section + // Nevermind, kiu compilancy is screwing things up: + // IE, I have two simfiles, oh wich each have four ksf files, the first one has + // the first ksf with directmove timing changes, and the rest are not, everything + // goes fine. In the other hand I have my second simfile with the first ksf file + // without directmove timing changes and the rest have changes, changes are not + // loaded due to kiucompilancy in the first ksf file. + // About the "normal" thing, my simfiles' ksfs uses non-standard naming so + // the last chart is usually nightmare or normal, I use easy and normal + // indistinctly for SM so it shouldn't matter, I use piu fiesta/ex naming + // for directmove though, and we're just gathering basic info anyway, and + // most of the time all the KSF files have the same info in the #TITLE:; section unsigned files = arrayKSFFileNames.size(); if( !LoadGlobalData(out.GetSongDir() + arrayKSFFileNames[0], out, false) ) return false; From 4379df289d80faac11852f223a802349b6f5a14b Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Wed, 15 Jun 2011 21:40:11 -0500 Subject: [PATCH 149/530] fix compile --- src/NotesLoaderKSF.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NotesLoaderKSF.cpp b/src/NotesLoaderKSF.cpp index 5245b63835..3ad22bfbc4 100644 --- a/src/NotesLoaderKSF.cpp +++ b/src/NotesLoaderKSF.cpp @@ -516,7 +516,7 @@ static void LoadTags( const RString &str, Song &out ) out.m_sArtist = artist; } -static bool LoadGlobalData( const RString &sPath, Song &out, bool &bKIUCompliant ) +static bool LoadGlobalData( const RString &sPath, Song &out, bool bKIUCompliant ) { MsdFile msd; if( !msd.ReadFile( sPath, false ) ) // don't unescape From bfe6e0076d124fd2bab5536c8a92cb90ae6b6093 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Wed, 15 Jun 2011 22:36:58 -0400 Subject: [PATCH 150/530] Port ResolvePath from OpenITG. Also, forgot to [sqlite] this earlier. --- src/RageFileManager.cpp | 36 ++++++++++++++++++++++++++++++++++++ src/RageFileManager.h | 6 ++++++ 2 files changed, 42 insertions(+) diff --git a/src/RageFileManager.cpp b/src/RageFileManager.cpp index 6219b6288c..b107a27a51 100644 --- a/src/RageFileManager.cpp +++ b/src/RageFileManager.cpp @@ -731,6 +731,42 @@ int RageFileManager::GetFileHash( const RString &sPath_ ) return iRet; } +RString RageFileManager::ResolvePath(const RString &path) +{ + RString tmpPath = path; + NormalizePath(tmpPath); + + RString resolvedPath = tmpPath; + + vector apDriverList; + ReferenceAllDrivers( apDriverList ); + + for( unsigned i = 0; i < apDriverList.size(); ++i ) + { + LoadedDriver *pDriver = apDriverList[i]; + const RString driverPath = pDriver->GetPath( tmpPath ); + + if ( driverPath.empty() || pDriver->m_sRoot.empty() ) + continue; + + if ( pDriver->m_sType != "dir" && pDriver->m_sType != "dirro" ) + continue; + + int iMountPointLen = pDriver->m_sMountPoint.length(); + if( tmpPath.substr(0, iMountPointLen) != pDriver->m_sMountPoint ) + continue; + + resolvedPath = pDriver->m_sRoot + "/" + RString(tmpPath.substr(iMountPointLen)); + break; + } + + UnreferenceAllDrivers( apDriverList ); + + NormalizePath( resolvedPath ); + + return resolvedPath; +} + static bool SortBySecond( const pair &a, const pair &b ) { return a.second < b.second; diff --git a/src/RageFileManager.h b/src/RageFileManager.h index 12c6ca1fe0..7eaa445852 100644 --- a/src/RageFileManager.h +++ b/src/RageFileManager.h @@ -37,6 +37,12 @@ public: int GetFileSizeInBytes( const RString &sPath ); int GetFileHash( const RString &sPath ); + + /** + * @brief Get the absolte path from the VPS. + * @param path the VPS path. + * @return the absolute path. */ + RString ResolvePath(const RString &path); bool Mount( const RString &sType, const RString &sRealPath, const RString &sMountPoint, bool bAddToEnd = true ); void Mount( RageFileDriver *pDriver, const RString &sMountPoint, bool bAddToEnd = true ); From e26bccdf27fbbdf42a545f2b1e98ddfc7e79453e Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Wed, 15 Jun 2011 21:50:43 -0500 Subject: [PATCH 151/530] well, it doesn't crash anymore. not sure if it breaks anything yet. --- src/UnlockManager.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/UnlockManager.cpp b/src/UnlockManager.cpp index 47af088551..18cee4407f 100644 --- a/src/UnlockManager.cpp +++ b/src/UnlockManager.cpp @@ -295,7 +295,7 @@ void UnlockManager::GetPoints( const Profile *pProfile, float fScores[NUM_Unlock fScores[UnlockRequirement_SongPoints] = GetSongPoints( pProfile ); fScores[UnlockRequirement_DancePoints] = (float) pProfile->m_iTotalDancePoints; fScores[UnlockRequirement_StagesCleared] = (float) pProfile->GetTotalNumSongsPassed(); - fScores[UnlockRequirement_NumUnlocked] = (float) GetNumUnlocked(); + //fScores[UnlockRequirement_NumUnlocked] = (float) GetNumUnlocked(); } /* Return true if all songs and/or courses referenced by an unlock are available. */ @@ -330,8 +330,13 @@ UnlockEntryStatus UnlockEntry::GetUnlockEntryStatus() const UNLOCKMAN->GetPoints( PROFILEMAN->GetMachineProfile(), fScores ); for( int i = 0; i < NUM_UnlockRequirement; ++i ) + { + if( i == UnlockRequirement_NumUnlocked ) + continue; + if( m_fRequirement[i] && fScores[i] >= m_fRequirement[i] ) return UnlockEntryStatus_RequirementsMet; + } if( m_bRequirePassHardSteps && m_Song.IsValid() ) { @@ -348,7 +353,6 @@ UnlockEntryStatus UnlockEntry::GetUnlockEntryStatus() const return UnlockEntryStatus_RequirementsMet; } - return UnlockEntryStatus_RequrementsNotMet; } @@ -601,7 +605,7 @@ int UnlockManager::GetNumUnlocked() const int count = 0; FOREACH_CONST( UnlockEntry, m_UnlockEntries, ue ) { - if( ue->GetUnlockEntryStatus() == UnlockEntryStatus_Unlocked ) + if( !ue->IsLocked() ) count++; } return count; From bd336c9a769a1d6daff5765c836d3f5699e868b7 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 17 Jun 2011 00:32:30 -0400 Subject: [PATCH 152/530] Bring better(?) assertion to default. --- src/Song.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Song.cpp b/src/Song.cpp index 8cf6d352a7..c2e2c85b47 100644 --- a/src/Song.cpp +++ b/src/Song.cpp @@ -190,7 +190,9 @@ RString Song::GetCacheFilePath() const // Get a path to the SM containing data for this song. It might be a cache file. const RString &Song::GetSongFilePath() const { - ASSERT( !m_sSongFileName.empty() ); + ASSERT_M( !m_sSongFileName.empty(), + ssprintf("The song %s has no filename associated with it!", + this->m_sMainTitle.c_str())); return m_sSongFileName; } From 5386525448c4d0e2e8cd0fbb1f21ba2a40dfa24f Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Fri, 17 Jun 2011 01:06:01 -0500 Subject: [PATCH 153/530] [LifeMeterBattery] Fixed a bug where MinesSubtractLives was not being honored. Also added LifeChanged message to changing of life on holds. --- Docs/Changelog_sm5.txt | 7 ++++++- src/LifeMeterBattery.cpp | 8 +++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index a5370c4746..26f2c988c0 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -5,9 +5,14 @@ from StepMania 4 alpha 5 to sm-ssc v1.2.5, see Changelog_sm-ssc.txt. ________________________________________________________________________________ ================================================================================ -StepMania 5.0 Preview 2 | 20110??? +StepMania 5.0 Preview 2 | 201106?? -------------------------------------------------------------------------------- +2011/06/17 +---------- +* [LifeMeterBattery] Fixed a bug where MinesSubtractLives was not being honored. + Also added LifeChanged message to changing of life on holds. [AJ] + 2011/06/15 ---------- * [TimingData] Added many lua bindings for the other timing segments. GetWarps, diff --git a/src/LifeMeterBattery.cpp b/src/LifeMeterBattery.cpp index 20f42ff4e7..3f49487a17 100644 --- a/src/LifeMeterBattery.cpp +++ b/src/LifeMeterBattery.cpp @@ -155,7 +155,7 @@ void LifeMeterBattery::ChangeLife( TapNoteScore score ) SubtractLives(MINES_SUBTRACT_LIVES); else { - if( score < MIN_SCORE_TO_KEEP_LIFE && SUBTRACT_LIVES > 0 ) + if( score < MIN_SCORE_TO_KEEP_LIFE && score > TNS_CheckpointMiss && SUBTRACT_LIVES > 0 ) SubtractLives(SUBTRACT_LIVES); } @@ -175,6 +175,12 @@ void LifeMeterBattery::ChangeLife( HoldNoteScore score, TapNoteScore tscore ) AddLives(HELD_ADD_LIVES); if( score == HNS_LetGo && LET_GO_SUBTRACT_LIVES > 0 ) SubtractLives(LET_GO_SUBTRACT_LIVES); + + Message msg( "LifeChanged" ); + msg.SetParam( "Player", m_pPlayerState->m_PlayerNumber ); + msg.SetParam( "LifeMeter", LuaReference::CreateFromPush(*this) ); + msg.SetParam( "LivesLeft", GetLivesLeft() ); + MESSAGEMAN->Broadcast( msg ); } void LifeMeterBattery::HandleTapScoreNone() From 1b668821930d1e444a752ca5dbbb69a02252c652 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sat, 18 Jun 2011 14:09:56 -0500 Subject: [PATCH 154/530] add Alpha command to HSV scripts --- Themes/_fallback/Scripts/03 HSV.lua | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Themes/_fallback/Scripts/03 HSV.lua b/Themes/_fallback/Scripts/03 HSV.lua index a4b56baa5d..c2fd988ea7 100644 --- a/Themes/_fallback/Scripts/03 HSV.lua +++ b/Themes/_fallback/Scripts/03 HSV.lua @@ -246,4 +246,16 @@ function Hue(color,newHue) end c.Hue = newHue return HSVToColor(c) +end; + +function Alpha(color,percent) + local c = ColorToHSV(color); + -- error checking + if percent < 0 then + percent = 0.0; + elseif percent > 1 then + percent = 1.0; + end; + c.Alpha = percent; + return HSVToColor(c); end; \ No newline at end of file From 97abd25e3e40be76c058d3e795b3543e476b4062 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 19 Jun 2011 16:51:51 -0400 Subject: [PATCH 155/530] Fix Practice Songs crash with AdditionalSongs. --- Docs/Changelog_sm5.txt | 5 +++++ src/EditMenu.cpp | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 26f2c988c0..254e40a4ce 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,11 @@ ________________________________________________________________________________ StepMania 5.0 Preview 2 | 201106?? -------------------------------------------------------------------------------- +2011/06/19 +* [EditMenu] Allow all songs to work in Practice Mode, regardless of folder + location. This fixes a crash if everyone had songs in AdditionalSongs. + [Wolfman2000] + 2011/06/17 ---------- * [LifeMeterBattery] Fixed a bug where MinesSubtractLives was not being honored. diff --git a/src/EditMenu.cpp b/src/EditMenu.cpp index 8b39585144..274ff975b8 100644 --- a/src/EditMenu.cpp +++ b/src/EditMenu.cpp @@ -60,7 +60,7 @@ void EditMenu::GetSongsToShowForGroup( const RString &sGroup, vector &vpS for( int i=vpSongsOut.size()-1; i>=0; i-- ) { const Song* pSong = vpSongsOut[i]; - if( !pSong->NormallyDisplayed() || pSong->IsTutorial() || SONGMAN->WasLoadedFromAdditionalSongs(pSong) ) + if( !pSong->NormallyDisplayed() || pSong->IsTutorial() ) vpSongsOut.erase( vpSongsOut.begin()+i ); } break; From ef3ea96f3435e1222eb5ab21bea053db03c4031b Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 19 Jun 2011 19:04:48 -0400 Subject: [PATCH 156/530] Doxygen and spacing. I don't care if we don't respect 80 chars. I just want to avoid horizontal scrolling if possible. ...maybe we should just astyle our main branch. --- src/EditMenu.h | 115 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 102 insertions(+), 13 deletions(-) diff --git a/src/EditMenu.h b/src/EditMenu.h index 28c9730d81..dac6767899 100644 --- a/src/EditMenu.h +++ b/src/EditMenu.h @@ -10,6 +10,7 @@ #include "EnumHelper.h" #include "ThemeMetric.h" +/** @brief What type of row is needed for the EditMenu? */ enum EditMenuRow { ROW_GROUP, @@ -19,11 +20,19 @@ enum EditMenuRow ROW_SOURCE_STEPS_TYPE, ROW_SOURCE_STEPS, ROW_ACTION, - NUM_EditMenuRow + NUM_EditMenuRow /**< The number of EditMenuRows available. */ }; /** @brief Loop through each EditMenuRow. */ #define FOREACH_EditMenuRow( r ) FOREACH_ENUM( EditMenuRow, r ) +/** + * @brief Turn the EditMenuRow into a string. + * @param r the row. + * @return the string. */ const RString& EditMenuRowToString( EditMenuRow r ); +/** + * @brief Turn the EditMenuRow into a localized string. + * @param r the row. + * @return the localized string. */ const RString& EditMenuRowToLocalizedString( EditMenuRow r ); /** @brief The different actions one can take on a step. */ @@ -38,9 +47,18 @@ enum EditMenuAction }; /** @brief Loop through each EditMenuAction. */ #define FOREACH_EditMenuAction( ema ) FOREACH_ENUM( EditMenuAction, ema ) +/** + * @brief Turn the EditMenuAction into a string. + * @param ema the action. + * @return the string. */ const RString& EditMenuActionToString( EditMenuAction ema ); +/** + * @brief Turn the EditMenuAction into a localized string. + * @param ema the action. + * @return the localized string. */ const RString& EditMenuActionToLocalizedString( EditMenuAction ema ); +/** @brief How many arrows are used for the EditMenu? */ const int NUM_ARROWS = 2; /** @@ -50,39 +68,110 @@ const int NUM_ARROWS = 2; class EditMenu: public ActorFrame { public: + /** @brief Set up the EditMenu. */ EditMenu(); + /** @brief Destroy the EditMenu. */ ~EditMenu(); void Load( const RString &sType ); + /** @brief Determine if we can move up. + * @return true if we can, false otherwise. */ bool CanGoUp(); + /** @brief Determine if we can move down. + * @return true if we can, false otherwise. */ bool CanGoDown(); + /** @brief Determine if we can move left. + * @return true if we can, false otherwise. */ bool CanGoLeft(); + /** @brief Determine if we can move right. + * @return true if we can, false otherwise. */ bool CanGoRight(); + /** @brief Determine if the EditMenuRow is selectable. + * @param row the row in question. + * @return true if it can be selected, false otherwise. */ bool RowIsSelectable( EditMenuRow row ); + /** @brief Move up to the next selection. */ void Up(); + /** @brief Move down to the next selection. */ void Down(); + /** @brief Move left to the next selection. */ void Left(); + /** @brief Move right to the next selection. */ void Right(); void RefreshAll(); - RString GetSelectedGroup() const + /** @brief Retrieve the currently selected group. + * @return the current group. */ + RString GetSelectedGroup() const { if( !SHOW_GROUPS.GetValue() ) return GROUP_ALL; - ASSERT_M((int)m_iSelection[ROW_GROUP] < (int)m_sGroups.size(), - ssprintf("Group selection %d < Number of groups %d", m_iSelection[ROW_GROUP], (int)m_sGroups.size())); + int groups = static_cast(m_sGroups.size()); + ASSERT_M(m_iSelection[ROW_GROUP] < groups, + ssprintf("Group selection %d < Number of groups %d", + m_iSelection[ROW_GROUP], + groups)); return m_sGroups[m_iSelection[ROW_GROUP]]; } - Song* GetSelectedSong() const { ASSERT(m_iSelection[ROW_SONG] < (int)m_pSongs.size()); return m_pSongs[m_iSelection[ROW_SONG]]; } - StepsType GetSelectedStepsType() const { ASSERT(m_iSelection[ROW_STEPS_TYPE] < (int)m_StepsTypes.size()); return m_StepsTypes[m_iSelection[ROW_STEPS_TYPE]]; } - Steps* GetSelectedSteps() const { ASSERT(m_iSelection[ROW_STEPS] < (int)m_vpSteps.size()); return m_vpSteps[m_iSelection[ROW_STEPS]].pSteps; } - Difficulty GetSelectedDifficulty() const { ASSERT(m_iSelection[ROW_STEPS] < (int)m_vpSteps.size()); return m_vpSteps[m_iSelection[ROW_STEPS]].dc; } - StepsType GetSelectedSourceStepsType() const { ASSERT(m_iSelection[ROW_SOURCE_STEPS_TYPE] < (int)m_StepsTypes.size()); return m_StepsTypes[m_iSelection[ROW_SOURCE_STEPS_TYPE]]; } - Steps* GetSelectedSourceSteps() const { ASSERT(m_iSelection[ROW_SOURCE_STEPS] < (int)m_vpSourceSteps.size()); return m_vpSourceSteps[m_iSelection[ROW_SOURCE_STEPS]].pSteps; } - Difficulty GetSelectedSourceDifficulty() const { ASSERT(m_iSelection[ROW_SOURCE_STEPS] < (int)m_vpSourceSteps.size()); return m_vpSourceSteps[m_iSelection[ROW_SOURCE_STEPS]].dc; } - EditMenuAction GetSelectedAction() const { ASSERT(m_iSelection[ROW_ACTION] < (int)m_Actions.size()); return m_Actions[m_iSelection[ROW_ACTION]]; } - + /** @brief Retrieve the currently selected song. + * @return the current song. */ + Song* GetSelectedSong() const + { + ASSERT(m_iSelection[ROW_SONG] < (int)m_pSongs.size()); + return m_pSongs[m_iSelection[ROW_SONG]]; + } + /** @brief Retrieve the currently selected steps type. + * @return the current steps type. */ + StepsType GetSelectedStepsType() const + { + ASSERT(m_iSelection[ROW_STEPS_TYPE] < (int)m_StepsTypes.size()); + return m_StepsTypes[m_iSelection[ROW_STEPS_TYPE]]; + } + /** @brief Retrieve the currently selected steps. + * @return the current steps. */ + Steps* GetSelectedSteps() const + { + ASSERT(m_iSelection[ROW_STEPS] < (int)m_vpSteps.size()); + return m_vpSteps[m_iSelection[ROW_STEPS]].pSteps; + } + /** @brief Retrieve the currently selected difficulty. + * @return the current difficulty. */ + Difficulty GetSelectedDifficulty() const + { + ASSERT(m_iSelection[ROW_STEPS] < (int)m_vpSteps.size()); + return m_vpSteps[m_iSelection[ROW_STEPS]].dc; + } + /** @brief Retrieve the currently selected source steps type. + * @return the current source steps type. */ + StepsType GetSelectedSourceStepsType() const + { + ASSERT(m_iSelection[ROW_SOURCE_STEPS_TYPE] < (int)m_StepsTypes.size()); + return m_StepsTypes[m_iSelection[ROW_SOURCE_STEPS_TYPE]]; + } + /** @brief Retrieve the currently selected source steps. + * @return the current source steps. */ + Steps* GetSelectedSourceSteps() const + { + ASSERT(m_iSelection[ROW_SOURCE_STEPS] < (int)m_vpSourceSteps.size()); + return m_vpSourceSteps[m_iSelection[ROW_SOURCE_STEPS]].pSteps; + } + /** @brief Retrieve the currently selected difficulty. + * @return the current difficulty. */ + Difficulty GetSelectedSourceDifficulty() const + { + ASSERT(m_iSelection[ROW_SOURCE_STEPS] < (int)m_vpSourceSteps.size()); + return m_vpSourceSteps[m_iSelection[ROW_SOURCE_STEPS]].dc; + } + /** @brief Retrieve the currently selected action. + * @return the current action. */ + EditMenuAction GetSelectedAction() const + { + ASSERT(m_iSelection[ROW_ACTION] < (int)m_Actions.size()); + return m_Actions[m_iSelection[ROW_ACTION]]; + } + /** @brief Retrieve the currently selected row. + * @return the current row. */ EditMenuRow GetSelectedRow() const { return m_SelectedRow; } private: From b0b87501ebce3981650c7b7d8d7059516e587e8d Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 19 Jun 2011 20:19:09 -0400 Subject: [PATCH 157/530] More scrolling friendliness. Fair warning: mass recompile of many files. --- src/EnumHelper.h | 94 +++++++++++++++++++++++++++++++----------------- 1 file changed, 62 insertions(+), 32 deletions(-) diff --git a/src/EnumHelper.h b/src/EnumHelper.h index 3f9c60c295..dc1049cc0c 100644 --- a/src/EnumHelper.h +++ b/src/EnumHelper.h @@ -15,7 +15,12 @@ extern "C" /** @brief A general foreach loop for enumerators. */ #define FOREACH_ENUM( e, var ) for( e var=(e)0; var( var, +1 ) ) -int CheckEnum( lua_State *L, LuaReference &table, int iPos, int iInvalid, const char *szType, bool bAllowInvalid ); +int CheckEnum(lua_State *L, + LuaReference &table, + int iPos, + int iInvalid, + const char *szType, + bool bAllowInvalid); template struct EnumTraits @@ -33,7 +38,12 @@ namespace Enum template static T Check( lua_State *L, int iPos, bool bAllowInvalid = false ) { - return (T) CheckEnum( L, EnumTraits::StringToEnum, iPos, EnumTraits::Invalid, EnumTraits::szName, bAllowInvalid ); + return (T) CheckEnum(L, + EnumTraits::StringToEnum, + iPos, + EnumTraits::Invalid, + EnumTraits::szName, + bAllowInvalid); } template static void Push( lua_State *L, T iVal ) @@ -57,40 +67,47 @@ namespace Enum const RString &EnumToString( int iVal, int iMax, const char **szNameArray, auto_ptr *pNameCache ); // XToString helper #define XToString(X) \ - const RString& X##ToString(X x); \ - COMPILE_ASSERT( NUM_##X == ARRAYLEN(X##Names) ); \ - const RString& X##ToString( X x ) \ - { \ - static auto_ptr as_##X##Name[NUM_##X+2]; \ - return EnumToString( x, NUM_##X, X##Names, as_##X##Name ); \ - } \ - namespace StringConversion { template<> RString ToString( const X &value ) { return X##ToString(value); } } +const RString& X##ToString(X x); \ +COMPILE_ASSERT( NUM_##X == ARRAYLEN(X##Names) ); \ +const RString& X##ToString( X x ) \ +{ \ + static auto_ptr as_##X##Name[NUM_##X+2]; \ + return EnumToString( x, NUM_##X, X##Names, as_##X##Name ); \ +} \ +namespace StringConversion { template<> RString ToString( const X &value ) { return X##ToString(value); } } #define XToLocalizedString(X) \ - const RString &X##ToLocalizedString(X x); \ - const RString &X##ToLocalizedString( X x ) \ - { \ - static auto_ptr g_##X##Name[NUM_##X]; \ - if( g_##X##Name[0].get() == NULL ) { \ - for( unsigned i = 0; i < NUM_##X; ++i ) \ - { \ - auto_ptr ap( new LocalizedString(#X, X##ToString((X)i)) ); \ - g_##X##Name[i] = ap; \ - } \ +const RString &X##ToLocalizedString(X x); \ +const RString &X##ToLocalizedString( X x ) \ +{ \ + static auto_ptr g_##X##Name[NUM_##X]; \ + if( g_##X##Name[0].get() == NULL ) { \ + for( unsigned i = 0; i < NUM_##X; ++i ) \ + { \ + auto_ptr ap( new LocalizedString(#X, X##ToString((X)i)) ); \ + g_##X##Name[i] = ap; \ } \ - return g_##X##Name[x]->GetValue(); \ - } + } \ + return g_##X##Name[x]->GetValue(); \ +} #define StringToX(X) \ - X StringTo##X(const RString&); \ - X StringTo##X( const RString& s ) \ - { \ - for( unsigned i = 0; i < ARRAYLEN(X##Names); ++i ) \ - if( !s.CompareNoCase(X##Names[i]) ) \ - return (X)i; \ - return X##_Invalid; \ +X StringTo##X(const RString&); \ +X StringTo##X( const RString& s ) \ +{ \ + for( unsigned i = 0; i < ARRAYLEN(X##Names); ++i ) \ + if( !s.CompareNoCase(X##Names[i]) ) \ + return (X)i; \ + return X##_Invalid; \ +} \ +namespace StringConversion \ +{ \ + template<> bool FromString( const RString &sValue, X &out ) \ + { \ + out = StringTo##X(sValue); \ + return out != X##_Invalid; \ } \ - namespace StringConversion { template<> bool FromString( const RString &sValue, X &out ) { out = StringTo##X(sValue); return out != X##_Invalid; } } +} // currently unused #define LuaDeclareType(X) @@ -126,8 +143,21 @@ static void Lua##X(lua_State* L) \ REGISTER_WITH_LUA_FUNCTION( Lua##X ); \ template<> X EnumTraits::Invalid = X##_Invalid; \ template<> const char *EnumTraits::szName = #X; \ -namespace LuaHelpers { template<> bool FromStack( lua_State *L, X &Object, int iOffset ) { Object = Enum::Check( L, iOffset, true ); return Object != EnumTraits::Invalid; } } \ -namespace LuaHelpers { template<> void Push( lua_State *L, const X &Object ) { Enum::Push( L, Object ); } } +namespace LuaHelpers \ +{ \ + template<> bool FromStack( lua_State *L, X &Object, int iOffset ) \ + { \ + Object = Enum::Check( L, iOffset, true ); \ + return Object != EnumTraits::Invalid; \ + } \ +} \ +namespace LuaHelpers \ +{ \ + template<> void Push( lua_State *L, const X &Object ) \ + { \ + Enum::Push( L, Object ); \ + } \ +} #endif From 85e418be666c67a6477f72b1971a0e7a608d2fd4 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sun, 19 Jun 2011 22:38:56 -0500 Subject: [PATCH 158/530] sigh --- sm-ssc.nsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sm-ssc.nsi b/sm-ssc.nsi index a7560744b1..653fe7458e 100644 --- a/sm-ssc.nsi +++ b/sm-ssc.nsi @@ -42,7 +42,7 @@ ; don't forget to change this before releasing a new verson. ; wish this could be automated, but it requires "X.Y.Z.a" format. -aj - VIProductVersion "1.2.3.0" + VIProductVersion "5.0.0.3" VIAddVersionKey "ProductName" "${PRODUCT_ID}" VIAddVersionKey "FileVersion" "${PRODUCT_VER}" VIAddVersionKey "FileDescription" "${PRODUCT_ID} Installer" From 3b2f6989a6c55d3053b014f7b6a3f59d980f5e0f Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 20 Jun 2011 00:51:28 -0400 Subject: [PATCH 159/530] Restore foot limiter for Extreme scoring. Needs to be tested by someone more accurate than me for any rounding errors and whatnot. --- Themes/_fallback/Scripts/04 Scoring.lua | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Themes/_fallback/Scripts/04 Scoring.lua b/Themes/_fallback/Scripts/04 Scoring.lua index fd579db996..c918bb60d7 100644 --- a/Themes/_fallback/Scripts/04 Scoring.lua +++ b/Themes/_fallback/Scripts/04 Scoring.lua @@ -84,14 +84,19 @@ r['DDR Extreme'] = function(params, pss) setmetatable(judgmentBase, ZeroIfNotFound); local steps = GAMESTATE:GetCurrentSteps(params.Player); local radarValues = steps:GetRadarValues(params.Player); - local baseScore = (steps:IsAnEdit() and - 5 or steps:GetMeter()) * 1000000; + local meter = steps:GetMeter(); + if (steps:IsAnEdit()) then + meter = 5; + elseif (meter < 1) then + meter = 1; + elseif (meter > 10) then + meter = 10; + end; + local baseScore = meter * 1000000; if (GAMESTATE:GetCurrentSong():IsMarathon()) then baseScore = baseScore * 3; - else - if (GAMESTATE:GetCurrentSong():IsLong()) then - baseScore = baseScore * 2; - end; + elseif (GAMESTATE:GetCurrentSong():IsLong()) then + baseScore = baseScore * 2; end; local totalItems = GetTotalItems(radarValues); local singleStep = (1 + totalItems) * totalItems / 2; From 376f17213ec357974a1e962576390fc457b83b2d Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 20 Jun 2011 13:44:20 -0400 Subject: [PATCH 160/530] Only clean if there is a song to clean. --- src/SongManager.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/SongManager.cpp b/src/SongManager.cpp index 56afe8f93e..9550ae3c75 100644 --- a/src/SongManager.cpp +++ b/src/SongManager.cpp @@ -999,11 +999,14 @@ void SongManager::Cleanup() for( unsigned i=0; i& vpSteps = pSong->GetAllSteps(); - for( unsigned n=0; nCompress(); + const vector& vpSteps = pSong->GetAllSteps(); + for( unsigned n=0; nCompress(); + } } } } From c4b0fb555e393fe08fcf900657243dbbd1518840 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 20 Jun 2011 14:25:57 -0400 Subject: [PATCH 161/530] Better assertion message and added comment. Yes, some BMS files crash in the default branch. I wonder if this is related to the sqlite BMS crashes I'm getting... --- src/AutoKeysounds.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/AutoKeysounds.cpp b/src/AutoKeysounds.cpp index 068036bd69..b536a3aa95 100644 --- a/src/AutoKeysounds.cpp +++ b/src/AutoKeysounds.cpp @@ -63,6 +63,10 @@ void AutoKeysounds::LoadAutoplaySoundsInto( RageSoundReader_Chain *pChain ) if( t >= m_ndAutoKeysoundsOnly[pn].GetNumTracks() ) continue; int iNextRowForPlayer = iRow; + /* XXX: If a BMS file only has one tap note per track, + * this will prevent any keysounds from loading. + * This leads to failure later on. + * We need a better way to prevent this. */ if( m_ndAutoKeysoundsOnly[pn].GetNextTapNoteRowForTrack( t, iNextRowForPlayer ) ) iNextRow = min( iNextRow, iNextRowForPlayer ); } @@ -274,7 +278,7 @@ void AutoKeysounds::FinishLoading() delete pChain; } } - ASSERT( m_pSharedSound ); + ASSERT_M( m_pSharedSound, ssprintf("No keysounds were loaded for the song %s!", pSong->m_sMainTitle.c_str() )); m_pSharedSound = new RageSoundReader_PitchChange( m_pSharedSound ); m_pSharedSound = new RageSoundReader_PostBuffering( m_pSharedSound ); From 0498ad5f700582ff9384f51eb8708ae374cd96ba Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 20 Jun 2011 19:00:22 -0400 Subject: [PATCH 162/530] Ensure all BM* files have a BGM track. --- src/NotesLoaderBMS.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/NotesLoaderBMS.cpp b/src/NotesLoaderBMS.cpp index 4f53c0e152..4508a735f5 100644 --- a/src/NotesLoaderBMS.cpp +++ b/src/NotesLoaderBMS.cpp @@ -696,6 +696,8 @@ static bool LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNameTo } NameToData_t::const_iterator it; + + bool hasBGM = false; for( it = mapNameToData.lower_bound("#00000"); it != mapNameToData.end(); ++it ) { const RString &sName = it->first; @@ -745,6 +747,7 @@ static bool LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNameTo { if( bmsTrack == BMS_AUTO_KEYSOUND_1 ) { + hasBGM = true; // shift the auto keysound as far right as possible int iLastEmptyTrack = -1; if( ndNotes.GetTapLastEmptyTrack(row, iLastEmptyTrack) && @@ -772,6 +775,12 @@ static bool LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNameTo } } + if (!hasBGM) + { + LOG->Warn("The song at %s is missing a #XXX01 tag! We're unable to load.", sPath.c_str()); + return false; + } + /* Handles hold notes like uBMPlay. * Different BMS simulators support hold notes differently. * See http://nvyu.net/rdm/ex.php for more info. From 7d79762076315591f6cf312385809e096d29ee9e Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 20 Jun 2011 19:02:44 -0400 Subject: [PATCH 163/530] Better error message on failure. --- src/NotesLoaderBMS.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NotesLoaderBMS.cpp b/src/NotesLoaderBMS.cpp index 4508a735f5..f2bc69ea9e 100644 --- a/src/NotesLoaderBMS.cpp +++ b/src/NotesLoaderBMS.cpp @@ -973,7 +973,7 @@ static bool LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNameTo iTransformNewToOld[15] = BMS_P2_TURN; break; default: - ASSERT(0); + ASSERT_M(0, ssprintf("Invalid StepsType when parsing BMS file %s!", sPath.c_str())); } // shift all of the autokeysound tracks onto the main tracks From 4b32d9ecac98c0b0a5b78dffbf26786865d7cb7f Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 20 Jun 2011 19:03:29 -0400 Subject: [PATCH 164/530] Spelling. --- src/NotesLoaderBMS.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NotesLoaderBMS.cpp b/src/NotesLoaderBMS.cpp index f2bc69ea9e..c6bab7c292 100644 --- a/src/NotesLoaderBMS.cpp +++ b/src/NotesLoaderBMS.cpp @@ -999,7 +999,7 @@ static bool LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNameTo } else { - LOG->UserLog( "Song file", sPath, "has too much simultenous autokeysound tracks." ); + LOG->UserLog( "Song file", sPath, "has too much simultaneous autokeysound tracks." ); } } } From 32ee68dcf9881d76f73c360376696cb26e2f09d6 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 20 Jun 2011 19:13:46 -0400 Subject: [PATCH 165/530] Don't have AutoKeysounds count for radar values. Since this affects the loading of files, it's time for another cache reload. *groan* --- src/NoteDataUtil.cpp | 1 + src/Song.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/NoteDataUtil.cpp b/src/NoteDataUtil.cpp index 68151e4cae..eff74fb0ae 100644 --- a/src/NoteDataUtil.cpp +++ b/src/NoteDataUtil.cpp @@ -803,6 +803,7 @@ RadarStats CalculateRadarStatsFast( const NoteData &in, RadarStats &out ) case TapNote::mine: case TapNote::empty: case TapNote::fake: + case TapNote::autoKeysound: continue; // skip these types - they don't count } diff --git a/src/Song.cpp b/src/Song.cpp index c2e2c85b47..ba1069f731 100644 --- a/src/Song.cpp +++ b/src/Song.cpp @@ -41,7 +41,7 @@ * @brief The internal version of the cache for StepMania. * * Increment this value to invalidate the current cache. */ -const int FILE_CACHE_VERSION = 180; +const int FILE_CACHE_VERSION = 182; /** @brief How long does a song sample last by default? */ const float DEFAULT_MUSIC_SAMPLE_LENGTH = 12.f; From 9d0a532fe7c9b854d57ece083c04e8f7dd9bb70a Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Tue, 21 Jun 2011 18:54:22 -0500 Subject: [PATCH 166/530] "StepMania 5 v5.0" looks awkward; hardcode it to say "StepMania v5.0" --- Themes/default/Graphics/ScreenTitleMenu VersionInfo.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Themes/default/Graphics/ScreenTitleMenu VersionInfo.lua b/Themes/default/Graphics/ScreenTitleMenu VersionInfo.lua index aa46df3859..34c95f08ec 100644 --- a/Themes/default/Graphics/ScreenTitleMenu VersionInfo.lua +++ b/Themes/default/Graphics/ScreenTitleMenu VersionInfo.lua @@ -3,8 +3,8 @@ return Def.ActorFrame { OnCommand=cmd(diffuse,color("#f7941d");diffusetopedge,color("#fff200");diffusealpha,0.25); }; LoadFont("Common Normal") .. { - Text=ProductID(); - AltText=""; + Text="StepMania"; + AltText="StepMania"; InitCommand=cmd(y,-5;zoom,0.6); OnCommand=cmd(shadowlength,1); }; From 4c75af11dbf972cb548014f6c881d3b16054eb1c Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Tue, 21 Jun 2011 20:23:33 -0500 Subject: [PATCH 167/530] make text bigger in ScreenSelectMusic DifficultyDisplay --- .../Graphics/ScreenSelectMusic DifficultyDisplay/default.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/default.lua b/Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/default.lua index 966f417b67..eeb4c57c79 100644 --- a/Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/default.lua +++ b/Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/default.lua @@ -70,7 +70,7 @@ for idx,diff in pairs(Difficulty) do Text=(sDifficulty == "Edit") and "0 Edits" or "0"; ShowCommand=cmd(stoptweening;linear,0.1;diffuse,CustomDifficultyToColor( sDifficulty )); HideCommand=cmd(stoptweening;decelerate,0.2;diffuse,CustomDifficultyToDarkColor( sDifficulty )); - InitCommand=cmd(x,-64-8+tLocation[sDifficulty];shadowlength,1;zoom,0.5;diffuse,CustomDifficultyToColor( sDifficulty )); + InitCommand=cmd(x,-64-8+tLocation[sDifficulty];shadowlength,1;zoom,0.75;diffuse,CustomDifficultyToColor( sDifficulty )); }; }; end From b5cf5918b76512d3e70afcf391899f99bcae9ff2 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Thu, 23 Jun 2011 02:39:51 -0500 Subject: [PATCH 168/530] [br:default] trying to get unicode text working in the crash dialogs on windows... --- src/archutils/Win32/Crash.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/archutils/Win32/Crash.cpp b/src/archutils/Win32/Crash.cpp index 18f482adbb..8f51fd4d85 100644 --- a/src/archutils/Win32/Crash.cpp +++ b/src/archutils/Win32/Crash.cpp @@ -206,7 +206,7 @@ void RunChild() WriteToChild( hToStdin, &g_CrashInfo, sizeof(g_CrashInfo) ); // 2. Write info. - const char *p = RageLog::GetInfo(); + const TCHAR *p = RageLog::GetInfo(); int iSize = strlen( p ); WriteToChild( hToStdin, &iSize, sizeof(iSize) ); WriteToChild( hToStdin, p, iSize ); @@ -219,7 +219,7 @@ void RunChild() // 4. Write RecentLogs. int cnt = 0; - const char *ps[1024]; + const TCHAR *ps[1024]; while( cnt < 1024 && (ps[cnt] = RageLog::GetRecentLog( cnt )) != NULL ) ++cnt; @@ -232,7 +232,7 @@ void RunChild() } // 5. Write CHECKPOINTs. - static char buf[1024*32]; + static TCHAR buf[1024*32]; Checkpoints::GetLogs( buf, sizeof(buf), "$$" ); iSize = strlen( buf )+1; WriteToChild( hToStdin, &iSize, sizeof(iSize) ); @@ -255,7 +255,7 @@ void RunChild() if( !ReadFile( hFromStdout, &hMod, sizeof(hMod), &iActual, NULL) ) break; - char szName[MAX_PATH]; + TCHAR szName[MAX_PATH]; if( !CrashGetModuleBaseName(hMod, szName) ) strcpy( szName, "???" ); iSize = strlen( szName ); From c67e4d2349d3667cb50349e27bee6e1c70fc8e81 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 00:28:57 -0400 Subject: [PATCH 169/530] Add unlocking one step per steps type. This is different from just unlocking one step for all step types. --- Docs/Changelog_sm5.txt | 7 +++ Themes/_fallback/Languages/en.ini | 1 + src/UnlockManager.cpp | 78 +++++++++++++++++++++++++++++-- src/UnlockManager.h | 33 +++++++------ 4 files changed, 100 insertions(+), 19 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 254e40a4ce..065a9800f4 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,7 +8,14 @@ ________________________________________________________________________________ StepMania 5.0 Preview 2 | 201106?? -------------------------------------------------------------------------------- +2011/06/24 +---------- +* [UnlockManager] Add a new unlock reward: StepsType. This is similar to + unlocking Steps, but it is targeted for one step in one stepstype rather + than one step in all stepstypes. This needs testing. [Wolfman2000] + 2011/06/19 +---------- * [EditMenu] Allow all songs to work in Practice Mode, regardless of folder location. This fixes a crash if everyone had songs in AdditionalSongs. [Wolfman2000] diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 1e0a33cef6..e730959267 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -1905,6 +1905,7 @@ P2=P2 [UnlockRewardType] Song=Song Steps=Steps +StepsType=StepsType Course=Course Modifier=Modifier diff --git a/src/UnlockManager.cpp b/src/UnlockManager.cpp index 18cee4407f..31394af280 100644 --- a/src/UnlockManager.cpp +++ b/src/UnlockManager.cpp @@ -7,6 +7,7 @@ #include "RageUtil.h" #include "SongManager.h" #include "GameState.h" +#include "GameConstantsAndTypes.h" // StepsTypeToString #include "ProfileManager.h" #include "Profile.h" #include "ThemeManager.h" @@ -44,6 +45,7 @@ static const char *UnlockRewardTypeNames[] = { "Song", "Steps", + "StepsType", "Course", "Modifier", }; @@ -171,6 +173,18 @@ bool UnlockManager::StepsIsLocked( const Song *pSong, const Steps *pSteps ) cons return p->IsLocked(); } +bool UnlockManager::StepsTypeIsLocked(const Song *pSong, const Steps *pSteps, const StepsType *pSType) const +{ + if( !PREFSMAN->m_bUseUnlockSystem ) + return false; + + const UnlockEntry *p = FindStepsType( pSong, pSteps, pSType ); + if( p == NULL ) + return false; + + return p->IsLocked(); +} + bool UnlockManager::ModifierIsLocked( const RString &sOneMod ) const { if( !PREFSMAN->m_bUseUnlockSystem ) @@ -200,6 +214,19 @@ const UnlockEntry *UnlockManager::FindSteps( const Song *pSong, const Steps *pSt return NULL; } +const UnlockEntry *UnlockManager::FindStepsType(const Song *pSong, + const Steps *pSteps, + const StepsType *pSType ) const +{ + ASSERT( pSong && pSteps && pSType ); + FOREACH_CONST( UnlockEntry, m_UnlockEntries, e ) + if(e->m_Song.ToSong() == pSong && + e->m_dc == pSteps->GetDifficulty() && + e->m_StepsType == pSteps->m_StepsType) + return &(*e); + return NULL; +} + const UnlockEntry *UnlockManager::FindCourse( const Course *pCourse ) const { FOREACH_CONST( UnlockEntry, m_UnlockEntries, e ) @@ -309,6 +336,11 @@ bool UnlockEntry::IsValid() const case UnlockRewardType_Steps: return m_Song.IsValid() && m_dc != Difficulty_Invalid; + case UnlockRewardType_Steps_Type: + { + return m_Song.IsValid() && m_dc != Difficulty_Invalid && m_StepsType != StepsType_Invalid; + } + case UnlockRewardType_Course: return m_Course.IsValid(); @@ -323,7 +355,9 @@ bool UnlockEntry::IsValid() const UnlockEntryStatus UnlockEntry::GetUnlockEntryStatus() const { - if( !m_sEntryID.empty() && PROFILEMAN->GetMachineProfile()->m_UnlockedEntryIDs.find(m_sEntryID) != PROFILEMAN->GetMachineProfile()->m_UnlockedEntryIDs.end() ) + set &ids = PROFILEMAN->GetMachineProfile()->m_UnlockedEntryIDs; + if(!m_sEntryID.empty() && + ids.find(m_sEntryID) != ids.end() ) return UnlockEntryStatus_Unlocked; float fScores[NUM_UnlockRequirement]; @@ -367,10 +401,16 @@ RString UnlockEntry::GetDescription() const case UnlockRewardType_Song: return pSong ? pSong->GetDisplayFullTitle() : ""; case UnlockRewardType_Steps: - { - StepsType st = GAMEMAN->GetHowToPlayStyleForGame( GAMESTATE->m_pCurGame )->m_StepsType; // TODO: Is this the best thing we can do here? - return (pSong ? pSong->GetDisplayFullTitle() : "") + ", " + CustomDifficultyToLocalizedString( GetCustomDifficulty(st, m_dc, CourseType_Invalid) ); - } + { + StepsType st = GAMEMAN->GetHowToPlayStyleForGame( GAMESTATE->m_pCurGame )->m_StepsType; // TODO: Is this the best thing we can do here? + return (pSong ? pSong->GetDisplayFullTitle() : "") + ", " + CustomDifficultyToLocalizedString( GetCustomDifficulty(st, m_dc, CourseType_Invalid) ); + } + case UnlockRewardType_Steps_Type: + { + RString ret = (pSong ? pSong->GetDisplayFullTitle() : ""); + ret += "," + CustomDifficultyToLocalizedString( GetCustomDifficulty(m_StepsType, m_dc, CourseType_Invalid) ); + return ret + "," + StringConversion::ToString(m_StepsType); // yeah, bit strange. + } case UnlockRewardType_Course: return m_Course.IsValid() ? m_Course.ToCourse()->GetDisplayFullTitle() : ""; case UnlockRewardType_Modifier: @@ -388,6 +428,7 @@ RString UnlockEntry::GetBannerFile() const return ""; case UnlockRewardType_Song: case UnlockRewardType_Steps: + case UnlockRewardType_Steps_Type: return pSong ? pSong->GetBannerPath() : ""; case UnlockRewardType_Course: return m_Course.ToCourse() ? m_Course.ToCourse()->GetBannerPath() : ""; @@ -406,6 +447,7 @@ RString UnlockEntry::GetBackgroundFile() const return ""; case UnlockRewardType_Song: case UnlockRewardType_Steps: + case UnlockRewardType_Steps_Type: return pSong ? pSong->GetBackgroundPath() : ""; case UnlockRewardType_Course: return ""; @@ -507,6 +549,30 @@ void UnlockManager::Load() } break; + case UnlockRewardType_Steps_Type: + { + e->m_Song.FromSong( SONGMAN->FindSong( e->m_cmd.GetArg(0).s ) ); + if( !e->m_Song.IsValid() ) + { + LOG->Warn( "Unlock: Cannot find song matching \"%s\"", e->m_cmd.GetArg(0).s.c_str() ); + break; + } + + e->m_dc = StringToDifficulty( e->m_cmd.GetArg(1).s ); + if( e->m_dc == Difficulty_Invalid ) + { + LOG->Warn( "Unlock: Invalid difficulty \"%s\"", e->m_cmd.GetArg(1).s.c_str() ); + break; + } + + e->m_StepsType = GAMEMAN->StringToStepsType(e->m_cmd.GetArg(2).s); + if (e->m_StepsType == StepsType_Invalid) + { + LOG->Warn( "Unlock: Invalid steps type \"%s\"", e->m_cmd.GetArg(2).s.c_str() ); + break; + } + break; + } case UnlockRewardType_Course: e->m_Course.FromCourse( SONGMAN->FindCourse(e->m_cmd.GetArg(0).s) ); if( !e->m_Course.IsValid() ) @@ -701,6 +767,7 @@ public: static int song( T* p, lua_State *L ) { GetArgs( p, L ); p->m_Type = UnlockRewardType_Song; return 0; } static int steps( T* p, lua_State *L ) { GetArgs( p, L ); p->m_Type = UnlockRewardType_Steps; return 0; } + static int steps_type(T* p, lua_State *L) { GetArgs(p, L); p->m_Type = UnlockRewardType_Steps_Type; return 0; } static int course( T* p, lua_State *L ) { GetArgs( p, L ); p->m_Type = UnlockRewardType_Course; return 0; } static int mod( T* p, lua_State *L ) { GetArgs( p, L ); p->m_Type = UnlockRewardType_Modifier; return 0; } static int code( T* p, lua_State *L ) { p->m_sEntryID = SArg(1); return 0; } @@ -726,6 +793,7 @@ public: ADD_METHOD( GetCourse ); ADD_METHOD( song ); ADD_METHOD( steps ); + ADD_METHOD( steps_type ); ADD_METHOD( course ); ADD_METHOD( mod ); ADD_METHOD( code ); diff --git a/src/UnlockManager.h b/src/UnlockManager.h index 6c085e6680..f1c2da3c55 100644 --- a/src/UnlockManager.h +++ b/src/UnlockManager.h @@ -16,16 +16,17 @@ class Steps; class Profile; struct lua_State; +/** @brief What is needed to unlock an item? */ enum UnlockRequirement { - UnlockRequirement_ArcadePoints, - UnlockRequirement_DancePoints, - UnlockRequirement_SongPoints, - UnlockRequirement_ExtraCleared, - UnlockRequirement_ExtraFailed, - UnlockRequirement_Toasties, - UnlockRequirement_StagesCleared, - UnlockRequirement_NumUnlocked, + UnlockRequirement_ArcadePoints, /**< Get a certain number of arcade points. */ + UnlockRequirement_DancePoints, /**< Get a certain number of dance points. */ + UnlockRequirement_SongPoints, /**< Get a certain number of song points. */ + UnlockRequirement_ExtraCleared, /**< Pass the extra stage. */ + UnlockRequirement_ExtraFailed, /**< Fail the extra stage. */ + UnlockRequirement_Toasties, /**< Get a number of toasties. */ + UnlockRequirement_StagesCleared, /**< Clear a number of stages. */ + UnlockRequirement_NumUnlocked, /**< Have a number of locked items already unlocked. */ NUM_UnlockRequirement, UnlockRequirement_Invalid, }; @@ -33,10 +34,11 @@ LuaDeclareType( UnlockRequirement ); enum UnlockRewardType { - UnlockRewardType_Song, - UnlockRewardType_Steps, - UnlockRewardType_Course, - UnlockRewardType_Modifier, + UnlockRewardType_Song, /**< A song is unlocked. */ + UnlockRewardType_Steps, /**< A step pattern for all styles is unlocked. */ + UnlockRewardType_Steps_Type, /**< A step pattern for a specific style is unlocked. */ + UnlockRewardType_Course, /**< A course is unlocked. */ + UnlockRewardType_Modifier, /**< A modifier is unlocked. */ NUM_UnlockRewardType, UnlockRewardType_Invalid }; @@ -60,8 +62,8 @@ public: * if not specified. */ UnlockEntry(): m_Type(UnlockRewardType_Invalid), m_cmd(), m_Song(), m_dc(Difficulty_Invalid), m_Course(), - m_bRequirePassHardSteps(false), m_bRoulette(false), - m_sEntryID(RString("")) + m_StepsType(StepsType_Invalid), m_bRequirePassHardSteps(false), + m_bRoulette(false), m_sEntryID(RString("")) { ZERO( m_fRequirement ); } @@ -74,6 +76,7 @@ public: SongID m_Song; Difficulty m_dc; CourseID m_Course; + StepsType m_StepsType; float m_fRequirement[NUM_UnlockRequirement]; // unlocked if any of of these are met bool m_bRequirePassHardSteps; @@ -117,6 +120,7 @@ public: float PointsUntilNextUnlock( UnlockRequirement t ) const; int SongIsLocked( const Song *pSong ) const; bool StepsIsLocked( const Song *pSong, const Steps *pSteps ) const; + bool StepsTypeIsLocked( const Song *pSong, const Steps *pSteps, const StepsType *pSType ) const; int CourseIsLocked( const Course *course ) const; bool ModifierIsLocked( const RString &sOneMod ) const; @@ -153,6 +157,7 @@ public: const UnlockEntry *FindSong( const Song *pSong ) const; const UnlockEntry *FindSteps( const Song *pSong, const Steps *pSteps ) const; + const UnlockEntry *FindStepsType( const Song *pSong, const Steps *pSteps, const StepsType *pSType ) const; const UnlockEntry *FindCourse( const Course *pCourse ) const; const UnlockEntry *FindModifier( const RString &sOneMod ) const; From 0190ac0eca2c64d6f42c805c5af7b4d69aaa3e67 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 00:50:32 -0400 Subject: [PATCH 170/530] Allow converting delays to beats. Just find a better song than Uprock to use this on. --- Docs/Changelog_sm5.txt | 2 ++ Themes/_fallback/Languages/en.ini | 3 ++- src/ScreenEdit.cpp | 31 ++++++++++++++++++++++--------- src/ScreenEdit.h | 1 + 4 files changed, 27 insertions(+), 10 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 065a9800f4..a0ee45daed 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -13,6 +13,8 @@ StepMania 5.0 Preview 2 | 201106?? * [UnlockManager] Add a new unlock reward: StepsType. This is similar to unlocking Steps, but it is targeted for one step in one stepstype rather than one step in all stepstypes. This needs testing. [Wolfman2000] +* [ScreenEdit] Add the option to convert delays to beats. Just find a better + song to use this on besides Uprock. [Wolfman2000] 2011/06/19 ---------- diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index e730959267..659cfcd9d4 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -812,7 +812,8 @@ CoinMode=Coin Mode CoinModeNoHome=Coin Mode CoinsPerCredit=Coins Per Credit Connection=Connection -Convert pause to beats=Convert pause to beats +Convert pause to beats=Convert stop to beats +Convert delay to beats=Convert delay to beats Convert selection to pause=Convert selection to pause Convert selection to delay=Convert selection to delay Convert selection to warp=Convert selection to Warp Segment diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 9e41da67c4..1332286da9 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -569,6 +569,8 @@ static MenuDef g_AreaMenu( MenuRowDef( ScreenEdit::shift_pauses_backward, "Shift all timing changes up", true, EditMode_Full, true, true, 0, NULL ), MenuRowDef(ScreenEdit::convert_pause_to_beat, "Convert pause to beats", true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::convert_delay_to_beat, "Convert delay to beats", true, + EditMode_Full, true, true, 0, NULL ), MenuRowDef( ScreenEdit::undo, "Undo", true, EditMode_Practice, true, true, 0, NULL ), MenuRowDef(ScreenEdit::clear_clipboard, "Clear clipboard", true, EditMode_Practice, true, true, 0, NULL ) @@ -3856,18 +3858,29 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector &iAns break; case convert_pause_to_beat: - { - // TODO: Convert both Delays and Stops at once. - float fStopSeconds = GetAppropriateTiming().GetStopAtRow( BeatToNoteRow( GetBeat() ) ); - GetAppropriateTiming().SetStopAtBeat( GetBeat() , 0 ); + { + float fStopSeconds = GetAppropriateTiming().GetStopAtRow(GetRow()); + GetAppropriateTiming().SetStopAtBeat( GetBeat() , 0 ); - float fStopBeats = fStopSeconds * GetAppropriateTiming().GetBPMAtBeat( GetBeat() ) / 60; + float fStopBeats = fStopSeconds * GetAppropriateTiming().GetBPMAtBeat( GetBeat() ) / 60; - // don't move the step from where it is, just move everything later - NoteDataUtil::InsertRows( m_NoteDataEdit, BeatToNoteRow( GetBeat() ) + 1, BeatToNoteRow(fStopBeats) ); - GetAppropriateTiming().InsertRows( BeatToNoteRow( GetBeat() ) + 1, BeatToNoteRow(fStopBeats) ); - } + // don't move the step from where it is, just move everything later + NoteDataUtil::InsertRows( m_NoteDataEdit, GetRow() + 1, BeatToNoteRow(fStopBeats) ); + GetAppropriateTiming().InsertRows( GetRow() + 1, BeatToNoteRow(fStopBeats) ); + } + break; + case convert_delay_to_beat: + { + TimingData &timing = GetAppropriateTiming(); + float pause = timing.GetDelayAtRow(GetRow()); + timing.SetDelayAtRow(GetRow(), 0); + + float pauseBeats = pause * timing.GetBPMAtBeat(GetBeat()) / 60; + + NoteDataUtil::InsertRows(m_NoteDataEdit, GetRow(), BeatToNoteRow(pauseBeats)); + timing.InsertRows(GetRow(), BeatToNoteRow(pauseBeats)); break; + } case undo: Undo(); break; diff --git a/src/ScreenEdit.h b/src/ScreenEdit.h index 2e5a020c3b..9bd272de71 100644 --- a/src/ScreenEdit.h +++ b/src/ScreenEdit.h @@ -404,6 +404,7 @@ public: shift_pauses_forward, shift_pauses_backward, convert_pause_to_beat, + convert_delay_to_beat, undo, clear_clipboard, NUM_AREA_MENU_CHOICES From 16d58dc0a46737ddb9047983d937cf142c1051e1 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 01:09:37 -0400 Subject: [PATCH 171/530] Fix editor crash if you don't save a new chart. --- Docs/Changelog_sm5.txt | 2 ++ src/Player.cpp | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index a0ee45daed..28e8b704e0 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -15,6 +15,8 @@ StepMania 5.0 Preview 2 | 201106?? than one step in all stepstypes. This needs testing. [Wolfman2000] * [ScreenEdit] Add the option to convert delays to beats. Just find a better song to use this on besides Uprock. [Wolfman2000] +* [ScreenEdit] Fix a crash if you don't save any steps on a new song. + [Wolfman2000] 2011/06/19 ---------- diff --git a/src/Player.cpp b/src/Player.cpp index 0fc3e02522..0daaf083e7 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -960,8 +960,10 @@ void Player::Update( float fDeltaTime ) UpdateJudgedRows(); // Check for TapNote misses - UpdateTapNotesMissedOlderThan( GetMaxStepDistanceSeconds() ); - + if (!GAMESTATE->m_bInStepEditor) + { + UpdateTapNotesMissedOlderThan( GetMaxStepDistanceSeconds() ); + } // process transforms that are waiting to be applied ApplyWaitingTransforms(); } From 8801316a98c0c687227632cfb6de7c3ed6f47397 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Fri, 24 Jun 2011 00:11:45 -0500 Subject: [PATCH 172/530] remove bad file from retro noteskin --- NoteSkins/dance/retro/Down Hold Explosion.redir | 1 - 1 file changed, 1 deletion(-) delete mode 100644 NoteSkins/dance/retro/Down Hold Explosion.redir diff --git a/NoteSkins/dance/retro/Down Hold Explosion.redir b/NoteSkins/dance/retro/Down Hold Explosion.redir deleted file mode 100644 index 9bef57edb4..0000000000 --- a/NoteSkins/dance/retro/Down Hold Explosion.redir +++ /dev/null @@ -1 +0,0 @@ -Down Tap Explosion Bright \ No newline at end of file From 772c3f802e01209d5dca231cf813c79e16a12f48 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Fri, 24 Jun 2011 00:16:01 -0500 Subject: [PATCH 173/530] this should fix the midi-note problems with hold heads... --- NoteSkins/dance/midi-note/metrics.ini | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/NoteSkins/dance/midi-note/metrics.ini b/NoteSkins/dance/midi-note/metrics.ini index 4969099512..b340ce85c5 100644 --- a/NoteSkins/dance/midi-note/metrics.ini +++ b/NoteSkins/dance/midi-note/metrics.ini @@ -3,6 +3,7 @@ FallbackNoteSkin=default [NoteDisplay] TapNoteAnimationIsVivid=0 +HoldHeadAnimationIsVivid=0 DrawHoldHeadForTapsOnSameRow=1 TapNoteAnimationLength=4 TapAdditionAnimationLength=4 @@ -34,8 +35,14 @@ TapNoteNoteColorTextureCoordSpacingY=0.125 TapFakeNoteColorTextureCoordSpacingX=0 TapFakeNoteColorTextureCoordSpacingY=0.125 +HoldHeadAdditionTextureCoordOffsetX=0 +HoldHeadAdditionTextureCoordOffsetY=0 HoldHeadNoteColorTextureCoordSpacingX=0 HoldHeadNoteColorTextureCoordSpacingY=0 +HoldTopCapAdditionTextureCoordOffsetX=0 +HoldTopCapAdditionTextureCoordOffsetY=0 +HoldTopCapNoteColorTextureCoordSpacingX=0 +HoldTopCapNoteColorTextureCoordSpacingY=0 [GhostArrowDim] NoneCommand= From 506ee2205ba5e82474d09329944ef4116d079839 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Fri, 24 Jun 2011 00:20:39 -0500 Subject: [PATCH 174/530] now the same for midi-solo --- NoteSkins/dance/midi-solo/metrics.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NoteSkins/dance/midi-solo/metrics.ini b/NoteSkins/dance/midi-solo/metrics.ini index cc79f5539f..edfd84d362 100644 --- a/NoteSkins/dance/midi-solo/metrics.ini +++ b/NoteSkins/dance/midi-solo/metrics.ini @@ -1,5 +1,5 @@ [Global] -FallbackNoteSkin=default +FallbackNoteSkin=midi-note [NoteDisplay] TapNoteAnimationIsVivid=0 From b470188ca475d4bdeddc1dd2c283ac13daa5d33a Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 10:49:42 -0400 Subject: [PATCH 175/530] Make Song Attacks on by default. No, metrics wasn't enough. Now to get #ATTACKS working on Split Timing. --- Themes/_fallback/metrics.ini | 4 ++-- src/PlayerOptions.cpp | 2 +- src/PlayerOptions.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index d5a6276eda..226466f68e 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -2361,9 +2361,9 @@ Mines,4="mod,attackmines;name,AttackMines" Attacks="3" AttacksDefault="mod,songattacks" -Attacks,3="mod,no randomattacks,no songattacks;name,Off" -Attacks,2="mod,randomattacks;name,RandomAttacks" Attacks,1="name,SongAttacks" +Attacks,2="mod,randomattacks;name,RandomAttacks" +Attacks,3="mod,no randomattacks,no songattacks;name,Off" PlayerAutoPlay="2" PlayerAutoPlayDefault="mod,no playerautoplay" diff --git a/src/PlayerOptions.cpp b/src/PlayerOptions.cpp index 51d89090d3..4976a5134d 100644 --- a/src/PlayerOptions.cpp +++ b/src/PlayerOptions.cpp @@ -37,7 +37,7 @@ void PlayerOptions::Init() m_fBlind = 0; m_SpeedfBlind = 1.0f; m_fCover = 0; m_SpeedfCover = 1.0f; m_fRandAttack = 0; m_SpeedfRandAttack = 1.0f; - m_fSongAttack = 0; m_SpeedfSongAttack = 1.0f; + m_fSongAttack = 1; m_SpeedfSongAttack = 1.0f; m_fPlayerAutoPlay = 0; m_SpeedfPlayerAutoPlay = 1.0f; m_bSetTiltOrSkew = false; m_fPerspectiveTilt = 0; m_SpeedfPerspectiveTilt = 1.0f; diff --git a/src/PlayerOptions.h b/src/PlayerOptions.h index 9f4017bc42..d1c8f2ee98 100644 --- a/src/PlayerOptions.h +++ b/src/PlayerOptions.h @@ -27,7 +27,7 @@ public: m_fBlind(0), m_SpeedfBlind(1.0f), m_fCover(0), m_SpeedfCover(1.0f), m_fRandAttack(0), m_SpeedfRandAttack(1.0f), - m_fSongAttack(0), m_SpeedfSongAttack(1.0f), + m_fSongAttack(1), m_SpeedfSongAttack(1.0f), m_fPlayerAutoPlay(0), m_SpeedfPlayerAutoPlay(1.0f), m_bSetTiltOrSkew(false), m_fPerspectiveTilt(0), m_SpeedfPerspectiveTilt(1.0f), From 001dd4e28851e7ece7b7b753e419dc86cc9cd397 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 10:51:13 -0400 Subject: [PATCH 176/530] Remove duplicate commented metrics. --- Themes/_fallback/metrics.ini | 7 ------- 1 file changed, 7 deletions(-) diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 226466f68e..612548a389 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -2352,13 +2352,6 @@ Mines,2="name,On" Mines,3="mod,mines;name,Add" Mines,4="mod,attackmines;name,AttackMines" -# Mines="4" -# MinesDefault="mod,no nomines,no mines, no attackmines" -# Mines,1="mod,nomines;name,Off" -# Mines,2="name,On" -# Mines,3="mod,mines;name,Add" -# Mines,4="mod,attackmines;name,AttackMines" - Attacks="3" AttacksDefault="mod,songattacks" Attacks,1="name,SongAttacks" From 6e1d5cf10b2ffaa7ab07820a0775fc6a6cb7df24 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 10:55:39 -0400 Subject: [PATCH 177/530] DQ if attacks are there, but disabled. --- src/PlayerOptions.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/PlayerOptions.cpp b/src/PlayerOptions.cpp index 4976a5134d..97d4ccd7ec 100644 --- a/src/PlayerOptions.cpp +++ b/src/PlayerOptions.cpp @@ -712,6 +712,10 @@ bool PlayerOptions::IsEasierForSongAndSteps( Song* pSong, Steps* pSteps, PlayerN // This makes songs with sparse notes easier. if( m_bTransforms[TRANSFORM_ECHO] ) return true; + // Removing attacks is easier in general. + if (!m_fSongAttack && !m_fRandAttack && pSong->HasAttacks()) + return true; + if( m_fCover ) return true; if( m_fPlayerAutoPlay ) return true; return false; From cde793dc574a55ea07acbcd3dbfb7bde3941fa83 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 11:09:49 -0400 Subject: [PATCH 178/530] Prepare for Steps Attacks. No changelog entry yet: it's not complete. --- Docs/Luadoc/Lua.xml | 1 + Docs/Luadoc/LuaDocumentation.xml | 5 ++++- src/Steps.cpp | 19 ++++++++++++++++++- src/Steps.h | 11 +++++++++++ 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/Docs/Luadoc/Lua.xml b/Docs/Luadoc/Lua.xml index 521b2c5e68..cc74b8e131 100644 --- a/Docs/Luadoc/Lua.xml +++ b/Docs/Luadoc/Lua.xml @@ -1380,6 +1380,7 @@ + diff --git a/Docs/Luadoc/LuaDocumentation.xml b/Docs/Luadoc/LuaDocumentation.xml index 659e951332..915fdddf1d 100644 --- a/Docs/Luadoc/LuaDocumentation.xml +++ b/Docs/Luadoc/LuaDocumentation.xml @@ -3466,8 +3466,11 @@ Returns the numerical difficulty of the Steps. + + Returns true if the Steps has any attacks. + - returns true if the song has significant timing changes. + Returns true if the Steps pattern has significant timing changes. Returns the complete list of RadarValues for player pn. Use to grab a specific value. diff --git a/src/Steps.cpp b/src/Steps.cpp index c795285d30..bc28b3654e 100644 --- a/src/Steps.cpp +++ b/src/Steps.cpp @@ -40,6 +40,11 @@ Steps::~Steps() { } +bool Steps::HasAttacks() const +{ + return !this->m_Attacks.empty(); +} + unsigned Steps::GetHash() const { if( parent ) @@ -463,7 +468,18 @@ public: DEFINE_METHOD( IsAPlayerEdit, IsAPlayerEdit() ) DEFINE_METHOD( UsesSplitTiming, UsesSplitTiming() ) - static int HasSignificantTimingChanges( T* p, lua_State *L ) { lua_pushboolean(L, p->HasSignificantTimingChanges()); return 1; } + static int HasSignificantTimingChanges( T* p, lua_State *L ) + { + lua_pushboolean(L, p->HasSignificantTimingChanges()); + return 1; + } + + static int HasAttacks( T* p, lua_State *L ) + { + lua_pushboolean(L, p->HasAttacks()); + return 1; + } + static int GetRadarValues( T* p, lua_State *L ) { @@ -500,6 +516,7 @@ public: ADD_METHOD( GetHash ); ADD_METHOD( GetMeter ); ADD_METHOD( HasSignificantTimingChanges ); + ADD_METHOD( HasAttacks ); ADD_METHOD( GetRadarValues ); ADD_METHOD( GetTimingData ); //ADD_METHOD( GetSMNoteData ); diff --git a/src/Steps.h b/src/Steps.h index 3c46fa5b71..08cbd1d357 100644 --- a/src/Steps.h +++ b/src/Steps.h @@ -1,6 +1,7 @@ #ifndef STEPS_H #define STEPS_H +#include "Attack.h" #include "GameConstantsAndTypes.h" #include "PlayerNumber.h" #include "Grade.h" @@ -92,6 +93,11 @@ public: */ RString GetCredit() const { return Real()->m_sCredit; } + /** @brief The list of attacks. */ + AttackArray m_Attacks; + /** @brief The stringified list of attacks. */ + vector m_sAttackString; + void SetFilename( RString fn ) { m_sFilename = fn; } RString GetFilename() const { return m_sFilename; } void SetSavedToDisk( bool b ) { DeAutogen(); m_bSavedToDisk = b; } @@ -128,6 +134,11 @@ public: * @brief Determine if the Steps have any major timing changes during gameplay. * @return true if it does, or false otherwise. */ bool HasSignificantTimingChanges() const; + + /** + * @brief Determine if the Steps have any attacks. + * @return true if it does, or false otherwise. */ + bool HasAttacks() const; // Lua void PushSelf( lua_State *L ); From b51eec691d1f6267dacf837b8e54e7f163e72130 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 11:27:20 -0400 Subject: [PATCH 179/530] Step Attacks will be written. The cache won't be incremented until this is given some testing. --- src/NotesLoaderSM.cpp | 22 ++++++++++++---------- src/NotesLoaderSM.h | 14 +++++++++++++- src/NotesLoaderSMA.cpp | 3 ++- src/NotesLoaderSSC.cpp | 6 ++++-- src/NotesWriterSSC.cpp | 13 +++++++++++-- src/Song.cpp | 4 +++- 6 files changed, 45 insertions(+), 17 deletions(-) diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index d28588bdf6..f534e00d97 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -10,7 +10,6 @@ #include "Song.h" #include "SongManager.h" #include "Steps.h" -#include "Attack.h" #include "PrefsManager.h" void SMLoader::SetSongTitle(const RString & title) @@ -143,19 +142,21 @@ void SMLoader::ProcessBGChanges( Song &out, const RString &sValueName, const RSt } } -void SMLoader::ProcessAttacks( Song &out, MsdFile::value_t sParams ) +void SMLoader::ProcessAttackString( vector & attacks, MsdFile::value_t params ) +{ + for( unsigned s=1; s < params.params.size(); ++s ) + attacks.push_back( params[s] ); +} + +void SMLoader::ProcessAttacks( AttackArray &attacks, MsdFile::value_t params ) { - // Build the RString vector here so we can write it to file again later - for( unsigned s=1; s < sParams.params.size(); ++s ) - out.m_sAttackString.push_back( sParams[s] ); - Attack attack; float end = -9999; - for( unsigned j=1; j < sParams.params.size(); ++j ) + for( unsigned j=1; j < params.params.size(); ++j ) { vector sBits; - split( sParams[j], "=", sBits, false ); + split( params[j], "=", sBits, false ); // Need an identifer and a value for this to work if( sBits.size() < 2 ) @@ -183,7 +184,7 @@ void SMLoader::ProcessAttacks( Song &out, MsdFile::value_t sParams ) if( attack.fSecsRemaining < 0.0f ) attack.fSecsRemaining = 0.0f; - out.m_Attacks.push_back( attack ); + attacks.push_back( attack ); } } } @@ -913,7 +914,8 @@ bool SMLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache // Attacks loaded from file else if( sValueName=="ATTACKS" ) { - ProcessAttacks( out, sParams ); + ProcessAttackString(out.m_sAttackString, sParams); + ProcessAttacks(out.m_Attacks, sParams); } else if( sValueName=="NOTES" || sValueName=="NOTES2" ) diff --git a/src/NotesLoaderSM.h b/src/NotesLoaderSM.h index 323fed027c..6654c5bc62 100644 --- a/src/NotesLoaderSM.h +++ b/src/NotesLoaderSM.h @@ -3,6 +3,7 @@ #include "GameConstantsAndTypes.h" #include "BackgroundUtil.h" +#include "Attack.h" #include "MsdFile.h" // we require the struct from here. class Song; @@ -133,7 +134,18 @@ struct SMLoader virtual void ProcessBGChanges( Song &out, const RString &sValueName, const RString &sPath, const RString &sParam ); - void ProcessAttacks( Song &out, MsdFile::value_t sParams ); + + /** + * @brief Put the attacks in the attacks string. + * @param attacks the attack string. + * @param params the params from the simfile. */ + virtual void ProcessAttackString(vector &attacks, MsdFile::value_t params); + + /** + * @brief Put the attacks in the attacks array. + * @param attacks the attacks array. + * @param params the params from the simfile. */ + void ProcessAttacks( AttackArray &attacks, MsdFile::value_t params ); void ProcessInstrumentTracks( Song &out, const RString &sParam ); /** diff --git a/src/NotesLoaderSMA.cpp b/src/NotesLoaderSMA.cpp index 09b9c30aa3..648d54dcca 100644 --- a/src/NotesLoaderSMA.cpp +++ b/src/NotesLoaderSMA.cpp @@ -432,7 +432,8 @@ bool SMALoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach // Attacks loaded from file else if( sValueName=="ATTACKS" ) { - SMLoader::ProcessAttacks( out, sParams ); + ProcessAttackString(out.m_sAttackString, sParams); + ProcessAttacks(out.m_Attacks, sParams); } else if( sValueName=="NOTES" || sValueName=="NOTES2" ) diff --git a/src/NotesLoaderSSC.cpp b/src/NotesLoaderSSC.cpp index 9e94ba4ad7..fe02b9181b 100644 --- a/src/NotesLoaderSSC.cpp +++ b/src/NotesLoaderSSC.cpp @@ -344,7 +344,8 @@ bool SSCLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach // Attacks loaded from file else if( sValueName=="ATTACKS" ) { - SMLoader::ProcessAttacks( out, sParams ); + ProcessAttackString(out.m_sAttackString, sParams); + ProcessAttacks(out.m_Attacks, sParams); } else if( sValueName=="OFFSET" ) @@ -559,7 +560,8 @@ bool SSCLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach else if( sValueName=="ATTACKS" ) { - // Step Attacks aren't in yet. + ProcessAttackString(pNewNotes->m_sAttackString, sParams); + ProcessAttacks(pNewNotes->m_Attacks, sParams); } else if( sValueName=="OFFSET" ) diff --git a/src/NotesWriterSSC.cpp b/src/NotesWriterSSC.cpp index cdd0659340..0e94b8e308 100644 --- a/src/NotesWriterSSC.cpp +++ b/src/NotesWriterSSC.cpp @@ -320,8 +320,17 @@ static RString GetSSCNoteData( const Song &song, const Steps &in, bool bSavingCa GetTimingTags( lines, in.m_Timing ); - // For now, attacks are NOT in use for the step. - lines.push_back( "#ATTACKS:;" ); + RString attacks = ""; + for( unsigned a=0; a < in.m_sAttackString.size(); a++ ) + { + RString sData = in.m_sAttackString[a]; + attacks += sData; + + if( a != (in.m_sAttackString.size() - 1) ) + attacks += ":"; // Not the end, so write a divider ':' + } + lines.push_back( ssprintf( "#ATTACKS:%s;", attacks.c_str())); + lines.push_back( ssprintf( "#OFFSET:%.6f;", in.m_Timing.m_fBeat0OffsetInSeconds ) ); RString sNoteData; diff --git a/src/Song.cpp b/src/Song.cpp index ba1069f731..a7ad0e399c 100644 --- a/src/Song.cpp +++ b/src/Song.cpp @@ -154,7 +154,9 @@ Steps *Song::CreateSteps() void Song::InitSteps(Steps *pSteps) { - pSteps->m_Timing = m_SongTiming; + pSteps->m_Timing = this->m_SongTiming; + pSteps->m_sAttackString = this->m_sAttackString; + pSteps->m_Attacks = this->m_Attacks; } void Song::GetDisplayBpms( DisplayBpms &AddTo ) const From 2a39516bc6417a19fd212ea07730bfc8e9995720 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 11:31:48 -0400 Subject: [PATCH 180/530] Right, load step attacks, not song. --- src/ScreenGameplay.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ScreenGameplay.cpp b/src/ScreenGameplay.cpp index a0eb87b581..4111ddfd7b 100644 --- a/src/ScreenGameplay.cpp +++ b/src/ScreenGameplay.cpp @@ -824,7 +824,7 @@ void ScreenGameplay::InitSongQueues() if( pi->GetPlayerState()->m_PlayerOptions.GetCurrent().m_fSongAttack != 0 && GAMESTATE->m_pCurSong->m_Attacks.size() > 0 ) { - pi->m_asModifiersQueue.push_back( GAMESTATE->m_pCurSong->m_Attacks ); + pi->m_asModifiersQueue.push_back( pSteps->m_Attacks ); } else { From fdfed5c3167758bdf175fd1d4a4ac19def540bc0 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 11:47:01 -0400 Subject: [PATCH 181/530] Extra colon. Still not working. --- src/NotesWriterSSC.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NotesWriterSSC.cpp b/src/NotesWriterSSC.cpp index 0e94b8e308..4d42f22f9d 100644 --- a/src/NotesWriterSSC.cpp +++ b/src/NotesWriterSSC.cpp @@ -329,7 +329,7 @@ static RString GetSSCNoteData( const Song &song, const Steps &in, bool bSavingCa if( a != (in.m_sAttackString.size() - 1) ) attacks += ":"; // Not the end, so write a divider ':' } - lines.push_back( ssprintf( "#ATTACKS:%s;", attacks.c_str())); + lines.push_back( ssprintf( "#ATTACKS%s;", attacks.c_str())); lines.push_back( ssprintf( "#OFFSET:%.6f;", in.m_Timing.m_fBeat0OffsetInSeconds ) ); From e7afe0ef8e821e97b9a7633d8149733e0156c4a0 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 11:51:06 -0400 Subject: [PATCH 182/530] Load attack data from the Steps. --- src/ScreenGameplay.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ScreenGameplay.cpp b/src/ScreenGameplay.cpp index 4111ddfd7b..96e8a56354 100644 --- a/src/ScreenGameplay.cpp +++ b/src/ScreenGameplay.cpp @@ -822,7 +822,7 @@ void ScreenGameplay::InitSongQueues() pi->m_vpStepsQueue.push_back( pSteps ); if( pi->GetPlayerState()->m_PlayerOptions.GetCurrent().m_fSongAttack != 0 && - GAMESTATE->m_pCurSong->m_Attacks.size() > 0 ) + pSteps->m_Attacks.size() > 0 ) { pi->m_asModifiersQueue.push_back( pSteps->m_Attacks ); } From f2d1ca1d4bcda5f63d135709e78ccb5818a78981 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 11:58:51 -0400 Subject: [PATCH 183/530] Make Step #ATTACKS official. --- Docs/Changelog_SSCformat.txt | 3 +++ Docs/Changelog_sm5.txt | 3 +++ Docs/SimfileFormats/ssc_msd5.txt | 2 +- src/Song.cpp | 2 +- src/Song.h | 2 +- 5 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Docs/Changelog_SSCformat.txt b/Docs/Changelog_SSCformat.txt index ee7909d2ed..bf388ed6fc 100644 --- a/Docs/Changelog_SSCformat.txt +++ b/Docs/Changelog_SSCformat.txt @@ -9,6 +9,9 @@ change to JSON, but it is unsure if this will be done. Implement .ssc at your own risk. ________________________________________________________________________________ +[v0.71] - Wolfman2000 +* Have #ATTACKS work per step as well. + [v0.7] - theDtTvB, Wolfman2000 * Split Timing officially implemented. * #SPEEDS tag for modified scroll speeds. diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 28e8b704e0..46eb6b02dc 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -17,6 +17,9 @@ StepMania 5.0 Preview 2 | 201106?? song to use this on besides Uprock. [Wolfman2000] * [ScreenEdit] Fix a crash if you don't save any steps on a new song. [Wolfman2000] +* [NotesLoader/WriterSSC] Add support for Step #ATTACKS. Furthermore, Song + Attacks (or rather, Step Attacks as it should be called now) are turned on + by default instead of off. [Wolfman2000] 2011/06/19 ---------- diff --git a/Docs/SimfileFormats/ssc_msd5.txt b/Docs/SimfileFormats/ssc_msd5.txt index 845844fbc6..0b878925d9 100644 --- a/Docs/SimfileFormats/ssc_msd5.txt +++ b/Docs/SimfileFormats/ssc_msd5.txt @@ -61,7 +61,7 @@ #SCROLLS:; #FAKES:; #LABELS:; -#ATTACKS:; // Not yet in use. +#ATTACKS:; #OFFSET:; // actual step data diff --git a/src/Song.cpp b/src/Song.cpp index a7ad0e399c..df12a2c63d 100644 --- a/src/Song.cpp +++ b/src/Song.cpp @@ -41,7 +41,7 @@ * @brief The internal version of the cache for StepMania. * * Increment this value to invalidate the current cache. */ -const int FILE_CACHE_VERSION = 182; +const int FILE_CACHE_VERSION = 183; /** @brief How long does a song sample last by default? */ const float DEFAULT_MUSIC_SAMPLE_LENGTH = 12.f; diff --git a/src/Song.h b/src/Song.h index 98ff89ece2..ca490b6294 100644 --- a/src/Song.h +++ b/src/Song.h @@ -20,7 +20,7 @@ void FixupPath( RString &path, const RString &sSongPath ); RString GetSongAssetPath( RString sPath, const RString &sSongPath ); /** @brief The version of the .ssc file format. */ -const static float STEPFILE_VERSION_NUMBER = 0.7f; +const static float STEPFILE_VERSION_NUMBER = 0.71f; /** @brief How many edits for this song can each profile have? */ const int MAX_EDITS_PER_SONG_PER_PROFILE = 15; From fcf9e335e6c5b7f95059db1df49a67588242c443 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 12:12:27 -0400 Subject: [PATCH 184/530] Use StepAttacks instead. This deprecates the GetSongAttacks lua function. Next up: make it so that no text is displayed if Step Attacks are on, but display "No Attacks" if attacks are turned off. --- Docs/Luadoc/Lua.xml | 1 + Docs/Luadoc/LuaDocumentation.xml | 3 +++ Themes/_fallback/Languages/en.ini | 3 ++- Themes/_fallback/metrics.ini | 6 +++--- src/PlayerOptions.cpp | 17 ++++++++++------- src/PlayerOptions.h | 4 ++-- src/ScreenGameplay.cpp | 2 +- 7 files changed, 22 insertions(+), 14 deletions(-) diff --git a/Docs/Luadoc/Lua.xml b/Docs/Luadoc/Lua.xml index cc74b8e131..9042dceab8 100644 --- a/Docs/Luadoc/Lua.xml +++ b/Docs/Luadoc/Lua.xml @@ -954,6 +954,7 @@ + diff --git a/Docs/Luadoc/LuaDocumentation.xml b/Docs/Luadoc/LuaDocumentation.xml index 915fdddf1d..0f2a6728ca 100644 --- a/Docs/Luadoc/LuaDocumentation.xml +++ b/Docs/Luadoc/LuaDocumentation.xml @@ -2350,6 +2350,9 @@ + This function is deprecated. Please use GetStepAttacks() instead. + + diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 659cfcd9d4..2710e0ea21 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -707,7 +707,8 @@ Skip=Skip Skippy=Skippy Slow=Slow SN2=Supernova 2 -SongAttacks=Song Attacks +SongAttacks=Step Attacks +StepAttacks=Step Attacks Song BGAnimation=Song BGAnimation Song Bitmap=Song Bitmap Song Movie=Song Movie diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 612548a389..0c463a9684 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -2353,10 +2353,10 @@ Mines,3="mod,mines;name,Add" Mines,4="mod,attackmines;name,AttackMines" Attacks="3" -AttacksDefault="mod,songattacks" -Attacks,1="name,SongAttacks" +AttacksDefault="mod,stepattacks" +Attacks,1="name,StepAttacks" Attacks,2="mod,randomattacks;name,RandomAttacks" -Attacks,3="mod,no randomattacks,no songattacks;name,Off" +Attacks,3="mod,no randomattacks,no stepattacks;name,Off" PlayerAutoPlay="2" PlayerAutoPlayDefault="mod,no playerautoplay" diff --git a/src/PlayerOptions.cpp b/src/PlayerOptions.cpp index 97d4ccd7ec..76005c156b 100644 --- a/src/PlayerOptions.cpp +++ b/src/PlayerOptions.cpp @@ -37,7 +37,7 @@ void PlayerOptions::Init() m_fBlind = 0; m_SpeedfBlind = 1.0f; m_fCover = 0; m_SpeedfCover = 1.0f; m_fRandAttack = 0; m_SpeedfRandAttack = 1.0f; - m_fSongAttack = 1; m_SpeedfSongAttack = 1.0f; + m_fStepAttack = 1; m_SpeedfStepAttack = 1.0f; m_fPlayerAutoPlay = 0; m_SpeedfPlayerAutoPlay = 1.0f; m_bSetTiltOrSkew = false; m_fPerspectiveTilt = 0; m_SpeedfPerspectiveTilt = 1.0f; @@ -73,7 +73,7 @@ void PlayerOptions::Approach( const PlayerOptions& other, float fDeltaSeconds ) APPROACH( fBlind ); APPROACH( fCover ); APPROACH( fRandAttack ); - APPROACH( fSongAttack ); + APPROACH( fStepAttack ); APPROACH( fPlayerAutoPlay ); APPROACH( fPerspectiveTilt ); APPROACH( fSkew ); @@ -180,7 +180,7 @@ void PlayerOptions::GetMods( vector &AddTo, bool bForceNoteSkin ) const AddPart( AddTo, m_fCover, "Cover" ); AddPart( AddTo, m_fRandAttack, "RandomAttacks" ); - AddPart( AddTo, m_fSongAttack, "SongAttacks" ); + AddPart( AddTo, m_fStepAttack, "StepAttacks" ); AddPart( AddTo, m_fPlayerAutoPlay, "PlayerAutoPlay" ); AddPart( AddTo, m_fPassmark, "Passmark" ); @@ -417,7 +417,7 @@ bool PlayerOptions::FromOneModString( const RString &sOneMod, RString &sErrorOut else if( sBit == "blind" ) SET_FLOAT( fBlind ) else if( sBit == "cover" ) SET_FLOAT( fCover ) else if( sBit == "randomattacks" ) SET_FLOAT( fRandAttack ) - else if( sBit == "songattacks" ) SET_FLOAT( fSongAttack ) + else if( sBit == "stepattacks" ) SET_FLOAT( fStepAttack ) else if( sBit == "playerautoplay" ) SET_FLOAT( fPlayerAutoPlay ) else if( sBit == "passmark" ) SET_FLOAT( fPassmark ) else if( sBit == "overhead" ) { m_bSetTiltOrSkew = true; m_fSkew = 0; m_fPerspectiveTilt = 0; m_SpeedfSkew = m_SpeedfPerspectiveTilt = speed; } @@ -657,7 +657,7 @@ bool PlayerOptions::operator==( const PlayerOptions &other ) const COMPARE(m_fBlind); COMPARE(m_fCover); COMPARE(m_fRandAttack); - COMPARE(m_fSongAttack); + COMPARE(m_fStepAttack); COMPARE(m_fPlayerAutoPlay); COMPARE(m_fPerspectiveTilt); COMPARE(m_fSkew); @@ -713,7 +713,7 @@ bool PlayerOptions::IsEasierForSongAndSteps( Song* pSong, Steps* pSteps, PlayerN if( m_bTransforms[TRANSFORM_ECHO] ) return true; // Removing attacks is easier in general. - if (!m_fSongAttack && !m_fRandAttack && pSong->HasAttacks()) + if (!m_fStepAttack && !m_fRandAttack && pSteps->HasAttacks()) return true; if( m_fCover ) return true; @@ -961,7 +961,9 @@ public: DEFINE_METHOD( GetBlind, m_fBlind ) DEFINE_METHOD( GetCover, m_fCover ) DEFINE_METHOD( GetRandomAttacks, m_fRandAttack ) - DEFINE_METHOD( GetSongAttacks, m_fSongAttack ) + // This one is deprecated. + DEFINE_METHOD( GetSongAttacks, m_fStepAttack ) + DEFINE_METHOD( GetStepAttacks, m_fStepAttack ) DEFINE_METHOD( GetSkew, m_fSkew ) DEFINE_METHOD( GetPassmark, m_fPassmark ) DEFINE_METHOD( GetRandomSpeed, m_fRandomSpeed ) @@ -988,6 +990,7 @@ public: // SetSkew ADD_METHOD( GetSongAttacks ); // SetSongAttacks + ADD_METHOD( GetStepAttacks ); ADD_METHOD( GetCMod ); ADD_METHOD( GetXMod ); diff --git a/src/PlayerOptions.h b/src/PlayerOptions.h index d1c8f2ee98..8e5bb30da8 100644 --- a/src/PlayerOptions.h +++ b/src/PlayerOptions.h @@ -27,7 +27,7 @@ public: m_fBlind(0), m_SpeedfBlind(1.0f), m_fCover(0), m_SpeedfCover(1.0f), m_fRandAttack(0), m_SpeedfRandAttack(1.0f), - m_fSongAttack(1), m_SpeedfSongAttack(1.0f), + m_fStepAttack(1), m_SpeedfStepAttack(1.0f), m_fPlayerAutoPlay(0), m_SpeedfPlayerAutoPlay(1.0f), m_bSetTiltOrSkew(false), m_fPerspectiveTilt(0), m_SpeedfPerspectiveTilt(1.0f), @@ -167,7 +167,7 @@ public: float m_fBlind, m_SpeedfBlind; float m_fCover, m_SpeedfCover; // hide the background per-player--can't think of a good name float m_fRandAttack, m_SpeedfRandAttack; - float m_fSongAttack, m_SpeedfSongAttack; + float m_fStepAttack, m_SpeedfStepAttack; float m_fPlayerAutoPlay, m_SpeedfPlayerAutoPlay; bool m_bSetTiltOrSkew; // true if the tilt or skew was set by FromString float m_fPerspectiveTilt, m_SpeedfPerspectiveTilt; // -1 = near, 0 = overhead, +1 = space diff --git a/src/ScreenGameplay.cpp b/src/ScreenGameplay.cpp index 96e8a56354..8cec7becf5 100644 --- a/src/ScreenGameplay.cpp +++ b/src/ScreenGameplay.cpp @@ -821,7 +821,7 @@ void ScreenGameplay::InitSongQueues() Steps *pSteps = GAMESTATE->m_pCurSteps[ pi->GetStepsAndTrailIndex() ]; pi->m_vpStepsQueue.push_back( pSteps ); - if( pi->GetPlayerState()->m_PlayerOptions.GetCurrent().m_fSongAttack != 0 && + if( pi->GetPlayerState()->m_PlayerOptions.GetCurrent().m_fStepAttack != 0 && pSteps->m_Attacks.size() > 0 ) { pi->m_asModifiersQueue.push_back( pSteps->m_Attacks ); From 94385b7dedfb44c08b1b333395fdb97d0b8c21db Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Fri, 24 Jun 2011 13:03:01 -0500 Subject: [PATCH 185/530] update url --- src/RageUtil.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/RageUtil.cpp b/src/RageUtil.cpp index cee069e043..5f5b4e260a 100644 --- a/src/RageUtil.cpp +++ b/src/RageUtil.cpp @@ -434,7 +434,7 @@ RString ConvertI64FormatString( const RString &sStr ) RString ConvertI64FormatString( const RString &sStr ) { return sStr; } #endif -/* ISO-639-1 codes: http://www.loc.gov/standards/iso639-2/langcodes.html +/* ISO-639-1 codes: http://www.loc.gov/standards/iso639-2/php/code_list.php * native forms: http://people.w3.org/rishida/names/languages.html * We don't use 3-letter codes, so we don't bother supporting them. */ static const LanguageInfo g_langs[] = From e2974f85f80fc8fb1cf40afff64898605a3793a5 Mon Sep 17 00:00:00 2001 From: Alberto Ramos Date: Fri, 24 Jun 2011 12:37:01 -0600 Subject: [PATCH 186/530] luadoc update --- Docs/Luadoc/Lua.xml | 2135 ++++++++++++++++++++++++++++++ Docs/Luadoc/LuaDocumentation.xml | 3 + Themes/_fallback/metrics.ini | 3 +- 3 files changed, 2140 insertions(+), 1 deletion(-) diff --git a/Docs/Luadoc/Lua.xml b/Docs/Luadoc/Lua.xml index 9042dceab8..e4f3d246a6 100644 --- a/Docs/Luadoc/Lua.xml +++ b/Docs/Luadoc/Lua.xml @@ -1,3 +1,2137 @@ +<<<<<<< local + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + StepMania 5 v5.0 Preview 1a + 2011-06-24 + +======= @@ -2126,3 +4260,4 @@ StepMania 5 v5.0 Preview 1a 2011-06-11 +>>>>>>> other diff --git a/Docs/Luadoc/LuaDocumentation.xml b/Docs/Luadoc/LuaDocumentation.xml index 0f2a6728ca..8ab7b19a2d 100644 --- a/Docs/Luadoc/LuaDocumentation.xml +++ b/Docs/Luadoc/LuaDocumentation.xml @@ -3750,6 +3750,9 @@ Sets the UnlockEntry to unlock a specified song's steps.
Example: steps,"In The Groove/Pandemonium","expert"
+ + Sets the UnlockEntry to unlock a specified song's stepstype. + diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 0c463a9684..d7e7541c76 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -1808,7 +1808,8 @@ CodeUp="+MenuUp" CodeUp2="+Up" CodeDown="+MenuDown" CodeDown2="+Down" -CodeStart="+Start" +# Holding Start let us skip ( annoying ) +CodeStart="~Start,+Start" CodeBack="Back" CodeCenter="Center" CodeDownLeft="DownLeft" From fc647bc63cd6ee380f1b396fbad23f24b4e1d8ab Mon Sep 17 00:00:00 2001 From: Alberto Ramos Date: Fri, 24 Jun 2011 12:39:11 -0600 Subject: [PATCH 187/530] fuck --- Docs/Luadoc/Lua.xml | 2131 ------------------------------------------- 1 file changed, 2131 deletions(-) diff --git a/Docs/Luadoc/Lua.xml b/Docs/Luadoc/Lua.xml index e4f3d246a6..6a3e802ad4 100644 --- a/Docs/Luadoc/Lua.xml +++ b/Docs/Luadoc/Lua.xml @@ -1,4 +1,3 @@ -<<<<<<< local @@ -2131,2133 +2130,3 @@ StepMania 5 v5.0 Preview 1a 2011-06-24 -======= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - StepMania 5 v5.0 Preview 1a - 2011-06-11 - ->>>>>>> other From acda84e4e42135a251aa6f8066f6152793ba294a Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Fri, 24 Jun 2011 14:19:19 -0500 Subject: [PATCH 188/530] [Actor] Implement compound(length,tweens) in _fallback/02 Actor.lua. also I guess I changed the luadocs? --- Docs/Changelog_sm5.txt | 1 + Docs/Luadoc/Lua.xml | 4264 ++++++++++++------------- Themes/_fallback/Scripts/02 Actor.lua | 38 + 3 files changed, 2171 insertions(+), 2132 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 46eb6b02dc..235ae6c470 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -10,6 +10,7 @@ StepMania 5.0 Preview 2 | 201106?? 2011/06/24 ---------- +* [Actor] Implement compound(length,tweens) in _fallback/02 Actor.lua. [AJ] * [UnlockManager] Add a new unlock reward: StepsType. This is similar to unlocking Steps, but it is targeted for one step in one stepstype rather than one step in all stepstypes. This needs testing. [Wolfman2000] diff --git a/Docs/Luadoc/Lua.xml b/Docs/Luadoc/Lua.xml index 6a3e802ad4..5964a13967 100644 --- a/Docs/Luadoc/Lua.xml +++ b/Docs/Luadoc/Lua.xml @@ -1,2132 +1,2132 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - StepMania 5 v5.0 Preview 1a - 2011-06-24 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + StepMania 5 v5.0 Preview 1a + 2011-06-24 + diff --git a/Themes/_fallback/Scripts/02 Actor.lua b/Themes/_fallback/Scripts/02 Actor.lua index d00281bf65..5736536221 100644 --- a/Themes/_fallback/Scripts/02 Actor.lua +++ b/Themes/_fallback/Scripts/02 Actor.lua @@ -83,6 +83,44 @@ local DropBezier = function Actor:drop(t) self:tween( t, "TweenType_Bezier", DropBezier ); end + +-- compound tweens "combine multiple interpolators to allow generating more +-- complex tweens." length is how long to span the animation for, while +-- ... is either a string (e.g. "linear,0.25,accelerate,0.75") or a table +-- with the tween information. +function Actor:compound(length,...) + local tweens = ... + + if type(tweens) == "string" then + local parsed = split(";",tweens) + tweens = {} -- convert to table + for i,s in pairs(parsed) do + local res = split(",",s) + + tweens[i] = { + Type = res[1], + Percent = res[2], + Bezier = res[3] or nil + } + end + end + + for i,t in pairs(tweens) do + if t.Type == "linear" then self:linear(t.Percent*length) + elseif t.Type == "accelerate" then self:accelerate(t.Percent*length) + elseif t.Type == "decelerate" then self:decelerate(t.Percent*length) + elseif t.Type == "spring" then self:spring(t.Percent*length) + elseif t.Type == "bouncebegin" then self:bouncebegin(t.Percent*length) + elseif t.Type == "bounceend" then self:bounceend(t.Percent*length) + elseif t.Type == "smooth" then self:smooth(t.Percent*length) + elseif t.Type == "drop" then self:smooth(t.Percent*length) + --elseif t.Type == "ease" then self:ease(t.Percent*length) + elseif t.Type == "bezier" then + -- todo: handle using tween and 'TweenType_Bezier' + end + end +end + -- Hide if b is true, but don't unhide if b is false. function Actor:hide_if(b) if b then From f8f7b10fa996bfe89212cc8ba8ac679ec48108a8 Mon Sep 17 00:00:00 2001 From: Alberto Ramos Date: Fri, 24 Jun 2011 13:58:07 -0600 Subject: [PATCH 189/530] update again uh --- Docs/Luadoc/Lua.xml | 4267 ++++++++++++++++++++++--------------------- 1 file changed, 2135 insertions(+), 2132 deletions(-) diff --git a/Docs/Luadoc/Lua.xml b/Docs/Luadoc/Lua.xml index 5964a13967..0a7a1fc559 100644 --- a/Docs/Luadoc/Lua.xml +++ b/Docs/Luadoc/Lua.xml @@ -1,2132 +1,2135 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - StepMania 5 v5.0 Preview 1a - 2011-06-24 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + StepMania 5 v5.0 Preview 1a + 2011-06-24 + From 5d32a22a0c82237626d9cd2313c4cfb276501a4e Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 17:29:34 -0400 Subject: [PATCH 190/530] Attacks work on editor gameplay. --- src/ScreenEdit.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 1332286da9..4bc7f5831e 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -4278,6 +4278,22 @@ void ScreenEdit::SetupCourseAttacks() FOREACH( Attack, Attacks, attack ) GAMESTATE->m_pPlayerState[PLAYER_1]->LaunchAttack( *attack ); } + else if (GAMESTATE->m_pCurSong && + GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions.GetCurrent().m_fStepAttack != 0 ) + { + AttackArray &attacks = GAMESTATE->m_bIsUsingStepTiming ? + GAMESTATE->m_pCurSteps[PLAYER_1]->m_Attacks : + GAMESTATE->m_pCurSong->m_Attacks; + + if (attacks.size() > 0) + { + FOREACH(Attack, attacks, attack) + { + GAMESTATE->m_pPlayerState[PLAYER_1]->LaunchAttack( *attack ); + } + } + } + GAMESTATE->m_pPlayerState[PLAYER_1]->RebuildPlayerOptionsFromActiveAttacks(); } From adf1fd71291a5c5d73e44c6b64c4b624786aec31 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 17:29:41 -0400 Subject: [PATCH 191/530] Umm...Daisu? What did you do? --- Docs/Luadoc/Lua.xml | 4270 +++++++++++++++++++++---------------------- 1 file changed, 2135 insertions(+), 2135 deletions(-) diff --git a/Docs/Luadoc/Lua.xml b/Docs/Luadoc/Lua.xml index 0a7a1fc559..09967e5dc2 100644 --- a/Docs/Luadoc/Lua.xml +++ b/Docs/Luadoc/Lua.xml @@ -1,2135 +1,2135 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - StepMania 5 v5.0 Preview 1a - 2011-06-24 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + StepMania 5 v5.0 Preview 1a + 2011-06-24 + From 98489d70c844b966fc588fac68ee936d509ed2d8 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Fri, 24 Jun 2011 17:06:14 -0500 Subject: [PATCH 192/530] remove unused --- src/ScreenSelectMaster.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/ScreenSelectMaster.h b/src/ScreenSelectMaster.h index 85fbd34b7a..5a6cc8e08f 100644 --- a/src/ScreenSelectMaster.h +++ b/src/ScreenSelectMaster.h @@ -53,7 +53,6 @@ protected: Page GetPage( int iChoiceIndex ) const; Page GetCurrentPage() const; - ThemeMetric USE_TWO_SCROLLERS; ThemeMetric DO_SWITCH_ANYWAYS; ThemeMetric DOUBLE_PRESS_TO_SELECT; ThemeMetric SHOW_ICON; @@ -68,7 +67,6 @@ protected: ThemeMetric PRE_SWITCH_PAGE_SECONDS; ThemeMetric POST_SWITCH_PAGE_SECONDS; ThemeMetric1D OPTION_ORDER; - ThemeMetric1D OPTION_ORDER2; ThemeMetric WRAP_CURSOR; ThemeMetric WRAP_SCROLLER; ThemeMetric LOOP_SCROLLER; From 4bdf2ad66fc67a0e4c7c8d395b11df789db091d3 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Fri, 24 Jun 2011 17:06:41 -0500 Subject: [PATCH 193/530] installer changes --- sm-ssc.nsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sm-ssc.nsi b/sm-ssc.nsi index 653fe7458e..b5f435412b 100644 --- a/sm-ssc.nsi +++ b/sm-ssc.nsi @@ -211,8 +211,8 @@ Section "Main Section" SecMain WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\${PRODUCT_ID}" "" "$INSTDIR" WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_ID}" "DisplayName" "$(TEXT_IO_REMOVE_ONLY)" WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_ID}" "DisplayVersion" "$(PRODUCT_VER)" - WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_ID}" "Comments" "sm-ssc is a rhythm game simulator (forked from StepMania)." - WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_ID}" "Publisher" "the spinal shark collective" + WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_ID}" "Comments" "StepMania 5 is a rhythm game simulator." + WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_ID}" "Publisher" "StepMania Team" WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_ID}" "URLInfoAbout" "http://code.google.com/p/sm-ssc/" WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_ID}" "URLUpdateInfo" "http://code.google.com/p/sm-ssc/" WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_ID}" "UninstallString" '"$INSTDIR\uninstall.exe"' From de4a6fcaf40a5db51b09c090eeb94edc4f7d581c Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 18:07:36 -0400 Subject: [PATCH 194/530] Only play attacks if upcoming, not past. --- src/ScreenEdit.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 4bc7f5831e..52a1092a5e 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -4289,7 +4289,9 @@ void ScreenEdit::SetupCourseAttacks() { FOREACH(Attack, attacks, attack) { - GAMESTATE->m_pPlayerState[PLAYER_1]->LaunchAttack( *attack ); + float fBeat = GetAppropriateTiming().GetBeatFromElapsedTime(attack->fStartSecond); + if (fBeat >= GetBeat()) + GAMESTATE->m_pPlayerState[PLAYER_1]->LaunchAttack( *attack ); } } } From d06a14da5252a9eac812b1f9fde8e0fc3477d5e1 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 18:07:47 -0400 Subject: [PATCH 195/530] Display the attacks in the editor. --- src/NoteField.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/NoteField.cpp b/src/NoteField.cpp index 70faf81a5f..2d23b62889 100644 --- a/src/NoteField.cpp +++ b/src/NoteField.cpp @@ -1045,6 +1045,22 @@ void NoteField::DrawPrimitives() } } } + else + { + AttackArray &attacks = GAMESTATE->m_bIsUsingStepTiming ? + GAMESTATE->m_pCurSteps[PLAYER_1]->m_Attacks : + GAMESTATE->m_pCurSong->m_Attacks; + FOREACH_CONST(Attack, attacks, a) + { + float fBeat = timing.GetBeatFromElapsedTime(a->fStartSecond); + if (BeatToNoteRow(fBeat) >= iFirstRowToDraw && + BeatToNoteRow(fBeat) <= iLastRowToDraw && + IS_ON_SCREEN(fBeat)) + { + this->DrawAttackText(fBeat, *a); + } + } + } if( !GAMESTATE->m_bIsUsingStepTiming ) { From f3ddbf5d2a669a1cf97dba87a249f7f1580cdd27 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 19:32:46 -0400 Subject: [PATCH 196/530] Can edit attacks in editor, but not save them. Someone want to remind me why we have such limited options? I mean, 5 second attack intervals, no "nomods", no percentages or speed activations either! Everyone, say it with me: WE NEED A NEW EDITOR! --- src/ScreenEdit.cpp | 118 ++++++++++++++++++++++++++++++++++++++++++++- src/ScreenEdit.h | 6 ++- 2 files changed, 121 insertions(+), 3 deletions(-) diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 52a1092a5e..237d8a3801 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -68,6 +68,8 @@ AutoScreenMessage( SM_BackFromSongInformation ); AutoScreenMessage( SM_BackFromBGChange ); AutoScreenMessage( SM_BackFromInsertTapAttack ); AutoScreenMessage( SM_BackFromInsertTapAttackPlayerOptions ); +AutoScreenMessage( SM_BackFromInsertStepAttack ); +AutoScreenMessage( SM_BackFromInsertStepAttackPlayerOptions ); AutoScreenMessage( SM_BackFromInsertCourseAttack ); AutoScreenMessage( SM_BackFromInsertCourseAttackPlayerOptions ); AutoScreenMessage( SM_BackFromCourseModeMenu ); @@ -244,8 +246,8 @@ void ScreenEdit::InitEditMappings() m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_BGCHANGE_LAYER2_MENU][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cb); m_EditMappingsDeviceInput.hold[EDIT_BUTTON_OPEN_BGCHANGE_LAYER2_MENU][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LSHIFT); m_EditMappingsDeviceInput.hold[EDIT_BUTTON_OPEN_BGCHANGE_LAYER2_MENU][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RSHIFT); - m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_COURSE_MENU][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cc); - m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_COURSE_ATTACK_MENU][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cv); + m_EditMappingsDeviceInput.button[EDIT_BUTTON_ADD_STEP_MODS][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cc); + m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_STEP_ATTACK_MENU][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cv); m_EditMappingsDeviceInput.button[EDIT_BUTTON_INSERT_SHIFT_PAUSES][0] = DeviceInput(DEVICE_KEYBOARD, KEY_INSERT); m_EditMappingsDeviceInput.hold[EDIT_BUTTON_INSERT_SHIFT_PAUSES][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LCTRL); @@ -1990,6 +1992,35 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) EditMiniMenu( &g_CourseMode, SM_BackFromCourseModeMenu ); } break; + case EDIT_BUTTON_OPEN_STEP_ATTACK_MENU: + { + TimingData &timing = GetAppropriateTiming(); + float startTime = timing.GetElapsedTimeFromBeat(GetBeat()); + AttackArray &attacks = + (GAMESTATE->m_bIsUsingStepTiming ? m_pSteps->m_Attacks : m_pSong->m_Attacks); + int index = FindAttackAtTime(attacks, startTime); + + if (index >= 0) + { + const RString sDuration = ssprintf( "%.5f", attacks[index].fSecsRemaining ); + + g_InsertCourseAttack.rows[remove].bEnabled = true; + if( g_InsertCourseAttack.rows[duration].choices.size() == 9 ) + g_InsertCourseAttack.rows[duration].choices.push_back( sDuration ); + else + g_InsertCourseAttack.rows[duration].choices.back() = sDuration; + g_InsertCourseAttack.rows[duration].iDefaultChoice = 9; + } + else + { + if( g_InsertCourseAttack.rows[duration].choices.size() == 10 ) + g_InsertCourseAttack.rows[duration].choices.pop_back(); + g_InsertCourseAttack.rows[duration].iDefaultChoice = 3; + } + EditMiniMenu( &g_InsertCourseAttack, SM_BackFromInsertStepAttack ); + + break; + } case EDIT_BUTTON_OPEN_COURSE_ATTACK_MENU: { // TODO: Give Song/Step Timing switches/functions here? @@ -2021,6 +2052,44 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) EditMiniMenu( &g_InsertCourseAttack, SM_BackFromInsertCourseAttack ); } break; + case EDIT_BUTTON_ADD_STEP_MODS: + { + float start = -1; + float end = -1; + PlayerOptions po; + + if (m_NoteFieldEdit.m_iBeginMarker == -1) // not highlighted + { + po.FromString(""); + } + else + { + TimingData &timing = GetAppropriateTiming(); + start = timing.GetElapsedTimeFromBeat(NoteRowToBeat(m_NoteFieldEdit.m_iBeginMarker)); + AttackArray &attacks = + (GAMESTATE->m_bIsUsingStepTiming ? m_pSteps->m_Attacks : m_pSong->m_Attacks); + int index = FindAttackAtTime(attacks, start); + + if (index >= 0) + { + po.FromString(""); + } + if (m_NoteFieldEdit.m_iEndMarker == -1) + { + end = m_pSong->m_fMusicLengthSeconds; + } + else + { + end = timing.GetElapsedTimeFromBeat(NoteRowToBeat(m_NoteFieldEdit.m_iEndMarker)); + } + + } + g_fLastInsertAttackPositionSeconds = start; + g_fLastInsertAttackDurationSeconds = end - start; + GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions.Assign( ModsLevel_Stage, po ); + SCREENMAN->AddNewScreenToTop( "ScreenPlayerOptions", SM_BackFromInsertStepAttackPlayerOptions ); + break; + } case EDIT_BUTTON_ADD_COURSE_MODS: { float fStart, fEnd; @@ -2912,6 +2981,30 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM ) m_NoteDataEdit.SetTapNote( g_iLastInsertTapAttackTrack, row, tn ); CheckNumberOfNotesAndUndo(); } + else if (SM == SM_BackFromInsertStepAttack) + { + int iDurationChoice = ScreenMiniMenu::s_viLastAnswers[0]; + TimingData &timing = GetAppropriateTiming(); + g_fLastInsertAttackPositionSeconds = timing.GetElapsedTimeFromBeat( GetBeat() ); + g_fLastInsertAttackDurationSeconds = StringToFloat( g_InsertCourseAttack.rows[0].choices[iDurationChoice] ); + AttackArray &attacks = GAMESTATE->m_bIsUsingStepTiming ? m_pSteps->m_Attacks : m_pSong->m_Attacks; + int iAttack = FindAttackAtTime(attacks, g_fLastInsertAttackPositionSeconds); + + if (ScreenMiniMenu::s_iLastRowCode == ScreenEdit::remove ) + { + ASSERT(iAttack >= 0); + attacks.erase(attacks.begin() + iAttack); + } + else + { + PlayerOptions po; + if (iAttack >= 0) + po.FromString(attacks[iAttack].sModifiers); + + GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions.Assign( ModsLevel_Preferred, po ); + SCREENMAN->AddNewScreenToTop( "ScreenPlayerOptions", SM_BackFromInsertStepAttackPlayerOptions ); + } + } else if( SM == SM_BackFromInsertCourseAttack ) { int iDurationChoice = ScreenMiniMenu::s_viLastAnswers[0]; @@ -2941,6 +3034,27 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM ) SCREENMAN->AddNewScreenToTop( "ScreenPlayerOptions", SM_BackFromInsertCourseAttackPlayerOptions ); } } + else if (SM == SM_BackFromInsertStepAttackPlayerOptions) + { + PlayerOptions poChosen = GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions.GetPreferred(); + RString mods = poChosen.GetString(); + + if (g_fLastInsertAttackPositionSeconds >= 0) + { + Attack a(ATTACK_LEVEL_1, + g_fLastInsertAttackPositionSeconds, + g_fLastInsertAttackDurationSeconds, + mods, + false, + false); + AttackArray &attacks = GAMESTATE->m_bIsUsingStepTiming ? m_pSteps->m_Attacks : m_pSong->m_Attacks; + int index = FindAttackAtTime(attacks, g_fLastInsertAttackPositionSeconds); + if (index >= 0) + attacks[index] = a; + else + attacks.push_back(a); + } + } else if( SM == SM_BackFromInsertCourseAttackPlayerOptions ) { PlayerOptions poChosen = GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions.GetPreferred(); diff --git a/src/ScreenEdit.h b/src/ScreenEdit.h index 9bd272de71..61c2b4abcc 100644 --- a/src/ScreenEdit.h +++ b/src/ScreenEdit.h @@ -95,8 +95,12 @@ enum EditButton EDIT_BUTTON_OPEN_BGCHANGE_LAYER2_MENU, EDIT_BUTTON_OPEN_COURSE_MENU, EDIT_BUTTON_OPEN_COURSE_ATTACK_MENU, + + EDIT_BUTTON_OPEN_STEP_ATTACK_MENU, /**< Open up the Step Attacks menu. */ + EDIT_BUTTON_ADD_STEP_MODS, /**< Add a mod attack to the row. */ + EDIT_BUTTON_OPEN_INPUT_HELP, - + EDIT_BUTTON_BAKE_RANDOM_FROM_SONG_GROUP, EDIT_BUTTON_BAKE_RANDOM_FROM_SONG_GROUP_AND_GENRE, From 5ce88d4b54b0205ec5e018b03c1a503d54e6c382 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 24 Jun 2011 22:11:07 -0400 Subject: [PATCH 197/530] Attacks can be saved in the editor. It's more flexible to do it by hand though. --- src/Attack.cpp | 13 +++++++++++++ src/Attack.h | 5 +++++ src/NotesWriterSSC.cpp | 3 ++- src/ScreenEdit.cpp | 6 ++++++ src/Song.cpp | 2 +- 5 files changed, 27 insertions(+), 2 deletions(-) diff --git a/src/Attack.cpp b/src/Attack.cpp index 1bf2c8623b..568b83ec4c 100644 --- a/src/Attack.cpp +++ b/src/Attack.cpp @@ -91,6 +91,19 @@ bool AttackArray::ContainsTransformOrTurn() const return false; } +vector AttackArray::ToVectorString() const +{ + vector ret; + FOREACH_CONST( Attack, *this, a ) + { + ret.push_back(ssprintf("TIME=%f:LEN=%f:MODS=%s", + a->fStartSecond, + a->fSecsRemaining, + a->sModifiers.c_str())); + } + return ret; +} + /* * (c) 2003-2004 Chris Danford * All rights reserved. diff --git a/src/Attack.h b/src/Attack.h index 7eadbe4937..9e3ae45310 100644 --- a/src/Attack.h +++ b/src/Attack.h @@ -71,6 +71,11 @@ struct AttackArray : public vector * @brief Determine if the list of attacks contains a transform or turn mod. * @return true if it does, or false otherwise. */ bool ContainsTransformOrTurn() const; + + /** + * @brief Return a string representation used for simfiles. + * @return the string representation. */ + vector ToVectorString() const; }; #endif diff --git a/src/NotesWriterSSC.cpp b/src/NotesWriterSSC.cpp index 4d42f22f9d..4071b4dd7b 100644 --- a/src/NotesWriterSSC.cpp +++ b/src/NotesWriterSSC.cpp @@ -329,7 +329,8 @@ static RString GetSSCNoteData( const Song &song, const Steps &in, bool bSavingCa if( a != (in.m_sAttackString.size() - 1) ) attacks += ":"; // Not the end, so write a divider ':' } - lines.push_back( ssprintf( "#ATTACKS%s;", attacks.c_str())); + Trim(attacks, ":"); // just in case something screwy happens. + lines.push_back( ssprintf( "#ATTACKS:%s;", attacks.c_str())); lines.push_back( ssprintf( "#OFFSET:%.6f;", in.m_Timing.m_fBeat0OffsetInSeconds ) ); diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 237d8a3801..47f6448c44 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -3525,6 +3525,12 @@ void ScreenEdit::HandleMainMenuChoice( MainMenuChoice c, const vector &iAns // copy edit into current Steps m_pSteps->SetNoteData( m_NoteDataEdit ); + + // don't forget the attacks. + m_pSong->m_Attacks = GAMESTATE->m_pCurSong->m_Attacks; + m_pSong->m_sAttackString = GAMESTATE->m_pCurSong->m_Attacks.ToVectorString(); + m_pSteps->m_Attacks = GAMESTATE->m_pCurSteps[PLAYER_1]->m_Attacks; + m_pSteps->m_sAttackString = GAMESTATE->m_pCurSteps[PLAYER_1]->m_Attacks.ToVectorString(); switch( EDIT_MODE.GetValue() ) { diff --git a/src/Song.cpp b/src/Song.cpp index df12a2c63d..72c2001fd4 100644 --- a/src/Song.cpp +++ b/src/Song.cpp @@ -41,7 +41,7 @@ * @brief The internal version of the cache for StepMania. * * Increment this value to invalidate the current cache. */ -const int FILE_CACHE_VERSION = 183; +const int FILE_CACHE_VERSION = 184; /** @brief How long does a song sample last by default? */ const float DEFAULT_MUSIC_SAMPLE_LENGTH = 12.f; From cd7a1c730dd3a05494d70e58aed79c22417aac95 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Fri, 24 Jun 2011 21:46:44 -0500 Subject: [PATCH 198/530] ScreenSelectProfile metrics tweak no no no no NO! --- Themes/_fallback/metrics.ini | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index d7e7541c76..0c463a9684 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -1808,8 +1808,7 @@ CodeUp="+MenuUp" CodeUp2="+Up" CodeDown="+MenuDown" CodeDown2="+Down" -# Holding Start let us skip ( annoying ) -CodeStart="~Start,+Start" +CodeStart="+Start" CodeBack="Back" CodeCenter="Center" CodeDownLeft="DownLeft" From f8f5a2674ff306688988d6b9063eb37ab30cdcd5 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sat, 25 Jun 2011 11:54:10 -0500 Subject: [PATCH 199/530] reposition radar percentages --- Themes/default/Graphics/PaneDisplay text.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Themes/default/Graphics/PaneDisplay text.lua b/Themes/default/Graphics/PaneDisplay text.lua index 5a9983b945..3cc39b0512 100644 --- a/Themes/default/Graphics/PaneDisplay text.lua +++ b/Themes/default/Graphics/PaneDisplay text.lua @@ -83,8 +83,8 @@ local function CreatePaneDisplayGraph( _pnPlayer, _sLabel, _rcRadarCategory ) end; }; LoadFont("Common Normal") .. { - InitCommand=cmd(x,40;zoom,0.5;); - OnCommand=cmd(shadowlength,1;); + InitCommand=cmd(x,14;zoom,0.45;halign,0;); + OnCommand=cmd(shadowlength,1;strokecolor,color("0.15,0.15,0.15,0.625")); CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); CurrentStepsP1ChangedMessageCommand=cmd(playcommand,"Set"); CurrentStepsP2ChangedMessageCommand=cmd(playcommand,"Set"); From c71789b7e705aec0f8ff080b868852f6c9394a53 Mon Sep 17 00:00:00 2001 From: Jonathan Payne Date: Sat, 25 Jun 2011 14:36:26 -0700 Subject: [PATCH 200/530] [default] You are not allowed to go to ScreenSelectProfile if you do not have more than 2 profiles. --- .../BGAnimations/ScreenSystemLayer aux.lua | 49 +- .../ScreenSystemLayer overlay/default.lua | 46 ++ Themes/_fallback/Scripts/02 Branches.lua | 6 +- .../center (doubleres).png | Bin 3687 -> 0 bytes .../corner (doubleres).png | Bin 5447 -> 0 bytes .../ScreenGameplay underlay/danger.png | Bin 3133 -> 0 bytes .../decoration_corner (doubleres).png | Bin 14291 -> 0 bytes .../ScreenGameplay underlay/default.lua | 512 ------------------ .../frame (doubleres).png | Bin 2900 -> 0 bytes .../ScreenGameplay underlay/hot_lores.png | Bin 2393 -> 0 bytes .../ScreenGameplay underlay/mask.png | Bin 5889 -> 0 bytes .../ScreenGameplay underlay/meter.png | Bin 3134 -> 0 bytes .../ScreenGameplay underlay/tip.png | Bin 3557 -> 0 bytes .../Graphics/Player judgment/default.lua | 250 --------- Themes/default-dev-midi/metrics.ini | 4 +- .../_ScreenWithMenuElements aux.lua | 1 - .../Graphics/Player Badge FullCombo.png} | Bin 3549 -> 4960 bytes Themes/default/metrics.ini | 1 + Themes/default/~res/Player fc badge.psd | Bin 0 -> 33814 bytes 19 files changed, 55 insertions(+), 814 deletions(-) delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/center (doubleres).png delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/corner (doubleres).png delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/danger.png delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/decoration_corner (doubleres).png delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/default.lua delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/frame (doubleres).png delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/hot_lores.png delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/mask.png delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/meter.png delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/tip.png delete mode 100644 Themes/default-dev-midi/Graphics/Player judgment/default.lua delete mode 100644 Themes/default/BGAnimations/_ScreenWithMenuElements aux.lua rename Themes/{default-dev-midi/BGAnimations/ScreenGameplay underlay/basemeter.png => default/Graphics/Player Badge FullCombo.png} (54%) create mode 100644 Themes/default/~res/Player fc badge.psd diff --git a/Themes/_fallback/BGAnimations/ScreenSystemLayer aux.lua b/Themes/_fallback/BGAnimations/ScreenSystemLayer aux.lua index 18bd636e50..cba3909a14 100644 --- a/Themes/_fallback/BGAnimations/ScreenSystemLayer aux.lua +++ b/Themes/_fallback/BGAnimations/ScreenSystemLayer aux.lua @@ -1,49 +1,2 @@ -local function CreditsText( pn ) - function update(self) - local str = ScreenSystemLayerHelpers.GetCreditsMessage(pn); - self:settext(str); - end - - function UpdateVisible(self) - local screen = SCREENMAN:GetTopScreen(); - local bShow = true; - if screen then - local sClass = screen:GetName(); - bShow = THEME:GetMetric( sClass, "ShowCreditDisplay" ); - end - - self:visible( bShow ); - end - - local text = LoadFont(Var "LoadingScreen","credits") .. { - InitCommand=function(self) - self:name("Credits" .. PlayerNumberToString(pn)) - ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); - end; - UpdateTextCommand=function(self) - local str = ScreenSystemLayerHelpers.GetCreditsMessage(pn); - self:settext(str); - end; - UpdateVisibleCommand=function(self) - local screen = SCREENMAN:GetTopScreen(); - local bShow = true; - if screen then - local sClass = screen:GetName(); - bShow = THEME:GetMetric( sClass, "ShowCreditDisplay" ); - end - - self:visible( bShow ); - end; ---[[ RefreshCreditTextMessageCommand=update; - CoinInsertedMessageCommand=update; - PlayerJoinedMessageCommand=update; - ScreenChangedMessageCommand=UpdateVisible; --]] - }; - return text; -end - -local t = Def.ActorFrame { - CreditsText( PLAYER_1 ); - CreditsText( PLAYER_2 ); -}; +local t = Def.ActorFrame {}; return t; \ No newline at end of file diff --git a/Themes/_fallback/BGAnimations/ScreenSystemLayer overlay/default.lua b/Themes/_fallback/BGAnimations/ScreenSystemLayer overlay/default.lua index 2dcdf564dd..a23015892f 100644 --- a/Themes/_fallback/BGAnimations/ScreenSystemLayer overlay/default.lua +++ b/Themes/_fallback/BGAnimations/ScreenSystemLayer overlay/default.lua @@ -1,4 +1,50 @@ +local function CreditsText( pn ) + function update(self) + local str = ScreenSystemLayerHelpers.GetCreditsMessage(pn); + self:settext(str); + end + + function UpdateVisible(self) + local screen = SCREENMAN:GetTopScreen(); + local bShow = true; + if screen then + local sClass = screen:GetName(); + bShow = THEME:GetMetric( sClass, "ShowCreditDisplay" ); + end + + self:visible( bShow ); + end + + local text = LoadFont(Var "LoadingScreen","credits") .. { + InitCommand=function(self) + self:name("Credits" .. PlayerNumberToString(pn)) + ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); + end; + UpdateTextCommand=function(self) + local str = ScreenSystemLayerHelpers.GetCreditsMessage(pn); + self:settext(str); + end; + UpdateVisibleCommand=function(self) + local screen = SCREENMAN:GetTopScreen(); + local bShow = true; + if screen then + local sClass = screen:GetName(); + bShow = THEME:GetMetric( sClass, "ShowCreditDisplay" ); + end + + self:visible( bShow ); + end; +--[[ RefreshCreditTextMessageCommand=update; + CoinInsertedMessageCommand=update; + PlayerJoinedMessageCommand=update; + ScreenChangedMessageCommand=UpdateVisible; --]] + }; + return text; +end; +-- local t = Def.ActorFrame { + CreditsText( PLAYER_1 ); + CreditsText( PLAYER_2 ); Def.ActorFrame { Def.Quad { InitCommand=cmd(zoomtowidth,SCREEN_WIDTH;zoomtoheight,30;horizalign,left;vertalign,top;y,SCREEN_TOP;diffuse,color("0,0,0,0")); diff --git a/Themes/_fallback/Scripts/02 Branches.lua b/Themes/_fallback/Scripts/02 Branches.lua index f4b1a09950..a605a9b2a0 100644 --- a/Themes/_fallback/Scripts/02 Branches.lua +++ b/Themes/_fallback/Scripts/02 Branches.lua @@ -65,7 +65,11 @@ Branch = { if SONGMAN:GetNumSongs() == 0 and SONGMAN:GetNumAdditionalSongs() == 0 then return "ScreenHowToInstallSongs"; end; - return "ScreenSelectProfile"; + if PROFILEMAN:GetNumLocalProfiles() >= 2 then + return "ScreenSelectProfile"; + else + return Branch.AfterSelectProfile(); + end end, OptionsEdit = function() -- Similar to above, don't let anyone in here with 0 songs. diff --git a/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/center (doubleres).png b/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/center (doubleres).png deleted file mode 100644 index f792417219d8b7fa922959828044b68340190784..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3687 zcmV-t4w&(YP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000A$NklI|#@K-dW16J24UQY7trA7;qN;=|@Pn{q2~WVA@Ho5x zELgV7CURA^q{I#h4aIgBKBf~IgDQE(j{5zjD}zB6x<8+}cSiV3G8hanvy;>*5X1-~ zh!I2(BZweI5J8L}MvxCAbCZ6-BuTFQal8pqpp+R&3_%L4#1c>jZUOW0Sc&IEDF`IV zKzsyLfu$IW@!YNWJ5oXN1sP$?2f$rm1^5*B1o$|B7NSxF$r)sXu?&0;d;vTJ9t2Dc zxNU_L1CqvJYAGL$;v9-P2O>J*)muj_| zRWSvSO6ElHayPZHu_4BkKt`8H7P7mk_4W0Cft1VTGvEw3jmLAKC&=W_(C4C3F1NO0 zs^bj!1Nb!_PXk4e34&y=>W;=Zkki2U5qJ(918)S$2j!g;z8fm!Iq(zk3-C&i0x|~V zJgVe4FrEP&L8b@N3zRoe86DuIAkzaef(RmrAcEYOe!uUGTOoo7B8VWaAy$YWf_TU> zR)`=*5J3cSQ5WRDr_<>;Ea&qE~-w;2O@qez68$O|H1QEm;7eo+2J`|8NbyH`B z2x5f@B8VV@2qK6eMi4>F%!6F*{7@5Qx*!#XeNpZK_v1M~7Cqq%u8iwI7Jxep+c?3n z>6wiKa=_?c8G|%U-*+)<5%?^=UcuHHxq$S5iahH`7NVYS>Yv51d;^5$*+-x?T^=ndSi@(*?)$0EK zeyLWgIrHOoqB*=~KPsXN{0{sEyZ}zy?e_WZ?(U%5?UE#k<9#EC3Q1y3Scxk6F2)n0 zO>DhhuWW5?m72{a9>VfJWWhgOt?x5zqWmp3Ql9FGVJ{Z-7r@W4r6m^oSJ-O2aFBj% zeY=^79$_3~GybVu%j(7A{xY-BpD^qi=j|#AUPCUw#T&ZJ6i9Y^?JbXH2qarE-W04z z5Hovc>P8Sjj39y-L5v`R7(oOvf(T*+5yS{0h?%AQJpf1^01kVh diff --git a/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/corner (doubleres).png b/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/corner (doubleres).png deleted file mode 100644 index f509dde7a76960e769f3a35057e23b8d4b7d0a9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5447 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 diff --git a/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/decoration_corner (doubleres).png b/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/decoration_corner (doubleres).png deleted file mode 100644 index 865e4ce12b29a915b9540da5d783b5e6e9bb4dbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14291 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 diff --git a/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/default.lua b/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/default.lua deleted file mode 100644 index 362e5013a2..0000000000 --- a/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/default.lua +++ /dev/null @@ -1,512 +0,0 @@ -local t = Def.ActorFrame{} - -local newBPS; -local oldBPS; - - --- DECORATIONS //////////////////////// - --- Left Hex Corner Decoration -t[#t+1] = LoadActor("decoration_corner") .. { - InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_1)); - OnCommand=cmd(horizalign,left;x,SCREEN_LEFT;vertalign,top;y,SCREEN_TOP;zoomy,0.4;zoomx,0.6;diffusealpha,0.3;blend,Blend.Add); -}; - --- Right Hex Corner Decoration -t[#t+1] = LoadActor("decoration_corner") .. { - InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_2)); - OnCommand=cmd(horizalign,left;x,SCREEN_RIGHT;vertalign,top;y,SCREEN_TOP;zoomy,0.4;;zoomx,-0.6;diffusealpha,0.3;blend,Blend.Add); -}; - - --- WAVY LINE (thanks AJ) //////////////////////// - - ---P1 -t[#t+1] = LoadActor("hot_lores") .. { - OnCommand=cmd(diffusealpha,0;visible,GAMESTATE:IsHumanPlayer(PLAYER_1);horizalign,left;x,SCREEN_LEFT+18;vertalign,top;y,SCREEN_TOP+16;zoomtowidth,SCREEN_WIDTH/2-26;texcoordvelocity,0.1,0;queuecommand,"Begin"); - BeginCommand=function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(false); - else - local move = GAMESTATE:GetSongBPS()/2 - if GAMESTATE:GetSongFreeze() then - move = 0; - end - self:texcoordvelocity(move,0); - self:sleep(0.001); - self:queuecommand("Begin"); - end; - end; - LifeChangedMessageCommand=function(self,params) - if params.Player == PLAYER_1 then - local lifeP1=params.LifeMeter:GetLife(); - if lifeP1>=THEME:GetMetric("LifeMeterBar", "HotValue") then - self:diffusealpha(0.5); - else - self:diffusealpha(0); - end; - end; - end; -}; - ---P2 -t[#t+1] = LoadActor("hot_lores") .. { - OnCommand=cmd(diffusealpha,0;visible,GAMESTATE:IsHumanPlayer(PLAYER_2);horizalign,left;x,SCREEN_RIGHT-18;vertalign,top;y,SCREEN_TOP+16;zoomtowidth,(SCREEN_WIDTH/2-26)*-1;texcoordvelocity,0.1,0;queuecommand,"Begin"); - BeginCommand=function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(false); - else - local move = GAMESTATE:GetSongBPS()/2 - if GAMESTATE:GetSongFreeze() then - move = 0; - end - self:texcoordvelocity(move,0); - self:sleep(0.001); - self:queuecommand("Begin"); - end; - end; - LifeChangedMessageCommand=function(self,params) - if params.Player == PLAYER_2 then - local lifeP2=params.LifeMeter:GetLife(); - if lifeP2>=THEME:GetMetric("LifeMeterBar", "HotValue") then - self:diffusealpha(0.5); - else - self:diffusealpha(0); - end; - end; - end; -}; - ---Double ---customtexturerect,0,0,[PixelsToCoverWidth]/[ImageWidth],[PixelsToCoverHeight]/[ImageHeight] ---I said that I was gonna write it down. thx midi - -t[#t+1] = LoadActor("hot_lores") .. { - OnCommand=cmd(diffusealpha,0;horizalign,left;x,SCREEN_LEFT+18;vertalign,top;y,SCREEN_TOP+16;zoomtowidth,SCREEN_WIDTH-36;texcoordvelocity,0.1,0;customtexturerect,0,0,600/(SCREEN_WIDTH-36),1;queuecommand,"Begin"); - BeginCommand=function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - local move = GAMESTATE:GetSongBPS()/2 - if GAMESTATE:GetSongFreeze() then - move = 0; - end - self:texcoordvelocity(move,0); - self:sleep(0.001); - self:queuecommand("Begin"); - else - self:visible(false); - end; - end; - LifeChangedMessageCommand=function(self,params) - local life=params.LifeMeter:GetLife(); - if life>=THEME:GetMetric("LifeMeterBar", "HotValue") then - self:diffusealpha(0.5); - else - self:diffusealpha(0); - end; - end; -}; - - --- DANGER //////////////////////// - - ---DANGER P1 single -t[#t+1] = LoadActor("danger") .. { - InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_1);horizalign,left;x,SCREEN_LEFT+18;vertalign,top;y,SCREEN_TOP+16;zoomtowidth,SCREEN_WIDTH/2-26;zoomy,0.5); - OnCommand=cmd(effectclock,"bgm";diffusealpha,1;linear,0.2;diffusealpha,0.25;linear,0.2;diffusealpha,1;queuecommand,"On"); - LifeChangedMessageCommand=function(self,params) - if params.Player == PLAYER_1 then - local lifeP1 = params.LifeMeter:GetLife(); - if lifeP1 <= THEME:GetMetric("LifeMeterBar", "DangerThreshold") then - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(false); - else - self:visible(true); - end; - else - self:visible(false); - end; - end; -end; - -}; - ---DANGER P2 single -t[#t+1] = LoadActor("danger") .. { - InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_2);horizalign,right;x,SCREEN_RIGHT-18;vertalign,top;y,SCREEN_TOP+16;zoomtowidth,SCREEN_WIDTH/2-26;zoomy,0.5); - OnCommand=cmd(effectclock,"bgm";diffusealpha,1;linear,0.2;diffusealpha,0.25;linear,0.2;diffusealpha,1;queuecommand,"On"); - LifeChangedMessageCommand=function(self,params) - if params.Player == PLAYER_2 then - local lifeP2 = params.LifeMeter:GetLife(); - if lifeP2 <= THEME:GetMetric("LifeMeterBar", "DangerThreshold") then - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(false); - else - self:visible(true); - end; - else - self:visible(false); - end; - end; - end; -}; - ---DANGER double -t[#t+1] = LoadActor("danger") .. { - InitCommand=cmd(visible,false;horizalign,center;x,SCREEN_CENTER_X;vertalign,top;y,SCREEN_TOP+16;zoomtowidth,SCREEN_WIDTH-36;zoomy,0.5); - OnCommand=cmd(effectclock,"bgm";diffusealpha,1;linear,0.2;diffusealpha,0.25;linear,0.2;diffusealpha,1;queuecommand,"On"); - LifeChangedMessageCommand=function(self,params) - local life = params.LifeMeter:GetLife(); - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - if life <= THEME:GetMetric("LifeMeterBar", "DangerThreshold") then - self:visible(true); - else - self:visible(false); - end; - end; - end; -}; - - - --- METERS //////////////////////// - - - - - ----basemeter masked P1 -t[#t+1] = LoadActor("basemeter") .. { - InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_1);horizalign,left;x,SCREEN_LEFT+18;valign,0.5;y,SCREEN_TOP+41;zoomy,0.5;blend,Blend.Add); - OnCommand=cmd(bounce;effectmagnitude,-40,0,0;effectclock,"bgm";effecttiming,2,0,0,0;); - LifeChangedMessageCommand=function(self,params) - if params.Player == PLAYER_1 then - local style = GAMESTATE:GetCurrentStyle(); - local lifeP1 = params.LifeMeter:GetLife(); - if GAMESTATE:IsHumanPlayer(PLAYER_1)==true then - if lifeP1==0 then - self:visible(false); - else - - if lifeP1==1 then - self:effectmagnitude(0,0,0); - else - self:effectmagnitude(-40,0,0); - end; - - self:visible(true); - end - end - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:zoomtowidth((SCREEN_WIDTH-40)*lifeP1+5); - else - self:zoomtowidth((SCREEN_WIDTH/2-26)*lifeP1); - end; - - end; - end; - -}; - - - - - - - ----basemeter masked P2 -t[#t+1] = LoadActor("basemeter") .. { - InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_2);horizalign,right;x,SCREEN_RIGHT+18;valign,0.5;y,SCREEN_TOP+41;zoomy,0.5;blend,Blend.Add;queuecommand,"Set"); - OnCommand=cmd(bob;effectmagnitude,40,0,0;effectclock,"bgm";effecttiming,1,0,0,0;); - SetCommand=function(self,params) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:effectmagnitude(-40,0,0); - self:horizalign(left); - self:x(SCREEN_LEFT+18); - end; - end; - - LifeChangedMessageCommand=function(self,params) - if params.Player == PLAYER_2 then - local style = GAMESTATE:GetCurrentStyle(); - local lifeP2 = params.LifeMeter:GetLife(); - if GAMESTATE:IsHumanPlayer(PLAYER_2)==true then - if lifeP2==0 then - self:visible(false); - else - - if lifeP2==1 then - self:effectmagnitude(0,0,0); - else - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:effectmagnitude(-40,0,0); - else - self:effectmagnitude(40,0,0); - end - end; - - self:visible(true); - end - end - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:zoomtowidth((SCREEN_WIDTH-40)*lifeP2); - else - self:zoomtowidth(((SCREEN_WIDTH/2-26)*lifeP2)+40); - end; - - end; - end; - -}; - - - - --- FRAMES & TIPS //////////////////////// - - --- Left Corner -t[#t+1] = LoadActor("mask") .. { - OnCommand=cmd(horizalign,right;x,SCREEN_LEFT+130;vertalign,top;y,SCREEN_TOP+12;zoom,0.45;queuecommand,"Set"); - SetCommand = function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(true); - else - if GAMESTATE:IsHumanPlayer(PLAYER_1) == true then - self:visible(true); - else - self:visible(false); - end; - end; - end; -}; - --- Right Corner -t[#t+1] = LoadActor("mask") .. { - OnCommand=cmd(horizalign,right;x,SCREEN_RIGHT-130;vertalign,top;y,SCREEN_TOP+12;zoomx,-0.45;zoomy,0.45;queuecommand,"Set"); -SetCommand = function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(true); - else - if GAMESTATE:IsHumanPlayer(PLAYER_2) == true then - self:visible(true); - else - self:visible(false); - end; - end; - end; -}; - - --- Left Corner -t[#t+1] = LoadActor("corner") .. { - OnCommand=cmd(horizalign,left;x,SCREEN_LEFT+15;vertalign,top;y,SCREEN_TOP+16;zoom,0.75;queuecommand,"Set"); - SetCommand = function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(true); - else - if GAMESTATE:IsHumanPlayer(PLAYER_1) == true then - self:visible(true); - else - self:visible(false); - end; - end; - end; -}; - --- Right Corner -t[#t+1] = LoadActor("corner") .. { - OnCommand=cmd(horizalign,left;x,SCREEN_RIGHT-15;vertalign,top;y,SCREEN_TOP+16;zoomx,-0.75;zoomy,0.75;queuecommand,"Set"); -SetCommand = function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(true); - else - if GAMESTATE:IsHumanPlayer(PLAYER_2) == true then - self:visible(true); - else - self:visible(false); - end; - end; - end; -}; - --- Center Corner Left -t[#t+1] = LoadActor("center") .. { - OnCommand=cmd(horizalign,left;x,SCREEN_CENTER_X+5;vertalign,top;y,SCREEN_TOP+16;zoomx,-0.75;zoomy,0.75;queuecommand,"Set"); - SetCommand = function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(false); - else - if GAMESTATE:IsHumanPlayer(PLAYER_1) == true then - self:visible(true); - else - self:visible(false); - end; - end; - end; -}; - --- Center Corner Right -t[#t+1] = LoadActor("center") .. { - OnCommand=cmd(horizalign,left;x,SCREEN_CENTER_X-5;vertalign,top;y,SCREEN_TOP+16;zoom,0.75;queuecommand,"Set"); - SetCommand = function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(false); - else - if GAMESTATE:IsHumanPlayer(PLAYER_2) == true then - self:visible(true); - else - self:visible(false); - end; - end; - end; -}; - --- Center part 1 -t[#t+1] = LoadActor("frame") .. { - OnCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_1);horizalign,left;x,SCREEN_LEFT+52.5;vertalign,top;y,SCREEN_TOP+16;zoomtowidth,SCREEN_WIDTH/2-85;zoomy,0.75;queuecommand,"Set";); - SetCommand = function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:zoomtowidth(SCREEN_WIDTH-105); - self:visible(true) - else - if GAMESTATE:IsHumanPlayer(PLAYER_1) == false then - self:visible(false) - else - self:visible(true) - end - end; - end; -}; - --- Center part 2 -t[#t+1] = LoadActor("frame") .. { - OnCommand=cmd(horizalign,right;x,SCREEN_RIGHT-52.5;vertalign,top;y,SCREEN_TOP+16;zoomtowidth,SCREEN_WIDTH/2-85;zoomy,0.75;queuecommand,"Set";); - SetCommand = function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(false) - else - if GAMESTATE:IsHumanPlayer(PLAYER_2) == true then - self:visible(true) - else - self:visible(false) - end; - end; - end; -}; - - - ----tip P1 -t[#t+1] = LoadActor("tip") .. { - InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_1);valign,0.5;y,SCREEN_TOP+41;zoom,0.5;blend,Blend.Add;queuecommand,"Set"); - --OnCommand=cmd(bob;effectmagnitude,-40,0,0;effectclock,"bgm";effecttiming,1,0,0,0;); - LifeChangedMessageCommand=function(self,params) - if params.Player == PLAYER_1 then - local style = GAMESTATE:GetCurrentStyle(); - local lifeP1 = params.LifeMeter:GetLife(); - if GAMESTATE:IsHumanPlayer(PLAYER_1)==true then - if lifeP1==0 then - self:visible(false); - else - self:visible(true); - end - end - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:x((SCREEN_WIDTH-40)*lifeP1+20); - else - self:x((SCREEN_WIDTH/2-26)*lifeP1+20); - end; - - end; - end; - -}; - - - ----tip P2 -t[#t+1] = LoadActor("tip") .. { - InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_2);valign,0.5;y,SCREEN_TOP+41;zoom,0.5;blend,Blend.Add;); - --OnCommand=cmd(bob;effectmagnitude,40,0,0;effectclock,"bgm";effecttiming,1,0,0,0;); - LifeChangedMessageCommand=function(self,params) - if params.Player == PLAYER_2 then - local style = GAMESTATE:GetCurrentStyle(); - local lifeP2 = params.LifeMeter:GetLife(); - local fullstate; - if GAMESTATE:IsHumanPlayer(PLAYER_2)==true then - if lifeP2==0 then - self:visible(false); - else - self:visible(true); - end - end - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:x((SCREEN_WIDTH-40)*lifeP2+20); - else - self:x(SCREEN_RIGHT-((SCREEN_WIDTH/2-26)*lifeP2)-20); - end; - - end; - end; - -}; - --- NAMES //////////////////////// - ---P1 NAME -t[#t+1] = LoadFont("Common Normal") .. { - InitCommand=cmd(horizalign,left;x,SCREEN_LEFT+30;y,SCREEN_TOP+15;zoom,0.4;shadowlength,1;uppercase,true); - BeginCommand=function(self) - local profile = PROFILEMAN:GetProfile(PLAYER_1); - local name = profile:GetDisplayName(); - - if GAMESTATE:IsHumanPlayer(PLAYER_1) == true then - if name=="" then - self:settext("Player 1"); - else - self:settext( name ); - end - end - - end; - - }; - ---P2 NAME -t[#t+1] = LoadFont("Common Normal") .. { - InitCommand=cmd(horizalign,right;x,SCREEN_RIGHT-30;y,SCREEN_TOP+15;zoom,0.4;shadowlength,1;uppercase,true); - BeginCommand=function(self) - local profile = PROFILEMAN:GetProfile(PLAYER_2); - local name = profile:GetDisplayName(); - - if GAMESTATE:IsHumanPlayer(PLAYER_2) == true then - if name=="" then - self:settext("Player 2"); - else - self:settext( name ); - end - end - end; - - }; - - - -return t \ No newline at end of file diff --git a/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/frame (doubleres).png b/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/frame (doubleres).png deleted file mode 100644 index 8f4fb1191ad58f13fc6433b9907d3890c6d0cd59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2900 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 diff --git a/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/meter.png b/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/meter.png deleted file mode 100644 index 983338f40ad18d9dfdaaab080c14752ff9d3ef58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3134 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 0 then Count = Count + 1 end - end - return Count -end - -local function NegCount( t ) - local Count = 0; - for i=1,#t do - if t[i] < 0 then Count = Count + 1 end - end - return Count -end - - -local function StdDev( t ) - local avg = MakeAverage( t ); - local sum = 0; - for i=1,#t do - sum = sum + math.pow(t[i] - avg, 2); - end - return math.sqrt(sum / (#t - 1)) -end - --- -local tTotalJudgments = {}; --- Global? ---[[ tPlayerData = {}; -for pn in ivalues(GAMESTATE:GetHumanPlayers()) - tPlayerData[pn].SignedJudgments = {}; - tPlayerData[pn].AverageDifference = 0; - tPlayerData[pn].AbsoluteDifference = 0; - tPlayerData[pn].StandardDeviation = 0; - tPlayerData[pn].StandardDeviation = 0; - tPlayerData[pn].Early = 0; - tPlayerData[pn].Late = 0; -end ]] --- -local JudgeCmds = { - TapNoteScore_W1 = THEME:GetMetric( "Judgment", "JudgmentW1Command" ); - TapNoteScore_W2 = THEME:GetMetric( "Judgment", "JudgmentW2Command" ); - TapNoteScore_W3 = THEME:GetMetric( "Judgment", "JudgmentW3Command" ); - TapNoteScore_W4 = THEME:GetMetric( "Judgment", "JudgmentW4Command" ); - TapNoteScore_W5 = THEME:GetMetric( "Judgment", "JudgmentW5Command" ); - TapNoteScore_Miss = THEME:GetMetric( "Judgment", "JudgmentMissCommand" ); -}; - -local ProtimingCmds = { - TapNoteScore_W1 = THEME:GetMetric( "Protiming", "ProtimingW1Command" ); - TapNoteScore_W2 = THEME:GetMetric( "Protiming", "ProtimingW2Command" ); - TapNoteScore_W3 = THEME:GetMetric( "Protiming", "ProtimingW3Command" ); - TapNoteScore_W4 = THEME:GetMetric( "Protiming", "ProtimingW4Command" ); - TapNoteScore_W5 = THEME:GetMetric( "Protiming", "ProtimingW5Command" ); - TapNoteScore_Miss = THEME:GetMetric( "Protiming", "ProtimingMissCommand" ); -}; - -local AverageCmds = { - Pulse = THEME:GetMetric( "Protiming", "AveragePulseCommand" ); -}; - -local TNSFrames = { - TapNoteScore_W1 = 0; - TapNoteScore_W2 = 1; - TapNoteScore_W3 = 2; - TapNoteScore_W4 = 3; - TapNoteScore_W5 = 4; - TapNoteScore_Miss = 5; -}; -local t = Def.ActorFrame {}; -t[#t+1] = Def.ActorFrame { - LoadActor(THEME:GetPathG("Judgment","Normal")) .. { - Name="Judgment"; - InitCommand=cmd(pause;visible,false); - OnCommand=THEME:GetMetric("Judgment","JudgmentOnCommand"); - ResetCommand=cmd(finishtweening;stopeffect;visible,false); - }; - LoadFont("Combo Numbers") .. { - Name="ProtimingDisplay"; - Text=""; - InitCommand=cmd(visible,false); - OnCommand=THEME:GetMetric("Protiming","ProtimingOnCommand"); - ResetCommand=cmd(finishtweening;stopeffect;visible,false); - }; - LoadFont("Common Normal") .. { - Name="ProtimingAverage"; - Text=""; - InitCommand=cmd(visible,false); - OnCommand=THEME:GetMetric("Protiming","AverageOnCommand"); - ResetCommand=cmd(finishtweening;stopeffect;visible,false); - }; - Def.Quad { - Name="ProtimingGraphBG"; - InitCommand=cmd(visible,false;y,32;zoomto,192,16); - ResetCommand=cmd(finishtweening;diffusealpha,0.8;visible,false); - OnCommand=cmd(diffuse,Color("Black");diffusetopedge,color("0.1,0.1,0.1,1");diffusealpha,0.8;shadowlength,2;); - }; - Def.Quad { - Name="ProtimingGraphWindowW3"; - InitCommand=cmd(visible,false;y,32;zoomto,192-4,16-4); - ResetCommand=cmd(finishtweening;diffusealpha,1;visible,false); - OnCommand=cmd(diffuse,GameColor.Judgment["JudgmentLine_W3"];); - }; - Def.Quad { - Name="ProtimingGraphWindowW2"; - InitCommand=cmd(visible,false;y,32;zoomto,scale(PREFSMAN:GetPreference("TimingWindowSecondsW2"),0,PREFSMAN:GetPreference("TimingWindowSecondsW3"),0,192-4),16-4); - ResetCommand=cmd(finishtweening;diffusealpha,1;visible,false); - OnCommand=cmd(diffuse,GameColor.Judgment["JudgmentLine_W2"];); - }; - Def.Quad { - Name="ProtimingGraphWindowW1"; - InitCommand=cmd(visible,false;y,32;zoomto,scale(PREFSMAN:GetPreference("TimingWindowSecondsW1"),0,PREFSMAN:GetPreference("TimingWindowSecondsW3"),0,192-4),16-4); - ResetCommand=cmd(finishtweening;diffusealpha,1;visible,false); - OnCommand=cmd(diffuse,GameColor.Judgment["JudgmentLine_W1"];); - }; - Def.Quad { - Name="ProtimingGraphUnderlay"; - InitCommand=cmd(visible,false;y,32;zoomto,192-4,16-4); - ResetCommand=cmd(finishtweening;diffusealpha,0.25;visible,false); - OnCommand=cmd(diffuse,Color("Black");diffusealpha,0.25); - }; - Def.Quad { - Name="ProtimingGraphFill"; - InitCommand=cmd(visible,false;y,32;zoomto,0,16-4;horizalign,left;); - ResetCommand=cmd(finishtweening;diffusealpha,1;visible,false); - OnCommand=cmd(diffuse,Color("Red");); - }; - Def.Quad { - Name="ProtimingGraphAverage"; - InitCommand=cmd(visible,false;y,32;zoomto,2,7;); - ResetCommand=cmd(finishtweening;diffusealpha,0.85;visible,false); - OnCommand=cmd(diffuse,Color("Orange");diffusealpha,0.85); - }; - Def.Quad { - Name="ProtimingGraphCenter"; - InitCommand=cmd(visible,false;y,32;zoomto,2,16-4;); - ResetCommand=cmd(finishtweening;diffusealpha,1;visible,false); - OnCommand=cmd(diffuse,Color("White");diffusealpha,1); - }; - InitCommand = function(self) - c = self:GetChildren(); - end; - - JudgmentMessageCommand=function(self, param) - if param.Player ~= player then return end; - if param.HoldNoteScore then return end; - - local iNumStates = c.Judgment:GetNumStates(); - local iFrame = TNSFrames[param.TapNoteScore]; - - if not iFrame then return end - if iNumStates == 12 then - iFrame = iFrame * 2; - if not param.Early then - iFrame = iFrame + 1; - end - end - - - local fTapNoteOffset = param.TapNoteOffset; - if param.HoldNoteScore then - fTapNoteOffset = 1; - else - fTapNoteOffset = param.TapNoteOffset; - end - - if param.TapNoteScore == 'TapNoteScore_Miss' then - fTapNoteOffset = 1; - bUseNegative = true; - else --- fTapNoteOffset = fTapNoteOffset; - bUseNegative = false; - end; - - if fTapNoteOffset ~= 1 then - -- we're safe, you can push the values - tTotalJudgments[#tTotalJudgments+1] = bUseNegative and fTapNoteOffset or math.abs( fTapNoteOffset ); - -- New --- tPlayerData[player].SignedJudgments[#(tPlayerData[player].SignedJudgments)+1] = fTapNoteOffset; --- table.getn(tPlayerData[player].SignedJudgments = bUseNegative and fTapNoteOffset or fTapNoteOffset; - end - - self:playcommand("Reset"); - - c.Judgment:visible( not bShowProtiming ); - c.Judgment:setstate( iFrame ); - JudgeCmds[param.TapNoteScore](c.Judgment); - - c.ProtimingDisplay:visible( bShowProtiming ); - c.ProtimingDisplay:settextf("%i",math.abs(fTapNoteOffset * 1000)); - ProtimingCmds[param.TapNoteScore](c.ProtimingDisplay); - - c.ProtimingAverage:visible( bShowProtiming ); - c.ProtimingAverage:settextf("%.2f%%",clamp(100 - MakeAverage( tTotalJudgments ) * 1000 ,0,100)); - AverageCmds['Pulse'](c.ProtimingAverage); - - c.ProtimingGraphBG:visible( bShowProtiming ); - c.ProtimingGraphUnderlay:visible( bShowProtiming ); - c.ProtimingGraphWindowW3:visible( bShowProtiming ); - c.ProtimingGraphWindowW2:visible( bShowProtiming ); - c.ProtimingGraphWindowW1:visible( bShowProtiming ); - c.ProtimingGraphFill:visible( bShowProtiming ); - c.ProtimingGraphFill:finishtweening(); - c.ProtimingGraphFill:decelerate(1/60); --- c.ProtimingGraphFill:zoomtowidth( clamp(fTapNoteOffset * 188,-188/2,188/2) ); - c.ProtimingGraphFill:zoomtowidth( clamp( - scale( - fTapNoteOffset, - 0,PREFSMAN:GetPreference("TimingWindowSecondsW3"), - 0,188/2), - -188/2,188/2) - ); - c.ProtimingGraphAverage:visible( bShowProtiming ); - c.ProtimingGraphAverage:zoomtowidth( clamp( - scale( - MakeAverage( tTotalJudgments ), - 0,PREFSMAN:GetPreference("TimingWindowSecondsW3"), - 0,188), - 0,188) - ); --- c.ProtimingGraphAverage:zoomtowidth( clamp(MakeAverage( tTotalJudgments ) * 1880,0,188) ); - c.ProtimingGraphCenter:visible( bShowProtiming ); - (cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphBG); - (cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphUnderlay); - (cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphWindowW3); - (cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphWindowW2); - (cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphWindowW1); - (cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphFill); - (cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphAverage); - (cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphCenter); - end; - -}; - - -return t; diff --git a/Themes/default-dev-midi/metrics.ini b/Themes/default-dev-midi/metrics.ini index e2eab4c818..72b1cbe014 100644 --- a/Themes/default-dev-midi/metrics.ini +++ b/Themes/default-dev-midi/metrics.ini @@ -1,5 +1,5 @@ [Global] FallbackTheme=default [ScreenGameplay] -LifeP1OnCommand=visible,false -LifeP2OnCommand=visible,false \ No newline at end of file +# LifeP1OnCommand=visible,false +# LifeP2OnCommand=visible,false \ No newline at end of file diff --git a/Themes/default/BGAnimations/_ScreenWithMenuElements aux.lua b/Themes/default/BGAnimations/_ScreenWithMenuElements aux.lua deleted file mode 100644 index b45f994ddf..0000000000 --- a/Themes/default/BGAnimations/_ScreenWithMenuElements aux.lua +++ /dev/null @@ -1 +0,0 @@ -local t = Def.ActorFrame {}; diff --git a/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/basemeter.png b/Themes/default/Graphics/Player Badge FullCombo.png similarity index 54% rename from Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/basemeter.png rename to Themes/default/Graphics/Player Badge FullCombo.png index 469e617168f87ce9e29b585aaa9f29d1b5325cd7..46688dc5726ec3b4bb3a41aef1ce55a020b0bf90 100644 GIT binary patch delta 2269 zcmV<32qO308{j4(iBL{Q4GJ0x0000DNk~Le0000m0000m2nGNE09OL}hp{1^3V#TT zNkllB^O#on$a!KS&#bNo$R+Y&0gMF(if% zLe2glF$Vr=_(S8`WTT`>u^*Diw!5vhl&~s_yQ0+E3RI_E*(xwYT@b`ObHDnd=T45- zI|Bnl8z(ur^KtH(=Q+>&zUMjTGJl3);B|hnc+Fq0JptZ)!!S&?$4)h%u`UGG0l4*Q ztOt=b6R;Kmq9jXze+K{uV1xkH&8vCenw2*U18b>7=KW+0hJbef_~HKj`~O^DUw;?C zegFah5BZG+z+|NYt^)xcfWY(oXA=_>3lkF)3p~$%2A~Ll2q1^_$qIq2RevGozp=m) zaP`g2&3;Le1WA&F=H_NUfcJ<3PSS^EvQas*r2v_I2Y`*DC|-?5qw@6hv@tzBZA7C{ zSro;q0Ja10lW=mRsZ{@41*qBQ0KDJU)+Tv89+#@BP*oKkkH^*4)+Pb?0SO@|>C3K} zL^c$l5_g*)L2?tQYA?m0`Oe`ZvgO83H|?5fXu#` zyt_L)J4~nb)Mk8Wk`@#|hxw?c2BC)HF?x zMx#b77JH>>nx^mAvEy?9^#HyFU<0{#)uFT&1+22{r?ubfWU4IY=n%uB)qiCmaqJ#N+W~=vZ4Kkw7>c zE~u-k3jwGBkV}P=gBq7k@U+Ajn7}d$tYA6P3IPNN*Z_bng@uJu zRaKQxSy?HB!{NN@>S|v+9#4W#MZho&xLht=xpE~oJUl#q`}Xa{8#it&&d$z00q_XG zKLPv$Km@?Q2?5PQE=h_eK!XnhcoV?40hDasym@0d92R!&+<)oawr!hGUS2LplH}1e z4VtDwRaI!328Ln4vTPDOO~U*iQjx&({7ZTA`0?WxV`F2B_wLsBEzFVCqc3e1H`(=-@{@lt%#;O$hP zJ(Eeoyz06RhJRs_WO$wj&-0j{pHGaBk1yW6dw1db_3O{hpFjU&05>Rb8~U> z} zbX)@P8vsiHWP(Yhv8GcX4qy?$g_f3 zs{kGYct$4j1r}YTy0FRgWX_-}lL|mADJgN8 z%e}dEw6h1+%9BblRaFrT2HnJ>D^$6pt$+2Jjuz=P!WRex+^VXk^)~73w3URWX$S-Y zZgTLY+3W$bdN%4SE-v<%#)~chb}O%)owgECRTag>#U4T+qitm-1k9>bC`ppbR3P2# zFGqk5AxV;4gaDh#{y0+w7yuh3NpdTSk_4S<_8krf06?6B`48fLqfv6c!dLJv}{7+S}XzH8V4FlK`KjygR*;f_SP?0ArCz8At(En{@aU>7a)?gl+Hn&V=@-Ar&1?qRx7|*EILOi z!ck+Xmi@1m4KD=CEa+r*tY$BrhcUmSNt<9<%kyMyxtU*$0(J+!DKZaTGkhSv>M=8M rqs%hyFw>_b#tQE>R;0k|`ufiRzj~D0>S{a$00000NkvXXu0mjfeDgId delta 847 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 Date: Sun, 26 Jun 2011 13:43:30 +0700 Subject: [PATCH 201/530] Refactor TimingData::ScaleRegion(), fixes 297. --- src/NoteTypes.h | 18 +++++- src/TimingData.cpp | 135 +++++------------------------------------ src/TimingSegments.cpp | 29 ++++++++- src/TimingSegments.h | 12 ++++ 4 files changed, 70 insertions(+), 124 deletions(-) diff --git a/src/NoteTypes.h b/src/NoteTypes.h index cd00810e0a..795eef7131 100644 --- a/src/NoteTypes.h +++ b/src/NoteTypes.h @@ -334,7 +334,23 @@ static inline float ToBeat(int row) { return NoteRowToBeat(row); } */ static inline float ToBeat(float beat) { return beat; } - +/** + * @brief Scales the position. + * @param T start - the starting row of the scaling region + * @param T length - the length of the scaling region + * @param T newLength - the new length of the scaling region + * @param T position - the position to scale + * @return T the scaled position + */ +template +inline T ScalePosition( T start, T length, T newLength, T position ) +{ + if( position < start ) + return position; + if( position >= start + length ) + return position - length + newLength; + return start + (position - start) * newLength / length; +} #endif diff --git a/src/TimingData.cpp b/src/TimingData.cpp index 579d11c635..20f9e47642 100644 --- a/src/TimingData.cpp +++ b/src/TimingData.cpp @@ -1026,149 +1026,43 @@ void TimingData::ScaleRegion( float fScale, int iStartIndex, int iEndIndex, bool ASSERT( iStartIndex >= 0 ); ASSERT( iStartIndex < iEndIndex ); + int length = iEndIndex - iStartIndex; + int newLength = lrintf( fScale * length ); + for ( unsigned i = 0; i < m_BPMSegments.size(); i++ ) - { - BPMSegment &b = m_BPMSegments[i]; - const int iSegStart = b.GetRow(); - if( iSegStart < iStartIndex ) - continue; - else if( iSegStart > iEndIndex ) - b.SetRow( b.GetRow() + lrintf( (iEndIndex - iStartIndex) * (fScale - 1) ) ); - else - b.SetRow( lrintf( (iSegStart - iStartIndex) * fScale ) + iStartIndex ); - } + m_BPMSegments[i].Scale( iStartIndex, length, newLength ); for( unsigned i = 0; i < m_StopSegments.size(); i++ ) - { - StopSegment &s = m_StopSegments[i]; - const int iSegStartRow = s.GetRow(); - if( iSegStartRow < iStartIndex ) - continue; - else if( iSegStartRow > iEndIndex ) - s.SetRow(s.GetRow() + lrintf((iEndIndex - iStartIndex) * (fScale - 1))); - else - s.SetRow(lrintf((iSegStartRow - iStartIndex) * fScale) + iStartIndex); - } + m_StopSegments[i].Scale( iStartIndex, length, newLength ); for( unsigned i = 0; i < m_vTimeSignatureSegments.size(); i++ ) - { - TimeSignatureSegment &t = m_vTimeSignatureSegments[i]; - const int iSegStartRow = t.GetRow(); - if( iSegStartRow < iStartIndex ) - continue; - else if( iSegStartRow > iEndIndex ) - t.SetRow(t.GetRow() + lrintf((iEndIndex - iStartIndex) * (fScale - 1))); - else - t.SetRow(lrintf((iSegStartRow - iStartIndex) * fScale) + iStartIndex); - } + m_vTimeSignatureSegments[i].Scale( iStartIndex, length, newLength ); for( unsigned i = 0; i < m_WarpSegments.size(); i++ ) - { - WarpSegment &w = m_WarpSegments[i]; - const int iSegStartRow = w.GetRow(); - const int iSegEndRow = iSegStartRow + BeatToNoteRow( w.GetLength() ); - if( iSegEndRow >= iStartIndex ) - { - if( iSegEndRow > iEndIndex ) - w.SetLength(w.GetLength() + - NoteRowToBeat(lrintf((iEndIndex - iStartIndex) * (fScale - 1)))); - else - w.SetLength(NoteRowToBeat(lrintf((iSegEndRow - iStartIndex) * fScale))); - } - if( iSegStartRow < iStartIndex ) - continue; - else if( iSegStartRow > iEndIndex ) - w.SetRow(w.GetRow() + lrintf((iEndIndex - iStartIndex) * (fScale - 1))); - else - w.SetRow(lrintf((iSegStartRow - iStartIndex) * fScale) + iStartIndex); - } + m_WarpSegments[i].Scale( iStartIndex, length, newLength ); for ( unsigned i = 0; i < m_TickcountSegments.size(); i++ ) - { - TickcountSegment &t = m_TickcountSegments[i]; - const int iSegStart = t.GetRow(); - if( iSegStart < iStartIndex ) - continue; - else if( iSegStart > iEndIndex ) - t.SetRow(t.GetRow() + lrintf( (iEndIndex - iStartIndex) * (fScale - 1) )); - else - t.SetRow(lrintf( (iSegStart - iStartIndex) * fScale ) + iStartIndex); - } + m_TickcountSegments[i].Scale( iStartIndex, length, newLength ); for ( unsigned i = 0; i < m_ComboSegments.size(); i++ ) - { - ComboSegment &c = m_ComboSegments[i]; - const int iSegStart = c.GetRow(); - if( iSegStart < iStartIndex ) - continue; - else if( iSegStart > iEndIndex ) - c.SetRow(c.GetRow() + lrintf( (iEndIndex - iStartIndex) * (fScale - 1) )); - else - c.SetRow(lrintf( (iSegStart - iStartIndex) * fScale ) + iStartIndex); - } + m_ComboSegments[i].Scale( iStartIndex, length, newLength ); for ( unsigned i = 0; i < m_LabelSegments.size(); i++ ) - { - LabelSegment &l = m_LabelSegments[i]; - const int iSegStart = l.GetRow(); - if( iSegStart < iStartIndex ) - continue; - else if( iSegStart > iEndIndex ) - l.SetRow(l.GetRow() + lrintf( (iEndIndex - iStartIndex) * (fScale - 1) )); - else - l.SetRow(lrintf( (iSegStart - iStartIndex) * fScale ) + iStartIndex); - } + m_LabelSegments[i].Scale( iStartIndex, length, newLength ); for ( unsigned i = 0; i < m_SpeedSegments.size(); i++ ) - { - SpeedSegment &s = m_SpeedSegments[i]; - const int iSegStart = s.GetRow(); - if( iSegStart < iStartIndex ) - continue; - else if( iSegStart > iEndIndex ) - s.SetRow(s.GetRow() + lrintf( (iEndIndex - iStartIndex) * (fScale - 1) )); - else - s.SetRow(lrintf( (iSegStart - iStartIndex) * fScale ) + iStartIndex); - } + m_SpeedSegments[i].Scale( iStartIndex, length, newLength ); for( unsigned i = 0; i < m_FakeSegments.size(); i++ ) - { - FakeSegment &f = m_FakeSegments[i]; - const int iSegStartRow = f.GetRow(); - const int iSegEndRow = iSegStartRow + BeatToNoteRow( f.GetLength() ); - if( iSegEndRow >= iStartIndex ) - { - if( iSegEndRow > iEndIndex ) - f.SetLength(f.GetLength() - + NoteRowToBeat(lrintf((iEndIndex - iStartIndex) * (fScale - 1)))); - else - f.SetLength(NoteRowToBeat(lrintf((iSegEndRow - iStartIndex) * fScale))); - } - if( iSegStartRow < iStartIndex ) - continue; - else if( iSegStartRow > iEndIndex ) - f.SetRow(f.GetRow() - + lrintf((iEndIndex - iStartIndex) * (fScale - 1))); - else - f.SetRow(lrintf((iSegStartRow - iStartIndex) * fScale) + iStartIndex); - } + m_FakeSegments[i].Scale( iStartIndex, length, newLength ); for( unsigned i = 0; i < m_ScrollSegments.size(); i++ ) - { - ScrollSegment &s = m_ScrollSegments[i]; - const int iSegStartRow = s.GetRow(); - if( iSegStartRow < iStartIndex ) - continue; - else if( iSegStartRow > iEndIndex ) - s.SetRow(s.GetRow() + lrintf((iEndIndex - iStartIndex) * (fScale - 1))); - else - s.SetRow(lrintf((iSegStartRow - iStartIndex) * fScale) + iStartIndex); - } + m_ScrollSegments[i].Scale( iStartIndex, length, newLength ); // adjust BPM changes to preserve timing if( bAdjustBPM ) { - int iNewEndIndex = lrintf( (iEndIndex - iStartIndex) * fScale ) + iStartIndex; + int iNewEndIndex = iStartIndex + newLength; float fEndBPMBeforeScaling = GetBPMAtRow(iNewEndIndex); // adjust BPM changes "between" iStartIndex and iNewEndIndex @@ -1186,7 +1080,6 @@ void TimingData::ScaleRegion( float fScale, int iStartIndex, int iEndIndex, bool // set BPM at iStartIndex and iNewEndIndex. SetBPMAtRow( iStartIndex, GetBPMAtRow(iStartIndex) * fScale ); SetBPMAtRow( iNewEndIndex, fEndBPMBeforeScaling ); - } } diff --git a/src/TimingSegments.cpp b/src/TimingSegments.cpp index 64aeee8b01..6a0e0eec57 100644 --- a/src/TimingSegments.cpp +++ b/src/TimingSegments.cpp @@ -5,7 +5,6 @@ BaseTimingSegment::~BaseTimingSegment() {} - void BaseTimingSegment::SetRow(const int s) { this->startingRow = s; @@ -26,6 +25,11 @@ float BaseTimingSegment::GetBeat() const return NoteRowToBeat(GetRow()); } +void BaseTimingSegment::Scale( int start, int length, int newLength ) +{ + SetRow( ScalePosition( start, length, newLength, GetRow() ) ); +} + /* ====================================================== Here comes the actual timing segments implementation!! */ @@ -40,6 +44,16 @@ void FakeSegment::SetLength(const float b) this->lengthBeats = b; } +void FakeSegment::Scale( int start, int length, int newLength ) +{ + float startBeat = GetBeat(); + float endBeat = startBeat + GetLength(); + float newStartBeat = ScalePosition( NoteRowToBeat(start), NoteRowToBeat(length), NoteRowToBeat(newLength), startBeat ); + float newEndBeat = ScalePosition( NoteRowToBeat(start), NoteRowToBeat(length), NoteRowToBeat(newLength), endBeat ); + SetLength( newEndBeat - newStartBeat ); + TimingSegment::Scale( start, length, newLength ); +} + bool FakeSegment::operator<( const FakeSegment &other ) const { LTCOMPARE(GetRow()); @@ -60,8 +74,19 @@ void WarpSegment::SetLength(const float b) this->lengthBeats = b; } +void WarpSegment::Scale( int start, int length, int newLength ) +{ + // XXX: this function is duplicated, there should be a better way + float startBeat = GetBeat(); + float endBeat = startBeat + GetLength(); + float newStartBeat = ScalePosition( NoteRowToBeat(start), NoteRowToBeat(length), NoteRowToBeat(newLength), startBeat ); + float newEndBeat = ScalePosition( NoteRowToBeat(start), NoteRowToBeat(length), NoteRowToBeat(newLength), endBeat ); + SetLength( newEndBeat - newStartBeat ); + TimingSegment::Scale( start, length, newLength ); +} + bool WarpSegment::operator<( const WarpSegment &other ) const -{ +{ LTCOMPARE(GetRow()); LTCOMPARE(GetLength()); return false; diff --git a/src/TimingSegments.h b/src/TimingSegments.h index 72e9a267c2..4acbe60350 100644 --- a/src/TimingSegments.h +++ b/src/TimingSegments.h @@ -27,6 +27,14 @@ struct BaseTimingSegment virtual ~BaseTimingSegment(); + /** + * @brief Scales itself. + * @param start Starting row + * @param length Length in rows + * @param newLength The new length in rows + */ + virtual void Scale( int start, int length, int newLength ); + /** * @brief Set the starting row of the BaseTimingSegment. * @@ -177,6 +185,8 @@ struct FakeSegment : public TimingSegment * @param b the length in beats. */ void SetLength(const float b); + void Scale( int start, int length, int newLength ); + /** * @brief Compares two FakeSegments to see if one is less than the other. * @param other the other FakeSegment to compare to. @@ -236,6 +246,8 @@ struct WarpSegment : public TimingSegment * @param b the length in beats. */ void SetLength(const float b); + void Scale( int start, int length, int newLength ); + /* * @brief Compares two WarpSegments to see if one is less than the other. * @param other the other WarpSegment to compare to. From a0372924aeb2ce000b70000c1f252fc6416104b4 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 26 Jun 2011 12:47:26 -0400 Subject: [PATCH 202/530] Newlines are good. Not worth a cache reload here. --- src/NotesWriterSSC.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NotesWriterSSC.cpp b/src/NotesWriterSSC.cpp index 4071b4dd7b..b682788558 100644 --- a/src/NotesWriterSSC.cpp +++ b/src/NotesWriterSSC.cpp @@ -327,7 +327,7 @@ static RString GetSSCNoteData( const Song &song, const Steps &in, bool bSavingCa attacks += sData; if( a != (in.m_sAttackString.size() - 1) ) - attacks += ":"; // Not the end, so write a divider ':' + attacks += ":\r\n"; // Not the end, so write a divider ':' } Trim(attacks, ":"); // just in case something screwy happens. lines.push_back( ssprintf( "#ATTACKS:%s;", attacks.c_str())); From 973ef4fad7e24bcd0da0f43886456a4784ad0229 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 26 Jun 2011 12:49:07 -0400 Subject: [PATCH 203/530] Changed text: Revert From Cache. --- Themes/_fallback/Languages/en.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 2710e0ea21..44d676e1b8 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -978,7 +978,7 @@ Remove Change=Remove Change Rename=Rename Reset To Defaults=Reset Options To Default Values Revert from disk=Revert from disk -Revert to last save=Revert to last save +Revert to last save=Revert from cache Save=Save SaveScores=Save Scores SaveReplays=Save Replays From 1f9adc3f68b52693eb900d28d891b8c2d0306c2e Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 26 Jun 2011 13:36:42 -0400 Subject: [PATCH 204/530] When changing diffs, use seconds, not beats. --- src/ScreenEdit.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 47f6448c44..b6af108d6b 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -1658,6 +1658,9 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) // don't keep undo when changing Steps ClearUndo(); + // get the second of the current step. + float curSecond = GetAppropriateTiming().GetElapsedTimeFromBeat(GetBeat()); + // save current steps Steps* pSteps = GAMESTATE->m_pCurSteps[PLAYER_1]; ASSERT( pSteps ); @@ -1710,6 +1713,8 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) int(vSteps.size()) ); SCREENMAN->SystemMessage( s ); m_soundSwitchSteps.Play(); + + ScrollTo( GetAppropriateTiming().GetBeatFromElapsedTime(curSecond) ); } break; case EDIT_BUTTON_BPM_UP: From e2cb8d17946cdbca7a7b489025916003c0848121 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 26 Jun 2011 16:07:36 -0700 Subject: [PATCH 205/530] Better safe than sorry here. --- src/NotesLoaderSM.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index f534e00d97..749485818c 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -145,7 +145,11 @@ void SMLoader::ProcessBGChanges( Song &out, const RString &sValueName, const RSt void SMLoader::ProcessAttackString( vector & attacks, MsdFile::value_t params ) { for( unsigned s=1; s < params.params.size(); ++s ) - attacks.push_back( params[s] ); + { + RString tmp = params[s]; + Trim(tmp); + attacks.push_back( tmp ); + } } void SMLoader::ProcessAttacks( AttackArray &attacks, MsdFile::value_t params ) @@ -173,6 +177,7 @@ void SMLoader::ProcessAttacks( AttackArray &attacks, MsdFile::value_t params ) end = strtof( sBits[1], NULL ); else if( !sBits[0].CompareNoCase("MODS") ) { + Trim(sBits[1]); attack.sModifiers = sBits[1]; if( end != -9999 ) From ad628e819174e4de49e8c4c70a8ee2dadf4b5191 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 26 Jun 2011 16:10:24 -0700 Subject: [PATCH 206/530] New metric: AutoLockEditSteps. This is mainly for anyone that wants to have bonus charts available after passing Expert. This will probably fail if there are bonus charts after Hard, but no Expert. --- Docs/Luadoc/Lua.xml | 1 + Docs/Luadoc/LuaDocumentation.xml | 3 ++ Themes/_fallback/metrics.ini | 1 + src/UnlockManager.cpp | 51 ++++++++++++++++++++++++++++++++ src/UnlockManager.h | 6 +++- 5 files changed, 61 insertions(+), 1 deletion(-) diff --git a/Docs/Luadoc/Lua.xml b/Docs/Luadoc/Lua.xml index 09967e5dc2..1785b00b94 100644 --- a/Docs/Luadoc/Lua.xml +++ b/Docs/Luadoc/Lua.xml @@ -1476,6 +1476,7 @@ + diff --git a/Docs/Luadoc/LuaDocumentation.xml b/Docs/Luadoc/LuaDocumentation.xml index 8ab7b19a2d..2098898a41 100644 --- a/Docs/Luadoc/LuaDocumentation.xml +++ b/Docs/Luadoc/LuaDocumentation.xml @@ -3720,6 +3720,9 @@ Returns true if the UnlockEntry requires you to pass Hard steps. + + Returns true if the UnlockEntry requires you to pass Challenge steps. + Returns the Song related to the UnlockEntry. diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 0c463a9684..f648fbfabd 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -124,6 +124,7 @@ ExtraColor=color("#ff0000") -- red [UnlockManager] # Unlock specific things. AutoLockChallengeSteps=false +AutoLockEditSteps=false UnlockNames="" # useful commands: diff --git a/src/UnlockManager.cpp b/src/UnlockManager.cpp index 31394af280..4bc21f5495 100644 --- a/src/UnlockManager.cpp +++ b/src/UnlockManager.cpp @@ -25,6 +25,7 @@ UnlockManager* UNLOCKMAN = NULL; // global and accessable from anywhere in our p #define UNLOCK(x) THEME->GetMetricR("UnlockManager", ssprintf("Unlock%sCommand",x.c_str())); static ThemeMetric AUTO_LOCK_CHALLENGE_STEPS( "UnlockManager", "AutoLockChallengeSteps" ); +static ThemeMetric AUTO_LOCK_EDIT_STEPS( "UnlockManager", "AutoLockEditSteps" ); static const char *UnlockRequirementNames[] = { @@ -386,6 +387,21 @@ UnlockEntryStatus UnlockEntry::GetUnlockEntryStatus() const if( PROFILEMAN->GetMachineProfile()->HasPassedSteps(pSong, *s) ) return UnlockEntryStatus_RequirementsMet; } + + if (m_bRequirePassChallengeSteps && m_Song.IsValid()) + { + Song *pSong = m_Song.ToSong(); + vector vp; + SongUtil::GetSteps(pSong, + vp, + StepsType_Invalid, + Difficulty_Challenge); + FOREACH_CONST(Steps*, vp, s) + { + if (PROFILEMAN->GetMachineProfile()->HasPassedSteps(pSong, *s)) + return UnlockEntryStatus_RequirementsMet; + } + } return UnlockEntryStatus_RequrementsNotMet; } @@ -516,6 +532,33 @@ void UnlockManager::Load() m_UnlockEntries.push_back( ue ); } } + + if (AUTO_LOCK_EDIT_STEPS) + { + FOREACH_CONST( Song*, SONGMAN->GetAllSongs(), s ) + { + // no challenge steps to play: skip. + if (SongUtil::GetOneSteps(*s, StepsType_Invalid, Difficulty_Challenge) == NULL) + continue; + + // no edit steps to unlock: skip. + if (SongUtil::GetOneSteps(*s, StepsType_Invalid, Difficulty_Edit) == NULL) + continue; + + // don't add additional songs. + if (SONGMAN->WasLoadedFromAdditionalSongs(*s)) + continue; + + UnlockEntry ue; + ue.m_sEntryID = "_edit_" + (*s)->GetSongDir(); + ue.m_Type = UnlockRewardType_Steps; + ue.m_cmd.Load( (*s)->m_sGroupName+"/"+(*s)->GetTranslitFullTitle()+",edit" ); + ue.m_bRequirePassChallengeSteps = true; + + m_UnlockEntries.push_back(ue); + + } + } // Make sure that we don't have duplicate unlock IDs. This can cause problems // with UnlockCelebrate and with codes. @@ -595,6 +638,8 @@ void UnlockManager::Load() str += ssprintf( "%s = %f; ", UnlockRequirementToString(j).c_str(), e->m_fRequirement[j] ); if( e->m_bRequirePassHardSteps ) str += "RequirePassHardSteps; "; + if (e->m_bRequirePassChallengeSteps) + str += "RequirePassChallengeSteps; "; str += ssprintf( "entryID = %s ", e->m_sEntryID.c_str() ); str += e->IsLocked()? "locked":"unlocked"; @@ -737,6 +782,11 @@ public: static int GetUnlockRewardType( T* p, lua_State *L ) { lua_pushnumber(L, p->m_Type ); return 1; } static int GetRequirement( T* p, lua_State *L ) { UnlockRequirement i = Enum::Check( L, 1 ); lua_pushnumber(L, p->m_fRequirement[i] ); return 1; } static int GetRequirePassHardSteps( T* p, lua_State *L ){ lua_pushboolean(L, p->m_bRequirePassHardSteps); return 1; } + static int GetRequirePassChallengeSteps( T* p, lua_State *L ) + { + lua_pushboolean(L, p->m_bRequirePassChallengeSteps); + return 1; + } static int GetSong( T* p, lua_State *L ) { Song *pSong = p->m_Song.ToSong(); @@ -789,6 +839,7 @@ public: ADD_METHOD( GetUnlockRewardType ); ADD_METHOD( GetRequirement ); ADD_METHOD( GetRequirePassHardSteps ); + ADD_METHOD( GetRequirePassChallengeSteps ); ADD_METHOD( GetSong ); ADD_METHOD( GetCourse ); ADD_METHOD( song ); diff --git a/src/UnlockManager.h b/src/UnlockManager.h index f1c2da3c55..56a14d3db6 100644 --- a/src/UnlockManager.h +++ b/src/UnlockManager.h @@ -63,7 +63,8 @@ public: UnlockEntry(): m_Type(UnlockRewardType_Invalid), m_cmd(), m_Song(), m_dc(Difficulty_Invalid), m_Course(), m_StepsType(StepsType_Invalid), m_bRequirePassHardSteps(false), - m_bRoulette(false), m_sEntryID(RString("")) + m_bRequirePassChallengeSteps(false), m_bRoulette(false), + m_sEntryID(RString("")) { ZERO( m_fRequirement ); } @@ -79,7 +80,10 @@ public: StepsType m_StepsType; float m_fRequirement[NUM_UnlockRequirement]; // unlocked if any of of these are met + /** @brief Must the hard steps be passed to unlock a higher level? */ bool m_bRequirePassHardSteps; + /** @brief Must the challenge steps be passed to unlock a higher level? */ + bool m_bRequirePassChallengeSteps; bool m_bRoulette; RString m_sEntryID; From f706783eb255be8789145b0ddce4d966abc4c80a Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 26 Jun 2011 16:11:59 -0700 Subject: [PATCH 207/530] Changelog for previous commit. --- Docs/Changelog_sm5.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 235ae6c470..f61343d8a6 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,12 @@ ________________________________________________________________________________ StepMania 5.0 Preview 2 | 201106?? -------------------------------------------------------------------------------- +2011/06/26 +---------- +* [UnlockManager] New metric: AutoLockEditSteps. Use this to hide bonus charts + until the Expert steps are beaten. No guarantee that this works with no + challenge steps in the song. [Wolfman2000] + 2011/06/24 ---------- * [Actor] Implement compound(length,tweens) in _fallback/02 Actor.lua. [AJ] From b026159a272342d0fb7e8dd52ab08cc7e7ce4e23 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 26 Jun 2011 16:14:50 -0700 Subject: [PATCH 208/530] New metric: SongsNotAdditional. Set this to false to have AdditionalSongs be valid for unlocking purposes. --- Docs/Changelog_sm5.txt | 3 +++ Themes/_fallback/metrics.ini | 1 + src/UnlockManager.cpp | 5 +++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index f61343d8a6..5f2adbfa8f 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -13,6 +13,9 @@ StepMania 5.0 Preview 2 | 201106?? * [UnlockManager] New metric: AutoLockEditSteps. Use this to hide bonus charts until the Expert steps are beaten. No guarantee that this works with no challenge steps in the song. [Wolfman2000] +* [UnlockManager] New metric: SongsNotAdditional. Set to true to keep the + default behavior, false to have the AdditionalSongs folder contain + unlockable material. This is set to true to start. [Wolfman2000] 2011/06/24 ---------- diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index f648fbfabd..cfa9b78afb 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -125,6 +125,7 @@ ExtraColor=color("#ff0000") -- red # Unlock specific things. AutoLockChallengeSteps=false AutoLockEditSteps=false +SongsNotAdditional=true UnlockNames="" # useful commands: diff --git a/src/UnlockManager.cpp b/src/UnlockManager.cpp index 4bc21f5495..b3d045d649 100644 --- a/src/UnlockManager.cpp +++ b/src/UnlockManager.cpp @@ -26,6 +26,7 @@ UnlockManager* UNLOCKMAN = NULL; // global and accessable from anywhere in our p static ThemeMetric AUTO_LOCK_CHALLENGE_STEPS( "UnlockManager", "AutoLockChallengeSteps" ); static ThemeMetric AUTO_LOCK_EDIT_STEPS( "UnlockManager", "AutoLockEditSteps" ); +static ThemeMetric SONGS_NOT_ADDITIONAL( "UnlockManager", "SongsNotAdditional" ); static const char *UnlockRequirementNames[] = { @@ -520,7 +521,7 @@ void UnlockManager::Load() if( SongUtil::GetOneSteps(*s, StepsType_Invalid, Difficulty_Challenge) == NULL ) continue; - if( SONGMAN->WasLoadedFromAdditionalSongs(*s) ) + if( SONGS_NOT_ADDITIONAL && SONGMAN->WasLoadedFromAdditionalSongs(*s) ) continue; UnlockEntry ue; @@ -546,7 +547,7 @@ void UnlockManager::Load() continue; // don't add additional songs. - if (SONGMAN->WasLoadedFromAdditionalSongs(*s)) + if (SONGS_NOT_ADDITIONAL && SONGMAN->WasLoadedFromAdditionalSongs(*s)) continue; UnlockEntry ue; From 28d0cdc8c2089d422b0cee31cca042083154b08a Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 26 Jun 2011 16:15:09 -0700 Subject: [PATCH 209/530] Clarification. --- Docs/Changelog_sm5.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 5f2adbfa8f..dc15691f30 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -12,7 +12,7 @@ StepMania 5.0 Preview 2 | 201106?? ---------- * [UnlockManager] New metric: AutoLockEditSteps. Use this to hide bonus charts until the Expert steps are beaten. No guarantee that this works with no - challenge steps in the song. [Wolfman2000] + challenge steps in the song. This defaults to false. [Wolfman2000] * [UnlockManager] New metric: SongsNotAdditional. Set to true to keep the default behavior, false to have the AdditionalSongs folder contain unlockable material. This is set to true to start. [Wolfman2000] From 1d5f9830a339dfe8e1ad350feb802110565c6027 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 26 Jun 2011 22:24:22 -0400 Subject: [PATCH 210/530] Get Next and Previous other segments. ...we need to find a way to template these if possible. --- src/TimingData.cpp | 277 ++++++++++++++++++++++++++++++++++++++ src/TimingData.h | 329 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 604 insertions(+), 2 deletions(-) diff --git a/src/TimingData.cpp b/src/TimingData.cpp index 20f9e47642..b63a5fc7d2 100644 --- a/src/TimingData.cpp +++ b/src/TimingData.cpp @@ -753,6 +753,283 @@ int TimingData::GetTickcountAtRow( int iRow ) const return m_TickcountSegments[GetTickcountSegmentIndexAtRow( iRow )].GetTicks(); } +float TimingData::GetPreviousBPMSegmentBeatAtRow( int iRow ) const +{ + float backup = -1; + for (unsigned i = 0; i < m_BPMSegments.size(); i++ ) + { + if( m_BPMSegments[i].GetRow() >= iRow ) + { + break; + } + backup = m_BPMSegments[i].GetBeat(); + } + return (backup > -1) ? backup : NoteRowToBeat(iRow); +} + +float TimingData::GetNextBPMSegmentBeatAtRow( int iRow ) const +{ + for (unsigned i = 0; i < m_BPMSegments.size(); i++ ) + { + if( m_BPMSegments[i].GetRow() <= iRow ) + { + continue; + } + return m_BPMSegments[i].GetBeat(); + } + return NoteRowToBeat(iRow); +} + +float TimingData::GetPreviousStopSegmentBeatAtRow( int iRow ) const +{ + float backup = -1; + for (unsigned i = 0; i < m_StopSegments.size(); i++ ) + { + const StopSegment &s = m_StopSegments[i]; + if( !s.GetDelay() && s.GetRow() >= iRow ) + { + break; + } + backup = s.GetBeat(); + } + return (backup > -1) ? backup : NoteRowToBeat(iRow); +} + +float TimingData::GetNextStopSegmentBeatAtRow( int iRow ) const +{ + for (unsigned i = 0; i < m_StopSegments.size(); i++ ) + { + const StopSegment &s = m_StopSegments[i]; + if( !s.GetDelay() && s.GetRow() <= iRow ) + { + continue; + } + return s.GetBeat(); + } + return NoteRowToBeat(iRow); +} + +float TimingData::GetPreviousDelaySegmentBeatAtRow( int iRow ) const +{ + float backup = -1; + for (unsigned i = 0; i < m_StopSegments.size(); i++ ) + { + const StopSegment &s = m_StopSegments[i]; + if( s.GetDelay() && s.GetRow() >= iRow ) + { + break; + } + backup = s.GetBeat(); + } + return (backup > -1) ? backup : NoteRowToBeat(iRow); +} + +float TimingData::GetNextDelaySegmentBeatAtRow( int iRow ) const +{ + for (unsigned i = 0; i < m_StopSegments.size(); i++ ) + { + const StopSegment &s = m_StopSegments[i]; + if( s.GetDelay() && s.GetRow() <= iRow ) + { + continue; + } + return s.GetBeat(); + } + return NoteRowToBeat(iRow); +} + +float TimingData::GetPreviousTimeSignatureSegmentBeatAtRow( int iRow ) const +{ + float backup = -1; + for (unsigned i = 0; i < m_vTimeSignatureSegments.size(); i++ ) + { + if( m_vTimeSignatureSegments[i].GetRow() >= iRow ) + { + break; + } + backup = m_vTimeSignatureSegments[i].GetBeat(); + } + return (backup > -1) ? backup : NoteRowToBeat(iRow); +} + +float TimingData::GetNextTimeSignatureSegmentBeatAtRow( int iRow ) const +{ + for (unsigned i = 0; i < m_vTimeSignatureSegments.size(); i++ ) + { + if( m_vTimeSignatureSegments[i].GetRow() <= iRow ) + { + continue; + } + return m_vTimeSignatureSegments[i].GetBeat(); + } + return NoteRowToBeat(iRow); +} + + +float TimingData::GetPreviousTickcountSegmentBeatAtRow( int iRow ) const +{ + float backup = -1; + for (unsigned i = 0; i < m_TickcountSegments.size(); i++ ) + { + if( m_TickcountSegments[i].GetRow() >= iRow ) + { + break; + } + backup = m_TickcountSegments[i].GetBeat(); + } + return (backup > -1) ? backup : NoteRowToBeat(iRow); +} + +float TimingData::GetNextTickcountSegmentBeatAtRow( int iRow ) const +{ + for (unsigned i = 0; i < m_TickcountSegments.size(); i++ ) + { + if( m_TickcountSegments[i].GetRow() <= iRow ) + { + continue; + } + return m_TickcountSegments[i].GetBeat(); + } + return NoteRowToBeat(iRow); +} + +float TimingData::GetPreviousComboSegmentBeatAtRow( int iRow ) const +{ + float backup = -1; + for (unsigned i = 0; i < m_ComboSegments.size(); i++ ) + { + if( m_ComboSegments[i].GetRow() >= iRow ) + { + break; + } + backup = m_ComboSegments[i].GetBeat(); + } + return (backup > -1) ? backup : NoteRowToBeat(iRow); +} + +float TimingData::GetNextComboSegmentBeatAtRow( int iRow ) const +{ + for (unsigned i = 0; i < m_ComboSegments.size(); i++ ) + { + if( m_ComboSegments[i].GetRow() <= iRow ) + { + continue; + } + return m_ComboSegments[i].GetBeat(); + } + return NoteRowToBeat(iRow); +} + + + +float TimingData::GetPreviousWarpSegmentBeatAtRow( int iRow ) const +{ + float backup = -1; + for (unsigned i = 0; i < m_WarpSegments.size(); i++ ) + { + if( m_WarpSegments[i].GetRow() >= iRow ) + { + break; + } + backup = m_WarpSegments[i].GetBeat(); + } + return (backup > -1) ? backup : NoteRowToBeat(iRow); +} + +float TimingData::GetNextWarpSegmentBeatAtRow( int iRow ) const +{ + for (unsigned i = 0; i < m_WarpSegments.size(); i++ ) + { + if( m_WarpSegments[i].GetRow() <= iRow ) + { + continue; + } + return m_WarpSegments[i].GetBeat(); + } + return NoteRowToBeat(iRow); +} + +float TimingData::GetPreviousFakeSegmentBeatAtRow( int iRow ) const +{ + float backup = -1; + for (unsigned i = 0; i < m_FakeSegments.size(); i++ ) + { + if( m_FakeSegments[i].GetRow() >= iRow ) + { + break; + } + backup = m_FakeSegments[i].GetBeat(); + } + return (backup > -1) ? backup : NoteRowToBeat(iRow); +} + +float TimingData::GetNextFakeSegmentBeatAtRow( int iRow ) const +{ + for (unsigned i = 0; i < m_FakeSegments.size(); i++ ) + { + if( m_FakeSegments[i].GetRow() <= iRow ) + { + continue; + } + return m_FakeSegments[i].GetBeat(); + } + return NoteRowToBeat(iRow); +} + +float TimingData::GetPreviousSpeedSegmentBeatAtRow( int iRow ) const +{ + float backup = -1; + for (unsigned i = 0; i < m_SpeedSegments.size(); i++ ) + { + if( m_SpeedSegments[i].GetRow() >= iRow ) + { + break; + } + backup = m_SpeedSegments[i].GetBeat(); + } + return (backup > -1) ? backup : NoteRowToBeat(iRow); +} + +float TimingData::GetNextSpeedSegmentBeatAtRow( int iRow ) const +{ + for (unsigned i = 0; i < m_SpeedSegments.size(); i++ ) + { + if( m_SpeedSegments[i].GetRow() <= iRow ) + { + continue; + } + return m_SpeedSegments[i].GetBeat(); + } + return NoteRowToBeat(iRow); +} + +float TimingData::GetPreviousScrollSegmentBeatAtRow( int iRow ) const +{ + float backup = -1; + for (unsigned i = 0; i < m_ScrollSegments.size(); i++ ) + { + if( m_ScrollSegments[i].GetRow() >= iRow ) + { + break; + } + backup = m_ScrollSegments[i].GetBeat(); + } + return (backup > -1) ? backup : NoteRowToBeat(iRow); +} + +float TimingData::GetNextScrollSegmentBeatAtRow( int iRow ) const +{ + for (unsigned i = 0; i < m_ScrollSegments.size(); i++ ) + { + if( m_ScrollSegments[i].GetRow() <= iRow ) + { + continue; + } + return m_ScrollSegments[i].GetBeat(); + } + return NoteRowToBeat(iRow); +} + float TimingData::GetPreviousLabelSegmentBeatAtRow( int iRow ) const { float backup = -1; diff --git a/src/TimingData.h b/src/TimingData.h index 687016ea5b..b8119b4913 100644 --- a/src/TimingData.h +++ b/src/TimingData.h @@ -83,6 +83,38 @@ public: */ void AddBPMSegment( const BPMSegment &seg ); + /** + * @brief Retrieve the next beat that contains a BPMSegment. + * @param iRow the present row. + * @return the next beat with a BPMSegment, or fBeat if there is none ahead. + */ + float GetNextBPMSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a BPMSegment. + * @param fBeat the present beat. + * @return the next beat with a BPMSegment, or fBeat if there is none ahead. + */ + float GetNextBPMSegmentBeatAtBeat( float fBeat ) const + { + return this->GetNextBPMSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + /** + * @brief Retrieve the previous beat that contains a BPMSegment. + * @param iRow the present row. + * @return the previous beat with a BPMSegment, or fBeat if there is none prior. + */ + float GetPreviousBPMSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a BPMSegment. + * @param fBeat the present beat. + * @return the previous beat with a BPMSegment, or fBeat if there is none prior. + */ + float GetPreviousBPMSegmentBeatAtBeat( float fBeat ) const + { + return this->GetPreviousBPMSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + + /** * @brief Retrieve the Stop/Delay at the given row. * @param iNoteRow the row in question. @@ -249,6 +281,68 @@ public: */ void AddStopSegment( const StopSegment &seg ); + /** + * @brief Retrieve the next beat that contains a StopSegment. + * @param iRow the present row. + * @return the next beat with a StopSegment, or fBeat if there is none ahead. + */ + float GetNextStopSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a StopSegment. + * @param fBeat the present beat. + * @return the next beat with a StopSegment, or fBeat if there is none ahead. + */ + float GetNextStopSegmentBeatAtBeat( float fBeat ) const + { + return this->GetNextStopSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + /** + * @brief Retrieve the previous beat that contains a StopSegment. + * @param iRow the present row. + * @return the previous beat with a StopSegment, or fBeat if there is none prior. + */ + float GetPreviousStopSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a StopSegment. + * @param fBeat the present beat. + * @return the previous beat with a StopSegment, or fBeat if there is none prior. + */ + float GetPreviousStopSegmentBeatAtBeat( float fBeat ) const + { + return this->GetPreviousStopSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + + /** + * @brief Retrieve the next beat that contains a DelaySegment. + * @param iRow the present row. + * @return the next beat with a DelaySegment, or fBeat if there is none ahead. + */ + float GetNextDelaySegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a DelaySegment. + * @param fBeat the present beat. + * @return the next beat with a DelaySegment, or fBeat if there is none ahead. + */ + float GetNextDelaySegmentBeatAtBeat( float fBeat ) const + { + return this->GetNextDelaySegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + /** + * @brief Retrieve the previous beat that contains a DelaySegment. + * @param iRow the present row. + * @return the previous beat with a DelaySegment, or fBeat if there is none prior. + */ + float GetPreviousDelaySegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a DelaySegment. + * @param fBeat the present beat. + * @return the previous beat with a DelaySegment, or fBeat if there is none prior. + */ + float GetPreviousDelaySegmentBeatAtBeat( float fBeat ) const + { + return this->GetPreviousDelaySegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + /** * @brief Retrieve the Time Signature's numerator at the given row. * @param iNoteRow the row in question. @@ -345,6 +439,39 @@ public: * @param iRow The row you start on. * @return the beat you warp to. */ + + /** + * @brief Retrieve the next beat that contains a TimeSignatureSegment. + * @param iRow the present row. + * @return the next beat with a TimeSignatureSegment, or fBeat if there is none ahead. + */ + float GetNextTimeSignatureSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a TimeSignatureSegment. + * @param fBeat the present beat. + * @return the next beat with a TimeSignatureSegment, or fBeat if there is none ahead. + */ + float GetNextTimeSignatureSegmentBeatAtBeat( float fBeat ) const + { + return this->GetNextTimeSignatureSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + /** + * @brief Retrieve the previous beat that contains a TimeSignatureSegment. + * @param iRow the present row. + * @return the previous beat with a TimeSignatureSegment, or fBeat if there is none prior. + */ + float GetPreviousTimeSignatureSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a TimeSignatureSegment. + * @param fBeat the present beat. + * @return the previous beat with a TimeSignatureSegment, or fBeat if there is none prior. + */ + float GetPreviousTimeSignatureSegmentBeatAtBeat( float fBeat ) const + { + return this->GetPreviousTimeSignatureSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + + float GetWarpAtRow( int iRow ) const; /** * @brief Determine the beat to warp to. @@ -405,6 +532,39 @@ public: * @param seg the new WarpSegment. */ void AddWarpSegment( const WarpSegment &seg ); + + + /** + * @brief Retrieve the next beat that contains a WarpSegment. + * @param iRow the present row. + * @return the next beat with a WarpSegment, or fBeat if there is none ahead. + */ + float GetNextWarpSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a WarpSegment. + * @param fBeat the present beat. + * @return the next beat with a WarpSegment, or fBeat if there is none ahead. + */ + float GetNextWarpSegmentBeatAtBeat( float fBeat ) const + { + return this->GetNextWarpSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + /** + * @brief Retrieve the previous beat that contains a WarpSegment. + * @param iRow the present row. + * @return the previous beat with a WarpSegment, or fBeat if there is none prior. + */ + float GetPreviousWarpSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a WarpSegment. + * @param fBeat the present beat. + * @return the previous beat with a WarpSegment, or fBeat if there is none prior. + */ + float GetPreviousWarpSegmentBeatAtBeat( float fBeat ) const + { + return this->GetPreviousWarpSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + /** * @brief Retrieve the Tickcount at the given row. * @param iNoteRow the row in question. @@ -459,6 +619,38 @@ public: */ void AddTickcountSegment( const TickcountSegment &seg ); + /** + * @brief Retrieve the next beat that contains a TickcountSegment. + * @param iRow the present row. + * @return the next beat with a TickcountSegment, or fBeat if there is none ahead. + */ + float GetNextTickcountSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a TickcountSegment. + * @param fBeat the present beat. + * @return the next beat with a TickcountSegment, or fBeat if there is none ahead. + */ + float GetNextTickcountSegmentBeatAtBeat( float fBeat ) const + { + return this->GetNextTickcountSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + /** + * @brief Retrieve the previous beat that contains a TickcountSegment. + * @param iRow the present row. + * @return the previous beat with a TickcountSegment, or fBeat if there is none prior. + */ + float GetPreviousTickcountSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a TickcountSegment. + * @param fBeat the present beat. + * @return the previous beat with a TickcountSegment, or fBeat if there is none prior. + */ + float GetPreviousTickcountSegmentBeatAtBeat( float fBeat ) const + { + return this->GetPreviousTickcountSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + + /** * @brief Retrieve the Combo at the given row. * @param iNoteRow the row in question. @@ -513,6 +705,38 @@ public: */ void AddComboSegment( const ComboSegment &seg ); + /** + * @brief Retrieve the next beat that contains a ComboSegment. + * @param iRow the present row. + * @return the next beat with a ComboSegment, or fBeat if there is none ahead. + */ + float GetNextComboSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a ComboSegment. + * @param fBeat the present beat. + * @return the next beat with a ComboSegment, or fBeat if there is none ahead. + */ + float GetNextComboSegmentBeatAtBeat( float fBeat ) const + { + return this->GetNextComboSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + /** + * @brief Retrieve the previous beat that contains a ComboSegment. + * @param iRow the present row. + * @return the previous beat with a ComboSegment, or fBeat if there is none prior. + */ + float GetPreviousComboSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a ComboSegment. + * @param fBeat the present beat. + * @return the previous beat with a ComboSegment, or fBeat if there is none prior. + */ + float GetPreviousComboSegmentBeatAtBeat( float fBeat ) const + { + return this->GetPreviousComboSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + + /** * @brief Retrieve the Label at the given row. * @param iNoteRow the row in question. @@ -578,7 +802,10 @@ public: * @param fBeat the present beat. * @return the previous beat with a LabelSegment, or fBeat if there is none prior. */ - float GetPreviousLabelSegmentBeatAtBeat( float fBeat ) const { return GetPreviousLabelSegmentBeatAtRow( BeatToNoteRow(fBeat) ); } + float GetPreviousLabelSegmentBeatAtBeat( float fBeat ) const + { + return this->GetPreviousLabelSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } /** * @brief Determine if the requisite label already exists. @@ -597,7 +824,10 @@ public: * @param fBeat the present beat. * @return the next beat with a LabelSegment, or fBeat if there is none ahead. */ - float GetNextLabelSegmentBeatAtBeat( float fBeat ) const { return GetNextLabelSegmentBeatAtRow( BeatToNoteRow(fBeat) ); } + float GetNextLabelSegmentBeatAtBeat( float fBeat ) const + { + return this->GetNextLabelSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } /** @@ -720,6 +950,38 @@ public: float GetDisplayedSpeedPercent( float fBeat, float fMusicSeconds ) const; + /** + * @brief Retrieve the next beat that contains a SpeedSegment. + * @param iRow the present row. + * @return the next beat with a SpeedSegment, or fBeat if there is none ahead. + */ + float GetNextSpeedSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a SpeedSegment. + * @param fBeat the present beat. + * @return the next beat with a SpeedSegment, or fBeat if there is none ahead. + */ + float GetNextSpeedSegmentBeatAtBeat( float fBeat ) const + { + return this->GetNextSpeedSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + /** + * @brief Retrieve the previous beat that contains a SpeedSegment. + * @param iRow the present row. + * @return the previous beat with a SpeedSegment, or fBeat if there is none prior. + */ + float GetPreviousSpeedSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a SpeedSegment. + * @param fBeat the present beat. + * @return the previous beat with a SpeedSegment, or fBeat if there is none prior. + */ + float GetPreviousSpeedSegmentBeatAtBeat( float fBeat ) const + { + return this->GetPreviousSpeedSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + + /** * @brief Retrieve the scrolling factor at the given row. * @param iNoteRow the row in question. @@ -778,6 +1040,37 @@ public: */ void AddScrollSegment( const ScrollSegment &seg ); + /** + * @brief Retrieve the next beat that contains a ScrollSegment. + * @param iRow the present row. + * @return the next beat with a ScrollSegment, or fBeat if there is none ahead. + */ + float GetNextScrollSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a ScrollSegment. + * @param fBeat the present beat. + * @return the next beat with a ScrollSegment, or fBeat if there is none ahead. + */ + float GetNextScrollSegmentBeatAtBeat( float fBeat ) const + { + return this->GetNextScrollSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + /** + * @brief Retrieve the previous beat that contains a ScrollSegment. + * @param iRow the present row. + * @return the previous beat with a ScrollSegment, or fBeat if there is none prior. + */ + float GetPreviousScrollSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a ScrollSegment. + * @param fBeat the present beat. + * @return the previous beat with a ScrollSegment, or fBeat if there is none prior. + */ + float GetPreviousScrollSegmentBeatAtBeat( float fBeat ) const + { + return this->GetPreviousScrollSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + /** * @brief Determine when the fakes end. @@ -845,6 +1138,38 @@ public: */ void AddFakeSegment( const FakeSegment &seg ); + /** + * @brief Retrieve the next beat that contains a FakeSegment. + * @param iRow the present row. + * @return the next beat with a FakeSegment, or fBeat if there is none ahead. + */ + float GetNextFakeSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a FakeSegment. + * @param fBeat the present beat. + * @return the next beat with a FakeSegment, or fBeat if there is none ahead. + */ + float GetNextFakeSegmentBeatAtBeat( float fBeat ) const + { + return this->GetNextFakeSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + /** + * @brief Retrieve the previous beat that contains a FakeSegment. + * @param iRow the present row. + * @return the previous beat with a FakeSegment, or fBeat if there is none prior. + */ + float GetPreviousFakeSegmentBeatAtRow( int iRow ) const; + /** + * @brief Retrieve the previous beat that contains a FakeSegment. + * @param fBeat the present beat. + * @return the previous beat with a FakeSegment, or fBeat if there is none prior. + */ + float GetPreviousFakeSegmentBeatAtBeat( float fBeat ) const + { + return this->GetPreviousFakeSegmentBeatAtRow( BeatToNoteRow(fBeat) ); + } + + /** * @brief Determine if this notes on this row can be judged. * @param row the row to focus on. From 11ea4e62dadcb311e03f5ba5bed8b0d6df7783dc Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 26 Jun 2011 22:56:39 -0400 Subject: [PATCH 211/530] Fix Stop/Delay conflicts. We REALLY need to separate these two. --- src/TimingData.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/TimingData.cpp b/src/TimingData.cpp index b63a5fc7d2..5e1644b5fa 100644 --- a/src/TimingData.cpp +++ b/src/TimingData.cpp @@ -786,11 +786,12 @@ float TimingData::GetPreviousStopSegmentBeatAtRow( int iRow ) const for (unsigned i = 0; i < m_StopSegments.size(); i++ ) { const StopSegment &s = m_StopSegments[i]; - if( !s.GetDelay() && s.GetRow() >= iRow ) + if( s.GetRow() >= iRow ) { break; } - backup = s.GetBeat(); + if (!s.GetDelay()) + backup = s.GetBeat(); } return (backup > -1) ? backup : NoteRowToBeat(iRow); } @@ -800,11 +801,12 @@ float TimingData::GetNextStopSegmentBeatAtRow( int iRow ) const for (unsigned i = 0; i < m_StopSegments.size(); i++ ) { const StopSegment &s = m_StopSegments[i]; - if( !s.GetDelay() && s.GetRow() <= iRow ) + if( s.GetRow() <= iRow ) { continue; } - return s.GetBeat(); + if (!s.GetDelay()) + return s.GetBeat(); } return NoteRowToBeat(iRow); } @@ -815,11 +817,12 @@ float TimingData::GetPreviousDelaySegmentBeatAtRow( int iRow ) const for (unsigned i = 0; i < m_StopSegments.size(); i++ ) { const StopSegment &s = m_StopSegments[i]; - if( s.GetDelay() && s.GetRow() >= iRow ) + if( s.GetRow() >= iRow ) { break; } - backup = s.GetBeat(); + if (s.GetDelay()) + backup = s.GetBeat(); } return (backup > -1) ? backup : NoteRowToBeat(iRow); } @@ -829,11 +832,12 @@ float TimingData::GetNextDelaySegmentBeatAtRow( int iRow ) const for (unsigned i = 0; i < m_StopSegments.size(); i++ ) { const StopSegment &s = m_StopSegments[i]; - if( s.GetDelay() && s.GetRow() <= iRow ) + if( s.GetRow() <= iRow ) { continue; } - return s.GetBeat(); + if (s.GetDelay()) + return s.GetBeat(); } return NoteRowToBeat(iRow); } From e658714b53caec901a2c576417d4b45c84ba7019 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 26 Jun 2011 23:11:57 -0400 Subject: [PATCH 212/530] Allow cycling/jumping through all segments. Better to re-use keys we have than add multiple key strokes when I sense we'll need them. --- Docs/Changelog_sm5.txt | 3 + Themes/_fallback/Languages/en.ini | 3 +- Themes/_fallback/metrics.ini | 3 +- src/ScreenEdit.cpp | 147 ++++++++++++++++++++++++++---- src/ScreenEdit.h | 10 +- 5 files changed, 145 insertions(+), 21 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index dc15691f30..f219111c37 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -16,6 +16,9 @@ StepMania 5.0 Preview 2 | 201106?? * [UnlockManager] New metric: SongsNotAdditional. Set to true to keep the default behavior, false to have the AdditionalSongs folder contain unlockable material. This is set to true to start. [Wolfman2000] +* [ScreenEdit] Allow jumping between all segments, not just Label segments. + You still use Ctrl + ,/. to jump, but now you use Ctrl + N/M to cycle the + segments. By default, it starts with Label. [Wolfman2000] 2011/06/24 ---------- diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 44d676e1b8..d0a35adbfa 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -1264,7 +1264,7 @@ Enter a new min BPM.=Enter the minimum displayed BPM. Enter a new max BPM.=Enter the maximum displayed BPM. More than %d notes per measure is not allowed. This change has been reverted.=More than %d notes per measure is not allowed. This change has been reverted. No backgrounds available=No backgrounds available -EditHelpText=Up/Down:\n change beat\nLeft/Right:\n change snap\nNumber keys:\n add/remove\n tap note\nN and M keys:\n swap tap notes\nCreate hold note:\n Hold a number\n while moving\n Up or Down\nCreate roll note:\n Hold Shift,\n then create a\n hold note.\nSpace bar:\n Set area\n marker\nT key:\n Switch Timing\nEnter:\n Area Menu\nA Key: Alter Menu\nEscape:\n Main Menu\nF4:\n Timing Menu\nF1:\n Show help\n +EditHelpText=Up/Down:\n change beat\nLeft/Right:\n change snap\nNumber keys:\n add/remove\n tap note\nN and M keys:\n swap tap notes\nCtrl + N/M:\n swap cycled segment\nCreate hold note:\n Hold a number\n while moving\n Up or Down\nCreate roll note:\n Hold Shift,\n then create a\n hold note.\nSpace bar:\n Set area\n marker\nT key:\n Switch Timing\nEnter:\n Area Menu\nA Key: Alter Menu\nEscape:\n Main Menu\nF4:\n Timing Menu\nF1:\n Show help\n PlayRecordHelpText=Press START to end Save successful.=Save successful. Saved as SM and DWI.=Saved as SM and DWI. @@ -1288,6 +1288,7 @@ Chart Style=Chart Style Main title=Main title Subtitle=Subtitle Tap Note=Tap Note +Segment=Segment Tap Steps=Tap Steps Jumps=Jumps Hands=Hands diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index cfa9b78afb..e814935e90 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -3651,7 +3651,7 @@ LoopOnChartEnd=true CurrentBeatFormat="%s:\n %.5f\n" CurrentSecondFormat="%s:\n %.5f\n" -SnapToFormat="%s:\n %s\n" +SnapToFormat="%s: %s\n" SelectionBeatBeginFormat="%s:\n %.5f" SelectionBeatUnfinishedFormat=" ...\n" SelectionBeatEndFormat="-%.5f\n" @@ -3662,6 +3662,7 @@ ChartStyleFormat="%s:\n %s\n" MainTitleFormat="%s:\n %s\n" SubtitleFormat="%s:\n %s\n" TapNoteTypeFormat="%s: %s\n" +SegmentTypeFormat="%s: %s\n" NumStepsFormat="%s: %d\n" NumJumpsFormat="%s: %d\n" NumHoldsFormat="%s: %d\n" diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index b6af108d6b..08a0377783 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -146,13 +146,13 @@ void ScreenEdit::InitEditMappings() m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_NEXT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_PERIOD); m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_PREV][0] = DeviceInput(DEVICE_KEYBOARD, KEY_COMMA); - m_EditMappingsDeviceInput.button[EDIT_BUTTON_LABEL_NEXT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_PERIOD); - m_EditMappingsDeviceInput.hold[EDIT_BUTTON_LABEL_NEXT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LCTRL); - m_EditMappingsDeviceInput.hold[EDIT_BUTTON_LABEL_NEXT][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RCTRL); + m_EditMappingsDeviceInput.button[EDIT_BUTTON_SEGMENT_NEXT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_PERIOD); + m_EditMappingsDeviceInput.hold[EDIT_BUTTON_SEGMENT_NEXT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LCTRL); + m_EditMappingsDeviceInput.hold[EDIT_BUTTON_SEGMENT_NEXT][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RCTRL); - m_EditMappingsDeviceInput.button[EDIT_BUTTON_LABEL_PREV][0] = DeviceInput(DEVICE_KEYBOARD, KEY_COMMA); - m_EditMappingsDeviceInput.hold[EDIT_BUTTON_LABEL_PREV][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LCTRL); - m_EditMappingsDeviceInput.hold[EDIT_BUTTON_LABEL_PREV][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RCTRL); + m_EditMappingsDeviceInput.button[EDIT_BUTTON_SEGMENT_PREV][0] = DeviceInput(DEVICE_KEYBOARD, KEY_COMMA); + m_EditMappingsDeviceInput.hold[EDIT_BUTTON_SEGMENT_PREV][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LCTRL); + m_EditMappingsDeviceInput.hold[EDIT_BUTTON_SEGMENT_PREV][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RCTRL); m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_SELECT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LSHIFT); m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_SELECT][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RSHIFT); @@ -277,6 +277,14 @@ void ScreenEdit::InitEditMappings() m_EditMappingsDeviceInput.button[EDIT_BUTTON_CYCLE_TAP_LEFT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cn); m_EditMappingsDeviceInput.button[EDIT_BUTTON_CYCLE_TAP_RIGHT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cm); + m_EditMappingsDeviceInput.button[EDIT_BUTTON_CYCLE_SEGMENT_LEFT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cn); + m_EditMappingsDeviceInput.hold[EDIT_BUTTON_CYCLE_SEGMENT_LEFT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LCTRL); + m_EditMappingsDeviceInput.hold[EDIT_BUTTON_CYCLE_SEGMENT_LEFT][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RCTRL); + + m_EditMappingsDeviceInput.button[EDIT_BUTTON_CYCLE_SEGMENT_RIGHT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cm); + m_EditMappingsDeviceInput.hold[EDIT_BUTTON_CYCLE_SEGMENT_RIGHT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LCTRL); + m_EditMappingsDeviceInput.hold[EDIT_BUTTON_CYCLE_SEGMENT_RIGHT][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RCTRL); + m_EditMappingsDeviceInput.button [EDIT_BUTTON_SCROLL_SPEED_UP][0] = DeviceInput(DEVICE_KEYBOARD, KEY_UP); m_EditMappingsDeviceInput.hold[EDIT_BUTTON_SCROLL_SPEED_UP][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LCTRL); m_EditMappingsDeviceInput.hold[EDIT_BUTTON_SCROLL_SPEED_UP][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RCTRL); @@ -772,6 +780,8 @@ void ScreenEdit::Init() ScreenWithMenuElements::Init(); InitEditMappings(); + + currentCycleSegment = "label"; // save the originals for reverting later CopyToLastSave(); @@ -1103,6 +1113,7 @@ static LocalizedString CHART_STYLE("ScreenEdit", "Chart Style"); static LocalizedString MAIN_TITLE("ScreenEdit", "Main title"); static LocalizedString SUBTITLE("ScreenEdit", "Subtitle"); static LocalizedString TAP_NOTE_TYPE("ScreenEdit", "Tap Note"); +static LocalizedString SEGMENT_TYPE("ScreenEdit", "Segment"); static LocalizedString TAP_STEPS("ScreenEdit", "Tap Steps"); static LocalizedString JUMPS("ScreenEdit", "Jumps"); static LocalizedString HANDS("ScreenEdit", "Hands"); @@ -1131,6 +1142,7 @@ static ThemeMetric CHART_STYLE_FORMAT("ScreenEdit", "ChartStyleFormat") static ThemeMetric MAIN_TITLE_FORMAT("ScreenEdit", "MainTitleFormat"); static ThemeMetric SUBTITLE_FORMAT("ScreenEdit", "SubtitleFormat"); static ThemeMetric TAP_NOTE_TYPE_FORMAT("ScreenEdit", "TapNoteTypeFormat"); +static ThemeMetric SEGMENT_TYPE_FORMAT("ScreenEdit", "SegmentTypeFormat"); static ThemeMetric NUM_STEPS_FORMAT("ScreenEdit", "NumStepsFormat"); static ThemeMetric NUM_JUMPS_FORMAT("ScreenEdit", "NumJumpsFormat"); static ThemeMetric NUM_HOLDS_FORMAT("ScreenEdit", "NumHoldsFormat"); @@ -1200,8 +1212,9 @@ void ScreenEdit::UpdateTextInfo() sText += ssprintf( MAIN_TITLE_FORMAT.GetValue(), MAIN_TITLE.GetValue().c_str(), m_pSong->m_sMainTitle.c_str() ); if( m_pSong->m_sSubTitle.size() ) sText += ssprintf( SUBTITLE_FORMAT.GetValue(), SUBTITLE.GetValue().c_str(), m_pSong->m_sSubTitle.c_str() ); + sText += ssprintf( SEGMENT_TYPE_FORMAT.GetValue(), SEGMENT_TYPE.GetValue().c_str(), currentCycleSegment.c_str() ); sText += ssprintf( TAP_NOTE_TYPE_FORMAT.GetValue(), TAP_NOTE_TYPE.GetValue().c_str(), TapNoteTypeToString( m_selectedTap.type ).c_str() ); - break; + break; } GAMESTATE->SetProcessedTimingData(&m_pSteps->m_Timing); @@ -1457,6 +1470,62 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) } break; } + case EDIT_BUTTON_CYCLE_SEGMENT_LEFT: + { + if (this->currentCycleSegment == "label") + this->currentCycleSegment = "fake"; + else if (this->currentCycleSegment == "fake") + this->currentCycleSegment = "scroll"; + else if (this->currentCycleSegment == "scroll") + this->currentCycleSegment = "speed"; + else if (this->currentCycleSegment == "speed") + this->currentCycleSegment = "combo"; + else if (this->currentCycleSegment == "combo") + this->currentCycleSegment = "tickcount"; + else if (this->currentCycleSegment == "tickcount") + this->currentCycleSegment = "timeSig"; + else if (this->currentCycleSegment == "timeSig") + this->currentCycleSegment = "warp"; + else if (this->currentCycleSegment == "warp") + this->currentCycleSegment = "delay"; + else if (this->currentCycleSegment == "delay") + this->currentCycleSegment = "stop"; + else if (this->currentCycleSegment == "stop") + this->currentCycleSegment = "bpm"; + else if (this->currentCycleSegment == "bpm") + this->currentCycleSegment = "label"; + // fallback gracefully instead of assert. + else this->currentCycleSegment = "label"; + break; + } + case EDIT_BUTTON_CYCLE_SEGMENT_RIGHT: + { + if (this->currentCycleSegment == "label") + this->currentCycleSegment = "bpm"; + else if (this->currentCycleSegment == "bpm") + this->currentCycleSegment = "stop"; + else if (this->currentCycleSegment == "stop") + this->currentCycleSegment = "delay"; + else if (this->currentCycleSegment == "delay") + this->currentCycleSegment = "warp"; + else if (this->currentCycleSegment == "warp") + this->currentCycleSegment = "timeSig"; + else if (this->currentCycleSegment == "timeSig") + this->currentCycleSegment = "tickcount"; + else if (this->currentCycleSegment == "tickcount") + this->currentCycleSegment = "combo"; + else if (this->currentCycleSegment == "combo") + this->currentCycleSegment = "speed"; + else if (this->currentCycleSegment == "speed") + this->currentCycleSegment = "scroll"; + else if (this->currentCycleSegment == "scroll") + this->currentCycleSegment = "fake"; + else if (this->currentCycleSegment == "fake") + this->currentCycleSegment = "label"; + // fallback gracefully instead of assert. + else this->currentCycleSegment = "label"; + break; + } case EDIT_BUTTON_SCROLL_SPEED_UP: case EDIT_BUTTON_SCROLL_SPEED_DOWN: { @@ -1571,16 +1640,60 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) ScrollTo( NoteRowToBeat(iRow) ); } break; - case EDIT_BUTTON_LABEL_NEXT: - { - ScrollTo( GetAppropriateTiming().GetNextLabelSegmentBeatAtBeat( GetBeat() ) ); - } - break; - case EDIT_BUTTON_LABEL_PREV: - { - ScrollTo( GetAppropriateTiming().GetPreviousLabelSegmentBeatAtBeat( GetBeat() ) ); - } - break; + case EDIT_BUTTON_SEGMENT_NEXT: + { + TimingData &timing = GetAppropriateTiming(); + if (this->currentCycleSegment == "label") + ScrollTo(timing.GetNextLabelSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "bpm") + ScrollTo(timing.GetNextBPMSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "stop") + ScrollTo(timing.GetNextStopSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "delay") + ScrollTo(timing.GetNextDelaySegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "warp") + ScrollTo(timing.GetNextWarpSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "timeSig") + ScrollTo(timing.GetNextTimeSignatureSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "tickcount") + ScrollTo(timing.GetNextTickcountSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "combo") + ScrollTo(timing.GetNextComboSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "speed") + ScrollTo(timing.GetNextSpeedSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "scroll") + ScrollTo(timing.GetNextScrollSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "fake") + ScrollTo(timing.GetNextFakeSegmentBeatAtBeat(GetBeat())); + } + break; + case EDIT_BUTTON_SEGMENT_PREV: + { + TimingData &timing = GetAppropriateTiming(); + if (this->currentCycleSegment == "label") + ScrollTo(timing.GetPreviousLabelSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "bpm") + ScrollTo(timing.GetPreviousBPMSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "stop") + ScrollTo(timing.GetPreviousStopSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "delay") + ScrollTo(timing.GetPreviousDelaySegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "warp") + ScrollTo(timing.GetPreviousWarpSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "timeSig") + ScrollTo(timing.GetPreviousTimeSignatureSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "tickcount") + ScrollTo(timing.GetPreviousTickcountSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "combo") + ScrollTo(timing.GetPreviousComboSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "speed") + ScrollTo(timing.GetPreviousSpeedSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "scroll") + ScrollTo(timing.GetPreviousScrollSegmentBeatAtBeat(GetBeat())); + else if (this->currentCycleSegment == "fake") + ScrollTo(timing.GetPreviousFakeSegmentBeatAtBeat(GetBeat())); + } + break; case EDIT_BUTTON_SNAP_NEXT: if( m_SnapDisplay.PrevSnapMode() ) OnSnapModeChange(); diff --git a/src/ScreenEdit.h b/src/ScreenEdit.h index 61c2b4abcc..bdfbdc71f4 100644 --- a/src/ScreenEdit.h +++ b/src/ScreenEdit.h @@ -60,6 +60,9 @@ enum EditButton EDIT_BUTTON_CYCLE_TAP_LEFT, /**< Rotate the available tap notes once to the "left". */ EDIT_BUTTON_CYCLE_TAP_RIGHT, /**< Rotate the available tap notes once to the "right". */ + EDIT_BUTTON_CYCLE_SEGMENT_LEFT, /**< Select one segment to the left for jumping. */ + EDIT_BUTTON_CYCLE_SEGMENT_RIGHT, /**< Select one segment to the right for jumping. */ + EDIT_BUTTON_SCROLL_UP_LINE, EDIT_BUTTON_SCROLL_UP_PAGE, EDIT_BUTTON_SCROLL_UP_TS, @@ -73,8 +76,8 @@ enum EditButton EDIT_BUTTON_SCROLL_NEXT, EDIT_BUTTON_SCROLL_PREV, - EDIT_BUTTON_LABEL_NEXT, /**< Jump to the start of the next label downward. */ - EDIT_BUTTON_LABEL_PREV, /**< Jump to the start of the previous label upward. */ + EDIT_BUTTON_SEGMENT_NEXT, /**< Jump to the start of the next segment downward. */ + EDIT_BUTTON_SEGMENT_PREV, /**< Jump to the start of the previous segment upward. */ // These are modifiers to EDIT_BUTTON_SCROLL_*. EDIT_BUTTON_SCROLL_SELECT, @@ -273,6 +276,9 @@ protected: /** @brief The current TapNote that would be inserted. */ TapNote m_selectedTap; + /** @brief The type of segment users will jump back and forth between. */ + RString currentCycleSegment; + void UpdateTextInfo(); BitmapText m_textInfo; // status information that changes bool m_bTextInfoNeedsUpdate; From ceb79c5bb85b15eb460e48bd7ec4a351d743eb7e Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 26 Jun 2011 23:28:52 -0400 Subject: [PATCH 213/530] Prepare for the NoAttacks mod. --- Themes/_fallback/Languages/en.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index d0a35adbfa..2706ab81b6 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -656,6 +656,7 @@ Never=Never New=New NewEdit=-New Edit- No=No +NoAttacks=No Attacks NoHands=No Hands NoHolds=No Holds NoJumps=No Jumps From 4ab534de757d86371d09d4ceb10840c8f4b31fa7 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 26 Jun 2011 23:58:24 -0400 Subject: [PATCH 214/530] Use NoAttacks vs StepAttacks. --- Docs/Changelog_sm5.txt | 2 ++ Themes/_fallback/metrics.ini | 6 +++--- src/PlayerOptions.cpp | 28 ++++++++++++++++++++-------- src/PlayerOptions.h | 4 ++-- src/ScreenEdit.cpp | 25 ++++++++++++++----------- src/ScreenGameplay.cpp | 7 ++++--- 6 files changed, 45 insertions(+), 27 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index f219111c37..8d6ebb820b 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -19,6 +19,8 @@ StepMania 5.0 Preview 2 | 201106?? * [ScreenEdit] Allow jumping between all segments, not just Label segments. You still use Ctrl + ,/. to jump, but now you use Ctrl + N/M to cycle the segments. By default, it starts with Label. [Wolfman2000] +* [PlayerOptions] No longer display StepAttacks in the player's list. + Instead, show NoAttacks if attacks are disabled. [Wolfman2000] 2011/06/24 ---------- diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index e814935e90..1632ddae96 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -2355,10 +2355,10 @@ Mines,3="mod,mines;name,Add" Mines,4="mod,attackmines;name,AttackMines" Attacks="3" -AttacksDefault="mod,stepattacks" -Attacks,1="name,StepAttacks" +AttacksDefault="mod,no randomattacks, no noattacks" +Attacks,1="name,On" Attacks,2="mod,randomattacks;name,RandomAttacks" -Attacks,3="mod,no randomattacks,no stepattacks;name,Off" +Attacks,3="mod,noattacks;name,Off" PlayerAutoPlay="2" PlayerAutoPlayDefault="mod,no playerautoplay" diff --git a/src/PlayerOptions.cpp b/src/PlayerOptions.cpp index 76005c156b..5e4aa5666d 100644 --- a/src/PlayerOptions.cpp +++ b/src/PlayerOptions.cpp @@ -37,7 +37,7 @@ void PlayerOptions::Init() m_fBlind = 0; m_SpeedfBlind = 1.0f; m_fCover = 0; m_SpeedfCover = 1.0f; m_fRandAttack = 0; m_SpeedfRandAttack = 1.0f; - m_fStepAttack = 1; m_SpeedfStepAttack = 1.0f; + m_fNoAttack = 0; m_SpeedfNoAttack = 1.0f; m_fPlayerAutoPlay = 0; m_SpeedfPlayerAutoPlay = 1.0f; m_bSetTiltOrSkew = false; m_fPerspectiveTilt = 0; m_SpeedfPerspectiveTilt = 1.0f; @@ -73,7 +73,7 @@ void PlayerOptions::Approach( const PlayerOptions& other, float fDeltaSeconds ) APPROACH( fBlind ); APPROACH( fCover ); APPROACH( fRandAttack ); - APPROACH( fStepAttack ); + APPROACH( fNoAttack ); APPROACH( fPlayerAutoPlay ); APPROACH( fPerspectiveTilt ); APPROACH( fSkew ); @@ -180,7 +180,7 @@ void PlayerOptions::GetMods( vector &AddTo, bool bForceNoteSkin ) const AddPart( AddTo, m_fCover, "Cover" ); AddPart( AddTo, m_fRandAttack, "RandomAttacks" ); - AddPart( AddTo, m_fStepAttack, "StepAttacks" ); + AddPart( AddTo, m_fNoAttack, "NoAttacks" ); AddPart( AddTo, m_fPlayerAutoPlay, "PlayerAutoPlay" ); AddPart( AddTo, m_fPassmark, "Passmark" ); @@ -417,7 +417,7 @@ bool PlayerOptions::FromOneModString( const RString &sOneMod, RString &sErrorOut else if( sBit == "blind" ) SET_FLOAT( fBlind ) else if( sBit == "cover" ) SET_FLOAT( fCover ) else if( sBit == "randomattacks" ) SET_FLOAT( fRandAttack ) - else if( sBit == "stepattacks" ) SET_FLOAT( fStepAttack ) + else if( sBit == "noattacks" ) SET_FLOAT( fNoAttack ) else if( sBit == "playerautoplay" ) SET_FLOAT( fPlayerAutoPlay ) else if( sBit == "passmark" ) SET_FLOAT( fPassmark ) else if( sBit == "overhead" ) { m_bSetTiltOrSkew = true; m_fSkew = 0; m_fPerspectiveTilt = 0; m_SpeedfSkew = m_SpeedfPerspectiveTilt = speed; } @@ -657,7 +657,7 @@ bool PlayerOptions::operator==( const PlayerOptions &other ) const COMPARE(m_fBlind); COMPARE(m_fCover); COMPARE(m_fRandAttack); - COMPARE(m_fStepAttack); + COMPARE(m_fNoAttack); COMPARE(m_fPlayerAutoPlay); COMPARE(m_fPerspectiveTilt); COMPARE(m_fSkew); @@ -713,7 +713,7 @@ bool PlayerOptions::IsEasierForSongAndSteps( Song* pSong, Steps* pSteps, PlayerN if( m_bTransforms[TRANSFORM_ECHO] ) return true; // Removing attacks is easier in general. - if (!m_fStepAttack && !m_fRandAttack && pSteps->HasAttacks()) + if (m_fNoAttack || (!m_fRandAttack && pSteps->HasAttacks())) return true; if( m_fCover ) return true; @@ -961,9 +961,20 @@ public: DEFINE_METHOD( GetBlind, m_fBlind ) DEFINE_METHOD( GetCover, m_fCover ) DEFINE_METHOD( GetRandomAttacks, m_fRandAttack ) + + static int GetStepAttacks( T *p, lua_State *L ) + { + lua_pushnumber(L, + (p->m_fNoAttack > 0 || p->m_fRandAttack > 0 ? 0 : 1 )); + return 1; + } + // This one is deprecated. - DEFINE_METHOD( GetSongAttacks, m_fStepAttack ) - DEFINE_METHOD( GetStepAttacks, m_fStepAttack ) + static int GetSongAttacks( T *p, lua_State *L ) + { + return GetStepAttacks(p, L); + } + DEFINE_METHOD( GetNoAttacks, m_fNoAttack ) DEFINE_METHOD( GetSkew, m_fSkew ) DEFINE_METHOD( GetPassmark, m_fPassmark ) DEFINE_METHOD( GetRandomSpeed, m_fRandomSpeed ) @@ -991,6 +1002,7 @@ public: ADD_METHOD( GetSongAttacks ); // SetSongAttacks ADD_METHOD( GetStepAttacks ); + ADD_METHOD( GetNoAttacks ); ADD_METHOD( GetCMod ); ADD_METHOD( GetXMod ); diff --git a/src/PlayerOptions.h b/src/PlayerOptions.h index 8e5bb30da8..3b5caacc0f 100644 --- a/src/PlayerOptions.h +++ b/src/PlayerOptions.h @@ -27,7 +27,7 @@ public: m_fBlind(0), m_SpeedfBlind(1.0f), m_fCover(0), m_SpeedfCover(1.0f), m_fRandAttack(0), m_SpeedfRandAttack(1.0f), - m_fStepAttack(1), m_SpeedfStepAttack(1.0f), + m_fNoAttack(0), m_SpeedfNoAttack(1.0f), m_fPlayerAutoPlay(0), m_SpeedfPlayerAutoPlay(1.0f), m_bSetTiltOrSkew(false), m_fPerspectiveTilt(0), m_SpeedfPerspectiveTilt(1.0f), @@ -167,7 +167,7 @@ public: float m_fBlind, m_SpeedfBlind; float m_fCover, m_SpeedfCover; // hide the background per-player--can't think of a good name float m_fRandAttack, m_SpeedfRandAttack; - float m_fStepAttack, m_SpeedfStepAttack; + float m_fNoAttack, m_SpeedfNoAttack; float m_fPlayerAutoPlay, m_SpeedfPlayerAutoPlay; bool m_bSetTiltOrSkew; // true if the tilt or skew was set by FromString float m_fPerspectiveTilt, m_SpeedfPerspectiveTilt; // -1 = near, 0 = overhead, +1 = space diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 08a0377783..ed8a79261e 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -4516,20 +4516,23 @@ void ScreenEdit::SetupCourseAttacks() FOREACH( Attack, Attacks, attack ) GAMESTATE->m_pPlayerState[PLAYER_1]->LaunchAttack( *attack ); } - else if (GAMESTATE->m_pCurSong && - GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions.GetCurrent().m_fStepAttack != 0 ) + else { - AttackArray &attacks = GAMESTATE->m_bIsUsingStepTiming ? - GAMESTATE->m_pCurSteps[PLAYER_1]->m_Attacks : - GAMESTATE->m_pCurSong->m_Attacks; - - if (attacks.size() > 0) + const PlayerOptions &p = GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions.GetCurrent(); + if (GAMESTATE->m_pCurSong && p.m_fNoAttack != 0 && p.m_fRandAttack != 0 ) { - FOREACH(Attack, attacks, attack) + AttackArray &attacks = GAMESTATE->m_bIsUsingStepTiming ? + GAMESTATE->m_pCurSteps[PLAYER_1]->m_Attacks : + GAMESTATE->m_pCurSong->m_Attacks; + + if (attacks.size() > 0) { - float fBeat = GetAppropriateTiming().GetBeatFromElapsedTime(attack->fStartSecond); - if (fBeat >= GetBeat()) - GAMESTATE->m_pPlayerState[PLAYER_1]->LaunchAttack( *attack ); + FOREACH(Attack, attacks, attack) + { + float fBeat = GetAppropriateTiming().GetBeatFromElapsedTime(attack->fStartSecond); + if (fBeat >= GetBeat()) + GAMESTATE->m_pPlayerState[PLAYER_1]->LaunchAttack( *attack ); + } } } } diff --git a/src/ScreenGameplay.cpp b/src/ScreenGameplay.cpp index 8cec7becf5..9936268534 100644 --- a/src/ScreenGameplay.cpp +++ b/src/ScreenGameplay.cpp @@ -820,9 +820,10 @@ void ScreenGameplay::InitSongQueues() { Steps *pSteps = GAMESTATE->m_pCurSteps[ pi->GetStepsAndTrailIndex() ]; pi->m_vpStepsQueue.push_back( pSteps ); - - if( pi->GetPlayerState()->m_PlayerOptions.GetCurrent().m_fStepAttack != 0 && - pSteps->m_Attacks.size() > 0 ) + const PlayerOptions &p = pi->GetPlayerState()->m_PlayerOptions.GetCurrent(); + + if (p.m_fNoAttack == 0 && p.m_fRandAttack == 0 && + pSteps->m_Attacks.size() > 0 ) { pi->m_asModifiersQueue.push_back( pSteps->m_Attacks ); } From b653e5b5e7fda1f132a560c0ea0d51d283ced4b9 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 27 Jun 2011 00:03:05 -0400 Subject: [PATCH 215/530] Copy Step #ATTACKS when requested. --- Docs/Changelog_sm5.txt | 4 ++++ src/Steps.cpp | 2 ++ 2 files changed, 6 insertions(+) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 8d6ebb820b..63b47d5b0c 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,10 @@ ________________________________________________________________________________ StepMania 5.0 Preview 2 | 201106?? -------------------------------------------------------------------------------- +2011/06/27 +---------- +* [Steps] Make sure #ATTACKS are copied when requested. [Wolfman2000] + 2011/06/26 ---------- * [UnlockManager] New metric: AutoLockEditSteps. Use this to hide bonus charts diff --git a/src/Steps.cpp b/src/Steps.cpp index bc28b3654e..1b8f932020 100644 --- a/src/Steps.cpp +++ b/src/Steps.cpp @@ -369,6 +369,8 @@ void Steps::CopyFrom( Steps* pSource, StepsType ntTo, float fMusicLengthSeconds noteData.SetNumTracks( GAMEMAN->GetStepsTypeInfo(ntTo).iNumTracks ); parent = NULL; m_Timing = pSource->m_Timing; + this->m_Attacks = pSource->m_Attacks; + this->m_sAttackString = pSource->m_sAttackString; this->SetNoteData( noteData ); this->SetDescription( pSource->GetDescription() ); this->SetDifficulty( pSource->GetDifficulty() ); From faeba9375a1656f09c56626a00dd9e1c8e3ea064 Mon Sep 17 00:00:00 2001 From: Alberto Ramos Date: Mon, 27 Jun 2011 01:36:13 -0600 Subject: [PATCH 216/530] fuck commit took too long ah yeah, new pump noteskin, PAD --- .../pump/pad/Center Hold Body Active 6x1.png | Bin 0 -> 747 bytes .../pad/Center Hold BottomCap Active 6x1.png | Bin 0 -> 10118 bytes NoteSkins/pump/pad/Center Outline Receptor.png | Bin 0 -> 1692 bytes .../pump/pad/Center Ready Receptor 1x3.png | Bin 0 -> 9504 bytes .../pump/pad/Center Roll Head Active 3x2.png | Bin 0 -> 25825 bytes NoteSkins/pump/pad/Center Tap Note 3x2.png | Bin 0 -> 23481 bytes .../pump/pad/DownLeft Hold Body Active 6x1.png | Bin 0 -> 477 bytes .../pad/DownLeft Hold BottomCap Active 6x1.png | Bin 0 -> 2541 bytes .../pump/pad/DownLeft Ready Receptor 1x3.png | Bin 0 -> 5586 bytes .../pump/pad/DownLeft Roll Head Active 3x2.png | Bin 0 -> 15051 bytes NoteSkins/pump/pad/DownLeft Tap Note 3x2.png | Bin 0 -> 3832 bytes .../pump/pad/DownRight Hold Body Active 6x1.png | Bin 0 -> 509 bytes .../pad/DownRight Hold BottomCap Active 6x1.png | Bin 0 -> 2672 bytes .../pump/pad/DownRight Roll Head Active 3x2.png | Bin 0 -> 15820 bytes .../pump/pad/UpLeft Hold Body Active 6x1.png | Bin 0 -> 420 bytes .../pad/UpLeft Hold BottomCap Active 6x1.png | Bin 0 -> 2741 bytes .../pump/pad/UpLeft Ready Receptor 1x3.png | Bin 0 -> 5464 bytes .../pump/pad/UpLeft Roll Head Active 3x2.png | Bin 0 -> 14662 bytes NoteSkins/pump/pad/UpLeft Tap Note 3x2.png | Bin 0 -> 2902 bytes .../pump/pad/UpRight Hold Body Active 6x1.png | Bin 0 -> 455 bytes .../pad/UpRight Hold BottomCap Active 6x1.png | Bin 0 -> 2313 bytes .../pump/pad/UpRight Roll Head Active 3x2.png | Bin 0 -> 14659 bytes 22 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 NoteSkins/pump/pad/Center Hold Body Active 6x1.png create mode 100644 NoteSkins/pump/pad/Center Hold BottomCap Active 6x1.png create mode 100644 NoteSkins/pump/pad/Center Outline Receptor.png create mode 100644 NoteSkins/pump/pad/Center Ready Receptor 1x3.png create mode 100644 NoteSkins/pump/pad/Center Roll Head Active 3x2.png create mode 100644 NoteSkins/pump/pad/Center Tap Note 3x2.png create mode 100644 NoteSkins/pump/pad/DownLeft Hold Body Active 6x1.png create mode 100644 NoteSkins/pump/pad/DownLeft Hold BottomCap Active 6x1.png create mode 100644 NoteSkins/pump/pad/DownLeft Ready Receptor 1x3.png create mode 100644 NoteSkins/pump/pad/DownLeft Roll Head Active 3x2.png create mode 100644 NoteSkins/pump/pad/DownLeft Tap Note 3x2.png create mode 100644 NoteSkins/pump/pad/DownRight Hold Body Active 6x1.png create mode 100644 NoteSkins/pump/pad/DownRight Hold BottomCap Active 6x1.png create mode 100644 NoteSkins/pump/pad/DownRight Roll Head Active 3x2.png create mode 100644 NoteSkins/pump/pad/UpLeft Hold Body Active 6x1.png create mode 100644 NoteSkins/pump/pad/UpLeft Hold BottomCap Active 6x1.png create mode 100644 NoteSkins/pump/pad/UpLeft Ready Receptor 1x3.png create mode 100644 NoteSkins/pump/pad/UpLeft Roll Head Active 3x2.png create mode 100644 NoteSkins/pump/pad/UpLeft Tap Note 3x2.png create mode 100644 NoteSkins/pump/pad/UpRight Hold Body Active 6x1.png create mode 100644 NoteSkins/pump/pad/UpRight Hold BottomCap Active 6x1.png create mode 100644 NoteSkins/pump/pad/UpRight Roll Head Active 3x2.png diff --git a/NoteSkins/pump/pad/Center Hold Body Active 6x1.png b/NoteSkins/pump/pad/Center Hold Body Active 6x1.png new file mode 100644 index 0000000000000000000000000000000000000000..ddac2692153330a510f863eef267a3cb796f2a04 GIT binary patch literal 747 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 literal 0 HcmV?d00001 diff --git a/NoteSkins/pump/pad/Center Roll Head Active 3x2.png b/NoteSkins/pump/pad/Center Roll Head Active 3x2.png new file mode 100644 index 0000000000000000000000000000000000000000..5979f36db4330f35dc615e8415ea2e88fbe1ab9e GIT binary patch literal 25825 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

b`8Ko6KOq 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 literal 0 HcmV?d00001 diff --git a/NoteSkins/pump/pad/Center Tap Note 3x2.png b/NoteSkins/pump/pad/Center Tap Note 3x2.png new file mode 100644 index 0000000000000000000000000000000000000000..40bb96963ed5defdd3a0dfa07ff800d70d055e54 GIT binary patch literal 23481 zcmbrGWl&sA6s89W?gaON;0^(T%it~v794`RyTjlv!99==+&#E^aQEO6EXeHrYIlF_ zR_%|S8mZ};?t5?F?mnmA^PGuNQ<23)BSiy&K$!A!5Dnn72Y3acAOY_NVP9;44@6f< zc`X#+;fG=l1-_#?$?3X+Kxmi$z2GD(c{71RDmQ5zH%-ScZk{GC79eF4GZ#mD3v+7| zY8h)63r|NETUTmu&U zlgqx2~r}#CU&26DUI)EGIg6Y?Te_Wuj0*iTkw)R)`FOBrtYj`U~JNc39#h z5P(9`P$W)hHE(P&QDN8C$A)qaKA6O-k=?88kkM^By7}SVi*IMS_I2^d^U}7fT8PA} zKkQX37N#BxdK&)0QI5T0*{%>Ds46hr{nY&$_eix(x)s9^XuL60&riCy=}8jL5&s58 z%NfLh{Ma?-B%ErT7`W*j$R(in8fgjoSH(f_$WG4xj(877H3XZ++)`BNLeFo}|r>rvvhDbJaJed7<$UOFEZcZzBq8SZQ!@^z;jhix1(yRz8%F3v7bF1JPe_Ig$wN)DWgo<>qS=ykkZk)v) zIOq0QQj%FxHi$!ZGH}sc@%>u;^P0SKt(26Me?md&O`f?5{9`2Ni0S7aFO)4TCb~#{sD_x%c*Z2m%XZt>{UG%&6i$aPURHwp0e87 zl$90g#zw54KRa0@D$E+Cm&5`MB2(WIb4k()tCXvHisBdN{e&kMG!b zLLsj>=CV-Toe~}WX=Q~xm3zjWqT8sv3QJvw*!0Pxu(I<0$VuQCnHUa>t~ynyF)Ai> zSPmL9N6ZBd2F{Y(a?-oMAEU6UD(v?USO$%hM(a_LEHr9Fyh0DMQ_E_yKWgdyd=h>f3zd#ZIXP0kzO+>S zf3-hVeO9%$=K1*(E1+8l{NVRAOl6?zMIERd+7Hn-F*Bq2plkN`NaxFBPEU#aAs)$x zu=I3OG&DmRQPHm-T=VF_JBS6O(4nUApZfV*kB3y2zrV|PoV#&i5c9~G{rgMv+2>DV zj@Qonqc)@lkoCjMJHO|v#)gJ@9*@%jI=a2Bd;Z#hm+VTz&hXw|zT*>$m6f%PnhI+p zOQ*`m6TyAj(Z`hJ+BFW?xRUp1E zPbA@Tv0JncnW~{CpmQv6^le#o2>2g`@;uU_@+?#69)oqvx)ez(Hdr$0T%n3LtlSVpT?o=PgjPlB=swnbRt*o5` zv$F1#P*Ubg3yy4yW%DE+5_- zs`TaecYW`RPBBe`bqPiE`QNDS?vfV!T@^F6Tbu8HlYGFdt9z@f8(l&-JbcORdJrB< zdMi+aRN92VV77|OxGynh2O%uh!rhYCi)6e-Z?b!Yd0h=G>U4J@^aW|EMD0D_a2P*7 z5aB$MD7=VKhYee${u7EX#z8GQkuZJ--VJ7YOJLCV{bRM}M}m?aHpcg4OZ@rHIrY;Go;cocE%2o|H91eH zNU-c7N}=2)zU)br?9ow~(NVqfN(?nk+VzuI|F_txaBU9^?<7>>!TgI-Dk>OXzoJ5< zts%0jtcK4_ZLdn1-C<*Qyb3S;V9SDeF`rTCJ^Yo`;?~2wIVQ&PK3)Qb{G9&xiyg9B zTF45ycY#m3^^V>f7xud7a*X(bbPbU(5p~Ex$#+Q=Bxv zIgkO<65JdN0L!hfS0~L@s-aO#4q;WFWiU(o3GVrTGrPrDy8MHmp`U1BM@MdNuS%00 zYOQy@TQv{TPN14Lw4Bj%iA+>D4;LBNDM?L=|9e;?`a{-BiYL8Y$#7!)qYl0}Ft{JVG!kNxBg z>uZYv+z@9bEO<KsKqb)_=lB@ufPd>lkj8lf!#ioS(l3Md~j20k%aM3M} zH>!d(+&%TqpLB-gC=DaPF$lW51N|~yT(Am?h&W@sb%${K_+7vSkfggidpfUoIEXWa zmX}*z`h45Ioum_L4?n5$jo>m%mXn{6Qxa|yu~l~cCejzla(#o}vK4YDr{XZgsWQm> zZTCu;>L3uop&IhAsTh>W8CZ{;@0QvYbZ{`y&>VUB6dsRN_;aGD(H&jEAV^Lx;X-*U z!$g<+Xyd>iD5BS`LR_~419!NrUH^iQi_Si47prN#!RR&1mOFJ+L01- z?2@yELRwn3p-Pe!lb1x;I|7^Hb5%pm^wf1o0=SvVQhnJNBy}L=)#%-4%*!Hc?djz| zyN!zhxEmX81Pw(+X^VzW?-mX2i8?mm$qz}Wp&Exf0u{V`T_e+ln^JVxo_Qje%Goiy zc91#Bk{_0DTT>q%=v`bRH4P1A_4NyUzx|O*Oos1^koc4?ucAV)uHFh&lBxiK6hy*? zr5W83z>m;MnF>G1m$`+eu*}RGbsHXVpfnx4a(k9>O?cqzjf0KtYDI-JS$RW4D7IKf zw(FEX{v2z+a~|5EvnY7PL{}SO7iT$IgGbFq6nvs~Oe3!L9W_ZYD%!?$Z&>O3_bh8W zj5^PYq?@Tx7ujz0Vz;{bInD{^9#-nNuRGh9a)IdJ#~x;5c+PC&%K+g#7Bw3Lu)`CJ zJ6qHGa5|f(y5{b;N(?3Z2u$?ETz?|XZ4906XM`pnKEZpc z(jqk*Rwrbfg2HWS(SJv9O?FJhO?<<7BIl3t3JQt#t4%vsIin*Cn<^T!m@P41g0PB; z4hmC)H4Y2sy~8BQtQ-Sl!@|&eixu8EVEf_XfcZUWpc`me^HSG5*VcRonlUyj8p9xehc323170X9SVJ5KQG7I zP~DfLhWPw5AB?jtC@qa!SfEB$VYxREN03vzaTz4}=JNYvHv`zz-Am#|0K5q)K`os` zG?kP8KxUB8mz%B6Sjsukf4L?SrZK~~Pa`Nufr}DOE=l8=L`sC*#1*^3i#u zfcQbfI42-$NLU~wT-;)Ld3j9jSwZqckyHf`VZl6dj^DL8y=qs4*z1+g%BmRXIdW;Q z)43Owl8`lXVzKKEv8Yy>6k z$5IF-aSAvG|s^?K9tWm>fuXtk*u!NN3WH z*Padsy;5oqre?$F#C$2r#1um!_&0F+mc`miC-Mis|1LGHIL2X~FTT1uHhlNcy1!SV zu@f$M83Mt0BR)rN_hg@{hjt1Y4U*{@bmk7KpJ~WXNp<7SFzO2H?R8~js-PEKpswk(B6()xs@5+CPrSOs36eNW+GMJ0x2dqyC8iqZJ)J}K`fL&!!J4QYd zgvf3Vw;pcvj;7^1mmqQ4>Cm|zZiFm8$zi`@8|&T#nJe+2dWs%z2{^(#7S2y{!ssEa z)CftylEq(JYgyy8&2zfu&2H$35EUiq*Wvp&KZkrMofH-5xzH)9qRT?}| z#4mx?3`jAPvMx>nb_aq49Rig!Io#l#n34Mx^_!6J;eT$j8}x!7w7Rr%4@DiZyX zKS~Uqe@ye{4iD2FQjxK2OI3_sIwB^;S*`qT>2#zP{`aivJfB`Fz(^LV`vHF#d4euPfg3b|2LQ^)PJ}N(%S-YIt$ob6P8cv&l}SXrBLB8 z4K85f#qE!Y4e*8n<4-0lmh?TvG_JMO+$&!JYpETEnFu%r1*y89^IUc=0+g^N(5I#V z2kUFHZ{E5hf8F2W~F5uI8L3_oaHpZpJ55&|A@pz*v^hN(~=En3)lj zm)CUuT?^-RSn!;-g62mt)Jj|$02npKTNJSMHtvlj?|TD?)_hMg5^qrb|GOdaPT&nqr)C6feCNDB-W1l5$ax+Ol(}79|(qa_sR9u^ZfoMx3u_8upRXDpKQy zZr&D7BS8#h7G;a(*9BBqYQji(=w}uV;9i}E_fMlfxOPn*&3O0h_OLPTPg+n|lEvTH zW0=j+jJf1oS!K1qTUlNX!N1e4VMRdzw0(igfd&vM`je%ZQ3NiMzVN0tU0ONxRG`)0!`^8bn}90naZJ zv-|1#E+wTFz|30m2t^FFjDZU7`Gx#K-4Qt3=I$a;@m0x`TJ(%$WPMh3y(!}i>~~I& zhSJ8*F{i&jpO%hFRy$&K&LPFcy?SgK>BIgu7EW}WoE@`w046dlAEQk$hfZnZum?7V zNm^1829A+(#Ltnk?{4;Xi!qFE4?jHl*|tB%bkKm~p}f)dhm=Tx{Y^yCyIN4F9CeMv zhM#Nsnp+Be3Ii?h+AhRjk_(ag$3X3ZIz;{ z?$?QhpK%?x3!XshAW>Nr#`ze%3jv@pdJ% zT{M*8Y{4q!RzD^nKP2^`s=-W5VLm^&5Lnh(@Na0&@BMe%jFsuo!!$ixdQopZ_brw< zseiGXQr^&z9qf@1E(3ESr&xWZpq%<0B(J;dlIOKU&u6#PcfKBAV`~uk-bv)atuyp~ z(@5HE*ZZ^U#Kp+CFu`00^4O@%qNBtdmIoOG$GMw{{go&X_GEUtJST2lkx%9*Y~}pa zzv>v+KbdPw{DC{~gDW))3zetu^%lc8m^A)|3}e@)N6P<2zvF69xl&(SNZIgcfY-Epgix{53`3|%*@B>Voql^^iN(cGsG9g2Y-0NKWN>kW>Z%8_7!t)r2G^`GL@H1|5|lmVu1 zfAej`5g6I;=2lkZWn~%g860RiuzA^#hDP2r-DgiaE3uwP3+Fk4YOLpOgdg_|>^2Rh zEi8go^n47U){c?inE?x9K`^)MO`!eRnaJBa!z^nN7lYn}IHS<|#RwITB)n_@q^8&Q zH6(=j?(|CCz<;k9f#3ePr1gWirDae~4t!mmc!k&68)sN?!S0d3WIkuCBSQ4f4ujY2 zZ=*VQTLfuo2?fPJ?lglR5heN)?6vVQ0x||-0u?;&+>ieK)cM4nb(b6J22ZQbOo?M- z)1;x(k^yKD(b4fau+cQQtZZOepwZCqNK6DNV4~h!1ipPcgX4{-+>WOFX2PD%Mpg|-HLAkeG5O| z&;JhhX=T3n!MTXCW_ALK*Zifax<1m}-I?)c&T(M(k?>ama^J%NNQRT8L+JO&-I;Ag z1*)1p3$h3r6^edyNEvEW6k%!UNv7y}LfHVAJM7-fO1O+f%q5i+IoctGYfyM>$i!6iQWiI z1XuED5IOSQdH91@wumqDpQCbm`Y(u_*j{B*yy@-)lvAb<)=yP_(07WICN~Fy9v4mj zI=U9a^JEIFX?TA|h`}D=AR$WmuL#0zZfztc_4Sj0m)rQvq56R19XlE2v`j_{@HwqNCV0JKu`vlaR#yV~-fXD~xo zRoZD@^gb)e#Xw|4Vv&Ci7`u|JwjUy97UL&HUxRxnN5^cLSn8SBJr;>&(Z)iGz;de1 z6;%#Bb&L z1lBQ{A7gn%@IRlzCO(Mm$#Dy;p>T*q8UK|g;|X&O)zeOF-QxVX776ex!iz4;(b2bwZbqJDowo5q!u#+N+x4D;3H(r=Oev}|3!)A-_ry&?w|BeAD7M2Z7ZJoGl zVY}o4p&G~4&TPE9vPg>a^eS9G@TzmE2!QN+D=zAucso(^60fIbqvYU0BB4DMR#TZXso= zFiNu_tatp2V@tI_01kmAxU4lJK_+f?c>Hg2u1M-gO0~os9nPqbR>PuycK0OV7 zxp80bw93z~CKg?zqos|gth@-v-pcB&^X+5nYYfUTc0ylmb}TKSle5@|%fE|~;s)ho zXJu1(TsZ6$C*&dY0HR|Pl~4~#Dl_=44|-6F%0Ei}&F8o1L@E}~4-lDH&f#Gvj)i;P zu&S{;5)w|+uwO0CQRDeyab%94d&5vS5vbq#JO$zQIAgG$aAEA4g8-rC1JHU=>+*-= zY-5p``Mr&1Hg*TI-9a(#t_ApEwnb?*%N55TXLe^ok(NrCJ6<%Wg z_)7-`$5&KTP6u+O94k(14OZ8KJ?Ga)Ri|FmW`q!X4(T}s-~D$*Cac}(PrW^Zae*Z* zEpcsv_lAFKB@J?YH=Al|Qj(L0`Yc2dl8~`D;Y$^qauz`*N7L5o<}ipx=j0(YgZjFuH^9Mf3pDifv70)H-ZXhQ=9H8 zTE`e51qI4)z)`NR`!ZiK-SAMJ0*Z>0xXj!h7n-^E>Zj77==veQG6tOgzNqYX;9-bT zH?4!g;9th|eh=F(F6-_e>YPj(Vo8b>?O2OapYX{}Mh#my^{U$0WksJa15lB&*U3-Q zYgiqtg~??zj4v&4Yo#IowL9G0l}2MWc!Wo>-hL|UgSVn7BN^gr`VvZ2q9F0hvHdYp zaw=-q>gnnpYO&4|KgS3Lr~jrVc*R20ao{zOj z>YR6TO?5H1HD_dMD}4u=M4qk|>E8NOWd{PS?jwuIrRmnY$;%1cJ!@(t)=w?$7e+=X zct3WoKifYsIg>XUEo0Q4wf8$8_u1>Pw0mx{a&)HBd9LBoSmytf|3Y76eXjb2-sNsN zYt30UtmCgnGT?aEFL~H!2Kwuy*BVhO*gaJ^yzcMck4j-(b8y=<2mY3t++ONGzmctnwV z`(OY2US~eSUs~m0e}DgL>l;u(s31gIOF&f-0s(9uguR_r^ZI7Op-*rDZMw7^oiNj7 zh@zs-UOxj*2M_I~1e;5N)izmYA=*JyS($2VwloIV041Am2y1F+d>+W+pGwttkWVgE zBvRCz8(QDgUqGv^lt-TbiLxzh@VeTx&f>Y2#0<2$9^qd3=*e^(PDFZrR4i3mv@^7= z5z*h|c%m7*tAw-qD$7rmf8np&>C+{ADISs&*hRCvEa$=J^7>blbe3fPnAOnTO#2}?SyV2j;mLu^L)#2zX^uM+q zU*66q8ee{@Wo_nn%1Nx$zh`LOi6;O0VUC5z(q})K#l?KR?Xcfjayz0L7;2wt?Tb~v z0@X}c?ZMzWvmslT+uyp}-gQilp($F=jjv2Xo}%>e_!x_pX*vtH$g!+Xse!cu zDk)GX&nw<0?M0RYEAxS0`WqUe0-wx99;qs z_U^UB?LKU+S2LUcI_hiGc4{?zkit9GC%OgM$em7qzduri2dFv%_i;a@b5>8 zjVG@7UKU)Gt*r*U3CY8HH^9?9NO8m4<>KrzI@q?3uGlIP(;1H zPE=&)+Q$wYPEJoxTUW4MC3%T%IAg7?JcQ6ugX6V6if|-||;)Z^Qy_m)?VwbOof(FB%aXT%g13jj?t3v2ja1{)$Dgp%V7PB4j*grtmYA90fsNttxBRwm^=$!2O(Nem-4s3$4~7a% zau+0ZbTH+36`gSG2~e35V`Cj%n5?=^yL%46{(Mudb1>toiwTJLth?q+_oYm8RAMnOa+mcD^T_BZ4a*50h}`l+)?It(Wqx?s3lV6wS!}$` z-Qq1FlJAEF3T$5976&jHe}qnRReW@`5nRFi2cY0ZV!D9=#~X7=+SHUgDk`HjFv-Gd z1;0gbRn_Jz5XS(isb8@y{QLn}Pc@FAw!Q&ek|4Q^)etp}+0h@>uSrc!$(QecA(IS; zFWYZrfT)s^Dj+gn5cm{CM2vUaxv3x(jDXhy?C!)gG-egt8~?gg3Q^)XvvicpF*07( z+AX`fxt)qv=%oIeka$49Bq~6iQySov-9p0i`XZhni;Gzr5UNoN{Kj~>?hvSJ4uiO+#? zQ9=61N@lu;g(vtRz{$pqjyYLs_cVqTP2q#jU%f0!rAf@9rtMRJZXAB_^M8F00e|}8}l1pt1>`_-U=XGdkUl&JqFi;}h^2OvgcA*P^ z$pYfKDDYcGc2OVCgyI0Ejl<9~`fP*tWAB$+Bd}@YZa3>tUD<^;F50S!RE2(!j-Ecc zmHm1M+213Er6#g3#pqzt^!F4)y75(q)TTFsWZmYARX$l+r)EAYz9m*RAz7r^xkA|w zmwoxPriIpK!Jf5eBY*R-7|9t(_*1uV1cjP$Q7Yk-Qri%QNPK$kt71K88fu|Bfd4bK z+*%)%Mf#MPcSp%|d~7^LnH>U8mCX-(>nX?&=Y^bZj&_m~D#1I`|%t7Gcl;ZeZcSO!Kx8Z$bd z$i_0n`s*xM7&-3e=H0A1VKcEfk-eMFpN+mQErBk&yQ3Q#gfhAJRowh(z*IW|7rTRK z*IP2RLYSqzkS0wv0JCAv6mX`@N{<{?AwQ&QN!kd3#!Aeo$X4jswSRR#Ip2S|*9KU! zg1T$Dyja1z=XROkurLrRDj5)*qIYo#h$_oP9T(pdS(_Fxq^1y{xQC0GD*wrbL`hG( z%bJ=69ge@e|J?#N=;9n&{ccOZmx<|->Qm*?@L*iz#uHU6%tRz{raI9H<#t>tccysv z>j$0$*Qw56_2S7MUVJC1o7NrHF;%HPLcr5>e!Z=3R#UJ%U%UA#22)5*zMj5i=Qn#} z6(%`xx^hby__TVV+h`*c9?qtvwG`QKdG>N&97t_S{U6)tQ8^ig$~B(J75#WqO)K(Z zd-PAuC(_rkxYPoHjPE%Zlk7EELokK@g(!vIKcl53YQ1^ovz5+*;rAaI*V~Z^wLZ7( ze2xy5Ls(CVgk3{1f!Zjy6`Jl}#-Zj1bE%89;cBVngr>R>GJpg7C9YghHC|(sf z-RB2Q60RLmFt{w-u~9<%Nl1llVxqd%`^KzN@8jh0@7ME13#@_8XXEE5evr_8jUm$M zW4yReTO=-R1gGOh#dwxGuDbfwk_YtQzy_e77yz;kuHBQr&a+zV6op`9I7uq=!;RMU zH6adFe!Pj-_(9H=s&s{1n0&B*RhT2_WX7xwor3P6_am!uqU`#r!H74uBHW9Q~h*lj!$ zi9VgudYsuCl+2i!c_~g?M?KPO$uRvpj zpuSHbRT<`Z`0g4SU^%5&I&iNz zH+ygp>-bpE+NSQQL&ckS54j)r`oc$^{{3%vYf3@hkYPCr++P>X0Og>jO9G&1g>-+4tv0a6cm|a4N&RuKvA?i!j~0uMp|h6Y>11 zvO=2v^L0YsyQS3hwqLgp0Bj+fuD7ZY71By7QXyE)=l$lP#3 zA3O*DPihj4eeUrhhF=zo=m_ zf!9a}kdelmBfic9(r^1hw&}|~Fm-U2C@$=Gajat>-UQ$|mb7sN^2^t-@ zo-ufcZ(~zXb}(%y3gf<9bSLKSe*sji%rfv>JOHNa>bf}c5J3o&mc3Biy+@CWb0B`* zB_sYZ#2|vcj4zVLM*{~2zXeO0(_v7c^+l3lkR8zQeHuE%A03snTf#BjSBRXQ^;amc z<}^jj@v9pwk*8l?rk|OK2H3>oW9oKK{nK^y05QhWqtmxp*#Mj!{}T^myxUTXr+RV! z;?^Tvj#o}GhK_wQbjngweMVkFB2hUz$8i7r`%sF?EWkrc0s0gW>iqdr!p7!V>r)$c zFd}@IluX-|`V&vt?m!@{+@tKzHNSGRsD_4;hNc-b?sn&XRqNv;Bl~$t%hDf$%?6gL z-UIflrx*saRUvF_~f&d$*ek9QDN-z%}&GNh$-gWtRJ7&()?* z=+@IGe|?m4^T!D8X-@^j%j07eJ$(xDA@M~6v+w0K%XI^$6QqUZ<@ZNh5u4{D+j40I zfv*wU@h-bVEHVjvBz)s^+_U=}cwoLyv@9%nBPkc}*w3}#gAMG~|B(UaYKl|Y$TQ4r ziAdLbq0;JLGWS;$!$!oS5U}0auQUo|ARzeJ(D;FIe{kaOQ~2>QPIx#?lOxgSs80gc zP-u5mJC}iM?DX&?pS=7P9&RBnT6oPFHPF3%k>6^pW;#ns#s>~rws#W($B?P~Vu$7w zB!YjxRB3DA#gbWaI-8QC6HS`jonGKmh~%uS5Oh49=bkQWCQMltpHM2zmDJA_ROyBV0A_NdxNrMXtn%_G0!~-As+XQYN+o`rzBP z%!-1xAodLp)ZJ<5wx-6BDK58giOWYx`FB1!8F)X6S_mv`|MDH|Am>Kp=H|V=F3J>i zXKigg+_}XXxZo%%JFqA!j^uXPtIs@;Tl2dAKdJ0clb%#2QrE*l=M8UdmtIuL>1uLkM~_5W7@`}1oP1#STIsEj$60>QRu;+0hD zzc>0#&w(8eJGPZZo53bMOy3}Y?nA^G@Qe<9#wdNI!jUuwNM(v4btvM@Ep-hZZbqQ` z%zI#KF8H6!Oqy$_=iCH>3>1rR9x_1CNz}t9TGDv zlhX*K?J997)@AJMa4+Gjc09HddeVCQj0Xbh#Cq%8(%D5)8f{mhF`>Z7Hs9&LpXLpE z$=5Xi`GJHnKfhU5Jzqortfaq6?AJxSvhsF+KcLA0v+hgW#J7BfdqFd*fj-Tkyg@OO z5CGpZ|9gZ|SGNNsARQg4T;K2)T2H}w?ufz{_F8npCxtWK{sN9!SU=a7{LZq@+m$vc zDcbvHN2lXKq+C28NL{z!00NmPz^EEn?)RN($ZJ5B%WT2i}aXbhK6QY z*C~;2nrdp1*32rRAEIolyc5dHu~G%!_;e65xzH>q^W1o3qMX8l z2%?4;w0au{AmkwsN31?*mN9-AzvQ%;XCaP=T4kAnGaRB=soLb&Zw~U>%6PH>me3Tn zBOV~f2S{RB&pG%~bN0K3Ke*&2`aY(n((x=~$bGwG6Le5CFR8>6qF!wH<)2#$ljd87 zyd|NH*KNtgb?d2zt7s<8q7VD2L{V{#)3>ch|CBIx3Dzps-KS5uT4I7*IAN67l$;nX zDEW>eXJ>?>`O^#Z4Gl{VFDF4ULGyXlHRr_k>tPSqCb<0LZ;}$l&zr%~Vp(TD(b4EI@kidQ+BSY(-E$6F8xsvn1YA zn|h4l%ga`vTRChf`TC-C8yy|ttgNu=={Fb5zk!zAK5SqtnkcoX_#QZmD3Evwa~NmM zaZN1KF?hOchX;Z=IO4ba2uMi6ED2uB#BYh;qYcJ|b_mDC#ui$wAbuXWSaI<}6rg$# zO-v9H%La`j1%TGjDiJpNKQ533>wW(oAoKBKP%_@74-Ly0Smfmp;A)W>;R3J`d+Snq z>$MsM$rsTr%M8zN3`Fv68h5&@V>R>*W-d+x5!F@V7FT*4wq!xN& zFH^}4uOgzkCdPqOxZ?g#Oq%FG453s-%KW{8NbD*tA40~~6>m~*?qIq4+5CKqZ85F1 zLUjAW*eLhN$Os)XGf|Q?BLPUfA`+(+rPM*3PV95u|CaqK4F^xUD z(3JlDy9yR%!^p@?pOH`7zgN+8I?%&7hRX--X+2t^_=m5dg$MZZM>12QrHxnG&8V?pCBvAzAP$xXiSGBqu2 z4hc{4@NnkgH4MH6R|HcLPQ%KReIE!VUmYb`CYHG$FmWIyhxvo}^u<#2~%FDxnOsk3?>c=+l!Q?Bei}+M9 zZ%?fX=>)VzcsOqEgPA2ARZB~R++0x~BMmRGBy&%tt|5De6Fn0XnHn?E`emMrktD58 zBm?OKTw9^OIKPixV*JMFspS0*t~gS>+0Kpi4`Yi`zM@Az927*c*|+>ZF?n0A%UTdu z*J1wfol-anlqQAd{8wIG5S!!B&rZJrogSRvd}O!hx$O0biH!Wm`P?-|G*{IJ&7d$;?1qPOqSo7kX0 zs)=NvADNX*f22uC+q2N;4@73ff5cg9kdwNLwBVgcYQkrVGm;Z8{grNHNJ;MsWal)8 z!ca|E_1w7fAIDR?I@^Pr)s9giT_}i;vOK2!+FY@S@fQmunP0e_FmS091`4%^x3?>x zjL!kc`KtO}`1rTY*obxzYGGl5^#D7_3P`MsB!|!)&cv(J6-dCuECmPO<36$^25A5( z5;5cB;YxYW2Bv0?Wu+EEZJ4(SiD-%G2Q=?*RZ@M>MA+aurQIpp)ESD!V&fYHd&Zx+b;@_A0*f% z@S5wqiqn|XNOF?=SqwoJg@?nNG;C)ov$LN#KffUs6V1`B?}{0!pWLqwigeELhC)oT zir4E{A$*0+c8bBrl&|33pn)En-o9!Y9#=YPX>EMm85x(l#7w}9N2?cuM~1zCTQY|8 z0c{PtBdSYz!xtV_%IN;4?Ix<%c~)&S)I>N~V-ulg_Ytf9i+{#?yQ6Un8mEUHUB+h@ zq3vy3--npWUv-4=@?M=$?19Kb-nd=_{tPYzdfsft!eB);oAkj=XLAdrKP`}O>~8^gcPj}DNC)x3mN0VtO7 z4KD8HcCzBR@lZT@#7_{d4AeHY{OtCx|6h+i6z$8gqlAybL8+lf_P;!gY0JDx%!cAE zd&3ZvGL3QZi!qstW#VKjR117(go4CwleeYr0~(LK@2I9}du)s=o@^x?2|_5ZZ8;}m zpfO}!MmlztEix6&d%QK(I`R>64PeAaZY@@r3ZfLzi9~i1dYGlm0!7Zhc+&o%pWACu(8Q8atw4`15Lb^f+ z5^ubEZ=6M@ZgY9Ug1PGsSy8t^OrbaEf#S9TF#V+$HS?&H!f1FY*qz*8m{v`PkaE}Ogr3R{eH&SQ(ic~VGTy% zq#&Vjlj@A-66TC>ajyI8&mUDa7xk!+SzW3e=EQxu)N~pmW!aEH1r2KjP2qKoGo?qv zg4lh_WP5Z1HPUlyoOh#QZAYqXQYp281%Pg0KD+O|HHI{J66de({0Zm_y5N*!0P0N* z$^#3@EBP;d3m@z0@S06WXrs{e&lOXA6jL@gswX8DrOPezhU+{PH+TmqSmCj;=dcBo zyLHnnfh9j3*@}4I{+l zzhw)z%s&}8!;9gOuwPN1MSu}0-38Zwl=zdn9h_BNim&L{bMO1XU<7v-MZk|D!7(8{dbuw3o!ek57`wc zF_DPMO8NA>-(vE^#UJ$BRq$&XtLx{VD%+Sb)2Z`Lb5y^c(XZWY3$+h$aqyf4-@O+@ z;P5&!3Of;KY;rLZ-V<&vNOYxYF238xDlWy3&yzZq%;1A9AT7gAj#t;3?Cq9q>`QL^ z6c=ZXjKoZJ5~7GC9jVL&yWth}mXXOWt`FDmrOw~7Rkz~HI;Pm!5yD@b?(#@PN36VS zSAXtB=i&l;2xg}{P)jLx`6>h8-Ls0{@isC!si~bE2ZKx;94fZ=yzSj;U2;EH`q9(p z0*%>g8{7YxR48Vz3)NLQ!$qP3d5nEoAh_H+;ir6CziS^JuD9#2GiXrH)Qdy=`?Zyn zEUsS71=hh)EiHor2QqCd4Xq^Wlpc7xdVA*Q_hx@Ct+0_5<_=GqS5O*-6tneVRGMk} zgh#HMfpw=u5%=`V+q8V23{^)*_hl<9`NMXuj{Sf-&av;cpmsi#OF)l~?kFj@1FH+p z<}CR!gcIE=K#QNMvjp<~@PVNK_tO9nHT6;JWo`~V$7~_ARCzso;nAjOSpS4?>@Goy?9=>RhJShmwHgnrq% z%eYc_dy+TGxMJ?%?=97aU_6k0%t*-{0Ug(_Ghj2d{+*KV+GWQq=+|KLq&JkEYwEmG zEEiWI@{5x7eDF_zo-_H7L~z-jDZ2*QjpGsE7EYpi#!oX#;@aF?i_iucYfZn?cZM6d z*E_3q<7I)np_ral-TlVkMwk%>({!Ee=sGzO|6WiU!)}V|3TE)Vc4cM$#qgFV>0g3M zE0xM0`H$Vr?u>TE4zs*RE~vdX38zX(V!`+VPe@MkP0g+W_~}EQ1$5BWc;_p=RGU(_ z=mFo9Q+uH5;OYv%+Dn0#02tNMJQ?;UKqy_3J1v*q?A^07mJU)dKRf13M{qba?n4LB zRMr1nk(!z*BkNq_S)4AVVw)JNVcVA-Cn71&vF!+CYEF>%($lJ}rYQP)rrPXJ z(3x!xwX=D68gx&W)U!dCI_k7-u*x>}~oakBtFI!I7h_H$ur=`EiA$)J3N#Y9%KXChJIl?5|1ogCb=t7~)`8fd(m4Mn0z z3cqjAVwYfjeH(yw8m=q8zmyd5EFZME|9GK{NTi7%ow*&52uyb!oMRqj!tffpduhH-iTmDN*8V#>9cSyxehc&cAd-9V-s1mPxENPK0fg%Ls94wQ%d1Cip_h<>vQTEa%*>Zh$u>3)G{?t1 za52i6nfXv;>?Qb@*dMZGXR~2!Wo5&5E_24VaLao?7jMtq7N0`7$us`m(yXY6@Xp%BF9yE1UN#G5y7gNH_4Ghco!KVgx7 zKVfo$b$sP2H>;u=@S#$sYqZ2b%g95)kt?9J7&&P6-K~Nnfj(Sm5D-e%85%~s0VMl{ zRVy-y=mh|k?w``Fx9;Z*DDVR~|DcWc$nx^y0#QXCziX)iFWcH~9vr?TVwTmDX$Fda zZ|tW?$jGE*^Ypa_oxgvz#Q$;mIB{kF`Y}946hLEuhJznaFST`;?5p$qcL{fpr5`St znaK?fz6Ev=kD-luGZN66%S(Gdczn{zG|=-0@PWV6C=>+>#NuCd-cR8iQcH0| zD$~%opI%AXGy9fo%GY2{U*F=3LrZ&_nc@73Z1qvx-+jf>^7(DP#ax%^nBw1iOv3yq z5b}b+@afZ@y>qnPn0rYv<&!5bw&(K9eSFxud0643+~MS;M)zDX>|k5YfBykZj~?uQ zDtD}y=jeD6Q@<7}^$ClM=QlP|4S~p9jGos;s~@+Ve;Wz?%f)Kt= z_MM2do+VR8CLQ5~`cthNUe|?Qd&GL{+ZkipXAfI_f#KuGwbak8|b*!eG9|P!0~RHi~set!&r|1UlP| zSsL}RQ%D_~8cyVwQkmUbR3}r@($Reee_0FyT#$Mbs7K`-AEsrNU2I#gf}&Ksyt@;q zCAi)AzxQ!}R1TciG)^Td3In^blJR(5@6GCoTRb{>x#*PktR46*U(411WQ1 zesWo9_)3a0h&{t8OgG=S@8lfFfzepavc(T75v1`!EzE!*@f3SFjKLnPm6w(tRTG}w zDDL!55q$R`G*cQxj!d}gKyHMh{K;ngA8Y%@g0ul)DhH-wvSM4z4jh@MP4N3r^?+Bz z!NvQI*%XlSK1~D}q0FLWlM3!nFjYMF-yNGA~Ts#Q83Vd!VY>JM^L`S81v?nh|d<{^u z_5UFQ&0Y{k&REW;bMF2+#vw6`|At8S70xkK>TThqQa-V9aWhIuDiA+9Nfdd2H z_#vaQ(Yi9pPX9nIOwP|*KbP`#H~Zk)DrbZ+E-NyMpZ&S(9 zQT_RCl5!Q7E0%Q}#)4d54_{kDAO?3@BnNw5yYlKdh08H;N3EUAvi}=53qEY`oWad{ zfP+gx2wInNaZypi$;I9KH5OSwSe>__{hY#6v`WhG_CHF1V~j^Ho{;1GvqbcHWK#G! z*|4<7@;72);^zSZm6CDqvv&QHOb5~d0zNj==440=$fZ{s);qWvj^o%ri6IY z^EP|5juj$X+=>$>zhQ^3;dB5XUds20)9yseZNKOs)Q1r3PJRB5l~9QP4j;JXCODuC zD=T~d6}BxDYvi5J+{+e298W2e-Xqg7*Chhefj~DhT zjJPU^wR7q0t`2OVx@1n^TvJbUoM`E7X8G!SVfUcJ^?tP({BtdH`oGt`&vvD)5uNI( z>w&Y--uiE$V*}4S_T@P-zFchZtu3a5bmVnhnz$gZ^7?8&#F&$U6-EQDrvkT6h*4A5 zdCberhbKb`MQ7KpD0yBv$gGW6 z+sD`g1Z1>zNz=~$Wq^;qTUW&-y3EdI!YmMFTo@q=o~RX)hcb6=9Gt%K_Gg{7ViNIr z0aI#f4nSaptTSt0^vNneI;ti5JfKYY9sj$=pfGkuY;6s@tlo4pet~)EVqQwLPqf}v zQ%f1RRb0S)*eT@Y8o7FQ@kv>SHu&G{Nf(UiA&I4ul4|m@d6w{J2Pk$n(3)$OxhAxb z*Rb*GEGhBv@D$1{=Hf*~Ex8ScLSMK&X1U{%nB+hCZ)Vod&uHKmwaPt(yeF=#z^mj| z`>&zBSNe0V(r%0n)EBaVAv%F5OGD=50V`=)LRCiQ+|t1=2d>S(%N6vO6v8VSulLgL zm%4pGhvI|!dUfA<&|MN*Q)P8TWT%UZ)0>@p63BKgdiyT;V&0;oLh}FU{k@?XJ7r>M z$TQQ!5JgaVwV+xwCs0GVI8{dgYVlkX^QoaiSNQlE^YpyD;-;ob0QoqpuP;ik!dgs; zr7Vp3y}d$;Bpc8kdS;wzp^v#2H*k%oKYb%mRWBe1YKOc6U@{_rZrLm#pa|wU2aTV& z@8872a>~x_(Dz>sOzG(aOfkjUefCiCJIRwbvr~%B`_NxH)lXc$d&#; z`VV6ibg8>Y7qEICYff=-l5T3~$G7e|boE&bnx6!ob}nhan!JqRa0E(ASoO<~E5K9e{^ zToj`i?~nYq>!^5}cOV`ZgpYoq!;8p>nOd0lMDw}*k1oNAla7F z2WaQ0SEQZGd~NY43YC>(iIwB6I|gNi%+r637&D@%$~-o=<(A*6soFSB-S(|G3aZk& z$4DrAh>5RPl9FqbmOJ_})jD%Aj2ZDcd8L0#v;R=^$d?&2B9dCXXX>D;qFPh_WyIRO z*b+PqCG5X^#vjAF8-H1~uTLNY@iZ^V4y-G6KR>^Z??8uH=4An?TTEphqaSr%kw~cx z9O&%JfT;8-FtNP(e!C-M%RbuIHNzkLB~WN}?Q9xF7VwK!*0dvc-+pdoOp}Qy0>!GF z>s8o9uqO31t2IE#TK}fC?EaTcfHKTZ422mP>4xpj>pM)U3STV~WSnMrYhi?ZWJ?$F zVPQI-b(1M0iZ!Y9^V4hX;eo}U223K)M*h1H;z$r%iofjQH+!NsGgBW=n-Rr>;f)Bp z@%(1)p@?DI=zSvT;zfvtATXX(RDC1Qf0on_%=htH)!NBhe)^=Saa;tnU}E{*?C4pn z?u;L(1j#QJN7fTU)Cs{+B?5DQjAZ-XWG@YB3Vr!h0XB{O1{<@(r#MAJf$jRz;_bYi z9_E7s61z_R@FiE1Rc)($<~M+Zm{U(FtBC~{#qu2@F1jyy$Dt-=(j|v0GLmfS?oLAk z_@j=`XgyF-GjJ)e3<^?qZkdNAy>|Dy1VJ|sf0T#3Ub$YpVrV=%*U5sEzqa>b+>Bpx zsr1OHe?cL|!ceX`pcA>g{Ag=yyVyC}KzLQu(d!wF1a6F>r?;1)#F&#!-~#X?gd~Pp zxAMgBCFlx1fXdu7CJ<3ZCYURWY#tuEG+vZO8x0ScONI}y6uPfno%w-eNpL>8HmN}C zxMz2~mQnK-<7>z>jwIMAn-J1mzo!~#YIrhwDk`wR)kei!)X%SXS{KPbo9cs$t#y^8 z2tmZnz8jYgSVHnqcFCjR3@UcE`!VyeT8Ll2icd*GDiF-*H@mtz-Dbb(?rcTb9IbH9 z@<f55lhlS+%mIiybS@ei@ZOFZwl4KcgYAJ@~$nK2J=tKr86R+tp2l zF+`sbGj2GC+1M?YG=~AG^h2WcW3iD z?a4>T?Or`v!Q$9%YKg;jBS6{(Fucc>%PR3zn-b<3qOa}>5U z2-&T|z7eBRyux47bPJlFkHKQ6Q|u&y*I&HV2o4av8K9cT_QSkB-uu?`zk4{pxwgUr zE!+U^>Bmn4f@3}5Qbd~j6hKim;L3Iktm`#*ZhmwC&yVr~YyBQ>!1glf@0Th*C#U)H zQZH`8DGgvD#maRhCr9wn_k;JjQ6i(G$qFed8T6RuJYT;Th0DvQ1f5fI2o~C_@Rw$n zP5tx%VEbwdSQ;2vWbaY;^enUO|M+HGznkIuBs647 zMTP29Rik=@%>tZ@>x%LtJ>$ggsXA8=&rTg;dmCUM4C3UBt*p$CMN1RVpk&Byo>y9W zlXDEDQleiFDFjhK9+W_jfYb4IK}J{-pKu@80X;$dss z27jqb^|_&8*Tq$GUWIo;cBBe*^m3`B>)&ZMHjJm9979_>VSX)i*)qLz#pv7|#AB67 z9^s(SJ>V8c^Ai6)%Oa!b$i=c0FG}6?h4@Y~(x3Vidc^I4Ns=G}Xn;JvP0>k(96FiF z=`UIx<`_C4gD~WACU>Da#9na>F?LWLN4_lYZakSOAC+@<_J zF!A?tW9RMRWjRu2(0$6GyW>IQ+eo=O@g2mR1 zOBFz+Vj!i?MX8A;nfZANA(^?U42DMfh8FsU220eBodi0;$kW9!q+-t7s|S6V0wr26 zS~shylr5Qhqfup=@3P?`dRFC6e%@~JyU2Li)@j|lUsm&npR`E%RZw4h{omd1 z(JC`*`q}MoSD*i0ZM$|-%D=zxcYZeb>h5>uATWtwL~wk*k7Vya6L zncNmG>9Jf?vfapAqehWv(%6O!&pfZ*&-=&w&wDC&S~2lf0~&EC2xV zF3t{K0Dxhy*CZL-dQ|qm0k0?NXge1lnRR2zgru)Cc-EO34FIyUKOAFMyRT%uiH~vg zkMU-ljESR1odDeF!BLEe6CtPQT8B?Xorq&Zg-2^0cogly5^cg>Gz>d@~YeWc^e8|7;;Mem!=PE^+z+0`9VwZ z8)WQ69pjz>;^q;G)SWX<<2}18J%YHsvcOjXzZSSV9aotMdzDXZ9P?RTDb}Dg{B*~< zGyqb6oSTvMN`n|ldGd7(jHT}@1+|h zweZYBuxJEwIkKX()!ATrj(ZFUn`pZRZpwUau3K_JC_W1P!ULDYdb5!qg;XbU1_r4F zW!xCJ>Jg48G1CaK{p;kQbb>o+#yI< z8Vq5bA4rP(r9Nj&6Pbzs`t;!buc+Ae<2`JVvq9d8tNtt%`Me$xkB{eG29q2vQ5Vm* zzZf>mq(hLl-f>Slq2X3m1o$&?WK|~GjNKJHanq)I|unuy4QV>{MVG2F^3l=60N=* z7nw~K=$@bT9{OJ=ku!Q_r6gA$S^T=F=XeueJq3gu|ey1slY^eWp3nVNh=T4oM9aD&WOvId}& zQ6lE9CULk@DNAa0=3!N+K!~=81-Q$Pj6ccPwkA{OniQpa??UNdZ;&6v3v2d{xzhh^ z60M!%_aB9NC-UD)g7gj}#KBooS8bVVcbv?W)--ak_Ez=2eT z+1q0UFNlvi+jQ?k-|WQhT@e(G6BJ{{UfAC}SDM@m@qW;$O*w1*^ zf?oW1J|#;u;$ma^1>gRN#q9zPELEOwpp>bW!U}`K9N}+*6FHL4*%$}@S{pVnIA5`~ zm)IoksA+z8eOyqItBjrXeX`eq%kNuM7+u??LqJmAgdUjsy9pC-(vm!~zGb?)sPN-@ z(teQU@gZSC!bZ(nb@ueM<|dE1*w3Na?y&Ko1$uMBdyjWHa1Nou;mG?e4A3kOc>KY@ zQP*x_xJcCS1DMbwQp zpxNq;@MgG^X~FsZtQ9(yjBx3Q&xpzB^l@! z;=gpyhcCz-+>EFW2)W>tE(Z}B)Ir+f*ejF_uawnoB6V~2(`ij{o(IQ#l;6{#tCeJS z!KI!{E|2IY*rJQ-Bzw46_w3ga%3YD3()Uqo2^HRj1ZH7k&ZL;Q(a2u~-^-J=3x;ex zl$t;d*E_lcs|q~NO?}*k=ikuiYwWE!ASGNXI8vnU6s|PCs--36b7&=2$997Oe^*an zLNQ%grboJb-}Wdq`!KP)X))+V0A4kSG2K^NJKsrIZ)jJo6i(kWWGg~&33|Lm`)}P% zp2~YbM|AFaRnDsRzBfQZRosEhhHR4d;nLQVDjZN_YWbU1Ba;w;>M&fwDp9w(#P*!xCLE10`VazOtey%LH|tb#kh_S<-&N?dl0ooC9~p|Jh( ze6_^5S`)41C$Sh^K&q!rHHBmAx;kTn&E-! zWBu!FsdZZh*VO4bDl~*tR8thX@<05dQ=KO_*u`Ua-!|^cBnh?6DmhZajLiQ|V?FZ;hBDH}rAk#ut<9IL zg0Uo9i#9LfOL_LiJE+_wj%`20NkFKmG*Th18u#5A$C6{m%$?VJ|JsOsS0I1rX{&g- zm*3TM+-~qcItRoa2YmHnH{gI(hAcS%7B1Z9vAq4ih(eLg0(>waxBge8yi5!>?=X=w mS3mQEGum;jCUW`uC^qjQhx$18aR2&i2DmsLaj3JSCH))B-{HXk literal 0 HcmV?d00001 diff --git a/NoteSkins/pump/pad/DownLeft Ready Receptor 1x3.png b/NoteSkins/pump/pad/DownLeft Ready Receptor 1x3.png new file mode 100644 index 0000000000000000000000000000000000000000..3fd92f6f23c418b14243798af3fc30c86560f955 GIT binary patch literal 5586 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 literal 0 HcmV?d00001 diff --git a/NoteSkins/pump/pad/DownLeft Roll Head Active 3x2.png b/NoteSkins/pump/pad/DownLeft Roll Head Active 3x2.png new file mode 100644 index 0000000000000000000000000000000000000000..56bc2b2411ea95fcd23c8ac5652bc12de66df5b9 GIT binary patch literal 15051 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 LIa)TF`=$R6Me%&9 literal 0 HcmV?d00001 diff --git a/NoteSkins/pump/pad/DownRight Hold Body Active 6x1.png b/NoteSkins/pump/pad/DownRight Hold Body Active 6x1.png new file mode 100644 index 0000000000000000000000000000000000000000..59300a1e1dbdfab43bf8c688e6ef11d030cd136b GIT binary patch literal 509 zcmeAS@N?(olHy`uVBq!ia0y~yU~B-g6*$;{r1YBgPk|Imv6E*A2N2Y7q;vrJoCO|{ z#S9EwA3&JVX^qJYprCw-YeY$Kep*R+Vo@rCZ(?#$er{??W}<>yW>IQ+eo=O@g2mR1 zOBFz+Vj!i?MX8A;nfZANA(^?U42DMfh8FsU220eBodh}|$kW9!q+-t7tATl!9YoqL z*5|YYT;^?z@Q7qw`=Kc6Am0rRos}B=A9?tB`8``RGBYN=v&`S-_U+EZwd;EgKZ(3P zQSo0j^Y`m%Pi`N#TUL24P4edk+nE1feb2xBT2ruot7ZE9GWF=&QKxTJ->bE|bN&13 z9+mZz*VJ3S+h{ha?!E2wl6InBDd$^Rxe->-;PE z_CI@H`{Zr+x&KWj4{oJSGy8Z9v_PYAFcmLn7u7CJ*`5b*)@!Q+( zzxFVi_f$sC`2WZ2oDPCa3;|OZ7(`SV7+g6S90F<1{VH6^u-kU=K9SSF@MrLJ^>bP0 Hl+XkK4wk++ literal 0 HcmV?d00001 diff --git a/NoteSkins/pump/pad/DownRight Hold BottomCap Active 6x1.png b/NoteSkins/pump/pad/DownRight Hold BottomCap Active 6x1.png new file mode 100644 index 0000000000000000000000000000000000000000..34c6762d44895bcd713e4439c09ec41a26d0b602 GIT binary patch literal 2672 zcmZWrdo+}b7XN09G1M?cLdqC2loMUgkU@wNd3EYIF&z}w(d6wo)i*L4974*YVkk+4 zAxreoH#zdisX<vBBS zmvK5a;Z$@eaO6~QG$S%JB>WWFH9R^rfe{@ML$+=R>rIrkPq{lg`X%0)D-Jpg^FgQb3J z&pmCu*(Gm4t0s)-!%RX6-IHf<<6m6A81wf+@0ybCqi+jhQa?{U|890$duw9^gS(TW zcIYFUy|%vgCx$q#=J2s{lx1G}9pN9WHtMpZb(%uEGe^%ie;2H4r}jo7Z)oN?Z0QTp zvIvCi+shVzJ`^mvkTovYfoe`BL>SY&Y?U3X5z+jBc){t;j@fnYPkiuhU#`^b`7>Wx z>gMVL%(Q#k%Qo=zRK&&=h-LAKV=3bvvDH25B{IQ@;)WsN9NpB609lkyk#`{BUfM>D z;&ZTM!lfKT9{}e_+U%mll$GB8|59D=a)5A&te>F^sJg`Ig zPOc-{@4C-BC{JiAXX#I8vtZj#oK_9(WfMLcEA0}u=gP6wm>%J3&jK77hG$Y+Upxt0 zQpjPU9^qB-jV)t4F=(GqFvD%|9M(yrA~mAu-2!L18)=^m!TDH;9tJJyJsv0aLM|H^ ztcd@jse%RA?p-Pl`^PGcyOwgyc-<BaVUSy*3i_i^nWo!2oRKfy2m- zpLOFTazhvK(GHzne+wy9!=FnE;r+zqI5?XF`>e{g7%X8kv%oW$?l5Qo zgaf(zuDO^iZP#9Cf7c#eG*UyWkN6O<5zcL*Z3_Kt5#-v*ZRrC`ntm+dtNj+2r@V#r zH^Sg(6?*oerBCtlepDnmj;m?G&Q`d-X|Q~dEiSl*uq1O@W;Rfipf8adX{Bv4x8$TA1grrg+{7bC<$X&ndw_ve6 zlUY9{9|$G_@uDxgi12c|QO1gr9=jc3yz%T*`uwVK(d7aRu_qeB(DZOuIy(3sHvaoJ;9sc9@OsO*Zcz zA>(zA3YvQbP1Kl!v&&Tb3e=KKroyCaNmqu>X8ODEhB*CdyhU-)2mZO0s}10*#*pqs z*os^u*9w8;p(^aBf2r0!!5v-SZ%~{wYoYbflRWMjc2%q}s`#XhbC_yg1eW%}k&P** z0~Cqw&8m;)afNYC1I6?lUm&4e^|t}VCw2<-lZxy1Wc^2xdQJb}eyy9qVdq)Dx=Tw) z1)d#S_7szVRcdmULb72B-V~av$;^%1c4~^x=)wspygq>)!t9x8a#paFpGoV@O%N(*di!x$)fb<(SI3~`Wp9;B z3O*v%*9-vibjx7IItAL6-G7|5@FctXZ*oMlg%l$fz_tA_wl+nG)s)s5iJ(-RWqJ@f1&k6H>RG)z!ZCvD(7iJ0`|IK2|bVk}j^7DEdUUUN>%ZDdlsF+P*_I`(^0~8YgL2-@-O8Y>ZganrrZ zI)bo=#3^-KXkH zc&m8kGfcaP9itb+2RcD}C8j<&G7ddjOmIUYsWq-8oHD~e+aO<|cprWEt%==NTh4mj zK#6v0SRT#vIe^QBv#kpRO*+aI$xWm4&*`kFtn-Sx!y^nVZ6Z0R$XlKW%>7I z=a>p+0ZUpfq|Ghc>4W*TiwPz9R@|qXOVPE4jzzn|BBXNbWfifI8?>QMYLU;$j(@Kg zhkB>;XiTxrmTy)It7~VM?ASi-49T_2FV6EOM)stGrbyHILgZ1R19HDT2qsFKw*bWM z&vK-er*_(js!0>GN3}wG6^B4S?2;f@NSnztCCi?%2}1nE$~RW3@_C@*G^!8uEnx!_ zN;3Y@;cozTn2-+6n0#AhiI)}>d50VFUL3)UJ*0Vi( z;?NC5xv!Vx9m|c><5M+QBtQUk&Yx>+1CF7GrHc0!te@vOF1PnScVP( NcNb6R8YlXt{{R|rIkx}+ literal 0 HcmV?d00001 diff --git a/NoteSkins/pump/pad/DownRight Roll Head Active 3x2.png b/NoteSkins/pump/pad/DownRight Roll Head Active 3x2.png new file mode 100644 index 0000000000000000000000000000000000000000..23e3979aedec9f3a37f67bbc9e09208336e16082 GIT binary patch literal 15820 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 literal 0 HcmV?d00001 diff --git a/NoteSkins/pump/pad/UpLeft Hold Body Active 6x1.png b/NoteSkins/pump/pad/UpLeft Hold Body Active 6x1.png new file mode 100644 index 0000000000000000000000000000000000000000..217d9cfc26fdd0eec9b4e2f2ef2deb20c03a8db5 GIT binary patch literal 420 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 SyCsAP04|Om4z<|8#Qy*}=VXHb literal 0 HcmV?d00001 diff --git a/NoteSkins/pump/pad/UpLeft Ready Receptor 1x3.png b/NoteSkins/pump/pad/UpLeft Ready Receptor 1x3.png new file mode 100644 index 0000000000000000000000000000000000000000..c50fcbca7c832576a1c36be7195733d61f4b93cc GIT binary patch literal 5464 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 literal 0 HcmV?d00001 diff --git a/NoteSkins/pump/pad/UpLeft Tap Note 3x2.png b/NoteSkins/pump/pad/UpLeft Tap Note 3x2.png new file mode 100644 index 0000000000000000000000000000000000000000..bbe39eeceb183e0754a43ce7cf55567503bf3780 GIT binary patch literal 2902 zcmZvedos7N z8KRDq!6eCTyvnT@cfz79^TeV? z+)1xEcYJVMf`3d9;Ou`f1|Jy|80N2eDl8@_0Ur|)t7+K~`uA0_rw8p|>v8oF`*CN? zS4&0IUa~dC_ovyzh-2wTRpt}fR;8D)Zo$pko;nCbUg~MeZrj~X5}{CGmB(dsxy(Qd z<=rHvw*=$!nd~NDXEs6sC=ZWs+`&8;a{Wn36Zgszjn135VhSRmq(60R9c*m)1KJ<4 z&*M_ezKxUBkv5qIzUa}s+b3w+?3~Qu*t789t{xl!24Jgk}D@ZoyLV))j)LQx+`D!?eULY*tCQ71i zV>Cw-6^kL&O6eI?we`<+L?}_DrWv5E=%Q~LBVCpFj5C$JMI3WHQ6IXR&C8B}MovvR z20DR1I)pQQIa1uFu!&r^@eb$jE=K^xW6dx?@-Pc)+fA0C7*x{pc@O`xpua>?0Mw_X zFg&=w|Ex(7+~;SQF7fi?2Cc9)%gB2##mtKhXdfN$JEBRgrUBUchg^+c$v z0PTF6`uMRj{%=QL8?c_gxo3X$w1Q~CjO47H!t&;T*9nld?f?%uUWZJxQ&QqIHw)Obb4e zYYP`OjMl05+K@i-xCgR)f1@gjp*aH)z{#9^&UPR!cMqpQ`4$eCg)wU9n)~T0kAtEJ3g@nL)C?kXvA20BqEGF_5lLTI1t62*zuKhb}O>5YhNUg3L{+LX_vDh`8n1k}ELo2~dr=FbtnBSs`u z>8$I}{4JTinl0M_R!YbXu!7^5u!r;wzre=08!*zdk@(;23S1*3&s-_=$c-CWQw41( zG+komyn`2b){Mk>qhBTRZJq9-s#2I|w!O3q2q6r*36o`pP+rRXPi#(Wd!=3|QLXR5!u`fsVrb4DYA5lGuJyb5zMGVdn(HNo#h{jTX*Ojpz zrCv^F6W3`pbCFX3uKx}t`&G~*=0f4)%IV1PIH^VffalUmRpck)9vD-;3Xm`-vFr*IcegaJLE zK+D{roNMdS!^l*Tw~nQBYzZ8gy&y1JrZTAkfFZ_M*DP68+e#h4e2E4O&oLk^9`e$F zyV?H;9vqo$6J%e%pWw}vVU}P+Jrp#DpoD(u!>b)MWMr{(IxO1nptkg7R#u>>O_;k4 zY|cUgR?^!+CGqW1E$3&X$6eZ_Wmbn@5>JBVHl)!Uffaq%-BwVE_casxNB+zFX=p8R zd-ah-KkFEvu557Uj@uDoy)MUKkQGS;G6+evVWa$w*WX4&MV2KIfcyx z3sI0{Px1jF67&_sQEQ66uP)_)GvOpiFL{<%(@$uY;%y$RM0Tp-#OO>0kCt-!+$4sB z?erbKP_o3&H~$QxXI!*!vpu|re3Duyw;YxX0LEH=z%Tg%-1&B6 zOt80?%-}B@rLf))3WE56T&+W%*x4cm;SOJAkI?{a^-q_kU91q>2cCEXUR$|+`f*eR zrse~gE~F(e82lr&x}^HZsY&hV^<1_@XF-cf0mU~&{ByFl{rz3->heFtCz^Ebl&eka z9Z_Ff7u!eXNIM1xya)n>jo!{G$oW}E$@Isvv3h$K*cw`hs9xgdijBz_-1{L`qm-gB z6i%AwdqRrG+SmwbKbQ$E4Hf?()pdea&BH7w1sj){;J{=J9LwU{ys{u_f!WFTZh`(TbL`xw3ZKZ%tjWuv#Nu=O z42Ml*P}>mU3K(Ml{+>`M(Lx}^*JwuH5_EAwd=K!k&8YK_MeVWoy})u{xH>BRJKZWd z!P(HqegeP8_5;@D^?YLKm?@U8J+6`t0hW;P7nb1Ld)=LZkLY#-8lZmT2W51VCZ=3r?u9= z#^c>^zRHS=zyI@P9W9e(YCqKu0RHs|CigXUiUCptl`w$RgVx=cg42jnVy;Fj%$?Ez zKE2~!97Yx)+W}l&pldkP2oqxoQl;9juJf0`(=gvXgiiE^d5U{r0DbbT K!wWlH%D({`uCKxX literal 0 HcmV?d00001 diff --git a/NoteSkins/pump/pad/UpRight Hold Body Active 6x1.png b/NoteSkins/pump/pad/UpRight Hold Body Active 6x1.png new file mode 100644 index 0000000000000000000000000000000000000000..57ad1b1cd68a073f281ab2cd9826cbb846511e7b GIT binary patch literal 455 zcmeAS@N?(olHy`uVBq!ia0y~yU~B-g6*$;{r1YBgPk|Imv6E*A2N2Y7q;vrJoCO|{ z#S9EwA3&JVX^qJYprCw-YeY$Kep*R+Vo@rCZ(?#$er{??W}<>yW>IQ+eo=O@g2mR1 zOBFz+Vj!i?MX8A;nfZANA(^?U42DMfh8FsU220eBodh~T#?!?yq+-t7s~i280tMPG z?kw51?`%}k$nL7vS7Vm!Tziaor`Kyja%sal~ zo_v+D+t;#RRev6DG|SglfA1E0_VT({5C3YVAD1vaUwpO9YUb*1?W$``I4q5&C|NQ>` z>YCrv1oiI!pEaHFfV~m}!$KAYg((aSEkXcj0_yARF44&Ir@Arv|&N(_~XVoGx6kwzrPDBhfweEHOKdkj(UBCPBX`2($o0K*I03dB? zVR{w-P+_8+gq9SkyhAoq6vXe5E$z^v6O6tVC3<7-SX{gZ0Gk$mUlh5>AXQXU^)Yks zIY+(jR8GE`Z1Zt_A&~9>_?tCl_>O!F-vNGpp=QZoZAxI6*Y!T4d}B zj3-RVkuAFPP*}1>_W#m>y#NNEuF!C9$`)a?cWLlfhQTX>pvU<#<3Z{UBycTFKvDTb zuwGe!g6647fW9E3SPs4rxs9I>HeQfG>Zx=#bP|0G*|T714fOJW1z3uPbv_@CiiP(y z4|A9#dkGd%Sco(q0F%V^lmbkqs6UC5nS|2|DP@{!TEW5-gQ}~OKLnoSdZzSnlj4YY zm-|B67nZMKGSlND1UG$hME@yv_wo+qOHCzQN7x`?otu?LZc#XM>`lR+ zeP@;_9lIP<_hn{ng_dmRIUCyGR;qLjF}9O5NKC|Fo7M0Rs0Fy)3|>+Ma%X}rE>H%Ux*%n}RO+ctHV4+}3`tqEozVJuaMg@S)E&95{_e86 zQEJ0QY_&tVv9jGSL8kIm-eOX39WRqGmIdn5<3%fz_c}80eqQfRyG7fiK7>put>b7Q zJ9)L>O5t+d$A?wX#79%q2bPedHAP94il9ktmjwJ$)=0~ZiGj7e)N23m2`zU}EqgpG zU74!HoE`^2;SJ&*vbfqtk_X~fc3!xYczUQQJ@pY2@O{W^{1zDp-b($5&?&LuOv`oE zJfe%wy!DT)4vT_-O%~5DJ;x?+Q=%#+@%9?cO%g3{W(9rETRqih&FYx@S8pv#T0@Sf z#2P_+0c#h|in^hYJ`+FE#c4pse!&p6@`(Nx_?aPoZFMl5(vfX^OZbLtwm>IGtb{zs|&W7ia zGqPc@#B?F3{-Tb^aB!d?S3>-TanQlL6Pz9F9)_(=k*_)`N{}`R6?^Ci4@!l8NO@?^ zvTrMQ4h=%v4KUu&{_u)z7dnl7CPvJ9yWXz21h7~qkaDm2 z!>SlhP)pWENZ*^mFs+7KTN!J-3ZNl~JlsP|)y4 zFp$^cK`DU>y)rzXRQJmY*CnSP+J{+$`C}S9KyAl>funbjYUQdPB4fSziJ#&9?44n} zOln-p9JsiJ)KRwMwc#zBv89T0>d$jN{YimCnwNH#jxCUreADPpg!WZS+Uf zZ{3d2_tdI0_JF_FYZQ-H@X|{O@RR8)J?OEjJGFBG1<~xMc3ty=>pZr>h0j`dePxYS3^#|eHxE(v zIh%YdL2c&;hb*y@fUZi(L*^g`;Pm#vO;e@ySSVs2VV|A+@wUI6wI_1`lBt7G!0I@b z3?$gtN|}&0#xm_*8@$nNuR?jzF{pIPq*;#{8@Ybq(BIfxQ03}MN{@X)LewNx+s`Nv ziOjFfD4J_8e3=ory$0cLy|YRg*EYG0ysfyEH>jN4bSyb)Q`wEUiGH`Y+9w;MKdB7C zjqLa7{9x_2zn*}JSm>phaKz~NDhmlK+JTZ7XBug*%6t&c3`}&_yDzfG&Caf`^{WqL1qq9j=xa^4%8~$3XmfgjKmq>0wRC&D4*#Em-GSNhop8- z;1jVAlc=b*9#K7#0GG%Erz_;7%WIT~3R9wpOBEb`}SaM5(%RkU5 aP%ZtU;pprsr!V@p0G4JprX^&T@c#gl^NZ&I literal 0 HcmV?d00001 diff --git a/NoteSkins/pump/pad/UpRight Roll Head Active 3x2.png b/NoteSkins/pump/pad/UpRight Roll Head Active 3x2.png new file mode 100644 index 0000000000000000000000000000000000000000..fe3c63d2b573868160ebb1fc58397fcacbe8847c GIT binary patch literal 14659 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≦8ek0&jjRmL49YoV~h`^vNSe!Y87av@^$X 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 H=3)OAdz!Rd literal 0 HcmV?d00001 From 3830ddbadfe66cea486b49743f4b2a752f67b3cc Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 27 Jun 2011 11:09:31 -0400 Subject: [PATCH 217/530] Use Step Author instead of Chart Style on right. --- Docs/Changelog_sm5.txt | 2 ++ Themes/_fallback/Languages/en.ini | 1 + Themes/_fallback/metrics.ini | 1 + src/ScreenEdit.cpp | 5 ++++- 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 63b47d5b0c..ba9638fb85 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -11,6 +11,8 @@ StepMania 5.0 Preview 2 | 201106?? 2011/06/27 ---------- * [Steps] Make sure #ATTACKS are copied when requested. [Wolfman2000] +* [ScreenEdit] Have Step Author up front instead of Chart Style. This is + probably going to be better overall. [Wolfman2000] 2011/06/26 ---------- diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 2706ab81b6..6a4b0a5287 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -1286,6 +1286,7 @@ Selection beat=Selection beat Difficulty=Difficulty Description=Description Chart Style=Chart Style +Step Author=Step Author Main title=Main title Subtitle=Subtitle Tap Note=Tap Note diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 1632ddae96..e1e5812d24 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -3658,6 +3658,7 @@ SelectionBeatEndFormat="-%.5f\n" DifficultyFormat="%s:\n %s\n" RoutinePlayerFormat="%s:\n %d\n" DescriptionFormat="%s:\n %s\n" +StepAuthorFormat="%s:\n %s\n" ChartStyleFormat="%s:\n %s\n" MainTitleFormat="%s:\n %s\n" SubtitleFormat="%s:\n %s\n" diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index ed8a79261e..868c40bb71 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -1110,6 +1110,7 @@ static LocalizedString DIFFICULTY("ScreenEdit", "Difficulty"); static LocalizedString ROUTINE_PLAYER("ScreenEdit", "Routine Player"); static LocalizedString DESCRIPTION("ScreenEdit", "Description"); static LocalizedString CHART_STYLE("ScreenEdit", "Chart Style"); +static LocalizedString STEP_AUTHOR("ScreenEdit", "Step Author"); static LocalizedString MAIN_TITLE("ScreenEdit", "Main title"); static LocalizedString SUBTITLE("ScreenEdit", "Subtitle"); static LocalizedString TAP_NOTE_TYPE("ScreenEdit", "Tap Note"); @@ -1139,6 +1140,7 @@ static ThemeMetric DIFFICULTY_FORMAT("ScreenEdit", "DifficultyFormat"); static ThemeMetric ROUTINE_PLAYER_FORMAT("ScreenEdit", "RoutinePlayerFormat"); static ThemeMetric DESCRIPTION_FORMAT("ScreenEdit", "DescriptionFormat"); static ThemeMetric CHART_STYLE_FORMAT("ScreenEdit", "ChartStyleFormat"); +static ThemeMetric STEP_AUTHOR_FORMAT("ScreenEdit", "StepAuthorFormat"); static ThemeMetric MAIN_TITLE_FORMAT("ScreenEdit", "MainTitleFormat"); static ThemeMetric SUBTITLE_FORMAT("ScreenEdit", "SubtitleFormat"); static ThemeMetric TAP_NOTE_TYPE_FORMAT("ScreenEdit", "TapNoteTypeFormat"); @@ -1208,7 +1210,8 @@ void ScreenEdit::UpdateTextInfo() if ( m_InputPlayerNumber != PLAYER_INVALID ) sText += ssprintf( ROUTINE_PLAYER_FORMAT.GetValue(), ROUTINE_PLAYER.GetValue().c_str(), m_InputPlayerNumber + 1 ); sText += ssprintf( DESCRIPTION_FORMAT.GetValue(), DESCRIPTION.GetValue().c_str(), m_pSteps->GetDescription().c_str() ); - sText += ssprintf( CHART_STYLE_FORMAT.GetValue(), CHART_STYLE.GetValue().c_str(), m_pSteps->GetChartStyle().c_str() ); + sText += ssprintf( STEP_AUTHOR_FORMAT.GetValue(), STEP_AUTHOR.GetValue().c_str(), m_pSteps->GetCredit().c_str() ); + //sText += ssprintf( CHART_STYLE_FORMAT.GetValue(), CHART_STYLE.GetValue().c_str(), m_pSteps->GetChartStyle().c_str() ); sText += ssprintf( MAIN_TITLE_FORMAT.GetValue(), MAIN_TITLE.GetValue().c_str(), m_pSong->m_sMainTitle.c_str() ); if( m_pSong->m_sSubTitle.size() ) sText += ssprintf( SUBTITLE_FORMAT.GetValue(), SUBTITLE.GetValue().c_str(), m_pSong->m_sSubTitle.c_str() ); From e11f90ffad0146274b1c405a10c3c2cfb1e6b2dc Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 27 Jun 2011 11:11:52 -0400 Subject: [PATCH 218/530] Add command, reorganize others. --- Themes/_fallback/Languages/en.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 6a4b0a5287..e94e6b0482 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -1265,7 +1265,7 @@ Enter a new min BPM.=Enter the minimum displayed BPM. Enter a new max BPM.=Enter the maximum displayed BPM. More than %d notes per measure is not allowed. This change has been reverted.=More than %d notes per measure is not allowed. This change has been reverted. No backgrounds available=No backgrounds available -EditHelpText=Up/Down:\n change beat\nLeft/Right:\n change snap\nNumber keys:\n add/remove\n tap note\nN and M keys:\n swap tap notes\nCtrl + N/M:\n swap cycled segment\nCreate hold note:\n Hold a number\n while moving\n Up or Down\nCreate roll note:\n Hold Shift,\n then create a\n hold note.\nSpace bar:\n Set area\n marker\nT key:\n Switch Timing\nEnter:\n Area Menu\nA Key: Alter Menu\nEscape:\n Main Menu\nF4:\n Timing Menu\nF1:\n Show help\n +EditHelpText=Up/Down:\n change beat\nLeft/Right:\n change snap\nNumber keys:\n add/remove\n tap note\nN and M keys:\n swap tap notes\nCtrl + N/M:\n swap cycled segment\nCtrl + ,/.:\n cycle segments\nCreate hold note:\n Hold a number\n while moving\n Up or Down\nCreate roll note:\n Hold Shift,\n then create a\n hold note.\nSpace bar: Set area\n marker\nT key: Switch Timing\nEnter: Area Menu\nA Key: Alter Menu\nEscape: Main Menu\nF4: Timing Menu\nF1: Show help\n PlayRecordHelpText=Press START to end Save successful.=Save successful. Saved as SM and DWI.=Saved as SM and DWI. From 5c419d4e445c9c063ff6a00fc69d92b919aa7643 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 27 Jun 2011 11:29:17 -0500 Subject: [PATCH 219/530] why was this still here? we don't support xbox anymore --- extern/libjpeg/xboxjpeg.lib | Bin 543742 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 extern/libjpeg/xboxjpeg.lib diff --git a/extern/libjpeg/xboxjpeg.lib b/extern/libjpeg/xboxjpeg.lib deleted file mode 100644 index cfd6a92d07b804ad7f880d0267c7a74cdac73505..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 543742 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

Y~o*wu>m;oV&a| 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 Date: Mon, 27 Jun 2011 13:26:32 -0400 Subject: [PATCH 220/530] Revert parts of RandomVanish code. It was never the logic that was busted. Just the noteskins. --- src/Player.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/Player.cpp b/src/Player.cpp index 0daaf083e7..b9f3c82d11 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -2975,10 +2975,6 @@ void Player::RandomizeNotes( int iNoteRow ) const int iSwapWith = RandomInt( iNumOfTracks ); - // Make sure we're not swapping with ourselves. - if( t == iSwapWith ) - continue; - // Make sure this is empty. if( m_NoteData.FindTapNote(iSwapWith, iNewNoteRow) != m_NoteData.end(iSwapWith) ) continue; From 0919debf3306cfdee486191d1b158c0eceadceed Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 27 Jun 2011 14:24:55 -0400 Subject: [PATCH 221/530] Preserve speed segment length time on beats. --- Docs/Changelog_sm5.txt | 2 ++ src/TimingData.cpp | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index ba9638fb85..00067dc2d1 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -13,6 +13,8 @@ StepMania 5.0 Preview 2 | 201106?? * [Steps] Make sure #ATTACKS are copied when requested. [Wolfman2000] * [ScreenEdit] Have Step Author up front instead of Chart Style. This is probably going to be better overall. [Wolfman2000] +* [TimingData] Preserve the length of time for Speed Segment scaling when using + beats. [Wolfman2000] 2011/06/26 ---------- diff --git a/src/TimingData.cpp b/src/TimingData.cpp index 5e1644b5fa..8b9bdf9531 100644 --- a/src/TimingData.cpp +++ b/src/TimingData.cpp @@ -1332,7 +1332,12 @@ void TimingData::ScaleRegion( float fScale, int iStartIndex, int iEndIndex, bool m_LabelSegments[i].Scale( iStartIndex, length, newLength ); for ( unsigned i = 0; i < m_SpeedSegments.size(); i++ ) - m_SpeedSegments[i].Scale( iStartIndex, length, newLength ); + { + SpeedSegment &s = m_SpeedSegments[i]; + s.Scale( iStartIndex, length, newLength ); + if (s.GetUnit() == 0) // beats + s.SetLength(s.GetLength() * fScale); + } for( unsigned i = 0; i < m_FakeSegments.size(); i++ ) m_FakeSegments[i].Scale( iStartIndex, length, newLength ); From 23e56ea0848442f6eb00968a951d34e9b66bed2e Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 27 Jun 2011 15:04:03 -0400 Subject: [PATCH 222/530] Wrong operator. --- src/ScreenEdit.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 868c40bb71..4d2a584b0c 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -4522,7 +4522,7 @@ void ScreenEdit::SetupCourseAttacks() else { const PlayerOptions &p = GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions.GetCurrent(); - if (GAMESTATE->m_pCurSong && p.m_fNoAttack != 0 && p.m_fRandAttack != 0 ) + if (GAMESTATE->m_pCurSong && p.m_fNoAttack == 0 && p.m_fRandAttack == 0 ) { AttackArray &attacks = GAMESTATE->m_bIsUsingStepTiming ? GAMESTATE->m_pCurSteps[PLAYER_1]->m_Attacks : From 0388d40a9be62808cc6acd1baddcf43275467681 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 27 Jun 2011 15:16:13 -0500 Subject: [PATCH 223/530] hardcode to .stepmania5 instead of ".stepmania 5" --- src/arch/ArchHooks/ArchHooks_Unix.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/arch/ArchHooks/ArchHooks_Unix.cpp b/src/arch/ArchHooks/ArchHooks_Unix.cpp index 6f33443e79..eba3d49970 100644 --- a/src/arch/ArchHooks/ArchHooks_Unix.cpp +++ b/src/arch/ArchHooks/ArchHooks_Unix.cpp @@ -278,7 +278,7 @@ void ArchHooks::MountInitialFilesystems( const RString &sDirOfExecutable ) const char *szHome = getenv( "HOME" ); RString sProductId = PRODUCT_ID; sProductId.MakeLower(); - RString sUserDataPath = ssprintf( "%s/.%s", szHome? szHome:".", sProductId.c_str() ); + RString sUserDataPath = ssprintf( "%s/.%s", szHome? szHome:".", "stepmania5" ); FILEMAN->Mount( "dir", sUserDataPath + "/Cache", "/Cache" ); FILEMAN->Mount( "dir", sUserDataPath + "/Logs", "/Logs" ); FILEMAN->Mount( "dir", sUserDataPath + "/Save", "/Save" ); From 5bd5f2ea99904887410370c8cd7ce30a0aaab0ae Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 27 Jun 2011 20:15:30 -0400 Subject: [PATCH 224/530] Simplify. --- src/NotesLoaderSM.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index 749485818c..fc5a59273e 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -166,8 +166,7 @@ void SMLoader::ProcessAttacks( AttackArray &attacks, MsdFile::value_t params ) if( sBits.size() < 2 ) continue; - TrimLeft( sBits[0] ); - TrimRight( sBits[0] ); + Trim( sBits[0] ); if( !sBits[0].CompareNoCase("TIME") ) attack.fStartSecond = strtof( sBits[1], NULL ); From 8051cd7ad21d9913e894391ee6c2f20d4d02d964 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 27 Jun 2011 20:27:59 -0400 Subject: [PATCH 225/530] .ssc format change, recache required. This is being done so that beat based #ATTACKS can be possible. --- Docs/Changelog_SSCformat.txt | 3 +++ Docs/Changelog_sm5.txt | 2 ++ Docs/SimfileFormats/ssc_msd5.txt | 2 +- src/NotesLoaderSSC.h | 2 ++ src/NotesWriterSSC.cpp | 5 ++--- src/Song.cpp | 2 +- src/Song.h | 2 +- 7 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Docs/Changelog_SSCformat.txt b/Docs/Changelog_SSCformat.txt index bf388ed6fc..12cb56d7b8 100644 --- a/Docs/Changelog_SSCformat.txt +++ b/Docs/Changelog_SSCformat.txt @@ -9,6 +9,9 @@ change to JSON, but it is unsure if this will be done. Implement .ssc at your own risk. ________________________________________________________________________________ +[v0.72] - Wolfman2000 +* Have #OFFSET come before #ATTACKS in the Step data. + [v0.71] - Wolfman2000 * Have #ATTACKS work per step as well. diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 00067dc2d1..330b897df1 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -15,6 +15,8 @@ StepMania 5.0 Preview 2 | 201106?? probably going to be better overall. [Wolfman2000] * [TimingData] Preserve the length of time for Speed Segment scaling when using beats. [Wolfman2000] +* [NotesLoader/WriterSSC] #OFFSET is to be before #ATTACKS. This is required if + we pursue beat based attacks and not just second based. [Wolfman2000] 2011/06/26 ---------- diff --git a/Docs/SimfileFormats/ssc_msd5.txt b/Docs/SimfileFormats/ssc_msd5.txt index 0b878925d9..119f61b297 100644 --- a/Docs/SimfileFormats/ssc_msd5.txt +++ b/Docs/SimfileFormats/ssc_msd5.txt @@ -51,6 +51,7 @@ #CREDIT:; // steps-based timingdata +#OFFSET:; #BPMS:; #STOPS:; #DELAYS:; @@ -62,7 +63,6 @@ #FAKES:; #LABELS:; #ATTACKS:; -#OFFSET:; // actual step data #NOTES:; diff --git a/src/NotesLoaderSSC.h b/src/NotesLoaderSSC.h index 3031932841..286a849ab2 100644 --- a/src/NotesLoaderSSC.h +++ b/src/NotesLoaderSSC.h @@ -26,6 +26,8 @@ const float VERSION_RADAR_FAKE = 0.53f; const float VERSION_WARP_SEGMENT = 0.56f; /** @brief The version that formally introduced Split Timing. */ const float VERSION_SPLIT_TIMING = 0.7f; +/** @brief The version that moved the step's Offset higher up. */ +const float VERSION_OFFSET_BEFORE_ATTACK = 0.72f; /** * @brief The SSCLoader handles all of the parsing needed for .ssc files. diff --git a/src/NotesWriterSSC.cpp b/src/NotesWriterSSC.cpp index b682788558..dc9c63a5a2 100644 --- a/src/NotesWriterSSC.cpp +++ b/src/NotesWriterSSC.cpp @@ -317,7 +317,8 @@ static RString GetSSCNoteData( const Song &song, const Steps &in, bool bSavingCa lines.push_back( ssprintf( "#RADARVALUES:%s;", join(",",asRadarValues).c_str() ) ); lines.push_back( ssprintf( "#CREDIT:%s;", SmEscape(in.GetCredit()).c_str() ) ); - + lines.push_back( ssprintf( "#OFFSET:%.6f;", in.m_Timing.m_fBeat0OffsetInSeconds ) ); + GetTimingTags( lines, in.m_Timing ); RString attacks = ""; @@ -332,8 +333,6 @@ static RString GetSSCNoteData( const Song &song, const Steps &in, bool bSavingCa Trim(attacks, ":"); // just in case something screwy happens. lines.push_back( ssprintf( "#ATTACKS:%s;", attacks.c_str())); - lines.push_back( ssprintf( "#OFFSET:%.6f;", in.m_Timing.m_fBeat0OffsetInSeconds ) ); - RString sNoteData; in.GetSMNoteData( sNoteData ); diff --git a/src/Song.cpp b/src/Song.cpp index 72c2001fd4..caf5f08315 100644 --- a/src/Song.cpp +++ b/src/Song.cpp @@ -41,7 +41,7 @@ * @brief The internal version of the cache for StepMania. * * Increment this value to invalidate the current cache. */ -const int FILE_CACHE_VERSION = 184; +const int FILE_CACHE_VERSION = 185; /** @brief How long does a song sample last by default? */ const float DEFAULT_MUSIC_SAMPLE_LENGTH = 12.f; diff --git a/src/Song.h b/src/Song.h index ca490b6294..990e553009 100644 --- a/src/Song.h +++ b/src/Song.h @@ -20,7 +20,7 @@ void FixupPath( RString &path, const RString &sSongPath ); RString GetSongAssetPath( RString sPath, const RString &sSongPath ); /** @brief The version of the .ssc file format. */ -const static float STEPFILE_VERSION_NUMBER = 0.71f; +const static float STEPFILE_VERSION_NUMBER = 0.72f; /** @brief How many edits for this song can each profile have? */ const int MAX_EDITS_PER_SONG_PER_PROFILE = 15; From a50069efa2481179c8d073514a9b2f72afb9b5c8 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Tue, 28 Jun 2011 12:25:32 -0400 Subject: [PATCH 226/530] Add the requested copy timing data functionality. I don't know of a good way to copy timing data across different styles, though. --- Docs/Changelog_sm5.txt | 7 +++++++ Themes/_fallback/Languages/en.ini | 2 ++ src/ScreenEdit.cpp | 22 ++++++++++++++++++++++ src/ScreenEdit.h | 8 ++++++++ 4 files changed, 39 insertions(+) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 330b897df1..3becdfa38c 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,13 @@ ________________________________________________________________________________ StepMania 5.0 Preview 2 | 201106?? -------------------------------------------------------------------------------- +2011/06/28 +---------- +* [ScreenEdit] Add a function to copy/paste the TimingData of a player's + choice. Remember to be in the appropriate mode when copying and pasting. + By default, the song timing is already located in the clipboard, ready for + use. [Wolfman2000] + 2011/06/27 ---------- * [Steps] Make sure #ATTACKS are copied when requested. [Wolfman2000] diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index e94e6b0482..1c796abc6b 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -821,6 +821,7 @@ Convert selection to delay=Convert selection to delay Convert selection to warp=Convert selection to Warp Segment Convert selection to fake=Convert selection to Fake Segment Copy=Copy +Copy timing data=Copy timing data CourseSortOrder=Course Sort Create New=Create New Create New Course=Create New @@ -944,6 +945,7 @@ OsMountPlayer1=OS Mount Player1 OsMountPlayer2=OS Mount Player2 Paste at begin marker=Paste at begin marker Paste at current beat=Paste at current beat +Paste timing data=Paste timing data Persp=Persp Play current beat to end=Play current beat to end Play preview music=Play preview music diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 4d2a584b0c..55660d2c05 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -643,6 +643,8 @@ static MenuDef g_TimingDataInformation( MenuRowDef( ScreenEdit::speed_mode, "Edit speed (mode)", true, EditMode_Full, true, true, 0, "Beats", "Seconds" ), MenuRowDef( ScreenEdit::scroll, "Edit scrolling factor", true, EditMode_Full, true, true, 0, NULL ), MenuRowDef( ScreenEdit::fake, "Edit fake", true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef( ScreenEdit::copy_timing, "Copy timing data", true, EditMode_Full, true, true, 0, NULL ), + MenuRowDef( ScreenEdit::paste_timing, "Paste timing data", true, EditMode_Full, true, true, 0, NULL ), MenuRowDef( ScreenEdit::erase_step_timing, "Erase step timing", true, EditMode_Full, true, true, 0, NULL ) ); @@ -873,6 +875,8 @@ void ScreenEdit::Init() m_bRemoveNoteButtonDown = false; m_Clipboard.SetNumTracks( m_NoteDataEdit.GetNumTracks() ); + + clipboardTiming = GAMESTATE->m_pCurSong->m_SongTiming; // always have a backup. m_bHasUndo = false; m_Undo.SetNumTracks( m_NoteDataEdit.GetNumTracks() ); @@ -4404,6 +4408,24 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice ); break; } + case copy_timing: + { + clipboardTiming = GetAppropriateTiming(); + break; + } + case paste_timing: + { + if (GAMESTATE->m_bIsUsingStepTiming) + { + GAMESTATE->m_pCurSteps[PLAYER_1]->m_Timing = clipboardTiming; + } + else + { + GAMESTATE->m_pCurSong->m_SongTiming = clipboardTiming; + } + SetDirty(true); + break; + } case erase_step_timing: ScreenPrompt::Prompt( SM_DoEraseStepTiming, CONFIRM_TIMING_ERASE , PROMPT_YES_NO, ANSWER_NO ); break; diff --git a/src/ScreenEdit.h b/src/ScreenEdit.h index bdfbdc71f4..255cf2b425 100644 --- a/src/ScreenEdit.h +++ b/src/ScreenEdit.h @@ -273,6 +273,12 @@ protected: * This is mainly to allow playing a chart with Song Timing. */ TimingData backupStepTiming; + /** + * @brief Have a backup of the TimingData of the player's choice. + * + * This will be used for copying and pasting as required. */ + TimingData clipboardTiming; + /** @brief The current TapNote that would be inserted. */ TapNote m_selectedTap; @@ -550,6 +556,8 @@ public: speed_mode, scroll, fake, + copy_timing, + paste_timing, erase_step_timing, NUM_TIMING_DATA_INFORMATION_CHOICES }; From ce89d3c43a5807acbb5612421f49367573e2b31f Mon Sep 17 00:00:00 2001 From: Jonathan Payne Date: Tue, 28 Jun 2011 13:47:42 -0700 Subject: [PATCH 227/530] [DEFAULT] Various global fixes, default songs ( see rest of log ) i317 - Installed Songs, Courses On Gameplay text i355 - midi-note, midi-solo Hold Heads fixed MEW - 2 New Songs, Courtesy of Kommisar!! NEW - Old SongMeterDisplay implemented for Split Timing FIX - Remove non-working failing logic FIX - Misc Fixes --- NoteSkins/dance/midi-note/metrics.ini | 2 +- NoteSkins/dance/midi-solo/metrics.ini | 4 +-- Themes/_fallback/Scripts/02 StageMods.lua | 33 ++++++++++++------- Themes/_fallback/metrics.ini | 5 +-- .../ScreenEvaluation overlay/default.lua | 4 +-- .../ScreenGameplay decorations/default.lua | 26 +++++++++------ .../BGAnimations/ScreenTitleMenu underlay.lua | 20 +++++++++++ Themes/default/metrics.ini | 14 ++++++-- 8 files changed, 76 insertions(+), 32 deletions(-) diff --git a/NoteSkins/dance/midi-note/metrics.ini b/NoteSkins/dance/midi-note/metrics.ini index b340ce85c5..943ed2c140 100644 --- a/NoteSkins/dance/midi-note/metrics.ini +++ b/NoteSkins/dance/midi-note/metrics.ini @@ -4,7 +4,7 @@ FallbackNoteSkin=default [NoteDisplay] TapNoteAnimationIsVivid=0 HoldHeadAnimationIsVivid=0 -DrawHoldHeadForTapsOnSameRow=1 +DrawHoldHeadForTapsOnSameRow=0 TapNoteAnimationLength=4 TapAdditionAnimationLength=4 TapMineAnimationLength=1 diff --git a/NoteSkins/dance/midi-solo/metrics.ini b/NoteSkins/dance/midi-solo/metrics.ini index edfd84d362..698d307fb4 100644 --- a/NoteSkins/dance/midi-solo/metrics.ini +++ b/NoteSkins/dance/midi-solo/metrics.ini @@ -3,7 +3,7 @@ FallbackNoteSkin=midi-note [NoteDisplay] TapNoteAnimationIsVivid=0 -DrawHoldHeadForTapsOnSameRow=1 +DrawHoldHeadForTapsOnSameRow=0 TapNoteAnimationLength=4 TapAdditionAnimationLength=4 TapMineAnimationLength=1 @@ -35,7 +35,7 @@ TapFakeNoteColorTextureCoordSpacingX=0 TapFakeNoteColorTextureCoordSpacingY=0.125 HoldHeadNoteColorTextureCoordSpacingX=0 -HoldHeadNoteColorTextureCoordSpacingY=0.125 +HoldHeadNoteColorTextureCoordSpacingY=0 [GhostArrowDim] NoneCommand= diff --git a/Themes/_fallback/Scripts/02 StageMods.lua b/Themes/_fallback/Scripts/02 StageMods.lua index 294ccf6a76..c4ddf6b60a 100644 --- a/Themes/_fallback/Scripts/02 StageMods.lua +++ b/Themes/_fallback/Scripts/02 StageMods.lua @@ -13,23 +13,31 @@ function AreStageSongModsForced() return bExtraStage or bOni or bBattle or bRave end +function SetFail() + local sFail = ""; + + if GetGamePref("DefaultFail") then + sFail = string.format("fail%s", string.lower( GetGamePref("DefaultFail") )); + else + sFail = "failoff"; + end + + sFail = sFail .. ",failimmediate,suddendeath"; + SCREENMAN:SystemMessage( 'NEW FAIL IS: ' .. tostring(sFail) ); + + GAMESTATE:SetSongOptions( "ModsLevel_Song", sFail ); + MESSAGEMAN:Broadcast( "SongOptionsChanged" ); +end + function ScreenSelectMusic:setupmusicstagemods() Trace( "setupmusicstagemods" ) local pm = GAMESTATE:GetPlayMode() if pm == "PlayMode_Battle" or pm == "PlayMode_Rave" then - -- FIX DAT BUG; - local sFail = ""; - if GetGamePref("DefaultFail") then - sFail = string.format("Fail%s", GetGamePref("DefaultFail") ); - else - sFail = "Failoff"; - end; - -- - local so = GAMESTATE:GetDefaultSongOptions() .. "," .. sFail; + local so = GAMESTATE:GetDefaultSongOptions(); GAMESTATE:SetSongOptions( "ModsLevel_Stage", so ); MESSAGEMAN:Broadcast( "SongOptionsChanged" ); - elseif GAMESTATE:IsAnExtraStage() then + elseif GAMESTATE:IsAnExtraStage() then if GAMESTATE:GetPreferredSongGroup() == "---Group All---" then local song = GAMESTATE:GetCurrentSong() GAMESTATE:SetPreferredSongGroup( song:GetGroupName() ) @@ -46,6 +54,9 @@ function ScreenSelectMusic:setupmusicstagemods() po = THEME:GetMetric("SongManager","ExtraStagePlayerModifiers"); so = THEME:GetMetric("SongManager","ExtraStageStageModifiers"); end + + so = so .. "," .. sFail; + local difficulty = steps:GetDifficulty() local Reverse = PlayerNumber:Reverse() @@ -58,8 +69,6 @@ function ScreenSelectMusic:setupmusicstagemods() GAMESTATE:SetPreferredDifficulty( pn, difficulty ) MESSAGEMAN:Broadcast( "PlayerOptionsChanged", {PlayerNumber = pn} ) end - - GAMESTATE:SetSongOptions( "ModsLevel_Stage", so ) MESSAGEMAN:Broadcast( "SongOptionsChanged" ) diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index e1e5812d24..127d5862d7 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -2083,7 +2083,8 @@ ForceTimer=true TimerMetricsGroup="MenuTimerNoSound" TimerSeconds=5 # - +# ScreenOnCommand=%SetFail() +# [ScreenOptions] Fallback="ScreenWithMenuElements" NavigationMode="normal" @@ -2369,7 +2370,7 @@ Hide="3;selectmultiple" HideDefault="mod,no dark,no blind,no cover" Hide,1="mod,dark;name,Dark" Hide,2="mod,blind;name,Blind" -Hide,3="mod,60% cover;name,Cover" +Hide,3="mod,80% cover;name,Cover" # Hide="3" # HideDefault="mod,no dark,no blind" diff --git a/Themes/default/BGAnimations/ScreenEvaluation overlay/default.lua b/Themes/default/BGAnimations/ScreenEvaluation overlay/default.lua index f60350e627..5a9bdf73ba 100644 --- a/Themes/default/BGAnimations/ScreenEvaluation overlay/default.lua +++ b/Themes/default/BGAnimations/ScreenEvaluation overlay/default.lua @@ -58,11 +58,11 @@ end; -- xxx: this only currently works for player 1. -aj local t = Def.ActorFrame {}; t[#t+1] = Def.ActorFrame { - InitCommand=cmd(x,WideScale(math.floor(SCREEN_CENTER_X*0.3)-8,math.floor(SCREEN_CENTER_X*0.5)-8);y,SCREEN_CENTER_Y); + InitCommand=cmd(x,WideScale(math.floor(SCREEN_CENTER_X*0.3)-8,math.floor(SCREEN_CENTER_X*0.5)-8);y,SCREEN_CENTER_Y-34); CreateStats( PLAYER_1 ); }; t[#t+1] = Def.ActorFrame { - InitCommand=cmd(x,WideScale(math.floor(SCREEN_CENTER_X*1.7)+8,math.floor(SCREEN_CENTER_X*1.5)+8);y,SCREEN_CENTER_Y); + InitCommand=cmd(x,WideScale(math.floor(SCREEN_CENTER_X*1.7)+8,math.floor(SCREEN_CENTER_X*1.5)+8);y,SCREEN_CENTER_Y-34); CreateStats( PLAYER_2 ); }; return t \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua b/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua index f46c102f86..6fa5c4a506 100644 --- a/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua +++ b/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua @@ -1,4 +1,4 @@ -local function CreateStops() +local function CreateStops(Player) local t = Def.ActorFrame { }; local bars = Def.ActorFrame{ }; local bpmFrame = Def.ActorFrame{ Name="BPMFrame"; }; @@ -7,10 +7,13 @@ local function CreateStops() local fFrameWidth = 380; local fFrameHeight = 8; -- XXX: doesn't work in course mode -aj - if not GAMESTATE:IsCourseMode() then + if not GAMESTATE:IsSideJoined( Player ) then + return t + elseif not GAMESTATE:IsCourseMode() then -- Straight rip off NCRX local song = GAMESTATE:GetCurrentSong(); - local timingData = song:GetTimingData(); + local steps = GAMESTATE:GetCurrentSteps( Player ); + local timingData = steps:GetTimingData(); -- if we're using SSC, might as well use the StepsSeconds, which will -- almost always be more proper than a r21'd file. if song then @@ -84,9 +87,10 @@ local function CreateStops() return t end local t = LoadFallbackB() +t[#t+1] = StandardDecorationFromFileOptional("ScoreFrame","ScoreFrame"); for pn in ivalues(PlayerNumber) do --- local MetricsName = "SongMeterDisplay" .. PlayerNumberToString(pn); ---[[ t[#t+1] = Def.ActorFrame { + local MetricsName = "SongMeterDisplay" .. PlayerNumberToString(pn); + t[#t+1] = Def.ActorFrame { InitCommand=function(self) self:player(pn); self:name(MetricsName); @@ -117,8 +121,10 @@ for pn in ivalues(PlayerNumber) do }; Tip=LoadActor( THEME:GetPathG( 'SongMeterDisplay', 'tip ' .. PlayerNumberToString(pn) ) ) .. { InitCommand=cmd(visible,false); }; }; - CreateStops(); - }; --]] + CreateStops(pn) .. { +-- InitCommand=cmd(draworder,10); + }; + }; end; for pn in ivalues(PlayerNumber) do local MetricsName = "ToastyDisplay" .. PlayerNumberToString(pn); @@ -131,12 +137,12 @@ for pn in ivalues(PlayerNumber) do }; end; -t[#t+1] = StandardDecorationFromFileOptional("ScoreFrame","ScoreFrame"); + t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay"); t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay"); t[#t+1] = StandardDecorationFromFileOptional("SongTitle","SongTitle"); -t[#t+1] = Def.ActorFrame { +--[[ t[#t+1] = Def.ActorFrame { InitCommand=function(self) self:name("SongMeterDisplay"); ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); @@ -167,7 +173,7 @@ t[#t+1] = Def.ActorFrame { Tip=LoadActor( THEME:GetPathG( 'SongMeterDisplay', 'tip ' .. PlayerNumberToString(PLAYER_1) ) ) .. { InitCommand=cmd(visible,false); }; }; CreateStops(); -}; +}; --]] if( not GAMESTATE:IsCourseMode() ) then t[#t+1] = Def.Actor{ JudgmentMessageCommand = function(self, params) diff --git a/Themes/default/BGAnimations/ScreenTitleMenu underlay.lua b/Themes/default/BGAnimations/ScreenTitleMenu underlay.lua index 3f4af5add1..665a830d61 100644 --- a/Themes/default/BGAnimations/ScreenTitleMenu underlay.lua +++ b/Themes/default/BGAnimations/ScreenTitleMenu underlay.lua @@ -8,5 +8,25 @@ t[#t+1] = StandardDecorationFromFileOptional("LifeDifficulty","LifeDifficulty"); t[#t+1] = StandardDecorationFromFileOptional("TimingDifficulty","TimingDifficulty"); t[#t+1] = StandardDecorationFromFileOptional("NetworkStatus","NetworkStatus"); t[#t+1] = StandardDecorationFromFileOptional("SystemDirection","SystemDirection"); +-- +t[#t+1] = StandardDecorationFromFileOptional("NumSongs","NumSongs") .. { + SetCommand=function(self) + local InstalledSongs, AdditionalSongs, InstalledCourses, AdditionalCourses, Groups, Unlocked = 0; + if SONGMAN:GetRandomSong() then + InstalledSongs, AdditionalSongs, InstalledCourses, AdditionalCourses, Groups, Unlocked = + SONGMAN:GetNumSongs(), + SONGMAN:GetNumAdditionalSongs(), + SONGMAN:GetNumCourses(), + SONGMAN:GetNumAdditionalCourses(), + SONGMAN:GetNumSongGroups(), + SONGMAN:GetNumUnlockedSongs(); + else + return + end + + self:settextf("%i Songs (%i Groups), %i Courses", InstalledSongs, Groups, InstalledCourses); +-- self:settextf("%i (+%i) Songs (%i Groups), %i (+%i) Courses", InstalledSongs, AdditionalSongs, Groups, InstalledCourses, AdditionalCourses); + end; +}; return t \ No newline at end of file diff --git a/Themes/default/metrics.ini b/Themes/default/metrics.ini index 8116ca3a1b..87ab2f6cce 100644 --- a/Themes/default/metrics.ini +++ b/Themes/default/metrics.ini @@ -613,6 +613,13 @@ CurrentGametypeY=SCREEN_HEIGHT*0.1575 CurrentGametypeOnCommand=vertalign,bottom; CurrentGametypeOffCommand=linear,0.5;cropleft,1 # +ShowNumSongs=true +NumSongsX=SCREEN_WIDTH*0.99 +NumSongsY=SCREEN_HEIGHT*0.1575+3 +NumSongsOnCommand=vertalign,bottom;horizalign,right;zoom,0.5;playcommand,"Set" +NumSongsOffCommand= +# +# ShowTimingDifficulty=true TimingDifficultyX=SCREEN_LEFT+84 TimingDifficultyY=SCREEN_TOP+22 @@ -828,6 +835,7 @@ IconChoiceEndlessOffCommand=linear,0.1175;zoomx,0 [ScreenGameInformation] [ScreenSelectMusic] +SampleMusicPreviewMode='SampleMusicPreviewMode_LastSong' UsePlayerSelectMenu=false # OptionsMenuAvailable=(getenv(sMode) ~= Oni) SelectMenuAvailable=true @@ -1313,12 +1321,12 @@ SongTitleOffCommand= # SongMeterDisplayP1X=SCREEN_LEFT+16 SongMeterDisplayP1Y=SCREEN_CENTER_Y -SongMeterDisplayP1OnCommand=rotationz,-90;zoom,0;addx,-24;sleep,1.5;decelerate,0.5;zoom,1;addx,24 +SongMeterDisplayP1OnCommand=draworder,5;rotationz,-90;zoom,0;addx,-24;sleep,1.5;decelerate,0.5;zoom,1;addx,24 SongMeterDisplayP1OffCommand= # SongMeterDisplayP2X=SCREEN_RIGHT-16 SongMeterDisplayP2Y=SCREEN_CENTER_Y -SongMeterDisplayP2OnCommand=rotationz,-90;zoom,0;addx,24;sleep,1.5;decelerate,0.5;zoom,1;addx,-24 +SongMeterDisplayP2OnCommand=draworder,5;rotationz,-90;zoom,0;addx,24;sleep,1.5;decelerate,0.5;zoom,1;addx,-24 SongMeterDisplayP2OffCommand= # ShowBPMDisplay=true @@ -1337,7 +1345,7 @@ StageDisplayOffCommand=bounceend,0.25;zoom,0 ShowScoreFrame=GetUserPrefB("GameplayFooter"); ScoreFrameX=SCREEN_CENTER_X ScoreFrameY=SCREEN_BOTTOM+4 -ScoreFrameOnCommand=draworder,100;vertalign,bottom;zoomtowidth,SCREEN_WIDTH+4;diffuse,color("#ffd400");addy,80;sleep,2;decelerate,0.5;addy,-80; +ScoreFrameOnCommand=draworder,4;vertalign,bottom;zoomtowidth,SCREEN_WIDTH+4;diffuse,color("#ffd400");addy,80;sleep,2;decelerate,0.5;addy,-80; ScoreFrameOffCommand= # LifeP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") From 5abc962b707eaf6ea33857804b9ef13b758fe952 Mon Sep 17 00:00:00 2001 From: Jonathan Payne Date: Tue, 28 Jun 2011 14:01:13 -0700 Subject: [PATCH 228/530] I forgot :( --- .../Mecha-Tribe Assault.ogg | Bin 0 -> 2126581 bytes .../Mecha-Tribe Assault.sm | 3308 ++++++++++ .../mechatribeassaultbg.png | Bin 0 -> 467594 bytes .../mechatribeassaultbn.png | Bin 0 -> 116243 bytes .../wyde cd-tital.png | Bin 0 -> 3852 bytes .../Kommisar - Springtime.mp3 | Bin 0 -> 5161865 bytes .../Springtime.sm | 5387 +++++++++++++++++ .../Springtime (Kory + Kommisar)/spring.png | Bin 0 -> 636118 bytes .../Springtime (Kory + Kommisar)/springbn.png | Bin 0 -> 107366 bytes .../ScreenWithMenuElements aux.lua | 80 + .../ScreenTitleMenu NumAdditionalSongs.lua | 2 + .../Graphics/ScreenTitleMenu NumSongs.lua | 2 + Themes/default/metrics.ini | 2 +- 13 files changed, 8780 insertions(+), 1 deletion(-) create mode 100644 Songs/Kommisar Originals/Mecha-Tribe Assault (Wyde)/Mecha-Tribe Assault.ogg create mode 100644 Songs/Kommisar Originals/Mecha-Tribe Assault (Wyde)/Mecha-Tribe Assault.sm create mode 100644 Songs/Kommisar Originals/Mecha-Tribe Assault (Wyde)/mechatribeassaultbg.png create mode 100644 Songs/Kommisar Originals/Mecha-Tribe Assault (Wyde)/mechatribeassaultbn.png create mode 100644 Songs/Kommisar Originals/Mecha-Tribe Assault (Wyde)/wyde cd-tital.png create mode 100644 Songs/Kommisar Originals/Springtime (Kory + Kommisar)/Kommisar - Springtime.mp3 create mode 100644 Songs/Kommisar Originals/Springtime (Kory + Kommisar)/Springtime.sm create mode 100644 Songs/Kommisar Originals/Springtime (Kory + Kommisar)/spring.png create mode 100644 Songs/Kommisar Originals/Springtime (Kory + Kommisar)/springbn.png create mode 100644 Themes/default/BGAnimations/ScreenWithMenuElements aux.lua create mode 100644 Themes/default/Graphics/ScreenTitleMenu NumAdditionalSongs.lua create mode 100644 Themes/default/Graphics/ScreenTitleMenu NumSongs.lua diff --git a/Songs/Kommisar Originals/Mecha-Tribe Assault (Wyde)/Mecha-Tribe Assault.ogg b/Songs/Kommisar Originals/Mecha-Tribe Assault (Wyde)/Mecha-Tribe Assault.ogg new file mode 100644 index 0000000000000000000000000000000000000000..24464c899f6c23d4eb8536baadcdc54d2c1d9f06 GIT binary patch literal 2126581 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%0DB?KXat2-+9^Mm3EoqZFcS1C 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%0DCcLu?(epEp0lM+9Ck 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⪻)ykgpsrJsbfPSuBw40gTzF7K7C>O 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 M42V(YI%mfi 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

tHTF&Mh*6B;xVKs7de5MIK}z; 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

%o+NkZyMn7{K9c<%OutxBUhUG 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 t)zR5%Tx{$Bj4Gl-#^(R!0Rclr7B2(I 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

l( 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 z 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

KH*Z6>FTdx2s+$Z0zPh5i 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 z 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°pfYK0MVnof#YY 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

sH$1H!PRQd%Lgj7s&W_sP+=i7vo_4y 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

6s{9J!9Uj9dopk{L`@HPY3{ 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 kYWCY5*27o#$`ph3x6VoOPS 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Ⓢ9;r%(xm&p(c}RD^A?+sLb6QDv&Lt^Rckt@;wu<8ChRY~{>7^8 za0Ci3B@XS3y6!e_-TusnQj^D;ewjQpF#Ih{A;DgitEFMM(uI|-)Q*mD6+OJds>~4H z`H_$M(em0p;R3(#<&M14Q)Ql0M(NS8yM-P@2{zJ_T$PItt`;ec0WY62R%pNlLWsk0 zB_J9Pu~rylV9l`XB*VZvWItAJ@!j}%{7kC#)nnj>uz~Z}Z@Deq??SG(KmoJ%9HEt7 zjAw49wQSUg#Ncx~Q97HeqV7yxyqSeU6W3x0cg+h{yA$|^KJ#oY#Db??me)qq9M zGeQ#&cyAlAtcf&N&JGbjXUI(qySqR}}8i>41n6zglA(pbZ`=68u&`*`4 zwiU=?8TuR=8NuwM3>YT1Z>flvZ_X+r=okCXy$A(LYWYEK}d9r2w`Q1P|0ZSrei2}K|yHHOtP$s z-`z`zMKHzNL;;GTC0z8T;xvJ*2HH|`*0mQbP>iss6c8iMM5+WW_}IR`%mtYPD-4m7 z0}u9^3OQwXdgeP*m|{o?pAQ;B^Ba~488MO72zdSl4Piz`x;T&%t$-TIz($`)NA2Tk zT&q8SC9-D)PL8AvF)|^2aRfF-dXs>A1h||NlpBQWqsoKJlO17hsqbNd%xVC-d}|pE zIPL-vIh)_1&CY~GBDm;bQKlg(5PoJLfJ&8z3)5E4xMk+v``F&G6CmicgmhwH@e*U8 zPmh8fejyS#7^p?iT4e+y2IOtwh*ZvE*-OgW*SjN!?Cg&@81^TU%T`oNd`Y@Cj5(0+P_FH+3Xi8zOnq) zH^$KH`sW4~Ph%t2cNc$%u*tFN-}oQduoi#AgMQz41Qahv{$|3H+D4(eTs0AF6AB_(jtTmrJR@+?cTlggXhxv z$Fk4gXQd209%T>;m<_#%NeD8$cL)L{0%Pp6`*Mjm<`K}|+*MR<;FL9|X}ZE(thLQ0 zNuAugr)eOmw>depg^>3ojG1nJpH8|DFLDYVK%`<;aCsX>*_QlLQxtt{SC zG4Vm-L#8{OfWvr zysHLNEoDR=VBy7?{C)C_Cmaqeqrh+jQ9#6r$m+UW)g*`%nC5e9@P1NVvXqwdd!R0; z6v#OW0DC17mVHb6Q2G6q!K79Z1t$_f!BWwL%P*n|J2+%6B9G+6MY@cef(8;2ta?{t zB10m9EC7#Ow=^hbl3h(eYt1%xq5q6;klt?RIFoFl{v7~66{YK~%PDy=MhJD7!!;F6 zU_|;BdR<38tu>o-hg^1oI0Jk#-3u{Y`NHnbxBW!ce863aBnJRBBjZ5KH!~7lPanIH8!YwvL*Df7XY}odaabO&k;5FTPv8aShCIYqs!m

AQAUD@MZ=TUNy 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%0D;ZDC` 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�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�!hc5OHf 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

|6?0GZ$k3$dJ0~ok}7PY+d!0~bT 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

j*kXD<9jqqwI`oD2 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

w${zC_C4_+~r7jBNGcUq1aJY z%t+X@m+uk}s{u|0gI`QC4S}}eFyJ&2??iZ*Dc>;Ji6 z(|ILYV4-(S0Aa9>cN~@?ox-feRNaktO%?Vb6ce$<3Q+v6C_nHJ33rPJLvNsBqa?s^ zm=~1!v>_=p#30mVYp_q09?#vtsQa4xT1PYh1YzgIP?#8m2reN2QhSzD48ms|;5{)v zMQWc~L2GOg{NExz?RxHoYpUQXOG39>3qN&+6`MLZ>JiPxfxc_(k$EKnm6(8)8Tw2&xQ>t<`poF90 ztYVtzr3g$#E5`hnrBHiPPT}ZBjN?z&wUh8A3u+AjRP11OIPhj%`z!iD3Cdh|f`LnN zyy{QQ4&8ulD?sTOgDF87;q{Sp`SvCm$pb}u3d|~AHp0DIC6+|VU@q#n8$5JbX=$8l zojLDpd0uh0+hXnJt4bSIA|&)!W`?s!;t<}E@U+N{kGE`B)|zrZN^a|wsKb*+%dcMC zBv+g>Fw@n(PJ5x5)RZGBKJmC<;Aq61PdaNlSZKS?<57(@>(-gkk+(KT*i%T2ro{sn zx#U~o+L==Y^E(!HE|(y5oAbJYiQRW=xfIKpQqnD#8flZo*RDGC!GzDJo`@}N?hrAI zGuK|;avsdIekbwpfpmWg*QdI`eU-KA`^lWMGc)}IUw#*KI#)0Cv%$>_fU2Iq9T-py z)J&Kl5e$j;A!&VRcQg#DK6r&S_O30e)~GT_TpQ-Q;>pMj_TgQ}3*&VNv216+V-vStvBisxi`g^8ULV_4A&guFsDpY(<`!&6 ze?XD^v=?0bbo5*zj&;~lI;irR-?-9+_2Onv0JvSVH&z{(nv>nF5e*ToHrvJv*M#WO zxI`}AGDrj&vZp5$fs<)*@ox?o4PS0X*W2S;IKLRr2?#U6G<%!PALx{<@w3Z`h#Y{k zQkep>(nNact6Py~p=p9_qDbg48IEMn)->!!Ar`f>u-VcU1bR_5%km%v^oTW?%OFeZ zJ$U{ezEmL`yt!^V3+Azj}!Dz9Px>Y;1XmZR1$L8HLq6Hq9KaoGF)?^ZClT4twD^<>luDEzAB zJPLo5{?_O63+<@~5BaKRtFOdV7|85?a{V^8alBWUG-d}7Pm4E4jm)ro?*BbSJg3cwefr%`&&lS5d*GT zJ!))sV9Wr{iUxMz^lSR2S*oREKbs8gY&Y!`Hxbu*c&WO*LP<aP`W@ z-Ph-rzKSGo*`S50NS`A;P(>wrIJN{U!Qtq<9kL21F?rZrH)J)Wm47y4-amcnR`Obq zu)--FXK_vss6^(7A>6+frubNMiTDcMm&Pek?7EwMg(3hrefu0yE79I_QD;RglNC!N zD`DH1MN5b3!9ej-5_AX8R)U3N*kpAziC24B@!F^87nsFd)JiwC(jH;P?0JK8 zozw|Kpei|+!|f>!*tl#(nSuJd?x6|VyAujt3CS>6G+Q;@=CcEF%!Ulo>*;gaj#S4* z>!jTgMWBVTQkrPSRL*a#TCWNHNfr_EY)TwJkJvOYWL}r7C(0j!mLE-vvB3h^C8%%2 zSj^u?o~Se}!PvP2UVfS=6dJ&i$&c0YM|o;VT9kBZ_m;%Ph|xb}D%Ye-#xV(OVrqoP zUvg<0s$#GJa~wq^-x#GojWRCJ7%wR^PFj|0N_!CjHsA zy@>pGl6!sJkkR^C>VQX(k>Ti5l8RZpnjq0*ecL4Td7F?!^K>ApIBr=lQIkQVB%Bz z!?)oUK&KX(Leb-pu4_Z!v%f3vIjGprWc|3gcv|ARCyTMkzP_Tbz`giC9Z+`|mx-eo6LTw7G#2qINWi-88c%g3XTe+e+0u>LOSbSM9E)zpP2ip{5}t_&H1PH!%ohMGB1?TtXyN^gK{hfa{YXP;XiB=GGs~z>?QTAM#3oUfga1u7kY_?oaeMn4ME5$Q=7} z-5(6>jD(pX`d>Jn+SNgEz$KAhoUH#I6xL}KdN%*jtJ8| zaVakh6Jcbkc`9oB;}uclL;OYP50^~Zs&O9>z|MD1a!mF}s7$-{;M}0+% zd?7#n7*N{+&)t#Xw~(Tn>Twibl)h=hn1=O@!!TYRN@;3E&;wjH-gu10$MY*4Yk4o9 zzPpgMFr6K6Ayu?nDUbmt#n|Zj1t*iR ztZr8s9}ek|IE$;r4eyt2oZ&k^&}Di)+)=a`4l&})oS5;sl(8|nR3Lh=}9R(#+S$9~Yf_ zq$+_x=1*jGyGHw}#44!5BqYF_im?nI)G<$=-(vm9- zMdNyhzd#*ZALcer4i%qtq)?+3iF6osEicaPVcH$_$-7uVB+dK7sGshf z$zfCBkX{d1u1;qw0sV#gMmIFMChFgz9q$sEl9Yi=l zdQ++tQlPR01;8B3mjG$U>e#6*s=0y{u?3!t*9BmoKtO?-2rN+B2RP3%G0cb~;=uB3 z`(VG4%W2giwJNs>&stqBmKhhm28x1c5SJ%Jcqf9*Y}n7kmY0S4R6h=uUfEfq#WJAd z2k{|wRZ0ym&Gy0s4-P6)o z9Fayp6rSN{vBHc`TBw3Nnq&n|Nf4QkO%#R)a2aTd8i<``ES{4+DDS>b!k zqoJli^KV;>yuU!fpy?!W8WUsZ54(IKe*9C=DF1`S{ZrB3>>)!NOn(~o$GK^Vir7!} zl=r=)+kQJZT4xuEXZE$&cVfAozD9BFEuEShN^|Mw=SKs*Vw>|uQGBmwc63*|!#s=M z=9_8f@YQBZ3%_*!PhGbSs!jFOUy8cOR!_QPVLsh1K9;hyhwf@|$$?0+U`|4R^L`KC~(MU6Z}GB3pG` zg+GsL6$dD0bSf9MmOEY~ieL&sf9CT+@+u`67_6ua&dE8ElCyaqbvg;->G@|R%9x@k0i;i(DMK|!j5v(lk0toMbz9d zrckA>fyCewPC#Y|g`J#sgn=(?p3U_5~g+zpo$*A3+|i?@vhW~nY*v3oimRUroMM)sJi-}i9klO?eATC+v5Yy%ji3GP3gO?g}vMdb@^*T zkdd{>#-CL)4wAL;dc0vqy)Yo$5%N;in6PcEjEwNw-2OuLOkoncEi?bZVa5t+P_gj@ zF<3^L2NGwL7@C-L}{xUl&WWJ2jq4-O6MBpM66sitJ5X zCrS4i1zm18Rj$mDd+ zUvBa+)SBg^JCWEUb$Hhlq@DBWnTdDsFC+H*%~o&r$DRQZBgyD16Y)#?pM&IML@hk) zex3XYo?K3yG&QQmme(1MeQeHeI(hEy>6KYwst%z`pJ2F9ro6saP(*^kBB}Q&7<^@k z(cHVbR8ja7hW4=HXD)3je~sa^j2ak7pl>wRQPEy&7(cBPLsyBn3aK6ybh_Y8S8eRm z?G2GaVVXH|5}M>x-jd0Ew1wF7)#+4n2CTSsFV0izjFFlVzStPYU!bQ_G%9^22i7u8 zR5SXFyJfa+Nlt|v7NcAw6RPi?G{K!Un0S_-_}v8tOF&E` z3nJ2rkQ8&-B{e;(Tm%dN>_EYKj*m$KXHq0^(RiAN6`RY_p>H%>*7#s(U!?fT z7>L$GFJpX^PZ2%rtxtD?idmL6~b`oJ4 zrraCfJaiB+5B?@jIu`sdP*^@`IsHeX&&!`@{t<=1bep_DZoaBL0v{t>B9~@oqBRSE;_o_{9yGp)T8AtEYtyaI-l#ecH0=<)w7S z$*1wRiX5Io73N15a);J8<=9`h+<3)%n`EgrBp7%(=i(PNThiww(|f3t)btVUuZ(B% zpK-PH7M>X@I!r!_uRx}iyV;+ehgODp)!6hXu5*0We#mOGG@JGK&EDevk7vjDhQOf5 zP77R6gd@0k7o;@NHxa{#h(>7zHm@DC>bOv$+BAoP`*CXtc^W=oj0J!(HJdlTLQ?rC z8(&>a5{0L0&|;$v^K8pYjNKM3nk=!5QRt(zO#|>41xtpc<(aMZ8c0OMFqL)LTH4|g z?15BB?b?cnNI76RI!A3HJv>eNk)Xx`QGJ8M-E`c`mpdvT-DF zor4pS zOW&w34?&3~s*61^WFkQ0m~&Zx0VXUiBr4NMzJ99(Z!Pv%s$F>$A%S_0Jqc?dP%@6k<#nZUN-jpX;%EPND+K;e`}BWw9HQ%+mlqiL z`1R6x^0k86*``bxrf`&b{^+h$=D3f~%4 zQ+C;(GSHb6k&EIq0>0@KCW2eUi$>IWbv_zCp{3Uu8VO3e`GsK7oBTSm!~=xw?5;2V z`)h?b0ccovn9*L|K#Gq(ztS5Uy0S~U&88ox413McSqBrZ!t%bD2>X33GkX(?BnDiu zm0-?^uQYGQ4?E5-kFz4OjocGR4XPI6Bi{T&ptWQk=y0N7Q%Rt>fdhwN!TIXBSL;M$ zD;fblSRSUMs@6#cCnQz8Co8h2t*xcOse1g$2_9~UDA(OA*Ckt5G=~eDsY{-c3n|DU zhPn3x3m}t8OXmX)JP|TQ+cDugsgsz0(vZ=@V=AS$l@m6@q?9p{X9m>T@bnm}D|D+Q z?hd-U!^g=Qy0@am<4@~a*iN2-13Yw*k!!O%EclYvQ;u?&e1&97`Y6q7Go?TQhC~I) z3A41~p~@g(P{l26m4TG8_e9G z>+HH+FnSdn5M6zF$rtq$c&bk-Q@W5cn@!RjQd;K7wgT59H0{`Xjh&57Oez;!P_e`w z-4Zv0!gHkNh;Kn{epX&O(1x-us-j*Lu&M{6Ru;-(m4v_x<@@ z^?SV(K|y>beFRz*Sd0xI{{%mmxv+WE?4nQUbYVe@LVVFZWj7VQlPHTSoaoCIi57|Y3-#HBwJH-9_ETa%MwK7<9Dh%g2<)soCG}L_;3)sokQS1 z)fWo?>kae&fBZ%8;M3f08w>0MlI054uql~9140?E6-BBN!J2BwWoON9&KQn?PY%~ zZ!pzUdQU77^7Jf?Qtcro<1#WI5DZ*_u}MQIbuO@ z>1Ch)3+nN@!nDtyCR9$0mwz!I3W=5BTZsqHVZ$WfcBWzxA#bJBesY1cX>$=;_?^hm ztJe$sW~vP4!NldZ2s#yiHRCxZEHSOYj2SKnn8&9L)AN@15rww7M{NZjs(8KOx#*`< z%q5)X4*Yi65?-rRNQsaLT*}~n_ViUnI2TJN&wCR+oB+U>!-zR?7FnL0a~R3Ag69MD zP;XJLk%aUl;x1jC&R}2>CCac8e|`zPZoL4Tp`%MPW+3ggbbRW`0E(*)E)t}~l>i_T zMm&YKob2E%(z0nkjfeF5PV5ec#0tVQh=ZJ=|u%JAM>PD62Vqz`Tgi3{OA_?fYuFlGod#c(o5j^dfRVvXRcBalWp-HliCd5%-4Z{vx$Q5GcnTg-hv!vLfbsX+V-M##3bt_*aUI{YxtQavA<@H0V`OJ{gl_bT$|ygaG? zWK^e##E67md~5iJVhiaXML5lmdDnNW@=E5*w`q%2sDgJM`-EtB^at*YJ4C2AjiaCx z$c9p$6i0Y8^|J&=DsKiv+Og$imbT1a`mcY(;eTKi?{T%2+T6kh6l29zlGWZh;NOA8Lb3VECVZBtP#m*6o zh<(*hdOXL74<>GfW8dk{Ye3@hZ3`QsYTvdMjqXQ>1liP!=Tl5^pWRMgihOH93%F_3 zFfGwCYpW0KI3==ik(C=Ct4y2;&9|okTe_p+oYYT|GlsebE?6GC?(woL{^s0|_Lkf8 zeSQ(HMhOxPwRVWJKNcNxf~ToiKbYnWeOZis9d^@FEdMDjpu)df_1h^|yTHwtx6unh zX#b+_nF>^!h7okCzb1ac?nAA72rkjHSt7S!+e+CnQ13#=*;hVG zFBKAvK|m_N$J|9lAQqfVUrXE6K_+lgbQp`-zc6|9Moj=>n1EDuva#xL5>L|6KCXy% z14DqumMTLS>gz>KN)qP66S8orF_`jdkEGQAGDp5J-!WODf(6P}R`u>%ZfTqc$I;S6 z3Y67APpZn{N@kcK6SuAIhHh+ZL~s#SwK|0-I8stYQt%^YB%Gs9xjqJ>73Q4Fi;D0% zso&?}A)8>S=LPVdV{!#fJla1L|l*L^#cr5W2MZ-Pw^hgX6bj8%pbtsM!# zy1e%U%I`5`Z{8u_%(k}JgRS4pjNX!q_t`z8WK)_0|1mg=d9yKD3L7I_dli7L#{X;* zZOjnhK!A8hrJj`F z)GT8%hG|gr^mH27EVLcNMG}IP2&>ivb`>zb-#J!buKDm2pOv_0}% zg~{{Z2%k?KtStLlF7<0YI5LrQ{l~)PnZoqm(^WwD6MvV^E7O11G5tFn5wKkHVHmNJ zPpHQ@LI{v{pZ{UJ%sC%(wmx8^E%D=bC|n>PW*?N29Bi#DL;rvR&gM|I)%%~qOSP_1 zfn(5=gFIr+<13R_W8T_X4IJdo1$Fuw7+F7cyKH!_wINNVc4SeEd|GcxTc+VUa7M4Hbq2Ah@eMThCQ6~Bj>4+(@E1gl%am9_(W zqk3y%Ki9`^m!b`)Uije6zTDj)HQuEKp=;Fwe`){iM)M2(CO1P%gW5vn@qKSDVeeTU za880!?f5`#$e>p>@_Dca&dU)xD=kXyW|%Nbu)=x16bWmgE{&KHI%(w$B+gk=rb3R4 z8m&%Fuf*O8!ZaCHG4F7a0LED*fLsaDIfwRl-B-}O04XhPt9Al!g0*QSH%P0RAy(p_ zggTZ33ol`h*JhfD!Vs`5AZkq+vH;flL>=B-+4OCMX>F&;3&|yoiy8i49!A`fv@}ee zimo1P)5&%|K zzSc2p;|JV9Frx+@@FsH_pur_*%zY@!zLs{@q{-%4c_zUmEU)ULUPaD&hmpkWyQ4sL5}1kt@y5HWzfs(vo_LmG69n4=z{S zyzu68;VbCp#_)AlcK1k@!rz|3|FGr%Cx3-7h-}AVdKZuz$ERv_t|AzhY6o}BvRG9Y zR-_+%FKATKJA}fO#1)m8e=0QMI{92$x761Eh$*Ng_9AOaf0|re1FHxX)jiq_+8fQy zAgMouNo?~0FXhUE_xy|QR%tH|-w3WdHT&w}Vjm1Zc)GZx+=tq^Llv2+%Le{x5BMDd zV5ecp(kQ+Kpqw6f=l)`dh_MG$m2*xyif=?N*iLwRwC}CufIR1hd9hlajHZ>X^ky4J zZ+)!BWKU1)t0`C7+s|{Y@hK#mN6Mo^yG zn{g>OSdnU?9+?uc!R^Ds=Z1Ee%4W;ynr_IH{ z*uFs?=Yctr5{Y(9+_4RIm}qXitKQ>ZZ#KPZdQb=N)fm`+@Jmq8{#0{8lELCxF!Fup znlOdZm^OSZ6p7Pe6-eFipcZ`QIEsKm6KX;|j4=otq9MUs-nzb02sH18;#$l-!TCu{ z)5&q7Q)n&+*a04IBEn8n+Z!bpM+;(*30~bAzlfW1;(U#@1ounXSy6q5Iui9$?&fG8 z2>kM-EGykayuICo0R)?Bc-(LBuKQG&)e2O7V}5$P4Sd+r9@aVIg_4$B)`#oN`1~%c zisj)^Aoz4i0dip-n@*Q8*~6ZTA*u3Mg5iUqWHV`-bx?7f%<72lelKyzcyE zb?w^xoz>dP{^+u2nK$r7Q-Avi|8XurQZsygUF5SKVj1&xkHUfRW0 zH)6gU3Mwo?#;45lPtN}}GfvH&KjfvyKa&rc?h#%Br9N6S4m(F(9{HQy1s)FmIg)sm z7%cxKu7+CD89C!Pby=R}IY95cn*J`q*b})R?PMl4Z(dPr zYWR9Ioj7dgx~tAF_dxf^k>}3k<)U0t&C=)>_s~bh#;PdSE>2!In9}KIbsBHTh7nHl zjA0^jeT9M*6a5wVU{8CRSE6i`= zd#COLV6izlr||237P)xA-p;8P=hXKG(LY_HSV{_AIRs9p<2tU3{i4SHk4JN&tz`SXM_~x5h|V#R89u5GhWwSLiwW{m2+4 zHzX7iK98>QSu?$ zTHkPk)w(UtXJtSU{hh~}y!oQwus#B*MU#;@CDuL)x_^B#G^v$GeQn9up2RU2;LIz; z@N7|oXH-|#NI2hfT%R@_Z?ad9+V9SKY&6e8$m!Fc2-S~`FIhhPf|9qy8ECA|Bva2y z^@BI8;}rgCM=bo0U*3P8@t;}&G>4;as*99yA~9}vTj1%H`V&mbvYBDOel34NqxyF! zSc?h*KP@Ia{`~W?KL<(TWDjLqw~qd4D1hHte}X6=1~_HUbROj!NYU`q6-f$%x1Y-1 z_8$+5#6Qf@j*!#nxgVpyoB{e+s`aCSaZH$8dPV_@Ikt=!Jy-kz?_pHc;N23EmOf7@ zO9^t`gXpG(U6eEZkn-Lp^09{Fa>S4iS<-;|P=`I&8y-#)Y6vXCFa8>yEDCB&u^CYJ zqda=(XBKbAm%jdt^W>A!GL8WFqhP+PIEX(LSILh2%w(Mk&9zoAC@IW$f>tX6 zeeu(%c}i_UwY5BD)j`{55zp5CdahUJZiIu0I>^CO6j@WfoFOnSR6_s6`8!wpEc{y* z=^2mlG^es<0*K#JMnm~1OOd*)Q!gb2!_rg&?jbi8NID$-`Hig{OIt{WH_j0so3X+~^Q7&YzkOtj$`I@w43Y~|MYP52qKYC1cY4SOh4RZ7wSfZBm#x%* zL^>x!3v5aCS0PTCy)U+`tDfVVN{qDO6L`o6AU4{pb4yfdnteF=Xr`dbquVJN67KVi z{-Q%q=)ShIuq70zRd6^C2yE#4lte~X!2v&`w69HzgUs;?x8wl*b9?;>X+ez{SDF{1 z>`Ocu#qzsE+LHQ<@g30%isT^3RJEyARA62)e{{W$2aB|VPsJPqD1>(WTA)>IG+E{4CUX@_)ihwUpWaN z1TrT8)7Y=w;rMx2k^RI}QE}Zpi^lNjr6Dbu?@(CZJgi;HO?==M1UP)~qYlN`@J(t? z{eOwEIettQnK9~NwOEZc@|v?7%ud@fW4kX_h~U!A>_tz0`yphr_jt$&0WCXCJE&b@ zuW3%%J*W*uv<%_B_ z9_I9Ra)sIbV0)e#jeSYT<^)-KCGl$>`)p;hCVXo_a<@kA{L@{bnG4l6%~oc|&x9@> zTyUv9ZY5zW+WYRh;=yVx`VMDH_YI|pQzZ10b7d534yVAt;P#HX?whN8x~{gf&@19m{^lL%$xOR-b9`YWAy8(5JyJnvHK_RonX>Vx@(FuI^dd2MV?P{)6DD z;-e(}r=3en&}kcY zj8n}NIj2WF;AIo?r(Ad+t*gA*Exj+GqlA%8Y*#pVy>n}ZF&C+m>}o*{z0araku8DS?5Epv z>0jN(c+wd}##qsTMIv$niuO-=DGjvKSg0gzi}J=-_n`>&i`VNZTee&sR1|PdyP3(V_^RjXtPYP-TrOsEO5l@*)K~>)imVWDE6@2MR>F&Go6ZUqC z(jBt``}F35-;4{nzJL0AlJ}EhzoP}u>btT!i=8vgA^A10=NRBh@Wh}^=@ zgEmh)7tc1f6(vrluuUVs6u#Y~224;jhZq;dCTgI~et~?I zjhTseq*kK(>|>`_6S-Q##z(fv79+j_gpOi(;aqQ*A5xm=4` zkj|urb2yL?0)df;KGIF5j~q^4&fWzCOxa(eLrje0{fP|G$mMuL^k_cyDj_%7JI2J( z1EOOQf-w}pf*$0ItO^iVM%l_TGk~k@vtnve%WH4cb1&KP;EAFNZykSl{sFgOVDFLl zpnQDZ);g$lJC_3t5Z%4K0y8nIe7MByl;4+NXe?^H;evS7jw#D~h%>6;&_y^<4e>ky zbWJ%S79}2AzY%xewFel(t4}VtX_>lCuut|36Um)eaa^xeeV*(BI}d#B*UaTIL3eyD z8!Q)RGQMr{n-uwyx0$sZHJf`;`fAmi5Z}TClQH9x#>EgOu;`Wkiw|ZM6aGTLW9(|r zYn^>+1A&wL}) zz0ZDqwNYIT`f}=Lm*}AI$iG`7|2_Bmzxx<6#M!UpYaYlX4N8c_3tGas2AFdgm7`*sZ z*)9qn!XATG<+aCjQIaHtOWt%SS{JDLYq#7~2^c>27?tx75hrD3JLPq#T1+e22s)Zs z^DSAD86}t;C;uiKS6$drcXO&kaXv30Jw#ZNd&4wY$szc;M!&h(3sPL?Vp`t%OF81) z56a!xp&UDLcNqGK>78(DEPwcGMZ=+zYZ>^rDK`xeOjG1_ZT@6cFQni!p|(t3mTZ!f zf7kK?Nj`1k6t#g=_oa~1fc6TFM02M{lFNOo6s77j`!hIYu{-LuGKsfHDZtV;yX)B? ze^QR;rz@66GBE?~3nLi<-6x!BsmKOfZZ8(Hu))kxLRb`nhg=-z;SygFraTTn1NMWV zF|Km8(z(n4B?kIg#76N~0ql%Aq$F;tE*L(vj^>c!Q95fN${AW% zlCLU?4kH_wbPIYbyURL@Xt#&1h3PKOJvrvj0N7hw@Un#>A7C5V?{%6-G6D?){Y<2W zIOcoJT!*OzzDPqS8@a@RX|p_i8+Fh?xp|KO1pC9NA^H(z81@0N*d3>ezs^S;M+gRi zL@#4*5Bpxz=$Dy}dypqq0y-O-fS#rC_Ph-qE>vt%z5$=Yz{`tuU%`2|2n+`2CaB06 zE#>5(3J1Znxv1Ms`vG!ZA!-tiwnt$-Ot8q++A&M@hA=v^Q>nW)_GrGN&3MYi$1CbY zSyP2sJ{ulr8U<>nVWtIdxJp3fN*Rgq#|}1&7Z!Gy7ctkLU<}pwS9sG;=DyOaUO@|x z!B4AKuEa{-R1e~HuQZS5Jfj?Z)$%dpq5XOJx`_2M+n>WX(n{v^znz*%Xd6&}^jpw@ zhxKi>m0sW0#2l{jgr$G_6#woU;qL?gS^ezYZIKr!Lhp_Vr zZaP+&sm3d!@smXM4z%oB_2&dj#-9XafP5d zir#{<38fA1tr?#qlkr_h49jRXqs3&5dZcny*g8ypVg)p_!Oy2>f%j1{g8fG8su`oI z8_Rt&lX}7B#4Hf4*3 z^iaKSy`)4KOzw_U#zaLe=zLrCPID}z#FaPYs1&X?Vbp%32AFqQ1t2Y7DrPo3o|o|1 zx~>O6RH&MsU4jm@ROy+M{0)7AunjF{Y_;W1+N?-05xSz=K!8`FZ#r&`W);8Tc3#ma z=rh&Z??jA8lrB}8atUE4Q}+p5k}0uDTDB7#!Bd4xU+w>eFp69svzP8+#8?BPQOY~ON586ZcWI%%gj znqQ2&DsJ9pt?TgJ(*Mocv#40y(EU!}#2JSy1KXH?w3+3Gt8rqe zze?UoT>edtEoIDW`ll10i-NFa!ZToXxv+)CLHuQ#-`wws zN}~OQZAACpnm|dLa9e5Dq4&$D?k=teDy#{Oqc4!HtACU*^6)qgk@ZOapzbZi8=(GN zeDU&$eB;F3o00;ilfv7*gmBA>776b%m@4<#Riv!HLjDBls{e%r>;+#003eD`7vV^t zu9sUXLQ%6ojh~DR+55ZO;||q@sT?%MI@EBWIUfmZ$pIKbyvM;dJ_-*XeYScYZ;T*7 zJUMm%Svt4htEHb;^Y93*Dvc;XZ7FyQR)z9CZ!wuGc~1tDCR6n!RO6*wQ-0Qnt1r9f zliqr+_53yQZgJ$B5~J9BQE{dcjoyNYG`XZT-jL?_rDL?p44>8BnN(f1k$pG=hAoby zfsJ)##Fe`gnq2z~dXRj$+teM^TBIEh`ZSnC}-tI@j*tN0w$WGwp0uBT7_?Sr~Z~?=doSX{g zQSe0&&d8Fqw1o*ojrM36H;mn-)0pFFl@8VF>$p5vF+0Pxc>j*V{<9n9w?C+K`TdI& z^M~JV?@9HR?i2W%ZuH%=6?fSA7UJ=V%jqBd=v?+O&n#kSMN2@v00gZ8o1NXkt;+S} zJf}dLznh@`vIG9tuW+eG4n?QEbF~WJ4blPtPI~a;5~lZ30-Mx!pjr>VLqR6$(0$Nn zxcu(*FS4zNVr)lc_);-1 zIa|Fr9vR@HI>VEAHSLRFaQne0zBbX_&g#kwWyz+}xeEr=^R{s{-LJKd{i-Qx@dA}H z$Qmd9nkKI%YW`}ntUye*(6olCtri$(9Cu~;o6@s1KaEH^smbUFWypB6#up#y=7+z@ zT^(7%@#_zSeJC{0?CdYiH4WZ+c!b&Fsrpr~6Ebd@;RL-?LlY|NiuI`on2E0syV7i? zeeu`w9y6&%2gje*8{d@gNHw}&Us}BHJrF8Vcg)}S!PJbhqu<`jbjwUuTt05t zQX?T*f5?1~W}ah7o6%f9u^}!VP&an=`^AFeh);!648hH#zpT{s31NA*q}gBf9Mm51Pfb zu|yZN(q00AFi8l+JS3_TN0lQ5F4i$bG$RZq%0+~MPJ&BU*1eR@1vI=GV=do`8eZlx z@TF~>2;E-#oJBD?vywyd3!lkzDwsRaZjeA*@v_EWjodHGi@o?)r0{=ZfBgH@KUaV& zxVeda_0|I;q=dsz&+m@#&H=SARWg#t&cQ^tE51V^kAB$t@GZdob62|EKb6%=M2W!Ws20vl9?8hllL{?qOYe7PlNLWW{kRggl?%IU0%&aHW8AzP9h z+crB8^V&vUfc9u#Dsn%aF?SRj{+ab_KuBN8DT}Mgsr;xCH7rRqGh@7;SbnddpxIf; zNZ%lIsd4hd<7|<__~b?;HKpt3+w4uzvpSOf_RS^b;!Z{RDyA4Uc!e#&=d5MBlsWaT zqWM>E+xsuXj+O9J5n|set2i&~j@+@hMz=Ja_DNfcc#Z)_4I6BJ9a!N<#$g$?TUyTh;8R9@?3EnbSz)(7q>8H$?5Rk8}oK{8sI*6iJNNuD=bvt^>^K zRba6)X@?s8^5zq7pDUEUjuwCED?!2XwBdQC;Y)r{!|K7z*lP-!F45v2inzs7uHWFF z@Pk&Z`7hi>Ttrg2m>Df$9*OILt)3^Eb#{{L56&NWB>eZ% z(R#b*x^j)qwrB7`%BOEA-?sdFGyh+2;r~TP0081PCc!;Ab*75&MuQ?H`aDjX1=nrs z{>=CK^T_vt##e_>;ITUE_$pxi&|mn6mb3PAH8b76rat_5_3YB_$977);8r?Hp4$m< zSe3(-sDC6`$_S*I!qKuI)D^?$JLOQAG|sPCp4yR)yC$7GD;}zrx=rMBV2@=@n$>c( zx8J7mu}6tN!r#WcR+-m$EA(qKc~{#rM%O5V?Z`^J9(ND$MAbhWce59n`hhD}L9Hfv zhak1*O_FG@GwNy8koH5z8%Z;{<*FbjsEhDR>Q+f)RyOF{nMv>2q+iZNhvvzJ>Db7m z$tLd-Na})!l+}RD4E@Ob8a75|^RGHatgG%I+xaD+RNix`lQT7N8e~F7}L7fo;UCWICR<2X2BgFS=5MFt$DMiga z%gN&_5|Bigw17P_=J6AaqT8-VKLHt2rnO!H)- zJW@eg-LoR1-ZW94;cMu885&?_QUH?N{qVwAj1Q|g+E+ZyGfc8Qty3x}^vHMb;cMQQ zocUfePBc?AguM)U;41cc(1J(l(ay(3_h}PxbBsYD(>qZrQql5V`t;iad-to&=6%$)k_lN@r2|@Utr(L^T#_w15h1Qi zg%^4$eO2Z^sqb=m&h11!#b;8w*Db3`4=MV7c7>c(Lp$(;DvZYG%Ba)@TI%Aw4ESs} zqcND5#47m&XjZp#@w>J58oWqHq7%@e!(GziGR$v{n^y(m&Z>A}6~)*~(10wGzx z5t~LDMpgM&P2XKVF0y&M;c!pWe=~f*`|9;<%Z-p2T;fhyO&N)C*}_wfkA51Hjz;x) zz&Us|xOLLCQ$fiVu_3k?b%++{jH`#x)`TuuPOqMa)LO2Al}**kTds)-m*a$F<8sOH z-*i%eN_ss%GV=~K1@&-cBw+rXB+hoBk|r)9z<6m4`TyX7Or~%AFm<`*YqR*Co^79}HLlver1#NN6&{b$VcMfjmj7;>-sZ6jwzo zK@%7o<6w?_i|8~??ajuZIktR^d39iShX=Tn8#yKN?iC8?VxE`GQqB;d-`jo#pymId zd92naEg^x6D|si_*cOoc94Rr$RnFy2r_4EvXa+M=Q`Zp|wi8(b@zBHzOfomhBl)(& z{x!BXZey||9rjv{my^I3UFZZ9c+(Tt92n*g^x5O zhO)HVSgK1X=2(zG(a-wdp@8`1ut&1c|It@yJme4WL1&SV+!ll%{sRikE_%?A>Q0G< zQSiFAk~C{s9^uU+p??b2DdQ<7oK=Qb=W3GZy&zqWRy#3)8<34n*<6l;IG^Fc|1jV4 zC_d6%lS8;g>*=7S>CWEto?hzu>7}3dFOybj$7av#6-&3_G_R=s*#xR|*3}l&apslbjQ=Tx$e0FNC=38K9v1#kn%w90n$6&(xPeN7RXxLm zm?>L^o$K6S#&Bi33{D3Egr_l0+UbO*4&H?6j-Dl`mKk!3qqcqevBt2ujj&$jy-vUp zTvUj-4Hsj;jU7rk3CyGfww9Kp=1r$?1-F-I`0B>+1Qd$;{VahR-Z9D0?B2cZpa|UP zj`k;)jB@ScZ%3A=hUn&Kc!DLFDBsj8_yS*lnNpC#TtbrS-MO_+VxoouEdj0d4PTpG zav$YO(#=H%a3zs*)d|jVN$k4jk9VbM7eL9irTLD;=i9?(?_@&|Z*Z#9zXu&ynqCu> z(>fJj*2o?_tOOq2JO5s!v- zmWv^{d)~%2AO7zj;P7Xd;6L)r_4Jo7gP1FiB9a;sBn(1}ky}iXAy)2r)l@8-9{(K* z_~Jt-T=IXi_vzxFY6{0X`K;Q46#s+*KtP5g%dt2m>(n^beChhU_fRtP+Yyn-e#88A ze2oFDxbbq{b~(wmRgUML$@(R6YbAf`+(w$=!bKIO7j=S~*nsf_PeJ%t*W~*Bo%th9 z{Ca(UFwA(HoGz&4MBd$|;amyb`^p?FmN}>UWKmc3n4PyasIN8llEtJfd^NuVIR9dj zru{@(kA~c&o6UEAE7##6$|=gVs*^5jkA6*L+4IZ8vF(|Sy{1g1GZ7ZW?^^YP_z%_^ zNGXuE28KQ+1>P`=zTTZ-hBmgDb(vg3?Hc8MNIs?5G(91mQ|b{}sUuM1LEYvWv;4ie zN^wTv&|9w#0staDIm zSWMf}>V}vSfO{rc^bu-oAw&h1#!t^_p1W_WU0!;ettb&B-v~8WNaSz;S8+K;7w~3Z z%RR}18;7ByTEY@_JKEX7BD*ve_qEZRlKi$x@eJ z6n_dxMdMg-IZA2>VN$`~5`8E>fiA&x)NIrsZAJ_?1fa^SFau9u(oxg1ToP zL|8wBmD+q%pK@fW?#gx~Efbs214FRCkm-9^_Pw zNp@Qsd6}$h-l62bEb74V)Gqz+rs;pDnE|qoi8)u+d;4H*ihAskBbfqb^QRE zbR2W~4uy)4LnvefxX1p?74wIsaD0HzMC~u#rD$`T`c>z(%ps80$@I5axqW0ZP>UKcvmCKQ)`EzHCe4f+qxry3W~DXQsQ+}xXT=stNI4shLd|I zB=ghOx8SHD(Q%Bn*K5H>kf@ot!KuKv{@adV?5#H7Embq{8r;=E)W;58J>a0*tJ$aX zvD$t`ymHaCDkHPQt)p+}tUfexe__y4W+L>1yr{s=>^s(od}`w(li7Zj?x?W~xzDY} zZ2A)ECw+k;;3-yy2L(hEVU7kYq#H6!eKY4^;zDXg(~0pGs4Q%c`#6 zNdX#fH>c91%n6bKmFJQakpyVs*Xzj-LG41F3(mvCD~mU6+vPgJVmNXHnO={(U-#vx zs=vBMdm`d!B`_(SBMcAlB*J9?3|?zspn$hPg(2%$yk#et42G~d^ykNlkEIdw{Y5o$ zUofY1dMm5O*f=n6X+BIANG+YEKa7jb>$2}0_ux&K%N@S!3_WA|;d5}ujlJiIm0SWJ zbM=M)GFDs@GoyjVg zcN1~8*Q>|92U1H3S9$v5gvW@VgAJS7`)_-r3u zOXKH6cW^0Lwj=J4WZu;}Z1s~@l$^fCEoel0KHBGK?T)NxO%B5fwtZg@Kel}|t>vyZ zwR2UhKJ3XY_ag&%zB24JmOOghiX?IRS^4HdhIIu=z#HhVOkC$yOh720=jw=6hMAlY zuVP`^t_HVf-y1!cnwmWJm0h7xsTwcbz6+b%<`gk?TK9v|<;sxt1qj7fxK&KI&6-Ssn1hwu5@OyP%^t zOWCdxhYA@i(f;W`lK@w34^L%-K&u|ecbw65-0DKib8U^Y3wdr+QR+*%0ETP_X`|W$ zle-`*PZjlWobz@*9EmlWks~6Y!UhPIq(IY$xTM=Ou9**-EJ7I&U}%SsT0J&_17&%x zL)aQx(zx9e9H7Z(#Y0M4v3ue>cUyY5DP1nBl;7;ym-iPoZ8>kpP!Q?v#?fJ0_#)P~ zp4!X=8zM`yL$$tKozpnlvpF}aL{UwSu~w8(da_9dX20hnR9t4}{W6_UsJuY53p$gr zD`g+ul(3E5M1urUC|o?MJxY0lV|`BdcQ3<`igw>%wSfozpm!{B6&0=#zJxn8V#L5^ z>V>33Pk?ZFg4p-6w-&C_?la^1XYuwtu*bypIxI$e;_Bf7msD>kM_dvWmL{&QQYXP*PVgt|_s*%`mRG2Br7#nu&F`26~50neZ$QhsuuMa%ogQa$SZCA`w$1>fh1?cOBw`Xs+ zX3#1HQly*2jnajzoFje+N!e)an~m!~ITR2uU%QPfmA#nt%0d&H^cp4S=$qyunRkbh zXHMikK~K19VVHK8bL(@-7Ad-2JSA29-4}Kz)Y@Qpb1|7 zc&20i8>G7G3WdDW3^Xp4$mojFh;kU@fGL$f65_!ZYBbz5=WJ-vydI@d)_F>Oxghol z7X_7wRuI-gj)JsTZ? zitNpM50^NHHVQR`1jk_U@z`nZK2=!P;2$0 z&kL?Q&wOH&rHukUMT*a2(tqxP4HmpwP2~O&7O{jEjQyyt*2YP#E%f<+l)l`>pirY;V0;qkIa%r6q&z9FN zKIJjVOKP^zZ8f<2ZZazM+_XqwlS&4f*UpF@9(|g&x94CE^*WIFV$X&34=lf>AM8-? zYo)K}EFwtn{3~jx{BN7be}DRKuK@kVcJG>GHpaaqI5bdflB-yIDUWdbp?*^Z)n?rK zI}~2I9YWz;qH~boKP?6AGkg~OTmRH@ZtTN@-(3=4Qub8c%Q%%|aLgt(LdL2$bhc&s z(Fv!d(^$?eUjxQla=kH{f*}o^;{vCVh!qqPKc?@c80kf^aLgi_+v$0Xcrth)Bv6`H z_K9~YkDe6guwPSVpkqOoGGA3krDuf#Jeg&hn)9CeK4+=XTz8H2X4qvard^&dqh2=z zLqXS8n8IxhL(g2XmCfJo5i}H=;tQlX-(Ni2Q_2kHXrwk9i$%@JD_hH&mOOENgGTwh z%%G%ai9WnjnqYrUY7V>nc3imOillA6Thm?8Z+=QvpIUapqL|^=@`791{TCWCGrHmzx>rP&k(=w$J%6zP_06G95;E59&19S2#S}uXS z3?g?xNvOAL;ZBcVYU%IR`4bJ|29o*)g{y+q#@#Qnajs^K$!b~&OtE>(?g>Gyn#9Tk zCs|act{g|67i=Bq!Rrdv&qSkmH7nNd#H;_-5v)iH=R%5G0wFSCY00y_|*YKDL@qq z{7VYK#Ad&<_Mw4K9M=Ub!74Eoi5#awS;Uchk{;b}yv$h6;~f2?z&Xu1p$SeCRthuM z4roAP6cMC|HsL=b(U=%oD7ASi(t8QXrKiVdBH>zPi*QsA(EB_8`LFN+B`iis)mu!* zm~~W248I81Cc1BWY@&;rePqpz0pDwvP6i*=E&&tQe*L3!`mi7Bn1q^%?hpfT=sqMJ z{*X)x1rfMhQsA$jV7MO<0?=k8Ppf-jGqLR5<$>;mhNb%4upb`Fh?sgk4Ij~p$BG%9 zN1t=V<|^Ho1fHOY;yzxdYdtZ}Bnb3aXR&lIZ`FwomobBji<91v&*X1c6S+E9fN!4U z(5kSSglF_1H5OmBiSqMueb}9x0Iwuo9Yo=l_&J6B7^ZsU%=YMMr`(*6Lk%ZnYI{%L zjfknnKVC{xy%WcF>@Q8Tj&U;ZxcP(nL7ZOQzQjUPxUo}Yn{C6}%9t_W6<1Z<0dMN4 zl|$jLImRws%0+IJ$bpI+^Qocvr{Whv8u>b8UVz@e3`oyEE14J4Ay8{uK&d@& z2LM#~ZN>mN6h~zCuf`+2{MyV19ncWgy%FwID2D2 zGO8g`;^koDlwcx!P*DN8i~D4@R2y4tEvXBhiQN;{&r{J&9}9 z7z;IBmTVLN3@UL=gBo{?!+ijiUUiIxOv_-&Y1fToyX{On>?0fb-(^PnG6v>8C2C0FkUCTYI|F_aBg>PR zT1H|!lmtT4{!yD$A1XETj;`)zB;qx#;Tyd6aDUMEFdlr^PxX|3tf5QZ>MOJPn#-VI zEPM7#;|{)l|DV;9KL3rqg#V9!9RRQ`s)&kvD&G~<`!!Tqlt>_Rn6uG2{||fb9o6L8 zu8AiQT0#jBARs0579a^lK-3Ug2)#;|-a$Y>#TG*7y;qgqL8?@x_aeQCZlnnciV9ZL z0e^dc-&t$UZ_Rh+oSC&|X6G;7`+brup4`v%-u1fOap$?f)gmk5~| z_NWNWIxzaf6gmQE*%@K?)bnXx1ZBjFTQ5KPXf6n(He`+cN>eq?EYL|-$)dvtPTpXV z@K6G%`JNZ-5sQ$zz;p|j0KD^(`L)MQovY79_(gIfui*Iote1Y&3tQxryohCFERF7> zZZ$kLrRD42AZG7Jhe znM}T0JQ0cZ1_9G`6t%IhdssMtFNz>H(i)x-gSn|;m0NE#gv~`d^l%j4Fw_#W zk)$$D_a=)}a}9(i2PU&uIB}F)=LSO^Z0>GJTG*nl<@QYY1|zFZPN>z&B|*f<3-|LL zodgJtxb^v<7Xw3LTK!QW%V`Ql6Pi07_tVyf3*V6m;o{5}Yl$sP;G`o1l>Y{l2vApsf4j)$gSJFWrtPWOHj;%e$ zY#l4Z_I^&&C!D=~1?%O4dr`dER3=Ti^Xpt=mH0@yT1$SG$h*&7iNEeXi1_;b$F;XX zHGG+`TiQ%Mr~G45L(0GNVEbG2U%LYWXK%$z&06{afN;Fzk*`;wCh~g9n{$%{P>MuU z`6(#S6HdGbrqC59nX?vuh7=_AzI*N4-`M#x&d3&(wx!t(m$1!D9=!exqy1EN$k=LP zS=KsYL%hSky2OjL`*0_<2Gf+ravyl-$7L+$Td+4$z@%tAw6Lc+@6uQPwED;Oinro` zAG)0i*<|?&`xpe=%b*|Y!kDP!@NUZNYV>k@suJH4bM-}_eRtMuc{4V}nRvBU$Y7dj z^8%DAAz!+8>HUrpgV1`mj@bvqkgo;~U9LY$HRcKwU@dLP-*?k($?TcBbFV0F%lwgOB24HN%izK56UG-S{oHqia-*{J=aj<&B$I}h4eDdVsBMaXzSvkDxY!fpLa{Ss)C?mvKpHNGS`!u^lf$saS(08E)h@>ywwf(iK3wSk(blkjUo^i1(lj|+Ok6c78)u5ZtixJt3zsGL@7QaeE8`ZeD z;w2S^u!*oR6;#QTUu(-wh2PPMD$bUKOHsULmIDC_H1MPiAF^h|jZ$F2obGs15;U$4)amMAE}STi*K2q(;;%b0A;UXHKFS3j;-=`L+D z@5~ujQ@kyl-OKiP&?@E zmyD&SWWdl0@#eqn`~TV#|1W$R$W|zL@G!oW#lN3vF2Lp;KR-gIpuaP)h|_T0{P)Od z+QgGG1qt_OyYE~={sIN@&pt}y@|%*87I4z* zLDkUpqhg%^sIl+@H+|~k5!1L!oUsB{(v|dfwpKOh>jw|K?6d^d=iBv>w63o<>Z%Vi ztXQ-hha>Pj1WGkWPWpy#T!k2B7(?0v^*lPR9Da7D)OS{|TY{h07=3&@(LCYMq7$sj z&i{OQ@!8LofG>P3&?9MveAv?+XNmzUa-%u08#0nw@`WgDRAMy><2RzUZvnZ3<0Hd} z?`2+gN7&Cn8A1H={HD{Tx16=PvpxMXbto(c;*x6`ltp{wVaue7btL5hSetf6Lx_3z zzT~au2bG7{_1Ep`Nq`OYihjQ?qfDgV1xQ37Bi&>>n3&kFpd_kz@Heq+^p0Of(6icOH%^)Dgc_ zsGQZ@=D2Y^Lk`{FY7O@CKl{hrYdd%2GNyL>$)cij*ICay3R++G&`^EoTp7XXgu*Sz zb~JR z`COwvFCV|STrK;@8}5$dA6{Kwy;^_rWxlcb)#g;AWcoL4(!X$0|2HlHz;Y7L3Z*YT z${3Mvm@+SR@}J@kpo4{$jY?j&_&pwK>-^xrQHoQ-XeNM*9|ScCPB1(kuA6Jv-&;WynXK&G>pT2seHz{9`n2BtJ6Y zhIn4|aPZ!v;2bSU->XJ+f#*eH206!h=E_tq9=-T%acL~e z?YCeR^(tWOS{0+{Qa54vh>7X;FWc5pby}_fjjV(@t`EfX23+^D;@Zi&XAaU*&`!dy zE4w|Abrsx~F>Vz`{xrF&W`&ie5f(1By(#5;=2>BCe;Cb8Yj0L;T29-&ndhB%q*7nVB|s!dbVX2(@HNlZ<$YEM|j@r;B`Q@tL^my}KW*&-jV>LH1A*1nVf&Xkp= zq|Gmr{@7vcax87)73HdC^$R9=_4<_jY_Fya77i}cf_Zp0THHyB=c*jL@9Nt8mjZ}O zEoyN$fN2oD7ibt#R`LfMw@(Ch1nb|tN&g!$;J^DS02Y7)Yy(iFkqC;YQ3v~*=ODys z({6w)HE>L#=G1+#7&s|YkR{DYX5S3_(^3$BIq$Kz_7C@Av>Hs4Oi{2SHghHbXsA2I z{y|+J3QBX7piQ9Gqi{kS`m4`T$xIrtCTmbVOhyi4L@G*4zGTcv)i>nmrD|l6r|NB40svDw7y|A)*qSpH#k+vU#S4&IyXs zr81!p2(V|EdyVC(alit}M{?>NXJ(-Kbjs%~x&>sk$2b8}yXmIX@`kmUn;)C@oT?uW z2YCMyGu8{c!D*a53VuH|`XU*p-&bK_VWqh{CQ&!c|BhuW`8>|9Hi`T-VI{|$skC=o zr-IJ$0?2~y(^6GM6d~R+?Dz@F!=k`dKd;(djpYgV&ng+sk09oIbfL%%w#S;S6>n`c zHx{EdwWXbJir>(jY9o7xkv2Z{xjH|5ZE6}LH?3;w zk&fvtRL=y2%0_VACS8Iur3Pzr!F9@U9*vrRj~JV>b#SOuM5pvfdK2i;(Mp1$eo1T7 zmMqM&*Ly>isx%hey*PP6q7G>c;hIKAG_VDrw^$cVW3Cv;wunwsq!aG~x6s(*mb)bq z(30Dm6B`<>Suy?fys23+wqhIs6>C_Kfnptv9^uF2b;zWhd;?`f!wD(=YE)S}6U`* zd<7K~0_AVq>SB-WPpy0=8Jd-Y6ESrBa&5bp%409$}Og-M5PlV)R1_;e_@7=6%mL4=3J|0nq zz&7WEKnDl>lspnyN-uaf@{i5$?L}dto+`o0EP8ag0na#v2`~i#>E!Sq5Y23n+jAAGQ?v8R7t$xP0mVTQ>O>ffxXGv zyj&$c;cdw6?cj&}G%rn)9CT%@XRQ)!Gt1Y>4=#0|iBOU7F56+qep&GReAjL*cT$v@ zw}8I%ecFhM^ci~+10_fiG+IW9`&G(CK|!a}vIGLAeD&jO{FJXxVwYC~7?ZQXh=hC( zSe1RCaMgCAWHQpv=vgw3I6!08T53PgBjK?{cS9!-Oflt#7%DYvp4qHpcZc>rGSfKg zwUAanYBNsX`nDV)m7IIoAQ}rW+q9AHYV*ABgngw_Sl6Fo^!rKOpHIIKcjtQ zjd+ysNQl8x@nuWR^9*(CGeu`2Y~<5E@jrh=DD9%TAcV7tWvu0GElkT#*BI|sWe%wA zSP#<{L9X&{w@(|*`#hRxh`!C)B>PiQGq%Vf6SBDCKKK$&OXf(ocO%Z z&K+)(=O#1hf5eM*;>_RGaLn%nIqB=gj&h}_sWQvQmGwRh;3Nh1#MdbfdIFo)WMe0u zQXYQ~%=I^k6A4#kanJa$5_n!Qy%;unF0%fUt*C@Y~sC!18tuExC`70rY0$r6FDK)Gdmy z!;~uuWIh#`N36t|OV&|sn@m#OOCw3nB{@esSu~k145`l5HVjC`kJ`@x_ukWvBYIRC z3K~fiuu^wLu>#zE#9Y~aROIS77!S&i5(h&1W6XfzC9}*~Oe{SG8u>Dwi`4fG zZ?=~48|iAP&bO!zP>vHxqcl)96fJ9vncOUu+SsH^OnG?5<({FWxEPmJHbC^yOYj(~ z)w)9$0Yq6lUlL*?B%@8qbr#_+W#YH9fVl8cjFDE;OK47_CLDR(q*ng8n*^j}7F$SK z#Twd2Q8EI!q51Ai2mpN*wI&uI5F4gJV`GQHGmKNXJ9v>jDAr(#Z~<$sZpi>*6`2h) zq&a0Tacs&@Yriowp%Qzse9Nk7vC`@Mc#Do*Nn5m!{^aYLJ@KQs+T3?@RX6>?JVVGC zH{-5rcOnkkzx|!A`0u=ee^~$p03)B!XaM*LylmpRQWR=wX!)Vguuw{XO@tiz6clnF zpSTZMq!S8+f6R=Nz5}t;bI3l4F8rob5LlvU!VVcJvPv1p^28w1X}CP!$YAt16w8VH zaEJ^f39-}eXOe?ZV$12Z;fTM$Y<_Q>%UYHSN@xg@bnfZ1VuIMIC%bew-?np6R4pwWOT3^1CZG{D;TVX-?Uc^yPvl;0!`tCKGoE$#F`$kssn`J zbh1b^bz}_ES&kk{D>SvbY`;c2q@;xVL8|jV@?5i(Ffx1(1qcd^OJfI;rSqx-37i~J zc2#f@jQ)MM$tmj)ycXRZ{wmMZ!kDXT2O1HtIo0Z2 zAkbu2ib_Bj#NmFPYEFXZ;=Ax=OZ3}o5tC^m@T3Q|ZnHBXPMJXg?*{_~BH#GkNg=`f z>2@h(j0NEq^HL36cp*f=ww`g^z}KA@uH~-z@x1lMq+17uEe5EMbt2HH@yd!0$AB|F zA}Mgd0xVU3TiU|;^)^l0xC_*^QVCIx$B2oP@v#Kt`FVLplN zoIFS)B=7}3fn4ldvpHO*D)n2E&gF7-YyIIfYY-t?(tD}7bTycq0E>rkVPoR?n|(gw z(#A>|=M-B;nAienK$nBpKP$ZZwq)FDVkYB6$G9F=l9MI|?>1uQTW-Hto#K@7IH5F` z7prFDqGM=L>Dao&`VBeQZrhZoQGCm|;m3I-;<~u*YoXX+r}!JHQ@J;sA2w&HQwLBd zsh&+|mP*#}azehsSbRJCApkX~QmoXCXT7SOI_ra$zWUETD2adh;rI8#|G*B=4YlNG zolUV)F%O?Ay_gdf5Vah~G6&2{;fprnQ#>tb)PbGE6dX?I6!vaM{pmg^20(C(UgCdQ z3JZo|^h*)r8FVHe0-WxAO*ID<$fxPWPS1)(jtym|P~H8FOE2r&2DpOnUN-f;>d{;)jwN`MrS| zc*-P{VREmqws=&3^+krhDJQ1&%|!OVq(caH+)bo%wnPNa)<=9$Qa2mr8@t z$@q;gFRll%_pkN2+B7Lvqp_SDIw|X`AFZ6tF#JtiQ#hY0U{6zoEKQd43y*`5=HXHZ z1ioadLPf=eal=yrfm|H8RaKm>jgx%bbGR%ZngT@0`vD}vXy-K&?I{b0KWKr@7XZ(o zx8f}eK7`5Rn&T{3ZqW$Q#WuiT6c1Z}}P{An%z__0jU*tZ@Ug8mYA ztH0Bcicu7+Bm_mx>>*hm)v&5NB+)1RF>}n}b8)QjTLJzc{Igy^H4Sx@IT2*~Qp~SI zqlk+3IY^ZWi0UvI;O^Fm>Q!sg7;YB;VeRG2(~y*K(;i}Yj|O$+Jvxz$UZBpaGq^r+ zF~1Qp=nW8-1zVUaaA6pp_DaRnP&HISce)Db5$6w-P?*eeh!WBX-_CQ!cVeNu z%>py9d@MyzR1AyMMct|U-B=Ab09m>)5Gf$e3cCmFXZM%u?xUto*$9v2(rqMDqeWTb zwWTs5uu9(MGym`{(*Lzb=l@fyfKoqPO{2yP4LgNh)pm4wm634^(^6uv-n6FuaFWQW z_fQwYMEvSOTGCOx_2sXSLM_BV>J`&pm_TpsZdYi$O&neD2u@@E12?1>-<(agRlK+o zdUG95)K#u83tIOI=Eb}hbu#P#6}~xp=Ly}&#W}J+^u88w@rrCAF`s-b&z3nQtbZKo;tgwqXZ*ajP#wMHK#Af(FpLI^2*S2u*R>VbZ$@?7NB*)$yb3NS9GGbzP z4oMr67JF}R&{D-%QYMVYh39o}*C1nzaZPt)259-?wS@YH;2yJInXc<6P=rd8xnr-z zGhK^}@|og&*E;b>@UGY!j7He^%X8+puGHE%4TKu-BnBna*1iO?wNgFR+@oa-#6S+1 zV-BGhPBg$&mqkF`6(!O@L1~6X=IKtl+N;m&b%U>00Pm^cLoQRwqht*={C5po!7J*5 zVZ;2luL`RcQB;LRvM*1`#P}t{Qzv}RnZR4$EFoIm{Zd>gVi*K6H^PA?KxF?gi3)Cc zQh$uE--O}6gbEUd!}FC=b{+$Srg=gxoK#C{WmA#ml)8yAoK32T`UwFUV_*-KnK)q% zTTG%Jor1q;Xl`N_c*6{WQO|++h4TyM#?pyopoFTlxwuU)-5QQYV#i+CX5Uh&&#u&qA2c+{da3`j4dP)g|$=S(#_q86jLd3d2 zZCG5}y={_Shg)X|Ugj4Ie3{%wNC~2gbx=^wd83XcUkRnQxDRGbbjR2@xYU7Y#f#+3 zOn3a|k?ZLlX$>0b@p8&ztFL|>7F-d3#_Bu!a&WEg1ND~TutPIn+(kc~3!N42d>j(r zR+2H6r9Zx9+9ZkYwS7yf+x$lbgz*1U=lVbQ&+_k9XNU{O55GGf9@;(n5*t?6mO7u7 zsR;_O!s!g0g2K?rc&IPm-B;egZ+`m|6r>qx9QN&(|0-xS)7B9_7&UzSP8Q}$?~*lG zFt74c%RVUAa@@y|deH_!u9j1Ff@uj)zU!$>zE*Yf)>AI45Os%TUGFDn|8O3=?PO3= z9x@j9e9os>_F(;@GC|4b!wb&`#r1T$8I`I6=$U9Ej9P4T@x?(^&+F8{8T=e7T_jcP zA*C6D(&GXF!-5{Y2#FTsxGowRXv3QJ%|FZ9Vh&f2TjP#QVZY~#wmdUcSf3Yg&zNuU zH7_C4<;%r2Ry20qOG;q8=yu!&n`qR64AO&@xT!EpP~Fv+Eu8bHh&UW;pnqXfbC1ks zczKQV{x#X0eq@ns?6jrEic`#Vcc|DSv1xCn)AQ z39x;g5DiWUhntFhDJOOJkm=#Gyt+Gy1{7G(M1&?KCGmtyB}x+*mkFa#?`6_9!#ec< zV>ys@=ar3`0iG20x{}&1x@e2rdWP)ex>xMoTx{h`Sh|Gak4BtzByh#0g8mW>PSSPi^1yL zs2(zXU5K)6$YNwrZj61-1&TDYI*}eIeLlNLcQ=b>_-K55ZU_ zn~LI0?|mTw1@&%5L2Zz*H)}q+!s?B<3CxvJ%OIs7c|ZVYBGV2_Lp<_&k6i2@ShZaMd#87B~-~NJda!?JW|awQrcId|CX%dMhvw$ zI42tk1Sd#2pyXK8ZcQR+l3uV-eClARua$}(D&5hx&oq>jD_5M)GEUcxLF6@N~LO)H@mcJb#cLlw*QlgxA~N<6Z=g3Qy_p zj}%A0Rxi{t`BV_#coD1_W-*sako%d*bl<_Ws5lbmzdJe{(a=&#`!R1qJ!fs>uVvFC#Xr@>cZ@ift-mON9FpW;!qF&gJ@SWlL!LL`aTjd{LFu z=2oibpddh(=a+{w-B}==8V=RnQ!6~nO&R7}Y6=SMoR_PW;dDZ?nn2qKBRqi0ZzD;l zt^^d@i-P-g7hUpdA{MWhZ;j{UA+&Xf%xq3|lGLHfI%T4CAwH@kg`P+%R`0*~WKlS2zn&+IY1MpX9P+RY5B9QOB`rgT;--`6R6+@MpY`T2r6 zbRHGQuKfNiIOCe}lTr|VV|x-8h!i97d|uKeyl=82oTAg)uTy;TYngTJjyC6a+7yoN z$B>?4fsUy?TdQ5oB6=R4G%J>+%SVnGl*H0_hZ}Mw{g&PK%bsPa*-!qiSzYM`4WVUzDp_yd! z9sZ9w^fIqc=Fq?VPW&_ZP=MkW&!`CzdqWvGrH;J3fEih=Ni8F!EBY4x@-;4hgudp; zYm+Egq#<*y+`$xTBT-DBlhSI270c`p$IlE)Z^tvpl`c@}h^&8CchCzhZE(N6?fafR zn*!tR;wTrJ@+t47O3F~K$XegZ)s;7DC^h%ydxKkYPaXApJF?g%ogy3)1gunIY;@Da z>OR)aFZ`0Rr)4&?v~SvRXIN=`F$q`sab_I>_TFxs{n}Py#We3i)#a5as~0e*OhXW{ zGNT;+fO0m-y}~9KDiE1A(Cb>Ie_<@sN!T^I3gMB8j-o)lL(zV`YPCa*-pw!G!+ajq z7ImV3sh54z@rdXA)C@fuvk0!h^H`s?Gsu~LOP)&`{N7OTvE&@r^8W1TieB@A|BQOp zomWj7sdvWAN&b!uimb(;N-+)uEw)G$++#lr;6C}&5A5o#CTI?ec8|7qWps~XPmUnb z($J;|k0aNcP-0N%Ib$yGF^|A3`U)Kbb3~236Pbd2bzWW-CZ_{@>0n?Xr8S;HTc zLWz}jifq=rNyTE0>4%CDH7Yof{;ZKK;U2hc;6)h}*@Jx%mVJ9D74E9BsK>ISnA~Q? z$KMl?%%YIzKreGUw5nG96^jstdYwa*{&6bwWI9}wWcaNx2FzIqTYkx=Edb|8Zo|4ro=;#pDFQrE!W(Y9Qz{6wnNBY96`;bZ zgg+*{$k!}n^DH?dVS72qA0_P4{Me#WJ+{8T-3gacwtGXIYMBX@z8ghN+DoaO8xkn7 z+5Sha!TCQBWBYq)WhLrtNLJ)cm*nF7X^=7axLJ!`RzJv?8!fifL4qBhg2JmyC+-80 zcsgD7ujGSt1H|p$OoEZ6>2cAxTqDLeA-5&We7mGp=K|@lW$Sv6VYW?WaEwD%1G|{^ z#(Rfb+iDh!X=3+9^+6xhLdbWZ>*9o+x969&>$eNFc#N}mMM2YkX8d^k8&UPT97fHp zQr2bj%hS>G==Hlr(5C!Gfi$Uc4>l({@dQ?<8NEpjA>Df=o~-nB{DfHzLZmI@IhdxE zFk(I44=+`5DSaHn(N|IseYk6U?*^z$O`p@OK0kAd0os3-KE|m=|GI?by>4QKS8%fN zgEP`^k*Q)9dRwxwR`0jN^-Ihv0_JIJ<|bZJLfPmvfbx#6Diusoaxu4r6U=Cu`mkp$ zJhS4Dk`>0)6X-@d;tOwtr0M~{swh3muqZ;EL!f3T&>>FW#J-=E!pTVjLpvEvBJB$` z*}pkM-$zG=u3>rBDj`dydpj+IcD{(B&D&wC@;B&fdQpm@N2x70aGt z8Q3Eg$7gIV1bauF)q&j-RWwW*2;2`{ENtgey`d{6k`y&0CzE9V0&^%5;#6jAloZaj z&}&`vArsxyV;Fdy1(S>oJ4xb%Hf9jAca~7pR_W>ltblNaM-D{b9^JzR@r*59ppf%Z z$%T{|is4p%!_Gu%3d38F^+c+oQa8PMiMa(KSIgFFvDHJGGO&MX{`;JsVC^h=!ZHMj zijJ^?EtW`2VlTZNr8K)2+CYJQ=$x9sF`uC<9z@;h4)oBwSJ>3D%a;}NKCZs7JY@^5 zCM@^;!&c=@%(A+jJb!|2U-~=sgJvDklCqIs`6VT3Gozc0%-<3hID}1`k0PCd)|s%+HLo1adAlh^OgY1E*kNn7XX=g_EJdpva^wBPf<&uHMqaR53njZ_vthC``toD9rD*lQ;&L^M03V9=1F#&kKJl@U3sGV>fv)0 z)Ue$dE8%Nwa1rtybo2y$A z%!vR1rHIg|b8(K5IJfs!^SGh&>$efPPjhUzqjVLJ^kLzz#b_xhOTa}07_fO8&zPiP zq6dYPmQb22l+QJ@(NIBRQ3)Ew_#$yK9g>cLompbBmyr?3a3;$%)IXFyE9@!Gc);?_ z4GSoIY3jC3sWJ>9Pm|W)RVilMoRJYH#cE0ymT9}7p#jEW$;k8UEOAYEVI7zD6bVcM zJ+nzUMZX?3sd;`~t-;Sd_JxgxgUn1Ii6T-+w7TTc^Hk1=ma%06>E_9~EP)Mu&HO&z z`AE0jgG>(?Ih|e8`IYqgv1W;kbdTrk5htq@y-{1UnrXZ4T$l6i8{YuI((OW-b! z|9#^FUxJ31K-ve|yaeAnMxtptg8$@l{x7z+|F8Qv06;K9ck7z+cB=NIb^|=~P^3Nrs&P~s=u|jm@ z-0)hL>YD7nz2rb4!iJmP^1~tO2r2+bJHaZSIg`}ky8oTNdb2OV2Ha!gQrwv}LPtqX z-ny^4`D>4dMy`e7r0GY1JLK8?ER(7c-*$ggM-BINiwOJmoNf@F4Oh!U8Kl&y@13;ip7w;@j4WiG&7#ACdUEvPsEoI+d zte?EX;CA;^Lw`=1Rb9#Zc~xS*C1ld-x6W1t{8(AG9i6wn*P)kgwb%`yF!32)^}Qr} zUr#1Y^B6{PwhY>*Ru7}1t~3qT1ua_CI#x(@I9>u%3R<}*6=-y8hJT56$&vPiA`p05 z0wv%HnW(=hi5(2KrQ(oTsp6PsV%=;Kp5%u>^dh)y+lMJlN@Zdwu|>M|9-K?KR3K!= ziA52$c`Lod@uQnALs*f~P2K{S2BV&;2j{9pDkAN1;lod@Ept7k7&eeOl~v8BOUZSm z9c&5&=qF;eTOFH7x2T}4u6#gNaLVKRqPWZoh5Kt-)-iRGlz23VD>SXKu0N9&C&Zyn zL=0n}W*42ak#K!h``JT}b7tq-iYX|?{pX`K^Q-Jy{hgqDz(M|`f^#%^R#R#^hKx#a zs_NlMRY3j3hnkurE7q(1XIz%0>=R>YLac+kf1DfFK+oIpg z6gTRr1qbJt88~Km{oeJI1f!5t&O4Z6(bpCguJg zuElY3&RuAUk+gna+~v9AHS#|xpu2GoS7p1zvP`;1PeI|aArk=nGWOCPFT`JwPdx%_P@n8iP7|H)bCaiE^W?Nf`Vchv`X?}PgMmlQZMi5#@6&!9`}s+Pwmq~Qy^ zimDb(gDVk^Yb?cV4~7eJk_(Bm8sDhX9P<^g6MLqK{8JZGhRKSKX(%pOS;0*m38E(P zzD_92B$w7PU{%Q!m#yb>ue&EAGFWJwPHK>-<})`XLmU-c^16J-zRPrJ%d{a4*WZh$Zt12I9Lecp;HYAWDyc^y{jle$k{O+) zx~>T+1Ec!J7L%6E>ysIrqgA|ix?2&gO)2KMh3uKB+ngOjwvuhFb?ixPYr&*f(%Wjj zN9P~Ue!Bk?_O1R-N%fIcO|Hsw>x`Pa3mrPA8u%+_=P$ zs$zW4_xbBjpAA;-5CLTw7JhIWhHTyLUml4AG&%t}WUzNuLAr*>8HiAn>d90&Lue-o z|1M(~2^N6BL0n)+wQ?`#XUY}{5$}lH(FRUTEL>=TzKsT+KagZeSjUqY93*v{LyL36 z!NuMHD#q7Yf&q2-cqP(KPHz@tZZGjb_KngI#)(GvvdI0~49-*}lpIb)O@3fMorYYu ze-2-_#OM>_IP5?mCB2C$lOQ8Br< zNb4aXzr5y4AzezFlu?^SY7lSwOhjqQ0&aazJO@@_k6($?$%0QForb`7cM z!kC>_R%?=_%Y7|ASd|&`T-w4kZHPmHGsr%8(|O)HEvs+rc|QrY(14C zi^pt;Ha}Mpdg>azEF*M0TiztI4yJ5g6PZs)xge^J&nkdivGQbuK$>8T@-IDk3bNOt(Hw#x~PJn@^po&5XsD5MD zs%;Az%;1t1E5Ry&Te)J;i-{z_lvl9%2A`zPgZ0pKCqc0yz!YvI*su=U*IOXoYIMN4 z?T_2fnW4dZp+G{fOo!DsnrZp~cIii}@8Rj4FSqynHhpa>`XlnRt*^iAy3%Rc zADXlNe|PZ{06^g}vu27f!Bpr~PFc*)x%U@NF>jVimEu1YN}d)p%2J+y!uwc@w_e!4 zECtC)29JM3r_go2P4KdLKpkx5GE+|&Es$S)3w&r06sa>D2+F9rIS=ow7z!N9B*U0P zQGhGA&-#F%y5_d_SOg1wD`l7f^G!@{eepT*RQ8=eru}p7(DPRX z*Cf?^lFRBjJbB7LW+^s~ofA&c)W)V>jBe`0cB>0LDDj!16?V*r)HZbYT2aoX2(_Xg zsui9PWEme-Tiy>e-p>`Okj$n`i%nc_y>mZe_!omlY4NDA2)Gha$bkvLqn*%m{^?0d z9v#R|BoJ#YlRun>XnS+ZIC0q@;Z8eB{i8G~=EAC}(hLC<362lJ40+QEOW{H;HxAyf zspg#4qmhEmPG6I7O?p%470ate`S{CtKJ zd9=LjY~K9+eO8{iEj-z9+*3aFNT#TFz`G#&Tc*q5<223kHIFKmD%rz_3-YKjPM5#a znE%0;hdudrb#~&z^cHH;r=Yj)SI(F=-mr|yU$Uw2X`*`a`qWSmI$$Dx;SI3+&gA@8 z@&WaY!C~Jad+pDRWEBJdXm}U>%&HHjC`p36ymHvlD%2nS5#70RwJcprIV-*CqK(|n zunDSa^6GmCB4XK|yEvd%%s{|4ZCbl1BT=;K(FlirQX!a-DbzN>(iUPV!mv1jW**x0 zmC6&lNPMStP@dsk9-tx$3dmRCi#C(af@rb&4-dCnaOCGX*zu2R@+{xV@XO0r;AUYg zEv{R;BYSZTY~nYe^u=3WO64&qp|$ChPD@h%-_yG;S?Jc2^fIi?O9qE1;sFe zUlp_kKsUeOeI#Y=evUN#5XqKxlj&!DNca6ZOmuDXwYzrDTVCZ>-h&P7Y`K_?-0s=Rc;;?-p#}3zoEVfOD1aSM;WY(; zMnmz>0v~J8m=V;IEAV~+hwQqBI97_J=2-{FWW%~{DJX90(lhZe!?#N#>fA=&%pTvR z+k=6+6gy&m#J&>}bPL+u(0pdL_>w7MS4=+W?4}Ge9jFke86%AJ-6c1ixLb#0K$@7P z>2(Qedy=0&?_9Z5)U=SQeP=!<637|*rNWrr9aJuI#t@I26)bZ95pJAWO+`fHx^rF$65%{v;n;5rv`u62>8n8_@~S6P%_T5KIy znBK*tFA1dB!~?Sn>4H`>khx5iC+%n5LdL@E@Ab7w^U2K)6pWEI?sb|H)xH5&iJ1;( zvv)00of^BL>Qb4Lp^j5A)OtC(kNw36`u9Eng8dLGR4MTq1xrj!o4EI8{z8XbQ(0PK zS^y_#Zs$|N3&Qk#%g8N40lhs%5Q_#3II_-9aw3Ff8rS+nFU4{1g-t zPlhAVVMCw&Z~}l&y@wMjXE{eHlk95ZiQVu!qyUtA6FFc;ctM-jUv@caqqQ@qYIo1A z_DoQjnQO94GhfR2Dq~RG(1No0lL~>&wM7{%!MB^Vhy5E;R8Pa7y!{?nXjL;km4qwZ zagr`3$gqam4|;&G@2W9t;>U}^k}P_|EO#8wo+*jxW^7~$U32&Ek96Em6%8M)XA899 zi2gLwCmZG15B;LqV#n>X<$rxOx+Sjt-N(E1YN^Ic0i3G@e#tPtq3QE=aqTJK3+FQL z9~m%cQvv*KmADjsL3V2-;a9H z(f&E0OWrg0fkyS6kldhmdKSGk9gkkm4?cZ+|A|#cx^-^JTaI@pY!kF%qwB$s2Caf3 zIp_jmaTFjoZe}Nuqz44uDEp(JnKlyBIiVgWoLY}WwqTXL;Ul##|7Cbbw^&|3Qd zHoNtWP-t25jR7nQClF6>{Sskg45Zbj@Wxa%DtdztmYYa|6gd0`x#JaYFa*`q%iX`o*3^O{n`a=51usI?9~^0T=60dCLGnnwJP_s!PVct z11mXS(I;~zUk(k>#~oYS7fu(rB@`ZKerb&02hX59Oc#C5pBi4jx(nqpT?R}3K zhoRQiv}Hug1~5%+PY3dO)+foRwtC*{u42JwaG=(3)3_zwk@eziP+BS4iMwRUYQ=^- zItv?{v@J;iRv3OJ{^SCuo^xxKpxMYU&2BAEn9uv0+z`Pzf)N*n?mUHJwP_K2J)3?D z{+YdRLWnTX{W|1{t}$b<6;?3#pzFb~YN<>43{>aK@)?Fwz=#2C6xYWIwde9qOfVG( zC##&N)4o51vT(yciOk)%WfHDA2>Wq z038LOFRPqiy4pi@nG$IZ?^o%DL{wN#-{f#movUGN+#gIGc0)I-Y z;;O+uwTFsTEDVx9*uH8!r2qKzxr7?#2{FTA7PFjK@oSBb65iAs3yLf91eR}M-jbjb3=Y|k5XY*VjpaoK z@nbJUcoUPuujj}#1js?8J_vN^Y#owTSkXQ&#hW&pE-6)X#RrYJzg6kIjhXL{%NCJ{ z?5gx#<#A2F(d(7CK`j=p0DnLBM4e5(UlJ@1{Pv>sh1i;F+cjYcZl3|hjub5jsBxfDR zU8PqCEqnKEbS>>#Ak0_T19w-~Lil4-(_X3cMQKoFg-mRuJpf&=XQ;ns=sa;%m_~Kb zMIvR-$LKPw+>&1*Zh-%M{rJUuXWR)8TK?_f-heX#Ns0Vp>W5R>9D?*&*{qVuv}!ZK zZD)ct;&um$hqHM^*Zr3%wcs>dk7#=XG%F`V$(N`6m`W(VtjUe5nT5xv72uYr z`EOgBruKppC2ST&(WFb80xdi*Tbm+>S1SvrM$q>Fonk3y8PUAL zNcxdXf@1^)J8Yo;J-#gteqAGFvk;1)*iiG{Dp8iY?GA`U+~Q`w8%}UUm5^3$%AfTY z%`qarnc$mR>*VTjO;Q7Kz#b1r)AxDP@n$e`USqx$_21Zg@1Q2Pf8Re1NJ3~Kbkxw3 z&_XBzf`-r%Knzv7p;wVESVIUsAiblZN|!DuYA7O2q}!Duh=6XfZR{8K*?XUJ|F|>X zd(WNuo!_~8h8c$SJP(suS|KcDp})#UsG^*QcC)MNFa@9j#y-;en&gr++j7K<>H z@9CKO?15HjYS$Iz4i2vw$^Wc2_dgbml3%|plP6dRy{1r$0Z(-ufWG~+40k`&~asuapX1UNQhr>T?j!s&< z9Xpny`Y^r}?rSQ;U!8r~Vs746Zs4BJU7)4w?`NfoOmv>QJgT*`nYqL5Sq}GI z2o7X-UM_ePh+kc;EqKMTsSa#1SE?gGphGN9*_c=+BoSk-c*ul!W{AQ7dG2;W_93yq zda=j33j^(8e-~u4`2V-R|G(6yr^YAM`MYX`R61$iCG?=C=fgV3z@Yh!Ce3FY$@*VV znENIGfY!#lo%LM&%Y49pQuXd-?IPme%m-ull!3L+Oyk@AYEPAAZl)L`WhYo_a>b$- zJpKBFlVpaiFRX=ifj*Gqe<)Xfm@(~cQ}KLMBkyw2T-n1~ez!MM<2!G2&y+%nLLS%L z3AimXT1+n0V=YjbuX1XFgu*3SB>MKsCQH4tJ0+QF*6Y@*Qs+PpTtCqvfmv1^x`nYP z>@jo9G)0g{f}#bil?7Jvo~NAaG6_2~*HZLDeZp&f?aTq&Pf+eK&q@YCa%uYn3BT2FH*FqC7pzM>~qB*m$j?;Nf9xD(vl&>3Kl z%voo!4Rg8^*R7`79zjzVODlrAEgcr!=w?PqS~V(3lHO2vt|dfU*mEh;^AN_!vGq05 z{yZKUQH+F~^H^anOs|Uqr==@BbywR!Cs_ z6GI_r*)g5n*+Q?+r5OgBeboqVQsnYn^b>PJPx$t68L7K@Eh~-lDe7w7btYJLa;R{i zO<3L}lm#7F5b2Zky;WG{z1};;aZ5;dsg}2cUR38Td$qapT zBa`OTK~HTBjbJhsa^Fd3>?InjsXV<129lbZu?rkH0~5i(XSFymiq^~1L& z-|evP5eqEy$r%qpjq-|-6T8FfQHl^lgR$#}9C%9gi$$-bqMjbyJ$@YYH(Rl)jv^FV zq!zcZ&EZ?5{($D;yZ$WubVF3M1ojgOms69;l?KTjGxK;dnW z$bBeHA??OuwCZ84FiHwvZYS4U_qh}}z`cRR22ZeAxBYwQi^usDm(&=tgFvTu-p2PH zd0iPcxQ^l)$AJ0-O93j9N(Jm98wS5;yebhG)0e1b_2oQ`|Kag&L#pQH7f&7(k)}H6qpLq9 z1&~QZbaXOP~)O>t6;8N8}x10~g+Y=i!76jXd59T#k{sD&%wUg7+)sKdwa5zVdcuYjiU@kE*Jek+#gr#lO7p`bSj! z%W8yJ;OJ9yOgSXWt^rgiBW{3sw|UPo&K7F3l6TDqnFP0=-T>$?C@cbi znv;C4uV3=+LgEke!RPqH<{fbp)H{R&qBef&~y1|RUo__h^(YP1Qy z=W38;d716}fTh1;N!!Ri9loCtSUr5%&n+e0i%!F3LY&cqvO2hJv z2R0vm-0OEZ;-Vb+(_s4p-!D1Ff=|Fw=juG~e=+`2wz{=tx72L=bhz97)0i zbIu()ud=aG@a)XDD@zwN?th;Ipm4Z`rVLqtmLe!Xl`~HTK^62Jzc!O$ywUnF8*jybCU`@BECKY zK~AzcNItXALCejP0ZiTF@`y(mdsT2NIwz*`QW&z=d@Az-s>#?=@TQ~{6M=BflJP6- zJ*7yHuP6HCGFPbRJOv|H!XPBTbT*K|-4E{Je&tVYEjFHaUccBX|4OsmlsD^pl}v0B z!da%0E2nL+gVYR1rkZA3c{&tk1Yj9aeMC@oqBuaAziF6P@jzrKw!6gBvj~(Op%%J2AD_@a9f$X`%s zL+m;l6B3+{`~I6!*gbt9z*Ud+{`={}@uoc#p$XT!+ur-;BV!|SmhGc?C@GgE6b=aO zL|vLxB356jU7B;xnsdekx=A;C<%;lEe7JP998)>abWD40dCrzKq!Qh3?5KJPBITb= zJdqaLDJU$Yp5dM?upe1}n=*4OC!j_KBNo;FBu{T9g)$N=ft6$Dl}svP&seX94I~u| z89dRN8jmzT#!tYyDG&xzV^zX2po-4|hB#aR14i9?aBm0mVA1 zq2k@Xn4@*q`>b>=9*tdeo3@&WyShh1WMb>yv;OSkn2**CZuQ#AA&UT*?SVa!=E#)J zDiu+=X9a$m^sIRInoZxPj7dLoN_LY-rRv9{Kta_Ardam*8geCFD4(TfR0$qwZVHgZ zy(REb+OkAvrp`U^#F(~g$?lf`FtvJM@(H3@&hZZJkn{Xp1+t7C0vGQ^S2UsKC4x)o z(QcCXsN(R^fwQ&JWGYx9JKM-v?mbzM&TtBkucM(Mu`cs=6oHix`D^tt$13HGz^ois z!6f&j?veZqOgy^L80%PU!RTH}YIA5x{cV|)saOmY%q)P(CmPX#N5mu#5z0e)Zen~2 z$v=+8kgk;SZru}A7&e!TqSXK_f#}jAefzWaBU>353cvJ?2CPb4fvBGtSlq?qG3J~G(}M(x=lfyKl(uScYj{MppR%x zo5TIxMgw72Duceb{l-b<4CVhJ1is>FN1dcC8_Q-IB!aC#HC_*X!qx|yo$e@K0BD>yeQ9=Xtb*WSqj94jn4W(Z2r zHhH20t23u-!l=-S`ZSUY!x~F`C`x)Ef7_`=E#3enc=Oy5bB#$dOA8$*D&&sgViu%r zff12{oVk+tIYZ+e^(oST1#>5V(AcOQu&O96yL@iY*am7*?6_Mvb?0|?HgaNA4x(zJ z8(p1(7mtG2 zZDKPU0iuMcBNRsK4N3VAFSHt6y4$-PO(UZM2%CJPzy18F$d_*i*KI!Z^M^E?tv2vDjhYFAD|G7=%c4+G)#n_PLev2qBmgR zeyB2^A|;TM#3zLeGc7V521t9#iau2YnEOl;yQ~`b1hAH&mr9&=VZ3tz z*Xaf=s+~6QC^?`F*?iB6XZ~`%cM>}|F}qQ!p?S;0mc9NhAIhBPNixv70uqA22E<#b z(+DUeWxjFl_fU@;M<_0LuSf5Th3z#lOBs{&VNA8Q66U6v7zEnDF^;wXO%AzFlut-@X`2CEnG9LPu+U z1vE~l?&d?mlAU%_AO3=ZCP~%o;gi383a?@L7OotSH)scSW<=op=HB6Q=|lWEKk`-F30d0{rX) zAMSBieSdI5XiAuGH8BZ7XH!ksg`cx~vP`55;pfDH(Gdljj1d>TZ-l!YR_G$3{Ni{_zC+s0sR;qG^D;et+NcPnNAG7IxLBT< zEJh(8RcKwqXq7d|po(*Vg(ds7bgO;}CRJ&~ozYNE@*S_arf+QzU%Yc-VEyTr>9K7S zPh<*g1PUwm3E(9iDXP znmqq&$^8;3NPP%>WodBJ`O=e(7()P@|5+ zj+!c@4j_X_XK@y*Ie5STI|ac{kAL^IND>Spu0V`{Q&xCxfGjr9CgjCOEub{qhE$gp zFDiZmv25Bw05D}OVif$8S-C-0i|=-mkeHpWM&=)3ug2h5d#-C{xo)73U~!;Wy{VvJ z9$Ki7H4Mo(Vt*s(bwxb4Zw^~;Z9kfiZ+vP>vWnnjN;`_BmT)TMPjgw!d??h0T1Guh zXC>FH7)66ElWmKq>`a-#{K_))TxY;UMkB%A5nv!F2f72bVp}F>(j=v7rH=U&F6uZH zvD)@MIBn&lyxL9m#TDGhyMp^H4aLc7t53loG9Y>urWLC1W-y(s`qMs*HlJ^BGxOls zlU0B}uW6}rBq3S}?Vp&{q|AE4zKo3R9GMXGOy~|nTaLJ*E>c>_dBw-=Os+OpUBIzA zyZ1h>uS)r1JPj2(+0q>|f9uzbe=pS3X>X%p)-K&~_SU-Uz_^+7V5`34*QK9L_45Ru z5WV)^v`6pMUQ(jfiz8M8dGp&9(Y2Muh0b~N2)^zWe7Nu}hcyo9a8- zN2;MY77f4YX7>Q306N8wo|1cj9ka?9d!o0wh@^+9tApljO!!<~uSH0F;%_1AnGACe zp1hmey32zK?>jJOa+ZXbM~Ac0UF?S*mQ2I}+3F3FH(`=)1sjJ2h32Ug;xhW;Ue60J zculq}1Y@eg)fxhoFE@z@jut_HKmuY#kPl9`3f%6!{cL6McUn)ogczpJE=(vi>o(qf zfG8V48h@5Nz)|DW+50$o5;aqprbFTTC{Yc2Jh!_v$hI#ycCRG!DXgioTIt37lO*ttZB2Ir zd`&h*)E-~8E5Lp{mwP~G!{x>wE3Pr-{o1?g!M&bIXIBrM|26dL>ezf>T&7m9Z(seD z-Ki9Z0El2Z4TFMnf#|f~w=?eeKS^c*j|`6!pgS~#mW~k63Mqi^k-1L*#14AdKCYIU zf&upUVIMcDm^;8~Y7UNqL(4SFPX=5|rMfu!w6I=eZCYd&Lsz|LnH{ed#-EASWpSpA z`GYmO(b2?0Y*+c@_2xKXQ6Wgps4D!OmAAeLK1vRB2x_54O&~&!a@{hDPBu0fI@!@W za#2*)zt+?Ctq}+Bb{A^Z2e_NKcY*u$;LNL{8G{yI5XlZ^Wq(71Q?*A4KVU43!S}yQ zXpLyg14v-LBF^qL-S2h$xW0(ogTcax4aTD_ztflC1y+!uTaR zW{T=dd~kYgQrdim=j3k-W2(4dYH$w6tv0IuV*Vp>Y41goJKP8N(mWNRco6}7za0!N zDle%46f0uW7sKlMVjwBjT|J>ZUVPyXXj^YY2c;9oUTfC6bNAwR!=VqI7oSJ?$q$t~ zUVPs*+`Zms<5=?Wq4&= zL>j5+nP{8}7dURni{HrK5r(hwlPM?`B_UP(6jyJzmxdLH_fR$xD#RsI7C82z0OOa% zgIPax-+UFyF}-y3VY37?jqX_l$xgfkf~#sPS2>x5Ez3q~P#rA3>N!_0MGnv@USA8d zxwF<-tQ%KuFQr*qC?H2u0^{|SyR6(4qwZ&w<-Y2nSJyb25Dw3GGJLwipYB}G`eAMP z`pq%*ym9aBBHz556R%DZ)hxak5dvD}6_k{5rar6wg&$)@668*zxI6Kf3DF%yrkyU0t1d{O;ASpUAmmzZTSocVm_he~)`v z)}Hh6(652rHP$w4=Tf5WSWxJE!r7u>h7J(tSK{F!RZ!PsRnS1Frx0u+S1VaauPCpl zJ}G`3m|2Vgcuy7Q@j~L~wL-b2xZ{bJ*XuVU-X2PN6kqEUj*;%=oK*MmtmYFDmCi{% zyuM{8`E~_y&R@bi3}FEjoVL=-wa47OA}t?G;j^c+lRil?z#u?rVObaXTaa~HxeQU> zo`Ai?BjX>vGO_154;WA4HUmHe4r-7QZS;D&r%kob@~G0;JE>#7;gJA*Sbdd? zVTg$p+}`OSL(S6+Q~<#c=E~>P4zwOWsyf@uQ~TdnL4eXfwm6n#_sFf$k0B%9 zZff1jWnWD7Z0$AXg@+{nfJuzEKcG#&#(ee38Ohc8CQqyoR{gx zx9@2ub`@k^S0fz~gt9ixU|9pk_TKe9rK=${!HAKmq=BwI0YCXvUKH2)=}6EP+6SHb zgf?wgZ)ysIdY(s34Q=DE>5^fr8wRN9i*bztT6PWc<0~KDovk!ICE26rtA5#zW#kiC zK1A75fA`&5o|}SYL?ATH$VS?>SK< zs39ka=HPS!hEvm)Duf3ok?_|M1FtsqPNuyVj>fJ7h8p@o)_5*DOh7sDiyOE zwUHw4%(=i)@qSdQI{?r>XY1=!)KLp@?hW%~DmkCcKhq0d$9eomc_qr#( z_98BOp-n#sUDovF1NpKX;DW6VWY$uimP&^Doisw1kOpJeM4awtkZt4}(L`T03$R22 z`7w(1LqN+I+5-vMVR4Q;HkmD-omwrfxCc))VhOg*nc@a7a9K8z8q}tS0R#04#F&4a!9O3*jA9e#8@ngKs8Q$uPf1XIH%XO20fG!B8369KSCstZ5&F%1?UXN_hm(l(JFkxv6X|7p6^| z)itkH8Eb#x$|v)KSqRxtn_4k)G@eT~_9hEHGM%cFL>_>eS{2rV=j-?Ge4mLwD_|u1 za)?W|5iW_7O9^38&5*qP@B$MrOQ)R{&`ksp^rabO!=l%g(2PLIMV?8hEE5?vy;6~= zaTo2;<8;Mn*g=DLWm&Uuu_4|_lJ%V5!~`H@%`LNpf`fF@=iv$Y{r#<5$X$S(#zz=(8U0l5f5k+yj#y6u-h4T zSe9UcSA!f7uSrD*Cpm=MTk;|qO`I$k2rj51j`e*eW-zJ2Wt1RpvR?zB@DObX#P)e8 zERY&JpmrdrHwdmf2>WrgO2JNpu%f*r2%UmcHdU9>biHi3zN-0;Ir|MIMBV%S#8^#N zSWROF>&N^h_Kjyt$(XMZUE>a~YAdyl$=7bRBweJ$z4DK;Oa0pc`Cr|*|NrXqsay@r zvCSZvw`do@Bn4!)qaFn5sle}_Rk*uJGfDgfg{9q2FrO0`5A4Ks!v2E7DPD)&Mv}XX z_#;fgpQI#I6kdp_%&(K}92O5w>2vm~rj4|hhs5VMM#YyNYWV)4IL3{8;91Ys53W!P zgmkQk`J=!TE1{J#qH#=oi0*HjAhJ?~G3xA5{Ue$Vt=?y*oOpk{0!mX|Jy; ze&Tl%Dt!9WR40fYS6CWma=4$4Bi{Ame(X>_+!dP{p?{&H)F=p^KXvf6OkePa6K+G; zYW+qWR)3)=&ktUmETy#{G*=PkeErRPB5GSa{99mqy)>_QuthU;C)(^bi%oqJrEBr( zv*Y@1bi{qnhnlh;fuP@Yv3?6^5p1qjk+$_SlTQ)s*wQDX`5CtqcT(u2SU0@ABsvG=7+DP8TbI_f7k6&8LI*UJIILZMT> zaAu}>Sfm07P`n2aEw@+dz2$_e1r%;jOlvD1hzUli^!td783;%}zr5A+D)XLjQSfT|5LRg@Uq z75#-FVuoWkU(a&&`C>6Y^0HC_2@>qTt<8K#k#Df4d!_40NW_g4UuYXLR1X{B0PKgT z(eGB!k!Hd1+2c-IHn@0n>$X=qgRV#DO`gyh@5p*v)daffr3hqP5Kur=c~+*zFo9JA zjf$rRdPo4_CK9dHGr>T;!J$1W6wd=^q}zzpJ+<9UAN`TkXon+LZHi|YZ(jx3VDr86 ze|QGT9jZ%w9KHH|pexm?Md^`K;1h<|+lg9jWVDly>E)|a3I<|)|L!3CM=<IE>< zF~vVswbXg_a2~VizFkgNHAwPsRo;jf3NCT!7Zl{+yXM2`fM=h#PK*Bug#%u^CX@bT z`kzo>XAJ2i&gh$lY^dG|G|}=LJXH6{`qAi6vg9k&S+N0~MiVhFz@ZY}ob`gsE|q2V zrr1Ne_Be&dIcH6L3PC%E9^8?eF?)Mc23FB`M5q!OXkg5`SaT-sX*R!;kMwYO)Zyv9 zpR1qhO!|BC*%|BEiPE;~c|!zn!FFFw1M0(1ib04q)+$kQ zpsx*=jcYdH0MLiIuMu_@hn91fa_L5F409q?_CdCwQPOS2AjWZny>Af!5V{&d!+1W? z@&*)TgGWlR@o1l7AhG0Kg`nBZqH4ez5RqI~MljcjNGqW&$|M<5>OFjLC1%{8>W2uy z@)DQn&3+ECg8cu)XnOIrgl2w?R=HV#)fiZ-(j)+}RE413P9o5G zO!qCIYllbba}b^h@ySVh2q`S)d-<}#TqxXa1xUOj&V$lS9EJdRQ-Fl-H*D5t3m^v( zw^;G=$)JU_s3!uRPVEHO78P*4c`eDtUQ*<}DC=wpXd@3!iSX!=Jt5fBYY9mRIH<9s zMl@2~!b;JZaY!m0HPxT4N)ow%!P6!%ZOfy5aEPx+k>XM&U=(RZt}5e~mv$Rfkj%yATgDuM*gT03}QySl0^ORNl zXrb01a-;o%^GT^Cd4MCt^PqzFT#zzv`j9tm6&`U4s{~KEzK>?07qj1<1&rV{fZ(Tak38ipRQXB(PF%#qd;4kbqt9?`c%eT+!Ymd`YlnNCc(WwV6`47SL_ zLTN92HEX?Z;LU4DYe}WaHaB|%&qJoveoK{E4KV#o$U5L~ZA9|KW$l8a+J~B7s@_mK z{XDvZGBap7=r4lHx*%cuS~f}?a@o%}hY}KPepl9M{lF}BsxdI-=^&lAMCQ!ioX>cA zcxnQdL0*81BJd34f(rlhilvi+=Hf=eY#hi1xKbtjhLa!WZW(ifpHo^oc*Lt;>>iJPv#Cj-HiPfM`s6>g z+W$8<`~TGKelUgUT8fP*|He3t4E8^Ky!>&v_+#ZHXZz@q>c(GCXbIXa@SYt1C|E%B zuNo^lAYMz=O*!J9N`YJvJ*HEYHPCIk*}Wwy9Wzz2ojk|Y-nt$n1J>#`d5w~gA;87^o>Z7b($OGC#%oS4GHK)x{l`I)KwG-yTFNVWv6*f4z--(=!2CUYKc%Yk9;A!vQXux$NS}mj!_DytAWZ4XsahnZdV_p zyt?UE@S=C(M3rlSt#4b(t3&q&B6e0S4MJQTu+L?$M?L4c98$<*zV|gLV8hc-RIr-` zK3gggyN$tN-dV8Hzy#f=`k*4bf|XFe91Tn}G9@ZHEwTN=xWwB4%lBv`yp>}&cPlEu z$CN0Q7ElzQ5N#(b%3yI_ASg=*gq;kd5U;_9{3U%r9`B?n4G>ZO0AnK-uZ$K4-Y&nL zQxYmduf08jEAlJ|069Q$z?M{Dpg1q&B!(tQj5sZ4E5$`|wDCp4V3xWEK8Dr2T&LSFG&1*cAOuxgA?UC^ddDW3{PHmb_(mZfE}8P({)pVk|? z`=?O-3cRD=CzZ$xz8WP#n`@Uu>o011elDecZ9KT(^#-@ixU|q!x+>-$Hv8o|Dq6C* zg7)0y1m4qEmTXmm_2oq{6{EMb;X< z;SXnDPb6#RYH^L#AoN0p=1TU(l$&Z?OTtZWY`?RVlAghmqMn;46Y9qID&y|^74sQf z@PFS}2`Bl%mdjKyB*9%HqU&;gI^5NmI(*2PKUd+7wcwk_AMUrGWgq{#y)V)1)bPH2 zJM?)0!Pk;cqp!jUqVV_WYAP_iDWb>rfl^Nc-ieuli?`%pY^IZ9jl}ZnqyZ2uIG3h) zU0ZD!|6cK8`RDzz@u~0{-kG%|E=fs@PncZ=3`uTf$PlM$ZrY!?&Zue9ZN^wK(6EEX zm#B-uu#_~~;*70H2OV9J^D>z4-IB?2I(jv*9%9V`TvA)IN9B0T)kW{UjVtvnUT_p2 z7g9g{W_H3e9adzA!>Hikp?oUe`9Os=KY10?LsW{}B)EuEs{(lY%G{Fm<}Oy2&DAyp zE5SZ`B?>hyF-`f+C3x``bl}Q^RAD{^ZGRKA4Knl2PBK?dS<1mDTnRpRDR(^b)=&D> zTV+p4U-9%6pE+Ec;S)!@D-+UHcUC05>7xkHe&I zafHjDtW17GC1qX$Ag2Amv%-92$;7@h!oJUxzecvp81-1Knpv(aE%hN!=4Inv;mgLz z1LWm52g*c-h4o7umys5B>^_qW#oABZGEo{a&Vn_O2`_VPO$qKDmVXX5E^R?Rpz55tSxNXIFLRqqb z7Rr)2zWm19%=DtlMj4@8$N2cq#aqwC^iOcMwK1zIF*NRb8N31tKc4mh52h`fI3eam+HENCM{w-CncUa*VDJSNNISG{sRthsd?Mn!izXMK+L9& zFb<=5xPjhCk+Lk`?)Y&VV)c_XAc{u9l(s{Wae39(Fb)!7L`PDjqzCxO-Orw2BjZX! zJShMkB~z54^;?ud#ll5B>1^ihVlTRCRb}mA7 z1cwYmdtZ#*)@0(?Q2tos;r&W7r>~Btj4_GlB^W+!_PP)*CO-u5Nj#b7?7SD&ti}RV zpJiSBbncchz|pjT1<(+E@klXqbAOYD`Sd`xHt)DlvVz^DocPH71D2nEtm8@^7I#kc z;y!SFn700RXW;+yyYqjY2>>5Wbo37nedIdLK|+OVrxl!eA=GQh{x9R}M|9yCzl6dE zeF6IK8v##0Z=J&Y$piv7uls9HL)xEA@Ppox@!GJM@&X(v6@o>wb?+-mjJeK0ZrtVM zXXz*k_tYE_BF|DJW7@=5-}dV!BKOkvX7jJk+vA1|mrIY3=KYhK#DwR^O+J#s+jP_{ z<1{>vTS-qa7r!wkT^eWaZrv%tj2@CeD9-34Dn#Ybj=7k$2|)C^NG3V&mYEfOH!=o6 zSa~c0r&&JHLXMnksM%i=wB-0vt^3jP;=s*Qy9aF}=Nly==dh6q+*cS!vR=rT_!O*4 z&3{N;Q zuLy6n3iJj6?%=d}hO$BN$q1wgz#!a4l+FQ2LuGOD_B4DBy|n{r=pl||LhKM`X9iLQ z(?t{wtT@8_XfJcvJ_Uk%Ub>a3vINSD!w&{a5HXmZ8BgdGO5a;o01wsTDehQ?nAJI@ z2qD3;Dq&+biRS%{4@UT{-d_bna+dP>Iv9p|>ej|GGV(Bm0jI*ZHA^ zyR73(?IX2-&M=DwD+rIt2CB<4P#uyo;uPLLpplwh_PREoy}YBCJVQywF2$-5O(B5B%_ z4Zh7L?@4p<5o{uELWVc*v8WF#4K;TET3i{sC|)gXw2W4s|2V?WN-1?EEP{E*WuMNT z_`sI^U_p$UPoG)7Ti96r-v^2o|C!D3pJ)HqGXMkv2yvS)KpviRiN=FogLNWbnf{gM6W17nUZaB@(QfyYcA$ zqI)w|d3M(x@jD=5bn^mob-xS1eT~TCIIE3V7=MY|rn3HV*4BvHiu0@zSh`}sX)JOr|E5A#u5cPEG+K9ldvY;dF39b_$zOazP_M{L^ zP8u@wea3mR_fl)(s=PYtQU$AI`u(kHfDXKAwP6s#J=dH!)BtW$F?n(&RZ*OAiDPT$ zPLuNMWRuuvK9MP|}V@SP@9{4gKe)iRk5D+OtKfQ}6R${C! zmD)qYxz`<+Eyg2%F9eZ@C=U|p<%#9Zei-@NC@PE#=1KE0^Cb}ssGvh?1&Ho_!@FMN zQ*({_wOjTU*DI%wzxH@@xAlBbg-+qR{@<2G{(qfa^}ppOftdN2lI@>l+<|aQ1_dV+ zI+#hnIDjKP*VtN_N1gfw1*P3|s2%Aj*V6)`v45RNGI$U2|E9|MQzw{j_H(ic!kolobanZ|2*+%mqw_nFZR=}V7ALjm31!5a^eAUJkxf3;P-nh*sW0S^#V_7ro&z{Vgbbp%^=NrI?bVN=GHKuXHtCbOz{Py`i-kL(&+N0yt5AwhgtSyURRm&-^= zx3RggHSmfmjQbiup|K#v{QVcZ3MEhCj=&X0dsPcyspa{E$-)1 z{2U|@;>;ri=YYjWnEWoD?IeT|fg5exn1pk6IEn`5i+;PxRjdw5sGHKASv&~8t1KET z7_3YRmN9Bwox-5dy3xvBvdqFQf;eDIx9G);wN8`ELWy7_kLz1O`Is05q(ho$j?swB znd1wlJ~`I4d2as{i2k412J2PG9(j`5eSqW*2!p!Krr21&I4j=R9_DwMhl2kFg)ZY= zC};*e3P!~KMS;WICa3`f5Bf}9O||Iu*Pw;e-QJ? zN={zo-e|S-T%+37FUnGCE-isFVMi3@XS#f|6Zy`q4b}idj;l}|g5S7C4UMo}jW4Wr z!dup7H#8Y>7MJ3AuJx&yMta%EI|MG*$48|f+mF(F-2L(X`^=t@rS#-yy}1@U9Gg>( z)VAa^!lUAtQ6z_{eMcy@dB{Y4iX~w|ha?&&azF`)6nqNsHj5tdSmkY4BpNc2VG^pUJBZda8+g+GvO@&H-OoZVg$LbBcqaBlt>1IRQ;)Y{pT%Ju{eW(v;8)O?`= zV8h{DJr)(W5v~14v!S&CGFpQKV-X=^6t6yBlBXg|It(+qn_KxlljQvyxKU4!n@D}C zxvEyLoM&^be5Kb*id|Fae5}>r&6Vb>aVzoIz^0p5zG)S|vAc`SRW5S*TT1-nr2Jpo z2LHkpkxa=s6_`Aokpx2I@y^ccPKk;mz<`>7(A#32)L&4z!nYgce2Os(F8bSiz@)AQ zZ~eQUae(3kSAL?=tOvlz%4(LVm`KxZ&#KvRnAnM$NvKBkpv&T*Xrhwn=i|0JQNbgF z@_8zcFi%~V>JjFxD^YG=YWtkZa<6(iAkH>lE{v=@Uh)y#vq!5B(tI$V2;kb`JnRU_ zT%F{Rzbe-c>eVi2%}Z==FIPIO?-cGQH@O}AxN-x6RQzN-g@j*;b@x4v0$KFd$(rXZ z5?<)*_OR57chf{g;x(n03M5`6XH(Y}r z3H(&+=-SLxQ~4%vApL0IhZ54glj}u3y>l^+gcj?Z&Gxf;ZCzO&Co`JWcs>SOmLd*T zWo|S!L_fN}ub`kL&L(C3u$sj6usCo3hzI0U07wTu)a|7Vsa2^ zDm(0bjRAb;CIaZ=SCdHNnt(G( zNEvQ>n8Z$WmN)vAq{cLsA{=_z28?3Lcv4&T$f7bF>N8iid*bvCNyJggUey>Jk+@OM z8PgNJ-WG=$IX!s?*`**^AdT3>s7=%f^_>Nk^CCx?I4nBG5Y#nLKjstR^nmntQo?H2yHZa7GUIf$JBuA3NLTQPiFY&V3DZ!#`0{ zOZ6kf+=KDzr7w#P8Ct82R>kQPHEJ*TymvQt0__y^K%0rU&Rdw5{END5O}a_)$Vj=ba#GU^RjWu0Q`NS%sj zCEPU;t+!zKK8&G;F^%(Fc+^&!Z1stqLKzsA!`ygT@<06x*`-5-p6z{k&`l( zE8(b>uDZ<<4KizOBQ0~7o;h4n=(gEfJ_#DY$?Hf;e)2w(2qBs*b)DE6mX8O5qpDgK zb&=9GX&mEE$j4%#N($s8ohciuc5XLsq+}RO2P|=p6)maCxOh1PfO-}VA z@nLNE435UKQaYH581YEci*ovdkE8j$aQs&GG;B=XS>eaA*l%{VoGnwd<Mxh=&;=&wn0pDHzS~Y8dzF2HuXK9w{d-S` z|FhTOpQnD!00awwOHjr%=QTnOmV*(l#!kPVjpavOtccGQZ1^K{no8bP3S`FoxbELd zLF*JRS#?vE_^0{M*9zJVcSSH);Uooa`q7fWYP(2l?Y9@x^4S=>;ac<*h9E_t$;{2g zVMlhL)Oz$~zRR7yTERIE32s#+mG%N&y-)BO!}6GS8TyFqQ`cyc0n2{i7dJ>=>JRoA zzg<6pu~A2D%*jMezDS0aq^g*TC|OuBdE?Iue6$&oPX^T;PoH*&B{^WJAj~#@wjv=F zv*-f_dXWW;vQ%FU?Ji5ng9%?G7Rm?(_hvqQe6=`7N2_J7>>f)8- znsfCJb2PQQ(y{dZz?a+dm<6S=+o(+b@KWdH;xR7VSY;|C35^v!rY5UVKBFHJxMz}w zeV;h7Mc@0$b8sJ7NsYixhU5~C?oEkW)WS(m#do9;f9}yLN$0nvH6hn+X!a}v-}tF) z=^#9nM;-IYSSH?+5w>t;@xvfh*yHS^e`O$~kUOginV2RZ6Qak)PVks#0V;jvl}B@B zH2V3oZ9%cpNVgOUkiTH9PD|w}KKHEhI8e^@hSFhXDIiHYY*D>}i9A*SKyn4alUi2c zJqOSn(h|@}9wF!g2J=$i`959XjP1723M~@spn%fkR9a_b>;4COZxt2S8)f?z8e9r@ z3iqJF2^4OH6;?=ahu{H1aJL|ZySqzpclTgPaDoO;2zL2*pL_b;ac=kMGj6}#eyc5` z9%}6UtM$z}zqQam25loD5^t`AMAXrt9!gF01Qa9;j-p{H2nUiKk>=BVMH_!NS`e~- zr%$IOl!hsQqV0PAih3o_QV2OHbW+?*VKyhOJU+t`iKLGx5Ww(9Pw>&V*J3)BREUnN zU@ksw)bi0@$ypNPSsHoymCjzo92En!UvgMRX0RNH)>=W0<3M?Zgoza~te|M~U5XXw z-R2g-cf&^63|-zfJ|5#+62e{CU&@C{nx!zs#S{~R z+_CYmnU;w;(ca>zA!Ks@R0`C^FPg$-;My@R_5U4c*W*o0m7Drw~)rj%{O{^G`E<7qbf$#NHhdO0$N_IfxDlh z#-@7WiXc(KNm;r$*1;|4d=`{D|2XtuKt!I83;l0ZB&inxlH?^xVY-ZEmPLmtD`CT^ zO(mOJh{HHHy6IW8S{2FGLny8~pJW)$;I0;`2sS(&17L=kwr4NXZ(!le!B~&WOE|MQ zV?@LA^(+ly>*_O`3>;W&&jyxH@5o}>@l8u}JgXIa!vlInlk9B~R){O{v&?8yp=_yy z=35;RDvi*|_)~L_AMjVw`nZLc2P+K?N(*J=4#+wtu!05JI0y>^0;i~AOIDQ_(7vF4 zVw93(BSQ`DfH34z@>7xaS)~p0lu}K!4%6llkP4Q4Opa?noj{GzOqBUdc~)3hcBG>bQ|&%hx!70L~aIJ97G|!#WtlpAymB?T{NQJekREvNe^C0 zss(-Jh#ZwBSG)K_ALafWEQU7AN#cm#(ZeS8m+z%MPL_ZRm44*g1>n_H#M6a1%UMF` z5tpq3v{KWB5PwM>SXimMHFX$yK)sUsyw(BPe3c=xZ>0JH;_o`DT^G5+O(H_a91tW6 zuW7+jfJ|U-8frm9T@d02WnU6P!UXR<1Z-x_4*+@8xQe`HZG<$h(0tM`ghJ*t5M6@% z93#_G>q|H#v_OtA%DPC{$HpdqrJD2pzW5ir>IV-Gn7$ywyD(dmDrWY%%jGB6R5zEu zumo}pgM>=_>f!73|9+GI3kimZ(AHT@%33GPvOR(b2u6!Z(|6$y36W2HWNd(@{F7aB zn0~1g)Pfc(y?oFA$MS)*9n-iK`V^h&Kq6sq})Zl zjW<>QC_+-iow>8Db8GP!qS`S|Ba=*q8Sz8#o!rQH2w2~|qzIaE>b8g;&`3m_o{mvl zyWLVj?Eg9^QLE4{>m`_j#AQ}K8qh}(Bqp1sy(1u*JAPVhyR6D^ZTV}m+^hRNdEYdv z#r83s5u0-7Y0vw$p#OS| zA$7?kO_pq)8wqg4Y>b@sm41A`JL;VJwsyEpL#n*}0ltH@vtj6z`vx0v6ijN)FbWcW zxL7O?srboL|yvO>VMcK3!<^6A9jKKTzO;kSL}H zo#M53{(`wus9YW|W=PsVD={Co+R}L#N*9YVUmRJ)QTZIo3j3dl{FYQ&EY~+IX=H~5 zK~f<_mF*jN<-x=e5Y?>CeZ5p!S#&Q{a%0*FX4^6h{<3D&+d_5`^wm${#4(}6au*k@ z3dZ|99IWkZ>8ec4hh-fIAVlVf>iHO)Glc3?r`?zkydym`f6##^8U6a7zMjIA1XNk{Fq zI3aZ;p)NoNW1>wpKUC{=C59EIcR{&UwOEiH8tYq2oTA7ze^Sa_Ig>h_o4bHbMZV@@ zBv8Vn4ky`Sk6Z7>!@L#&mLt247;Z}jj-;F#rk+KS z6EbYjDi(vZsKx>V$W z(XG@J43D{GlmPIy)WTHzh}PWxXG~3ucSvn}4TckaX{@j)siPb0rOVrJSh>lYp#2gk z0#TseBw`I1!RkFJ|FR}bPHwLl&BR7x+|V6$*pNx_wOQPx8Ot;4Pcv9Y{z$TW*R1ke z;|r0ig~iD$w9%iK`0b5woCPFzI&KaU)({Zui8_C{Mfp)1U7P_}*ICSkiW>98%pmw1 zg2m$EHpT~ax%=0e>X_f_SM67OMxL6FzB)LSbW~q?xcz$n{_c-yIE$mxHz&{GcU2c@ z{oVWtaw9 z(b0P4LItJXV3~dAiZR=K7p^sO5Z_jTBRB>M2edRb#sROnVjZM+6Voi`#7SK_fr%S} zS!qyuber!9*lHvp7vDxi(I-oJfu&o%hRo4(-BWl!IG|!gyJbIhHPASw&0tN+iQx&8 zIY36KVek5?%%9spBb6aCKjBRgQS|#UdP+3AYmQhw3KAK2y&) zaORlHDuOs#drQ{IfrEuT+%wdL&1{uRi%n-qi&8o95ueGqkx|(P^vT#SYl_ewPuW*c3>h3 z+h(b-e6@og$^2QIkqB?{fpEcSWlWNhkPvSvT$VMW9<850yHE*#G{u2eK9Um~O=>KV z1R4pb%P@);=Do%?48VQVWt_#VV$od8!$?oAfTcZZT42o;r0DBwP2TX7e-5gw}+2-N*Pvi z@k3JuS+pR#*M46h#VA#YNjeEWtagghs1fJ>yKF@W0(giwp{tvy_GMUmSAeIyyDI3SKI!H3y9+wNkLlhoP(a$@89{kWF7z3t-wYVD6xW? z5e~4sidVPuqkUeV!-F2b=d(TvF0WzQx77c*Zk~Meqx5kXIr+W4Q{os`htco*CluMW zP3!syIKdf^C+j%-RpEi%fWjjy<{PbzWrx>HEu-Es{c2QHi{gcuH^xyGqW$YIt-=Lo zTxz(o0MB)&`OQ=_%Mu_5B=4)>MwXz-<$~239>TB5qwo=0kieasfNd%}XreS?7Ua%X zmQKP~K6KPH5`O@O{v?(alT~v6?TwE(={77s>eN_HXlGH3J32%G>LK$Cm*CH(JEUt? zLyXiNZN-3_DT!W#l5xD+wQJ@-&z2K$79Uo>!p7Apr5#l37hIU&vM(p5jJ+e6!Wv`x z`I1sM!>g^iolmAeZi~zVWG=6^WR5YktUoWGCfd<=k-Ak_>PV`WWZ@;mgk=7FgUZ*; z;gPv}a;Td!EFJGpi3&Xk8nC10weuvN->wo?4sP=1axaSuC&w^TiL-`Q)l*KQk=B-~ zQ{rwj6v(_jT=b6V5Qx8KCe$fioWnUQUHY6Fxs0L}t%)7~~P1c0x1vrt$C7=N}JwfC59OwxXI<-;5ug z9dVZ`T-&n@+qdDnrDIKH{bs_;hBJf>5O)=%Df?HLt#ZOP&a}lMISi|jD!gZAlxTd# zC8H8>1HPqo_V}ceIdSc;*`{>f>&U3=Fmz84!yp_-OU9VCW&8kvWepw{b+$}`=7$Au zD0_T8%7iRD1*~+kOhFn*u?pu0Zlsy^ZhmPQPLpR|FdK`!V)}QDOT9#Y|bphfX26Y%5ovd zykXQ+o)fMdV)_ph8d_hV@XBWOt7!n@ms5(|gH8l$)qEe`bVbyy}jTI zi3=Jgc3gQ|+-YRcVs9NoO8DOZ5c`q8pLBM9B1B&$Z3m6VgS zM(j_&btELW_a3 zogO}Ac!#`)bD+UsTz1`E^=Gpz-NLYJk1>~#Fu7Yvnkr63O}Tg{sNSNgT&vV4%w%=- zuUm+MYN}@1x0O%LBUVXbm_In1Z?7Jo-9aaa+tL=tN`RUx0RdwBs#GY8_40ONole<{ zRH@QRC$$|;!r+BiS_jW>YKdbDlDN6T>*=#OsE_u$e43i)8Vnn`)TH z`2eiXV#$3D*3t$mPwzGpb{f}zmVqs6uYJ{k&88jOGoD%%XY74^dK_-{*{MmIvde3B zFTV>~dXHkF%>k2}w;U{-r;oCeHxAP*H~pFU5frqo7P?pU)$Ck`_ZQgQ`O45MafCgx zwIJQIcUd^#I&c(w)^yEE9};e|SeEAh zMw;wZe(Oo=3Y3^+fnS9r2|18-vrYhAE=1#+{Nk_2A>Wz&vj?7|Ql?s)6 zKsY%#sD#bF1FM;xX#<7$!y&hd-fMhQSFg9sVV9lR)#P&b$~>$vC!T~Vi_SxP5&@7I zGxi}O|6{$Ll$E)sMVBj-M^uDjo62Qz*wB~Q)e_I93>s6hdts|I?;3_!I24IUx7K?i zEJnEmltCIuklGKPpq0jmNz6-9ESp*9$Zd&u^pQbAlMg&>C;%a!JPnLJhNqsm6Q*V3 z263O*`DxO8CVtJqAx%fs%Z{VRUWhu_Feo**Q&cFY7CJJaY%#a^%@i%luXD4d3$5jY zCg28LLm>((=Ihe^`g?Df$15X(<0IQ0GJ3ci%iX^f0RM%8;=l7%XxfqC*7^*oheZhJ z>AfhL65L3pvjpf-o6rIoh|WJykfFf^p!&b`U3zbVHj7PuY#SMEI{eCTsWbp{lfSa0 z=^TZUBrz=L5b8$-ZNv{_6rrWbq)hpY$q0s{FVt|7mFTsHTP_``&a>zkagn6b=4O#h z4;J7nB1mmn0){@uFv!4!nF!O_zOh+G;i^%3p%LR(zQ)Hu4UdMzEq%gHk=2Ti&bsj9kaeeN<|@FwzO<& zvaJgt_@^Vh#Uz**H?;4HC3!evBsCvQ3WLu(>qa(26r6#fTb$H@4ZK}=Jt@Loy$6J& zOF0g;Rf0kwNVHXYDF}xJx8~gPr?dzjp@j4l(v*ix%WCqV zl`hH;z(+6GK6w%XnaOS{mQX+kGMb?zW0A=s@k_(=PtKnv0?*SzZKIM6Rl>}FdgYhL zzlmwIK@kd2-eAm-o+XvY8*sp0j;U7AVEKfxd$LMVpz$TevB9=e8A7!<^TwzNg~Fu3 ztAQ;RBuRQQ8R}Zz(w!-%ADMTaqK=`23_#VxlkDr$xup!)Kf4nAFcm2>iC!a`)*vi{ zkyUS|Lx6mVXBejyscuMAiL&uS3>)n9F8S4apLY=OgG~+QYJeIlz62NQh2QJrg5EHK zrgFhIifkyPsyMA-TB@^3O-E71*9)4H=FHIulhyL%R?3L|vP#}%v!gX?ID2+okeW~( z4~ndc(&)->6JK_EyB(&`VZ9giEgp+C>&C4LeT!TP<0$Ndf0MDI8loeLrJ2;rNIxGO z(St69anwdD)zdyJ`Z&yqlSgkA*`!|AC;HKhTykRD%Cco=qYW2!g+f-EHip=mu_`qa z6|Q=_SwAbRgjWCJeO5b-J|?L&l;c>~T-DGd6B% zzu~od-29X~9QMr|O1JD!Js!f6&^97x*kj7g>9~71H)<*f3XM1rP8zik-~%6GX5*Nc zX|)!s+qt!Q3#Gd8JNZ{Jky&e$!z-Hjf0{xnj*48z%0b|DtaEpNer_r|ZQf%3Xd~#Q zMgieCiS3`Wxfxt5uY+WK=dwIkthkv8?kq~tO3 z(L|@ilj<*W>)ljB?v#IaP$omrF0%hkS^0Nf_W$f@0Dofa;2bM&hKqr@;{Yj5-O&_2 zBzfUuAs?^4h4?>Ec>MiRDa2Z>pP6m~o?|9dC&d8N#p#Z1;Q`24jSe4p&jEa78}*$E zjOxLIst`e>>OL;D=xAX4wPy(zQ)V#*JA1KNb<>b^3Sqp8pHqyc-}itxPY~Pn18O6P z+LSRVqzznb=_>XMr8#6wf{aGO(jXo4fjC+y*~2NB^RIuo%3cDqq6%UQS9~NIjvFMd8b=XQT(p(2P%T@5WI6rVv8V zMuV{BvMqngw+|gzdR@JDlg8)luYAqj;!k)~&Q#{wA-t4uetgs|U+E>b<|t-d3j@~K z0(JIjWKM=E8I(KCNcAksx+6&{yGQ0lJJ+hT_~1UdY?!(rZ{wHJjqS2gWhfFuSBe0| zM>o3qZr-k;uHuAy3i5=T#poI0g?P;h0dwB|STdAitSSLy`GfS^3Oil4IO%%t&~(X_ zwf*TnqI_d_4zMuMXYB}SvjjblytuM6IgME-hNQDiK3={q&nmm1>Bk0ZR6#YoVMRiW zk#V`mMT}u9WZ`a+m-JY4$b*2}M+06SH078OAV*lneT3LJwd|{>)^^Hu6#$0n@VrAJ zI>Yd3b!!@W+!5t&9-f*s_kAvjOBI`5EWgLCtlMa7j~vw--HI8LL>6?$$bR1wFAJKP zLRS1q`Jis#C(pUEiPEYtQC}!BscMycBN669=o!6PWTY}tH5GakI&g8H2}pe1kV1L^h%$6^vx{~D}5 za#B0jhT7X_lRk?6UE^f?;guU80fMvryck+aghHeu3JJmNwss!+m?!u8OwpG}y({VV zh$rG5}y2LC+s<0UDa z%H-qoQP=(cH1CDdresrTv?bCm5`9VTS~mmbm={))?Kk4LDf)ctZWpmHI~WMO0F6xg z)8KOw(9ZIDGNJas5io;HM)UKMjIIJV@3=>4rO;p28O_=NV5ViO1{yrk);~yx%J71s>YGvSLx`}}3Fo7}k0)^y%g#rfOzd)f}`WJz7?q z*2^mDn;$@NF-j_h7Ij`Mz{)xsql~M*T z(Y0%V;bN2wPqv!SAtmlpDFOx{3=KhcMp)x}7{f?+>F&dei-|JvMQ+1C-;?F?X748w z`nRxV!m_u(wL#)CtU9&?MVFRdPw%2~-}??fjJv*#oWBpGWssRPAqzR3AQe3Yyg

*{`I9gbNeoO=kbb% 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�=m1b76FH4#^%T&#p7od63DA*$vnba|=2=1^{ZB98+VWG~j>&Ul&s^TO{B9WH(30$5ytG)?fsYj7?dNGPJ5>(D}npIH|% zN2^}vNNIWt6hS3?z**+@Nu%7J7#MaA$@;>wxbZoA4(sKfErDeBi%;YkK`jmp;2y9* zDxA+`Hd)?9W2RS4maZ`v3+(}jd_Walf%lvJLahhKWSS2K6;>Wcu*Z>|$10;w?=gdH z1(J1sHT3bxe5G>aiiIM&)vy%v%Zc>BRub-Wk7;vBQ zxnIRN)m@D>RS3QyX;^}1(O%2FYs_~;Z30}vWvh@<%qUJ=g^?7VpM{b>z#2%(Jo8BP~M8tylA%DPRB( z076egrEACVKmb~B5UcA1U~-SSd-*l3fahUoNd`cf^!BUqB=g=W;JE(od84`(EZ_** zO=E<*S{HPvxLI*8K9YZh86bXRaVGpD2Hssx+YL~mX)-x^chmS|iI?jbV-aAF9+Sr^ zPZoIo`{eNo&=%5im&G;wB1skyM7Kg1{&S_*Fmy$9$I{)8;ECPgKs0kV1Nv4ehztDe z?`qJ$bvqLXl**odp)OsABBrwV7`WUPYEaPk?92tN+%9CJ`2z|S`K*9%r1(W|Z)%uA zz)h{y41l|Fb;#~nR+qobhuMq=sn4_yade&@GzOjh*MAhs)M};dm~is?e>h-MOu>J# z`}EV`!I=phBq4WkY_k0ISvKskne#IV$BX#Exh=8^Xz5{42DsN+(cWR~OZ>Qc8iQ#f z3#>=zHi|D7HqAewmc1)*T(>vOd0A^#<)En}I3eKOCy(*P$+)_gzMY~8YN0&Q*8Nv7 z$M{X7{kS%p-x7dFpQh85KA*OGZe2grk`}EzOpe@@Dc3y^^<{Fn8C6zz>d-!TPPw-I zuAsiwqmW?+CY{=M0NqUE;J)lIx`Maj9(S5k%&(q3P>(e~EjBwfnAG>|#|NnY=)u)* z<+pcEuClBy8Hb%XehU2+_Vvq2*GJ9A`DJ^*W7{^b9NJm|5%n0vIp@YoYwJia&CkWu zcIRaO52D)@QF*z?$EjLs?Puys>|I4g`4isaA_(|TqqV-;*a!lF!9CPSt*iS*3V&49 z_6s|=6zMp|#~T}+$14#3wMmbUzq0Y7mKC8kAP`=08>$L3GpneqAdZfDU=~*9TPb=l~mC|H3Mz(aIsIG=T zpzvXU3JM|dw(C49(SIdQqxBfiHLuHe{{;$~!x|Ld`3jlpgYJs0qUoGzle(6lnWDLu z$Miez^47nT*E8ytaLQ*)?XaGour615bh_|Bvas39XvAhy_y@7&n!8_jNv!WZFQbq0 zG-&P}OR;F=irEY&=dveVjm|`y=|TU4ld9Q}BegIe&h| zkB^qWglo*doPu5Zag)=(rA}WgQ@I21>%oOY_?w4vRow=qHEMfu^Y7B{bA+PKIponK zG%!ChkzRUx>CV%=yl+mDP5sxECG@8eVuq&uB;snVq~}3@-qeh_x9@;$(`9m7grK(s z`lk5npG}JBWv10>Bi$O)^Kuvbv|9w*pZ_?#s~Q;ph$^K7bT&p-*LotnU(2jz`#LAos_2zW}Mr>whZ?C#f^bH5@zRfI7{KVIEuldgPw zWg*etrtHvgydr{A0i?iWG{C{+$&|O3Az_i8oeMt)Y4Z3}l?Q0G$d;JqC@Og%>neet zu=L_lbM;<8TbcR!3igjMa-K1nW$U{Fre&5zNXYaGqXA6j*VPkf%9<~2p~fMe?Y@k!bjtMndzb#vzxcZeh> zA}bK9;r8}@D8Qt4Ra`#%KfXb%T4QFO}6SvOHFL6B|s3#Ul zQyks3EUQgao2Smb%sd?K;2|f*OScN>&J&nzQfJ0S+SA*8SuVu9{%QLHU|rV2|6Gp2+2hQ}u_+0ypLSM$y6(gQ(teiLNnC z3ofS@Vu^HlhmwL9=W;l!#jHn{bW>#4wnQE3$Hc6pDjv)Y;&p!8zHa!k(RPJ<=88v8 zsGBw>LS@ZDdBQ~#m?1%tM_X`E=ve7#jc`?hLJm=wjultPw0#%|Qe@$s!%Ro(g`Z(z z;iTIz?`50HA|>GimnRkDk^t5i4i!1Ilq@aO1Nd*A|IJ90)mpzXfHZGSp_`dZo&agMzAt%`qmf1I@D@W4%ZYOHDz2e}P z=?SqmR?oke)#Z;8V1vJ->lkGUP|(X(fI>XGE)?-Qq$_v{l^ShC|DA1HQja3?Br+M0zjBaXF4< zYB-^q_50C=8@M=aF*r(Zbw1UsMZ8e#rQ7JX{YJ4$t(nAjL6F~-s-X552};_R&#q_q z$gWQoVyp!U{pIMAa}t=fy?I%MSji$it@&7KS;EXn1L`uL_qXl@8NL0h2CT`|l>Qkc zN}cBsmdR4-VzKu(6`k=L+P0jj>zt16gSviHinWiQ;|yhRK-2>Pc@<^|37ydObD=1JLvU4znTn41g6@Ec+`)5=EtXz(&lFH}yg-xdyjAu>dAH7~$T8{UJzp+5uH$ z3qiuLGvb~xs%Z0Ya7KcZm4L4+o`F2XJJ|=0Bf&k;ZRY`rP&gN%K&XDQbDY8m(6gq6 ztK9I!0L?H!k#*hFJi>3$mj&Eh37h*&Lc#R+%_8cLvXjh4ve?D3WF@4(0oaek8P6vV zb*)`Ds z!PJq9y4ido0%JtAZvh#V@glfNy<8@K|KNN!KD59obw(SQOR6m@B!P?*2l=?9`i%ioPv$}&6pEfG3!ZaU+V8S%p28t_vIV2~PWiq# z@Rw3FcbLBKx2}~wczs(`)51XURB>$S!WcAW!6R_?+tJ@QbLmGa=5J&-!~e%(>qxFNHr*4UA&CAraZdH!fBb6M7|8bD;gL{An>#wCuaX zmjv@KIl9zvSIZ?i8g+!1FouG>XfRHJ9wrouoKf`6LGK z0bn;hsI@mf1AN;-9_GJM0Zo?15qv}%oJS=1XfA5tLaa98T;4gJ$JE2k#%X;}3=Z;c z8?q(1XK+g{HeNiRV*7}W4x7ZS_{3u2D_0qbAYD7BVLAtK(ej{{HGq*x9A$GxuETKh zNxkF){^tJh;z6n6b|ZjuN&H}schf&qZKsQ#jImviyk+5c_cokj_NBlU zu2W}N$b+xKG`>ycB*i)Jq9$oOoax9F@k0jq$!@#vzIB#;e7ur;g-iCFkXDO}$ApNT za!*DZr9FCHC*#qv1qV9EvMPP+{ppi-E~67;J;P$SUMC$zuC|cP;1Msv_T|lh39TT$ zPp?bOH#M=W3WpLrj!uXY{r`)u_>6NH19I&lI=Q@=wO7F5E9ba{ zkwL9acv{n^yY-`#a{(fnuSI~7oE;C{C#+ zmAl1#bh=IGUwVA(d9{ZPq2o>+kYBY2a(%F6w)Eb2-SYMkm8UGE$$pJ7u@4HDJe3RA zur1k~n=QB24y8`4K5wE$JjypxgD@(0X0Q!CY$h*`2;IiI}I1wQhAw`U-^i)}G-L?`6$xvgeDy;0ew#y^9A? zo0)^B3vSnI2;E;DNbs~OZIB_f*K|EfExbp&WmEZFml$ynl))80uHzOfa(&%z)N_=a zD+X84?|2`WrLr6T$lv!WkOsxkFCBRo+#){Fxrzc5#HnJtxmO72p1C--`1(dqNeF6C zz}ADo!#~i)F#FkSAfOT;!%-GjHV7#k8HNdKyO4l@&TBe7DmuKDMr3~mCWcJe$hsc; zQCddGxYBF=N{hOkIED;GACD9)xB+cmAT^kuntYdnCk)P$@Y5=mJZ@<%d9`27^?`+* z#IIB^AHc`J@HY%>fMMrNlg3qC=TdCO6lF4-N#e-*A7bO-gyB4aTZ31&1JVKbBbis zGzOJcDjFAs0Wwqq46InXkH%~gK}yBWubVB7L^Wx-_*@Z5pMyYg#`<>7_3Q*s={jnVWg`6xy; zE}(Qt`t3G8;j{x`ho2?QJ>&KnbAJ?tH>=dxrNQ_GcWRLHUy6eKD6>PxTlRmk9;{A# z1Ah4!LzE7vEbA@=*5IujDls;)?FN1rPRYii>+ z$dz`l)Qek+WE6O(Flb5xFk-8Dlyi1N;0F(&UL?a~#eq?WQ4FI3AZOT=NvuI0i1=C? zCT!}U)HpYHH>_0E9?81@(r%gk%yli;MzyC{^;A9~+pI8bQ9NDk1~RR3L6uqI!ZNqV z0N}EU{Q;uFKbk$g?L+d$DbDl=2PQ<5EOcqb=Zp zv!cSIJI5jwg&6XZnUR$g0j=DQwn2I_Es4-Gd~O5jn3n92OlsL(g-=?mSGGyv5TtZT zro>HNC5$8@9j=4yuVf@Sai^M074cvY5!1aCUyc+58ABd=K%e1K15dV&c&9AP%3Awn z9hL-TvZ~yLCDAW*=1?{sT$r@4ZAO83fZ(C?U-P46MI`L^MQ)!Yb3ESG`a%&=p4u<3 z-~i*=4ZVB9E9Ix1C69P)qS28xw>S-AD%698OCIQQ5xL>GhAQzSND6MqXx?w=CEkUJ zA4lkCGzr%iH%Lqv0%d^n0dhK5Ubv&^nc1P)schS>UYcfoq?Pu~Uo;YpzPFQNb29^X z9VXb_FERE`@-zjG1-rEUxYdCB<+--1fDfOYV|NJ^{7SK2%z5jd+5T0;(5dhL8!Cc- z_7eSna6S--2azKAOt6)i@ZFJe{b6(asF6Vt<1a77i@aQeKcIjEumZow#m`r(MgNPR zQE`pgG}D_N^OyB-bwGzsQ?BZ9rE;42-mPHK%$t)g$oFnU!c0=DeRw{NOAE4whwr^X z_dA5XFQZKjc}Y595VF%u_RV155yGfvtS!h>fk7Z)-^et*L4zB%79&WFY^o#THbR(% zjRsugL>62M`(Cl0hSrD|=j`ReLX9pW^%13v2eZOncFw13SDrE!4T|AOWi9d1H=a;$ zk|LTjH1h^YGHcOyHB+J5S{5E6Fx%XCZ36>fXAHjwIyQgYgREhU{Mi_KT5rjAMh>*3 z5A|s1mxY-BHcQ1BV45odXQv6i1-t?AkuF(64eBXqbA_DGq~oHP+01bRCWygubVk*( z%*c>DIxP0KRpI`5ahm={^B}g?<$NN)e&fj2wA0wTIcBpnIG-f0uNwoTZUSpnuOmxa z%O_)?u5^JTjUE`JoK_a(rVAONMJA*dZev}`8+nC$m6(#t;@J&%zX-?Wj0!#6Ob5JX z7HBdwfEDd=n)Z62e60OnHF2Yt06h(q*lb@QYBG5$8vqMVV<3`fN|A5_9wb||KM(1- z`5a555!R+CZZ+SNaYRhVT3>}kX_W1z^ztAu8vSBC3_3JKmLdiE+^jq!zg`Y01;$KTNF@Yki{VcLAyX&lyO4zO3{52I8>S|Bsl?EZd(Osa+8Aak_G78RdIQbm1Km0 z^kyI_W@AMVpe`QBODknjkX$C*ORiIh0YGv|!UfL)K`!;rdf@fpO9mH)8zDH4@jTz4 zbVy1FoZF{i)+&`DK(wEO(Tu@mfDITZlbcN;>{b_Q2m$k6D{6Jnp#gY5wpPJzoAuMvN+R(2?Pr5-VK&W z5guI|Q_zOFk*(p>K6pyWZ0=%!2eyz{2(ou)$qP#VzaR;3zuUwuJw z4I4)pKV5X65^MJ;12iitokE&GGu5ge5v`J=ld=vrx@4<=F1gTeYtsK@TN4!zRilQ0 z=_}9AuTxZ(jq7>`DJ9k2`#N-D5Eo*%QPq3bCN@EWeq_%4@yZ|=GY*ijpaOqMH zH=45DNXFA}Q=V`r^-8P5kMlGTw0vA$J(Bo|2aIa3V6#@UxikVllKS}wfEaV_sw$c7 zm+>77<6XA)6^H=}109KmBZRLJ1%x5Eb?AGm0P#U-qUBP|COO0$>7RG$0?Jr6>NC(Sw%5-6h2*Td&NR9&@EJq4;(# zIz=84FiC@P=XSgtahJVUFjllVAPf^!F#mzNQ{AKXC2IY~*B4VSeR)+yDNb?Y$>>9a zH5O~+MU+G5G}WC9B}%388=r9-LQ`wvyZ?mmoYXVcoZ#z_@9!LJxtZh)dOW}T*!~Qa z4uP7daHH6C?*7=lUHjkmHDmeg|Cw9)KX!Kj0GcJHUg>uJ9hbGAns0NztMI>G*UIsW z$xqw5(e)1~G=@+qR>YG2uqjXj@%~l`Mum=%@M@d{YEg1}nv)GyXh_~~_l^%PDh92U zv7xeU@~5f1Oi#eUEO_l?b9B@K5C>| z97Q(ocgeGT~W{?fOJr_@(<5`?@d2!IO)25{sJeo(}>Won}} z+?K`9Dny@QP15a+!?LB`!1wiFDiCNEX<2k9M}K#Sd6+Y{SCS;xj!Ix1ZahY1D^zS` z=LJ7fZm^?UkhV&O`!aEu(qvnOz_vKs;X0K)1u(|>9UL$XD(=dORF;4k*>u~0D|ysz zudO7&9q{+fFsdkG?Kj`y6pUG#@MN-?*2c?l$L=CVcTtCmpcg`SA=6rkbX8;La%;|q zC7O+xQIIT<0h!LEJL1qyS%oD?uv#?-vgZRSJ%pDM4*<847C90hCw-?QyF{A7>bpH{ znB=n+0pDo&a8|+uvqlJ*Miwg+FRhDX^BT7Y4i}i|IcNg_D7LFa%6p1!^KyyDJptAblk6L5*Ojgj-wjp!;Sa|Uax&S%~C!|Nmb#$1t0CEsC^ zZEkMZ<%|&|>nZ@vgOXSwnTaPNmVZi8OZQD&`h{iJSD(20?OC|b%d)p0{j2pd`BaeQ zK2vEU17I>tS0>yCM$K{sEA}!_|9~K-$5;pqz5MnU7N(bBBPDjh4>I7^YTINZrT1Ev zI=~t4+G;1vtK{)#5G~GuNGXxGtuPbkV1OZ>gCVq3+LuZi_B{-VdKD-!z1P!Z7=klx zWUBf`B3t#pT0Z~drTou3;$oZ9;B)EDk^?E5ZE=W_Op=TF)cC>}6vsaCkp6G6OON8I zJCYf`&fktN5<;2j&qHV`#180vshbbmf0+*ziUVm~R=GJDJ6>FsF2#%uXJt&<7Q)V) zhD@`78xUyS5G`VOfIt@e_)&2CQ`OR>N2WuqO?bguVr6}Ht%!=EZPgK?tLuiEScq7@ zMVOApEMfNNPT6haBk_-(4>Yu4`8I5=4sT6vat^&udsI|e$d{caeoZ&^v4JSXqf(%{ zRMLIwd(f5S-Y`?mTOY(~Bcl%=?9#*~@h6AxNbG29HL*X3mDifpeWCSG`Ft#st02WO zdU*ZdJ6-s}AIq#qTHaDm$mgVHQ4a{FKcUy-;E?{yL;N&O58=%OZyfY z2CMV>;?j-5V2iIP0)aqUYgt7)1`tT(+*65gqlE5 zK-3U=htQkSI|v90s2Bo-uJn%5dv5}w(mRMW1yQLMKn28x?c#dZUi;o}@An z!N$=qAiU8+E9LF+BOZeVOzABmJwRa8LTc8{1JC^a*UKs1?0lyFK}^|!XuYC$wijE$ zB7Rd>7DIhdardJ0!=RZ3EWI!*I1o&;ffYkxNiws_x;zdqQsdb7ltWyHQURC-A*SwyWHJPsoUKYBbFlxqW?yQ6TIsAyr>t1oJ{0Rz8 zkL6{px0@PkDpF1h#_;7#w`K3EH-mD##zIwo%)3;L9d=KBJ7=Q(jh4Q<939;L=+iT< zsJM{%#10cC1$*6@Ps-mUIi+_1XAnC3vC1Vmj5<*|g}#^{a&aQsKA_$@z%4st$upH}GNx_$BeoF}1;tqID zCK0=yawZT_=@a$n&_FO>RGQmGEsc?yqoKJU3SS9y!!I{*+BsB>Q{SX_rVj-K844SS z&iXt^r~k5GixG)-XgtQ^vJ@5>VN)B&ryhS+aOhUV_oTF~oTnnX1YQ$Ft$t3sy6+Rb z*5V-8oIX`W@d`ZD*1xsZ^@Lp{HW?4#f`9<5PzqHu*&kve199V#N@EngUwe&tfG$e3 zw2`@e`Y8gHLSKv*+W#pkQ45#t85bB9s7{WR>j~K1MaWI(AdixdqUXxoAc$m_0S4T6 znhMl|SV$b#zmN(LX`?fnGJwG$lnP^ioa$>~T>r63=#f64+aoYojXjqr-&|P2*+5q# z@BS0PB)n$&m|`Dka*rO$Ss4rP!PE+y&PnW z0nP{+&txa{slzA1NoFZ8Tep;?4RvXww_*zfU_RKOaVg2s-}Td{oQsCzGXsP))T4U;Wa2gh8MBV*HKA}nlJ0Kh`*&g?*ZQeUA~FsEfSz@nVMatg23 z3Y6MIXhhOCn}~pQxdD$DYNt{Q4ES|{aJ)wrJ^-yJle+PFc-v1ER(wymqKzQMsYHBf zAnE}D!pG>si4LjE(@HXdk51p~nZ%_anZ66M=Q0Edtt_1xF3RvHxRxs-Tk3T_y z{6dYY${37`CdufuY>5#Cpm_*1w-BDTwH!2RO!hj(qXQsxQXAQWwzNbzB_G?tvD~&AHfHvY;Miy?~IjOqJ`7 z9ywBe32|oO)ppD0lRo-y$TF@v5XD&61(eV-&eKwcc}A6f=|?TYJ2}+y&;{DP2x={F z&{q9^F?q^856&&oWLN26Al=gT!bT!+d@|1C{RU!S~-=F%py(FOX8@pb}d{ju3`+buNW+?l)NQ` z_y!g$Fpo4=E?-^2Jm{0ucD<8CHI)`mC_g|!!41vKOBcZ|`QFnP zbuT|wwo!^bFg|FfN2F`BhYnC5nmo&4R=6l1Go2GRQ+~lSl#}_)2&E@Bbv9MU3SOm> zI~LM(0#G8EVq^1dEnkBDq5aU0Nj-(<5e!{f#?fBp%%m|Zh8djP`(8-IfjQ5uykck% zI*OC-z=?n#IFMa}$#$XUf(ID%_Gfxld)?z1b9}GST3+$p80MPvZ1{56!r=badJdwv z8ncJF$?4yff9#(^=>Knveg1x%`j=?xd`&%~DJcGxlEgBU9W|0v`p5RcA|_)z^MQ`|6fEwk+w{z92e~I~FKN$z zYRotHw-Z`<5?U7r$`TlB8Ux0QQzkf%TaTSot6~zhmT()KKD0`bETT3nyan`6?qu@% z+K-uQYUzGfF<~-1UjMinxj&pW#*=qQO*&x;r_8HlG_+5IdWdrQvg3KqEmV22!Bk?w zHdA2IWBb>$-F^9Yn$*s@AZ#XX(RgmASn66!JI8C-ceLm)2xVVgZ#-?Ka1gxjUtnYD zG{>1fcS`5PT?eMmCsLm+svnnbV7sI3_@0vcZD#F}P1@a1O~0BBg{10}Z_PIMYRDaa z3h1!gpH>;Xc{i^nKCM8asS=Adp9XyDRl4>k-rE%OnQ-Td-(QZKE(zRVGQJB~G+!)O zKmQ=lzs+=|o8gXI53=m*<#S~Sda16shxA}-QTb6FX)}1lmMSLeA5n3bgJhGQk&?0` z_TXV$WhWsHs>(28uLZSGJHnH_Y|Cf^T36m4wSrKWaMkl9fG_|_gWyt3d_YxLW2=k3 z%aGXE{L`P5c9ja3DerB52bYBDWJ|CnHMYF4Sk>A?IkC=K3`ixIa4$Cd;t7$L1Q#op zF16eVGmcAQ2o+YBW?6#O2p=d)gp#j_7J~H@apQ}=cn7>O{9S*UanT%0#w=ij_l;cY zy|o}!s+E~&o13Y6(=&A?RsAY*dG&_w02l^TEV!rJc$TyR}jlXb) zFenXump*ElQT0~`CEfoYa&!MfPYJ?=W`}rQ_+%T4FsvB#nu!}2lk#a$vrVGc-(=bQ z4GMRUTETq&;j#SnOBmu$PeEyoRYT^LQO}>A0@zD#%Ar~<0q|1uc7JO!YDWtqUzy-9 zQu5_aAI6b-8q3L}mOC*}EJD!LY0>ecIu}Ss``>2doV$BWRJ~rZsY37-52MRhtes2h z@ez{vfxWn`^*V1`TdAl3)n17OuN>}*%O6kMTm2cPzfpI*VsxDIq>__|A}>{ZOYato z0<_-(T8hgNHjS0%$lM6KcCP(U=TU>l!49<;pXF0CvMJZG8L%BYUM8@)9O4NtZhrfc zT-sfluoXLPCY$BCQZX|Wu+(=)Y3?G*2Q#n#eZcbWY4+Cb+>rZk-_Lq`wHSH8X22?Q zx)J#kq994$K;PwXe{aIeX5k!$m zdKd_3`4X;3nq?G1d-2vr*$BaKA^wVvv0&!`p4yo_Mi{}BH<>Vc1H)pYjOdNlL$85* z0I69!5Q8Kn1#X}Qj>J*0CeS860Lv_}FxJsw^(NdgDW9_#j|ONA@dK*+B5!{H5Qi8^ zpDe7{)d3!8vCeUVBHiWG40m4pCP`odJ6&wiSPwXoi0fzd0zl3qOm1=kw(HIdmN>?a96A#NQ* zgd$NZ&Fcu{2qRp#7%1FRNP{4Eg$4Eda&S&hfubT+krM1YXqW>j;&v(+jy#6~%(4(& z93D~pRb7!Qn}>uI2z0f)tV;v~6**;Um9AFlY~@_9La9W{>o-G9I$+f-2FE6Lhi;lu zR+2!GI8Lxl>v2ISTYQ$3B2Gng!#UnZ)Jd#THYBGKv6L7jtLi++Q^2hxS=Q2Wq7JAx zTi)v_{ktUkKNT7nPPbjE!o+pGkhWEQSgs@2gQ&TrLlQ6YdLLE)Igaw%QII?8S@ESm z)YhAWXX{T)kPT-&|FQO{gFS#ir2s%j9g8}pvHZEODCQZvo`#olK~9d9t>snp70qTF zscFf96m0W?(y*NG13tBw|+4l$*A3^JHoSjL0P4}{z$mkg8a(Yy_ z+2w~RxDUDcQIL}cdxrv{V3YnCDG{{(=8Y0r1MGm;&i&&TSmW;@$*FY3C2mZoSOjlg zAepUoxXUFrZzag^o}G&$^(34RqbczYk~-cRYn>DlnD*@ z$^nGPaX)qTSC#8|Ba@w)hjUJ~E5<^ez@%P_Dnu#NB68FKh(SWTY~`fi5|eL)k}2{pag)4? zRs%pwbxo5Y3xr6mb%vF#S}yrVMTb|1c+55B!TK9x2Adj|5!h9*vAZsf$G@ut%}#a~ zgPqCHRcw+1!6$;aN)8KJ3+Z}{XpbvDya;?j+!~nPdWEdPo1Xq@cIQK0MaJjk$rq9L zA6&NCd3FNc{A2Ep-nsa&dEL-U=2Z$&XFvU$XYij21pmju07rU@uw+1LDHcZdEShI? zJd?hhLs}=p%=GNBlfOX$K6=DmvQ4mh=X?YL{|`-pupn*N*-beb{=r>hJAGssTtCsv z#PWjj=1o4&MwrJPky|_UG^zZ?C4@{9#o8<O2r1n(jHGsF%zz9b-vu z6o6g2pal8JC2)hNM*sj1-4pR2wJ=>q?eBXc^ghy$;2TT~trLp{Gn&EJD3sD@nxVXy zge{v=B6s$P0}tqNWqyJ73nn2`HozT8*F9^7OPTkDGz-N2v-%CLeVTO;=X@GJmOsKQ zQ1-r6Ni=5ZN|tzoRCfBLTEm3(U}DoLdDBV9Ec}W06=4&>sRs9<&X7;NQgM>-dl?;* z8K`mb?MJFv=!OCNmbD-#Ubk?b>t01#ku_q3$RqDT zPFSAnI6iru4J}9K3}6V$@9A)W>-REh>S66h0C$**HAz~?aflLgGroszfpyKAo*NfX zjCwQ)(y}fFW&?-$F;m^a&KeOigJ?zx`)P}z6pf$)iP*7o>)zSrs;YDR+9%7@XBaGL zEH|Sf=nNbZR$0}f8T74PzmFt?I)_tZrv1g0#l%f7>(U_$2Tm1oJ4G03tvd4PVR)e6 zq7XP}5)N?gh;TKAx1tnQ7(o!ez=+{{9*O4Cg1sOtS`^|i;h>My$7k`oiS}v9Cu85u zT*fiIz9)$-D8thDE;#D7-7M`SX}5ltTey|N;L52%$k%w_z?G`_4b_rLRHR| z2@3z-m|Ob#_>FT6iOB}2Z-Poi?%9DPPN4+iLzLFhk#ZE zw>ZD4v%lZ%TODLzzQSF8gQv?(D6s#gL`2)18u^0m`~T4iPQZ~KreyHfm9dO0MCO~U z*6!-0@DspSBgVOLQ(TL`LBYP{D9+eOef-LC

4XkVmquQpZ?bYge8*{25XJNYi7? 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

2l3y~93Gcm0Hu8fsru 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

lFe$UC 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%0AeOazP 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

TbXMpZ|}KZ1sybBT)RSpZfGW-}UH+9uwW%Dk}BC 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 Eg1;il+yDRo literal 0 HcmV?d00001 diff --git a/Songs/Kommisar Originals/Mecha-Tribe Assault (Wyde)/mechatribeassaultbn.png b/Songs/Kommisar Originals/Mecha-Tribe Assault (Wyde)/mechatribeassaultbn.png new file mode 100644 index 0000000000000000000000000000000000000000..10d3c05490d7ac537f2daf47c12d26733aecb4f5 GIT binary patch literal 116243 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