merge
This commit is contained in:
@@ -807,9 +807,43 @@ public:
|
||||
p->DimMusic( fVolume, fDurationSeconds );
|
||||
return 0;
|
||||
}
|
||||
static int PlayOnce( T* p, lua_State *L ) { RString sPath = SArg(1); p->PlayOnce( sPath ); return 0; }
|
||||
static int PlayAnnouncer( T* p, lua_State *L ) { RString sPath = SArg(1); p->PlayOnceFromAnnouncer( sPath ); return 0; }
|
||||
static int GetPlayerBalance( T* p, lua_State *L ) { PlayerNumber pn = Enum::Check<PlayerNumber>(L, 1); lua_pushnumber( L, p->GetPlayerBalance(pn) ); return 1; }
|
||||
static int PlayOnce( T* p, lua_State *L )
|
||||
{
|
||||
RString sPath = SArg(1);
|
||||
p->PlayOnce( sPath );
|
||||
return 0;
|
||||
}
|
||||
static int PlayAnnouncer( T* p, lua_State *L )
|
||||
{
|
||||
RString sPath = SArg(1);
|
||||
p->PlayOnceFromAnnouncer( sPath );
|
||||
return 0;
|
||||
}
|
||||
static int GetPlayerBalance( T* p, lua_State *L )
|
||||
{
|
||||
PlayerNumber pn = Enum::Check<PlayerNumber>(L, 1);
|
||||
lua_pushnumber( L, p->GetPlayerBalance(pn) );
|
||||
return 1;
|
||||
}
|
||||
static int PlayMusicPart( T* p, lua_State *L )
|
||||
{
|
||||
RString musicPath = SArg(1);
|
||||
float musicStart = FArg(2);
|
||||
float musicLength = FArg(3);
|
||||
float fadeIn = 0;
|
||||
float fadeOut = 0;
|
||||
if (lua_gettop(L) >= 4 && !lua_isnil(L,4))
|
||||
{
|
||||
fadeIn = FArg(4);
|
||||
if (lua_gettop(L) >= 5 && !lua_isnil(L,5))
|
||||
{
|
||||
fadeOut = FArg(5);
|
||||
}
|
||||
}
|
||||
p->PlayMusic(musicPath, NULL, false, musicStart, musicLength,
|
||||
fadeIn, fadeOut);
|
||||
return 0;
|
||||
}
|
||||
|
||||
LunaGameSoundManager()
|
||||
{
|
||||
@@ -817,6 +851,7 @@ public:
|
||||
ADD_METHOD( PlayOnce );
|
||||
ADD_METHOD( PlayAnnouncer );
|
||||
ADD_METHOD( GetPlayerBalance );
|
||||
ADD_METHOD( PlayMusicPart );
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -253,7 +253,7 @@ static void LoadFromSMNoteDataStringWithPlayer( NoteData& out, const RString &sS
|
||||
if( tn.type == TapNote::hold_head && tn.iDuration == MAX_NOTE_ROW )
|
||||
{
|
||||
int iRow = begin->first;
|
||||
LOG->UserLog( "", "", "While loading SM note data, there was an unmatched 2 at beat %f", NoteRowToBeat(iRow) );
|
||||
LOG->UserLog( "", "", "While loading .sm/.ssc note data, there was an unmatched 2 at beat %f", NoteRowToBeat(iRow) );
|
||||
out.RemoveTapNote( t, begin );
|
||||
}
|
||||
|
||||
|
||||
@@ -426,10 +426,14 @@ static bool LoadFromDWITokens(
|
||||
|
||||
out.m_StepsType = GetTypeFromMode(sMode);
|
||||
|
||||
// if the meter is empty, force it to 1.
|
||||
if( sNumFeet.empty() )
|
||||
sNumFeet = "1";
|
||||
|
||||
out.SetMeter(StringToInt(sNumFeet));
|
||||
|
||||
out.SetDifficulty( DwiCompatibleStringToDifficulty(sDescription) );
|
||||
|
||||
|
||||
out.SetNoteData( ParseNoteData(sStepData1, sStepData2, out, sPath) );
|
||||
|
||||
out.TidyUpData();
|
||||
|
||||
@@ -141,7 +141,7 @@ static bool LoadFromKSFFile( const RString &sPath, Steps &out, Song &song, bool
|
||||
|
||||
else if( sValueName=="DIFFICULTY" )
|
||||
{
|
||||
out.SetMeter( max(StringToInt(sParams[1]), 0) );
|
||||
out.SetMeter( max(StringToInt(sParams[1]), 1) );
|
||||
}
|
||||
// new cases from Aldo_MX's fork:
|
||||
else if( sValueName=="PLAYER" )
|
||||
|
||||
@@ -103,6 +103,12 @@ void SMLoader::LoadFromTokens(
|
||||
out.SetDifficulty( Difficulty_Challenge );
|
||||
}
|
||||
|
||||
if( sMeter.empty() )
|
||||
{
|
||||
// some simfiles (e.g. X-SPECIALs from Zenius-I-Vanisher) don't
|
||||
// have a meter on certain steps. Make the meter 1 in these instances.
|
||||
sMeter = "1";
|
||||
}
|
||||
out.SetMeter( StringToInt(sMeter) );
|
||||
|
||||
out.SetSMNoteData( sNoteData );
|
||||
|
||||
@@ -1012,11 +1012,32 @@ public:
|
||||
LuaHelpers::Push( L, params.height );
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int GetFPS( T* p, lua_State *L )
|
||||
{
|
||||
lua_pushnumber(L, p->GetFPS());
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int GetVPF( T* p, lua_State *L )
|
||||
{
|
||||
lua_pushnumber(L, p->GetVPF());
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int GetCumFPS( T* p, lua_State *L )
|
||||
{
|
||||
lua_pushnumber(L, p->GetCumFPS());
|
||||
return 1;
|
||||
}
|
||||
|
||||
LunaRageDisplay()
|
||||
{
|
||||
ADD_METHOD( GetDisplayWidth );
|
||||
ADD_METHOD( GetDisplayHeight );
|
||||
ADD_METHOD( GetFPS );
|
||||
ADD_METHOD( GetVPF );
|
||||
ADD_METHOD( GetCumFPS );
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
+5
-2
@@ -1004,6 +1004,9 @@ void ScreenEdit::PlayTicks()
|
||||
m_GameplayAssist.PlayTicks( m_Player->GetNoteData(), m_Player->GetPlayerState() );
|
||||
}
|
||||
|
||||
static ThemeMetric<float> FADE_IN_PREVIEW("ScreenEdit", "FadeInPreview");
|
||||
static ThemeMetric<float> FADE_OUT_PREVIEW("ScreenEdit", "FadeOutPreview");
|
||||
|
||||
void ScreenEdit::PlayPreviewMusic()
|
||||
{
|
||||
SOUND->StopMusic();
|
||||
@@ -1013,8 +1016,8 @@ void ScreenEdit::PlayPreviewMusic()
|
||||
false,
|
||||
m_pSong->m_fMusicSampleStartSeconds,
|
||||
m_pSong->m_fMusicSampleLengthSeconds,
|
||||
0.0f,
|
||||
1.5f );
|
||||
FADE_IN_PREVIEW,
|
||||
FADE_OUT_PREVIEW );
|
||||
}
|
||||
|
||||
void ScreenEdit::MakeFilteredMenuDef( const MenuDef* pDef, MenuDef &menu )
|
||||
|
||||
@@ -1429,7 +1429,7 @@ void ScreenGameplay::PlayTicks()
|
||||
}
|
||||
|
||||
/* Play announcer "type" if it's been at least fSeconds since the last announcer. */
|
||||
void ScreenGameplay::PlayAnnouncer( RString type, float fSeconds )
|
||||
void ScreenGameplay::PlayAnnouncer( const RString &type, float fSeconds, float *fDeltaSeconds )
|
||||
{
|
||||
if( GAMESTATE->m_fOpponentHealthPercent == 0 )
|
||||
return; // Shut the announcer up
|
||||
@@ -1445,9 +1445,9 @@ void ScreenGameplay::PlayAnnouncer( RString type, float fSeconds )
|
||||
GAMESTATE->m_Position.m_fSongBeat < GAMESTATE->m_pCurSong->GetFirstBeat())
|
||||
return;
|
||||
|
||||
if( m_fTimeSinceLastDancingComment < fSeconds )
|
||||
if( *fDeltaSeconds < fSeconds )
|
||||
return;
|
||||
m_fTimeSinceLastDancingComment = 0;
|
||||
*fDeltaSeconds = 0;
|
||||
|
||||
SOUND->PlayOnceFromAnnouncer( type );
|
||||
}
|
||||
|
||||
@@ -206,7 +206,8 @@ protected:
|
||||
void GetMusicEndTiming( float &fSecondsToStartFadingOutMusic, float &fSecondsToStartTransitioningOut );
|
||||
void LoadLights();
|
||||
void PauseGame( bool bPause, GameController gc = GameController_Invalid );
|
||||
void PlayAnnouncer( RString type, float fSeconds );
|
||||
void PlayAnnouncer( const RString &type, float fSeconds, float *fDeltaSeconds );
|
||||
void PlayAnnouncer( const RString &type, float fSeconds ) { PlayAnnouncer(type, fSeconds, &m_fTimeSinceLastDancingComment); }
|
||||
void UpdateLights();
|
||||
void SendCrossedMessages();
|
||||
void BeginBackingOutFromGameplay();
|
||||
|
||||
@@ -729,8 +729,7 @@ void ScreenSelectMusic::Input( const InputEventPlus &input )
|
||||
}
|
||||
|
||||
// two part confirms only means we can actually change songs here,
|
||||
// so we need some hackery. oops looks like this is never going into
|
||||
// mainline sm4 then -aj
|
||||
// so we need some hackery. -aj
|
||||
if( TWO_PART_CONFIRMS_ONLY )
|
||||
{
|
||||
if( m_SelectionState == SelectionState_SelectingSteps )
|
||||
@@ -1080,6 +1079,8 @@ void ScreenSelectMusic::HandleMessage( const Message &msg )
|
||||
}
|
||||
else
|
||||
{
|
||||
// todo: handle changing rave difficulty on join -aj
|
||||
|
||||
Steps* pSteps = m_vpSteps.empty()? NULL: m_vpSteps[m_iSelection[pn]];
|
||||
GAMESTATE->m_pCurSteps[pn].Set( pSteps );
|
||||
}
|
||||
|
||||
+4
-3
@@ -613,8 +613,9 @@ void Song::TidyUpData( bool fromCache, bool duringCache )
|
||||
|
||||
// find an image with "bg" or "background" in the file name
|
||||
vector<RString> arrayPossibleBGs;
|
||||
GetImageDirListing( m_sSongDir + "*bg*", arrayPossibleBGs );
|
||||
GetImageDirListing( m_sSongDir + "*background*", arrayPossibleBGs );
|
||||
// don't match e.g. "subgroup", "hobgoblin", etc.
|
||||
GetImageDirListing( m_sSongDir + "*bg", arrayPossibleBGs );
|
||||
if( !arrayPossibleBGs.empty() )
|
||||
m_sBackgroundFile = arrayPossibleBGs[0];
|
||||
}
|
||||
@@ -644,8 +645,8 @@ void Song::TidyUpData( bool fromCache, bool duringCache )
|
||||
{
|
||||
// a rectangular graphic, not to be confused with CDImage above.
|
||||
vector<RString> arrayPossibleDiscImages;
|
||||
GetImageDirListing( m_sSongDir + "* Disc", arrayPossibleDiscImages );
|
||||
GetImageDirListing( m_sSongDir + "* Title", arrayPossibleDiscImages );
|
||||
GetImageDirListing( m_sSongDir + "* disc", arrayPossibleDiscImages );
|
||||
GetImageDirListing( m_sSongDir + "* title", arrayPossibleDiscImages );
|
||||
if( !arrayPossibleDiscImages.empty() )
|
||||
m_sDiscFile = arrayPossibleDiscImages[0];
|
||||
}
|
||||
|
||||
+344
-59
@@ -1,60 +1,345 @@
|
||||
/* XPM */
|
||||
static char *icon[] = {
|
||||
"32 32 21 1",
|
||||
/* colors */
|
||||
" c #000000",
|
||||
". c #737300",
|
||||
"X c #FF00FF",
|
||||
"o c #004A73",
|
||||
"O c #969600",
|
||||
"+ c #006296",
|
||||
"@ c #001950",
|
||||
"# c #B9B900",
|
||||
"$ c #007AB9",
|
||||
"% c #FFB848",
|
||||
"& c #734A00",
|
||||
"* c #DCDC00",
|
||||
"= c #505000",
|
||||
"- c #323232",
|
||||
"; c #003250",
|
||||
": c #503200",
|
||||
"> c #262626",
|
||||
", c #1A1A1A",
|
||||
"< c #0E0E0E",
|
||||
"1 c #808000",
|
||||
"2 c None",
|
||||
/* pixels */
|
||||
"XXXXXXXXXXXXXXXXXX XXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXX <,:::>< XXXXXXX",
|
||||
"XXXXXXXXXXXX <=1OOOOO11.:<XXXXXX",
|
||||
"XXXXXXXXXX <=####OOOOOOO=<< XXXX",
|
||||
"XXXXXXXXX :O**##OOOOOO1:>;<, XXX",
|
||||
"XXXXXXXX =#***###OOOOO:;$$;>> XX",
|
||||
"XXXXXXX =****##1.OOOO:;$+>,,=<XX",
|
||||
"X ,< X =#***###,@:#O,;$+,=...: X",
|
||||
" ;$+> O***####.@,=,;$$>=OO1.=<X",
|
||||
" ;;+$+o>&#*#####=>;o$$;:OO1..., ",
|
||||
"XX <o$$+;:O**###O>$$$;:OO111.1: ",
|
||||
"XXX ;o$$o,&O#*#,o$$o:OOOOO111= ",
|
||||
"XXX :.,;$$+;,:1>o$$$o=#OOOOO11= ",
|
||||
"XXX =#O=>+$$$o;o$$$$+,1#OOOOOO= ",
|
||||
"XXX .##%1,+$$$$$$$$$$o:##OOOOO= ",
|
||||
"XXX<O####.,;+$$$$$$$$+,####OOO: ",
|
||||
"XXX,OOOOO##=,$$$$$$$$$;::O##OO<X",
|
||||
"XXX,OOOO##%#=;$$$$$$$$+oo>##O. X",
|
||||
"XXX=11OO####O,+$$$$$$$$$$,O##= X",
|
||||
"XXX=.1OO#OOO#.@$$$$$$$$+@&##O<XX",
|
||||
"XXX=11OOOOOOOO=,;+$$$$$,1###: XX",
|
||||
"XXXX=1111OOOOO#1=,o+$$o:*##1 XXX",
|
||||
"XXXX,...111OOOO##O=,o$o=**O<XXXX",
|
||||
"XXXXX:....1OOOO####=o$;.*#, XXXX",
|
||||
"XXXXX<=...11OO#####:+$;O#, XXXXX",
|
||||
"XXXXXX<=.111OO#OOO#=o$-=< XXXXXX",
|
||||
"XXXXXXX<=.11OOOOOO#.;+< XXXXXXXX",
|
||||
"XXXXXXXX ,=O#OOOOOO=o; XXXXXXXXX",
|
||||
"XXXXXXXXXX ,====::< ;>XXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXXXXX ;;XXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXXXXXX XXXXXXXXXX",
|
||||
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
|
||||
};
|
||||
|
||||
static char * sm5icon_xpm[] = {
|
||||
"32 32 310 2",
|
||||
" c None",
|
||||
". c #000000",
|
||||
"+ c #1A0502",
|
||||
"@ c #4B0D04",
|
||||
"# c #671104",
|
||||
"$ c #691104",
|
||||
"% c #6B1105",
|
||||
"& c #6D1105",
|
||||
"* c #6E1205",
|
||||
"= c #701205",
|
||||
"- c #510E04",
|
||||
"; c #1C0602",
|
||||
"> c #260702",
|
||||
", c #BD4212",
|
||||
"' c #F49329",
|
||||
") c #F9AA31",
|
||||
"! c #FAAF3A",
|
||||
"~ c #FAB140",
|
||||
"{ c #FAB142",
|
||||
"] c #FAB246",
|
||||
"^ c #FAB44D",
|
||||
"/ c #FAB550",
|
||||
"( c #FAB552",
|
||||
"_ c #FAB656",
|
||||
": c #FAB95D",
|
||||
"< c #FAB75C",
|
||||
"[ c #F6A852",
|
||||
"} c #D54E15",
|
||||
"| c #2B0702",
|
||||
"1 c #240602",
|
||||
"2 c #E0661B",
|
||||
"3 c #FDA32B",
|
||||
"4 c #FE9B29",
|
||||
"5 c #FC9D2A",
|
||||
"6 c #FD9E2A",
|
||||
"7 c #FD9F2A",
|
||||
"8 c #FDA32C",
|
||||
"9 c #FDA52C",
|
||||
"0 c #FDA72C",
|
||||
"a c #FEA82E",
|
||||
"b c #FEAA31",
|
||||
"c c #FEAD38",
|
||||
"d c #FEAE3B",
|
||||
"e c #FEAF3F",
|
||||
"f c #FEB040",
|
||||
"g c #FEB044",
|
||||
"h c #FEB248",
|
||||
"i c #FEB34B",
|
||||
"j c #FEB54F",
|
||||
"k c #FEB651",
|
||||
"l c #FEB95B",
|
||||
"m c #F18233",
|
||||
"n c #010000",
|
||||
"o c #B03B10",
|
||||
"p c #F88022",
|
||||
"q c #F67921",
|
||||
"r c #F67A21",
|
||||
"s c #F67D22",
|
||||
"t c #F77E22",
|
||||
"u c #F87F22",
|
||||
"v c #F98323",
|
||||
"w c #F98423",
|
||||
"x c #FA8623",
|
||||
"y c #FA8725",
|
||||
"z c #FA8927",
|
||||
"A c #FA8C2E",
|
||||
"B c #FA8D30",
|
||||
"C c #FA8F32",
|
||||
"D c #FA9033",
|
||||
"E c #FA9037",
|
||||
"F c #FA933A",
|
||||
"G c #FA943C",
|
||||
"H c #FA973F",
|
||||
"I c #FB9841",
|
||||
"J c #FB9C4A",
|
||||
"K c #D14914",
|
||||
"L c #010100",
|
||||
"M c #280602",
|
||||
"N c #E65F19",
|
||||
"O c #F05F1A",
|
||||
"P c #EE5E1A",
|
||||
"Q c #EF601A",
|
||||
"R c #F0601A",
|
||||
"S c #F1631B",
|
||||
"T c #F2641B",
|
||||
"U c #F3651B",
|
||||
"V c #F4671C",
|
||||
"W c #F5681C",
|
||||
"X c #F66A1C",
|
||||
"Y c #F76A1C",
|
||||
"Z c #F76B1D",
|
||||
"` c #F76D1F",
|
||||
" . c #F77223",
|
||||
".. c #F77325",
|
||||
"+. c #F77428",
|
||||
"@. c #F77529",
|
||||
"#. c #F7772B",
|
||||
"$. c #F87A2E",
|
||||
"%. c #F87B30",
|
||||
"&. c #F87E32",
|
||||
"*. c #F97F33",
|
||||
"=. c #F27D37",
|
||||
"-. c #310802",
|
||||
";. c #460D03",
|
||||
">. c #E65417",
|
||||
",. c #E64D14",
|
||||
"'. c #E64F15",
|
||||
"). c #E74F15",
|
||||
"!. c #E85015",
|
||||
"~. c #EA5115",
|
||||
"{. c #EA5316",
|
||||
"]. c #EC5416",
|
||||
"^. c #ED5416",
|
||||
"/. c #EE5516",
|
||||
"(. c #F05717",
|
||||
"_. c #F15717",
|
||||
":. c #F25917",
|
||||
"<. c #F35917",
|
||||
"[. c #F35A18",
|
||||
"}. c #F35D1A",
|
||||
"|. c #F4611E",
|
||||
"1. c #F4621F",
|
||||
"2. c #F46421",
|
||||
"3. c #F46522",
|
||||
"4. c #F46624",
|
||||
"5. c #F46926",
|
||||
"6. c #F46A28",
|
||||
"7. c #F56D2A",
|
||||
"8. c #F27331",
|
||||
"9. c #561004",
|
||||
"0. c #3A0A03",
|
||||
"a. c #DD4F15",
|
||||
"b. c #DD4613",
|
||||
"c. c #DC4813",
|
||||
"d. c #DF4A14",
|
||||
"e. c #E04A14",
|
||||
"f. c #E14B14",
|
||||
"g. c #E34C14",
|
||||
"h. c #E44D15",
|
||||
"i. c #E74E15",
|
||||
"j. c #E94F15",
|
||||
"k. c #EB5115",
|
||||
"l. c #EC5115",
|
||||
"m. c #EE5215",
|
||||
"n. c #F05215",
|
||||
"o. c #F05316",
|
||||
"p. c #F05618",
|
||||
"q. c #F15B1C",
|
||||
"r. c #F05B1C",
|
||||
"s. c #F05C1D",
|
||||
"t. c #F05E1F",
|
||||
"u. c #F05F20",
|
||||
"v. c #F06022",
|
||||
"w. c #F16323",
|
||||
"x. c #F26425",
|
||||
"y. c #F06D2E",
|
||||
"z. c #591105",
|
||||
"A. c #0B0201",
|
||||
"B. c #C94913",
|
||||
"C. c #D84D15",
|
||||
"D. c #D44B14",
|
||||
"E. c #D54C14",
|
||||
"F. c #D94D15",
|
||||
"G. c #DB4E15",
|
||||
"H. c #DF5116",
|
||||
"I. c #E25216",
|
||||
"J. c #E35416",
|
||||
"K. c #E55617",
|
||||
"L. c #E65817",
|
||||
"M. c #E45918",
|
||||
"N. c #E65C18",
|
||||
"O. c #E75C18",
|
||||
"P. c #E85E19",
|
||||
"Q. c #E7611C",
|
||||
"R. c #E86420",
|
||||
"S. c #E86522",
|
||||
"T. c #E86624",
|
||||
"U. c #E86725",
|
||||
"V. c #E86826",
|
||||
"W. c #E96A28",
|
||||
"X. c #EA7133",
|
||||
"Y. c #581104",
|
||||
"Z. c #581506",
|
||||
"`. c #D65416",
|
||||
" + c #CD4E15",
|
||||
".+ c #CE4F15",
|
||||
"++ c #D15116",
|
||||
"@+ c #D35116",
|
||||
"#+ c #D55216",
|
||||
"$+ c #D55416",
|
||||
"%+ c #D55718",
|
||||
"&+ c #D85A18",
|
||||
"*+ c #DA5B18",
|
||||
"=+ c #DE5D19",
|
||||
"-+ c #E05E19",
|
||||
";+ c #E35F19",
|
||||
">+ c #E55F19",
|
||||
",+ c #E6601A",
|
||||
"'+ c #E6621C",
|
||||
")+ c #E76520",
|
||||
"!+ c #E76622",
|
||||
"~+ c #E76724",
|
||||
"{+ c #E76825",
|
||||
"]+ c #E76927",
|
||||
"^+ c #E97234",
|
||||
"/+ c #7E2009",
|
||||
"(+ c #D25617",
|
||||
"_+ c #D35617",
|
||||
":+ c #D05517",
|
||||
"<+ c #D15717",
|
||||
"[+ c #D55918",
|
||||
"}+ c #D75A18",
|
||||
"|+ c #D35918",
|
||||
"1+ c #320902",
|
||||
"2+ c #742009",
|
||||
"3+ c #A2340E",
|
||||
"4+ c #B0380F",
|
||||
"5+ c #B1380F",
|
||||
"6+ c #B53A0F",
|
||||
"7+ c #B83A0F",
|
||||
"8+ c #BA390F",
|
||||
"9+ c #D85717",
|
||||
"0+ c #8B2109",
|
||||
"a+ c #E05D19",
|
||||
"b+ c #8A2309",
|
||||
"c+ c #DC5C19",
|
||||
"d+ c #CE5617",
|
||||
"e+ c #872209",
|
||||
"f+ c #CA5517",
|
||||
"g+ c #CC5517",
|
||||
"h+ c #832109",
|
||||
"i+ c #C55216",
|
||||
"j+ c #C65316",
|
||||
"k+ c #802109",
|
||||
"l+ c #CF5617",
|
||||
"m+ c #C15116",
|
||||
"n+ c #C35216",
|
||||
"o+ c #E86F30",
|
||||
"p+ c #7E2109",
|
||||
"q+ c #BC4F15",
|
||||
"r+ c #BF5015",
|
||||
"s+ c #E86E2E",
|
||||
"t+ c #7A2008",
|
||||
"u+ c #B84D15",
|
||||
"v+ c #BA4E15",
|
||||
"w+ c #E05B18",
|
||||
"x+ c #E86E2D",
|
||||
"y+ c #771F08",
|
||||
"z+ c #B44B14",
|
||||
"A+ c #B64C14",
|
||||
"B+ c #8F2409",
|
||||
"C+ c #A8330E",
|
||||
"D+ c #E86C2B",
|
||||
"E+ c #751E08",
|
||||
"F+ c #B14A14",
|
||||
"G+ c #B34B14",
|
||||
"H+ c #8D260A",
|
||||
"I+ c #A6320D",
|
||||
"J+ c #541004",
|
||||
"K+ c #621706",
|
||||
"L+ c #AD4813",
|
||||
"M+ c #AF4914",
|
||||
"N+ c #8A260A",
|
||||
"O+ c #A4320D",
|
||||
"P+ c #130301",
|
||||
"Q+ c #B04713",
|
||||
"R+ c #AB4713",
|
||||
"S+ c #A94713",
|
||||
"T+ c #86240A",
|
||||
"U+ c #A2320D",
|
||||
"V+ c #4B1105",
|
||||
"W+ c #A84613",
|
||||
"X+ c #82230A",
|
||||
"Y+ c #521004",
|
||||
"Z+ c #5B1706",
|
||||
"`+ c #A64613",
|
||||
" @ c #81230A",
|
||||
".@ c #9F320E",
|
||||
"+@ c #491004",
|
||||
"@@ c #A44412",
|
||||
"#@ c #7E230A",
|
||||
"$@ c #9D300D",
|
||||
"%@ c #4E0F04",
|
||||
"&@ c #120301",
|
||||
"*@ c #A64212",
|
||||
"=@ c #7A2109",
|
||||
"-@ c #812209",
|
||||
";@ c #2C0702",
|
||||
">@ c #4D1305",
|
||||
",@ c #762109",
|
||||
"'@ c #2F0802",
|
||||
")@ c #B03C10",
|
||||
"!@ c #4F1405",
|
||||
"~@ c #A74212",
|
||||
"{@ c #AE4613",
|
||||
"]@ c #541606",
|
||||
"^@ c #701D08",
|
||||
"/@ c #D45417",
|
||||
"(@ c #270702",
|
||||
"_@ c #3D0F04",
|
||||
":@ c #511506",
|
||||
"<@ c #401004",
|
||||
"[@ c #130401",
|
||||
"}@ c #591506",
|
||||
"|@ c #C34A14",
|
||||
"1@ c #AE3B10",
|
||||
"2@ c #050201",
|
||||
"3@ c #2D0903",
|
||||
"4@ c #3D0D03",
|
||||
"5@ c #190602",
|
||||
" . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
" . . + @ # $ $ % % & & * = = = = = = = = = = - ; . . ",
|
||||
" . > , ' ) ! ! ~ { ] ^ / ( _ : : : : : : : : : < [ } | . ",
|
||||
" . 1 2 3 4 5 6 6 7 8 9 9 0 0 a b c c d e f g h i j k l m | . ",
|
||||
". n o p q r r s t t u v w w x x y z A A B C D E F G H I J K L . ",
|
||||
". M N O P Q R R S T T U V W W X Y Z ` . ...+.@.#.$.%.&.*.=.-.. ",
|
||||
". ;.>.,.'.).!.~.~.{.].^./.(._._.:.<.[.}.|.|.1.2.3.4.5.6.7.8.9.. ",
|
||||
". 0.a.b.c.d.e.f.g.g.h.i.i.j.k.l.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.. ",
|
||||
". A.B.C.D.E.C.F.G.a.a.H.I.I.J.K.L.M.N.O.P.Q.R.R.S.T.U.V.W.X.Y.. ",
|
||||
" . Z.`. + +.+++@+#+`.$+%+&+&+*+=+-+-+;+>+,+'+)+)+!+~+{+]+^+Y.. ",
|
||||
" . . /+(+_+:+:+(+<+[+}+&+|+}+&+*+=+-+-+;+>+,+'+)+)+!+~+{+^+Y.. ",
|
||||
" . . 1+2+3+4+5+6+6+7+8+9+|+}+&+*+=+-+-+;+>+,+'+)+)+!+~+^+Y.. ",
|
||||
" . . . . . . . . . 0+a+<+|+}+&+*+=+-+-+;+>+,+'+)+)+!+^+Y.. ",
|
||||
" . . . . b+c+d+<+<+|+}+&+*+=+-+-+;+>+,+'+)+)+^+Y.. ",
|
||||
" . . e+&+f+g+d+<+<+|+}+&+*+=+-+-+;+>+,+'+)+^+Y.. ",
|
||||
" . . h+<+i+j+f+g+d+<+<+|+}+&+*+=+-+-+;+>+,+'+^+Y.. ",
|
||||
" . . k+l+m+n+i+j+f+g+d+<+<+|+}+&+*+=+-+-+;+>+,+o+Y.. ",
|
||||
" . . p+f+q+r+m+n+i+j+f+g+d+<+<+[+}+&+*+=+-+-+;+>+s+Y.. ",
|
||||
" . . t+i+u+v+q+r+m+n+i+j+f+g+d+=+w+[+}+&+*+=+-+-+;+x+9.. ",
|
||||
" . . y+m+z+A+u+v+q+r+m+n+i+j+f+c+B+C+c+|+}+&+*+=+-+-+D+9.. ",
|
||||
" . . E+q+F+G+z+A+u+v+q+r+m+n+i+&+H+. I+*+<+|+}+&+*+=+-+]+J+. ",
|
||||
" . K+u+L+M+F+G+z+A+u+v+q+r+m+<+N+. . O+&+<+<+|+}+&+*+=+{+J+. ",
|
||||
" . P+Q+R+S+L+M+F+G+z+A+u+v+q+l+T+. . . U+[+d+<+<+|+}+&+*+~+J+. ",
|
||||
" . V+G+W+S+S+L+M+F+G+z+A+u+f+X+. . . U+|+g+d+<+<+|+}+&+)+Y+. ",
|
||||
" . Z+F+`+W+S+S+L+M+F+G+z+i+ @. . . .@<+f+g+d+<+<+|+}+)+Y+. ",
|
||||
" . +@M+@@`+W+S+S+L+M+F+m+#@. . . $@l+j+f+g+d+<+<+|+'+%@. ",
|
||||
" . &@*@W+@@`+W+S+S+L+q+=@. . . -@<+i+j+f+g+d+<+<+,+;@. ",
|
||||
" . >@L+W+@@`+W+M+u+,@. . . '@l+i+i+j+f+g+d+-+)@L . ",
|
||||
" . . !@~@M+F+G+{@]@. . . . ^@<+f+i+j+f+c+/@(@. ",
|
||||
" . . &@_@:@<@[@. . . . }@|@<+[+&+1@> . ",
|
||||
" . . . . . . . 2@3@4@5@n . ",
|
||||
" . . . . . "};
|
||||
|
||||
+9
-4
@@ -36,8 +36,11 @@ void TimingData::Clear()
|
||||
vector<TimingSegment*> &vSegs = m_avpTimingSegments[tst];
|
||||
for( unsigned i = 0; i < vSegs.size(); ++i )
|
||||
{
|
||||
//LOG->Trace( "deleting %p", vSegs[i] );
|
||||
SAFE_DELETE( vSegs[i] ); }
|
||||
#if defined(DEBUG)
|
||||
LOG->Trace( "TimingData::Clear(): deleting %p", vSegs[i] );
|
||||
#endif
|
||||
SAFE_DELETE( vSegs[i] );
|
||||
}
|
||||
|
||||
vSegs.clear();
|
||||
}
|
||||
@@ -312,8 +315,8 @@ TimingSegment* GetSegmentAtRow( int iNoteRow, TimingSegmentType tst )
|
||||
|
||||
static void EraseSegment( vector<TimingSegment*> &vSegs, int index, TimingSegment *cur )
|
||||
{
|
||||
LOG->Trace( "EraseSegment(%d, %p)", index, cur );
|
||||
#ifdef DEBUG
|
||||
LOG->Trace( "EraseSegment(%d, %p)", index, cur );
|
||||
cur->DebugPrint();
|
||||
#endif
|
||||
|
||||
@@ -325,8 +328,8 @@ static void EraseSegment( vector<TimingSegment*> &vSegs, int index, TimingSegmen
|
||||
// so we must deep-copy it (with ::Copy) for new allocations.
|
||||
void TimingData::AddSegment( const TimingSegment *seg )
|
||||
{
|
||||
LOG->Trace( "AddSegment( %s )", TimingSegmentTypeToString(seg->GetType()).c_str() );
|
||||
#ifdef DEBUG
|
||||
LOG->Trace( "AddSegment( %s )", TimingSegmentTypeToString(seg->GetType()).c_str() );
|
||||
seg->DebugPrint();
|
||||
#endif
|
||||
|
||||
@@ -390,7 +393,9 @@ void TimingData::AddSegment( const TimingSegment *seg )
|
||||
// the segment at or before this row is equal to the new one; ignore it
|
||||
if( bOnSameRow && (*cur) == (*seg) )
|
||||
{
|
||||
#if defined(DEBUG)
|
||||
LOG->Trace( "equals previous segment, ignoring" );
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ extern "C" const char *Init( int *argc, char ***argv )
|
||||
return "Couldn't initialize gtk (cannot open display)";
|
||||
|
||||
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||
gtk_window_set_position( GTK_WINDOW(window), GTK_WIN_POS_CENTER );
|
||||
gtk_window_set_position( GTK_WINDOW(window), GTK_WIN_POS_CENTER_ALWAYS );
|
||||
gtk_window_set_default_size( GTK_WINDOW(window), 512,96 );
|
||||
//gtk_window_set_icon( GTK_WINDOW(window), );
|
||||
gtk_widget_realize(window);
|
||||
|
||||
Reference in New Issue
Block a user