merge with "[ " stripping code

This commit is contained in:
Thai Pangsakulyanont
2011-03-23 12:06:04 +07:00
11 changed files with 247 additions and 29 deletions
+8 -7
View File
@@ -13,7 +13,8 @@
FontPage::FontPage(): m_iHeight(0), m_iLineSpacing(0), m_fVshift(0),
m_iDrawExtraPixelsLeft(0), m_iDrawExtraPixelsRight(0),
m_sTexturePath("") {}
m_FontPageTextures(), m_sTexturePath(""), m_aGlyphs(),
m_iCharToGlyphNo() {}
void FontPage::Load( const FontPageSettings &cfg )
{
@@ -221,9 +222,9 @@ int Font::GetLineHeightInSourcePixels( const wstring &szLine ) const
Font::Font(): m_iRefCount(1), path(""), m_apPages(), m_pDefault(NULL),
m_bRightToLeft(false), m_DefaultStrokeColor(RageColor(0,0,0,0)),
m_sChars("") {} // strokes aren't shown by default, hence the Color.
m_iCharToGlyph(), m_bRightToLeft(false),
// strokes aren't shown by default, hence the Color.
m_DefaultStrokeColor(RageColor(0,0,0,0)), m_sChars("") {}
Font::~Font()
{
Unload();
@@ -712,8 +713,8 @@ void Font::Load( const RString &sIniPath, RString sChars )
for(unsigned i = 0; i < ImportList.size(); ++i)
{
RString fPath = THEME->GetPathF( "", ImportList[i], true );
if( fPath == "" )
RString sPath = THEME->GetPathF( "", ImportList[i], true );
if( sPath == "" )
{
RString s = ssprintf( "Font \"%s\" imports a font \"%s\" that doesn't exist", sIniPath.c_str(), ImportList[i].c_str() );
Dialog::OK( s );
@@ -721,7 +722,7 @@ void Font::Load( const RString &sIniPath, RString sChars )
}
Font subfont;
subfont.Load(fPath,"");
subfont.Load(sPath,"");
MergeFont(subfont);
}
}
+3 -1
View File
@@ -84,7 +84,9 @@ struct FontPageSettings
m_iDefaultWidth(-1),
m_iAdvanceExtraPixels(1),
m_fScaleAllWidthsBy(1),
m_sTextureHints("default")
m_sTextureHints("default"),
CharToGlyphNo(),
m_mapGlyphWidths()
{ }
/**
+8 -9
View File
@@ -33,14 +33,12 @@ static const char *MusicWheelItemTypeNames[] = {
};
XToString( MusicWheelItemType );
MusicWheelItemData::MusicWheelItemData( WheelItemDataType type, Song* pSong, RString sSectionName, Course* pCourse, RageColor color, int iSectionCount ):
WheelItemBaseData(type, sSectionName, color)
{
m_pSong = pSong;
m_pCourse = pCourse;
m_Flags = WheelNotifyIcon::Flags();
m_iSectionCount = iSectionCount;
}
MusicWheelItemData::MusicWheelItemData( WheelItemDataType type, Song* pSong,
RString sSectionName, Course* pCourse,
RageColor color, int iSectionCount ):
WheelItemBaseData(type, sSectionName, color),
m_pCourse(pCourse), m_pSong(pSong), m_Flags(WheelNotifyIcon::Flags()),
m_iSectionCount(iSectionCount), m_sLabel(""), m_pAction() {}
MusicWheelItem::MusicWheelItem( RString sType ):
WheelItemBase( sType )
@@ -126,6 +124,7 @@ MusicWheelItem::MusicWheelItem( const MusicWheelItem &cpy ):
WheelItemBase( cpy ),
GRADES_SHOW_MACHINE( cpy.GRADES_SHOW_MACHINE ),
m_TextBanner( cpy.m_TextBanner ),
m_pTextSectionCount( cpy.m_pTextSectionCount ),
m_WheelNotifyIcon( cpy.m_WheelNotifyIcon )
{
FOREACH_ENUM( MusicWheelItemType, i )
@@ -158,7 +157,7 @@ MusicWheelItem::MusicWheelItem( const MusicWheelItem &cpy ):
}
}
m_pTextSectionCount = new BitmapText( *cpy.m_pTextSectionCount );
//m_pTextSectionCount = new BitmapText( *cpy.m_pTextSectionCount );
this->AddChild( m_pTextSectionCount );
this->AddChild( &m_WheelNotifyIcon );
+5 -2
View File
@@ -62,8 +62,11 @@ private:
struct MusicWheelItemData : public WheelItemBaseData
{
MusicWheelItemData() : m_iSectionCount(0) { }
MusicWheelItemData( WheelItemDataType type, Song* pSong, RString sSectionName, Course* pCourse, RageColor color, int iSectionCount );
MusicWheelItemData() : m_pCourse(NULL), m_pSong(NULL), m_Flags(),
m_iSectionCount(0), m_sLabel(""), m_pAction() { }
MusicWheelItemData( WheelItemDataType type, Song* pSong,
RString sSectionName, Course* pCourse,
RageColor color, int iSectionCount );
Course* m_pCourse;
Song* m_pSong;
+208 -1
View File
@@ -840,7 +840,15 @@ void PlayerOptions::ResetPrefs( ResetPrefsType type )
class LunaPlayerOptions: public Luna<PlayerOptions>
{
public:
DEFINE_METHOD( GetNoteSkin, m_sNoteSkin )
// NoteSkins
static int GetNoteSkin( T *p, lua_State *L )
{
if( p->m_sNoteSkin.empty() )
lua_pushstring( L, CommonMetrics::DEFAULT_NOTESKIN_NAME.GetValue() );
else
lua_pushstring( L, p->m_sNoteSkin );
return 1;
}
static int SetNoteSkin( T *p, lua_State *L )
{
if( NOTESKIN->DoesNoteSkinExist(SArg(1)) )
@@ -848,10 +856,209 @@ public:
return 0;
}
// Speed Mods
static int GetCMod( T *p, lua_State *L )
{
if( p->m_fTimeSpacing )
lua_pushnumber( L, p->m_fTimeSpacing );
else
lua_pushnil(L);
return 1;
}
static int GetXMod( T *p, lua_State *L )
{
if( !p->m_fTimeSpacing )
lua_pushnumber( L, p->m_fScrollSpeed );
else
lua_pushnil(L);
return 1;
}
// Accel
DEFINE_METHOD( GetBoost, m_fAccels[PlayerOptions::ACCEL_BOOST] )
DEFINE_METHOD( GetBrake, m_fAccels[PlayerOptions::ACCEL_BRAKE] )
DEFINE_METHOD( GetWave, m_fAccels[PlayerOptions::ACCEL_WAVE] )
DEFINE_METHOD( GetExpand, m_fAccels[PlayerOptions::ACCEL_EXPAND] )
DEFINE_METHOD( GetBoomerang, m_fAccels[PlayerOptions::ACCEL_BOOMERANG] )
// Effect
DEFINE_METHOD( GetDrunk, m_fEffects[PlayerOptions::EFFECT_DRUNK] ) // MoonGyuHyuk
DEFINE_METHOD( GetDizzy, m_fEffects[PlayerOptions::EFFECT_DIZZY] )
DEFINE_METHOD( GetConfusion, m_fEffects[PlayerOptions::EFFECT_CONFUSION] )
DEFINE_METHOD( GetMini, m_fEffects[PlayerOptions::EFFECT_MINI] )
DEFINE_METHOD( GetTiny, m_fEffects[PlayerOptions::EFFECT_TINY] )
DEFINE_METHOD( GetFlip, m_fEffects[PlayerOptions::EFFECT_FLIP] )
DEFINE_METHOD( GetInvert, m_fEffects[PlayerOptions::EFFECT_INVERT] )
DEFINE_METHOD( GetTornado, m_fEffects[PlayerOptions::EFFECT_TORNADO] )
DEFINE_METHOD( GetTipsy, m_fEffects[PlayerOptions::EFFECT_TIPSY] )
DEFINE_METHOD( GetBumpy, m_fEffects[PlayerOptions::EFFECT_BUMPY] )
DEFINE_METHOD( GetBeat, m_fEffects[PlayerOptions::EFFECT_BEAT] )
DEFINE_METHOD( GetXMode, m_fEffects[PlayerOptions::EFFECT_XMODE] )
DEFINE_METHOD( GetTwirl, m_fEffects[PlayerOptions::EFFECT_TWIRL] )
DEFINE_METHOD( GetRoll, m_fEffects[PlayerOptions::EFFECT_ROLL] )
// Appearance
DEFINE_METHOD( GetHidden, m_fAppearances[PlayerOptions::APPEARANCE_HIDDEN] )
DEFINE_METHOD( GetHiddenOffset, m_fAppearances[PlayerOptions::APPEARANCE_HIDDEN_OFFSET] )
DEFINE_METHOD( GetSudden, m_fAppearances[PlayerOptions::APPEARANCE_SUDDEN] )
DEFINE_METHOD( GetSuddenOffset, m_fAppearances[PlayerOptions::APPEARANCE_SUDDEN_OFFSET] )
DEFINE_METHOD( GetStealth, m_fAppearances[PlayerOptions::APPEARANCE_STEALTH] )
DEFINE_METHOD( GetBlink, m_fAppearances[PlayerOptions::APPEARANCE_BLINK] )
DEFINE_METHOD( GetRandomVanish, m_fAppearances[PlayerOptions::APPEARANCE_RANDOMVANISH] )
// Scroll
DEFINE_METHOD( GetReverse, m_fScrolls[PlayerOptions::SCROLL_REVERSE] )
static int GetReversePercentForColumn( T *p, lua_State *L )
{
// todo: make sure IArg is within boundaries -aj
lua_pushnumber( L, p->GetReversePercentForColumn(IArg(1)) );
return 1;
}
DEFINE_METHOD( GetSplit, m_fScrolls[PlayerOptions::SCROLL_SPLIT] )
DEFINE_METHOD( GetAlternate, m_fScrolls[PlayerOptions::SCROLL_ALTERNATE] )
DEFINE_METHOD( GetCross, m_fScrolls[PlayerOptions::SCROLL_CROSS] )
DEFINE_METHOD( GetCentered, m_fScrolls[PlayerOptions::SCROLL_CENTERED] )
// Turns
DEFINE_METHOD( GetMirror, m_bTurns[PlayerOptions::TURN_MIRROR] )
DEFINE_METHOD( GetLeft, m_bTurns[PlayerOptions::TURN_LEFT] )
DEFINE_METHOD( GetRight, m_bTurns[PlayerOptions::TURN_RIGHT] )
DEFINE_METHOD( GetShuffle, m_bTurns[PlayerOptions::TURN_SHUFFLE] )
DEFINE_METHOD( GetSoftShuffle, m_bTurns[PlayerOptions::TURN_SOFT_SHUFFLE] )
DEFINE_METHOD( GetSuperShuffle, m_bTurns[PlayerOptions::TURN_SUPER_SHUFFLE] )
// Transform
DEFINE_METHOD( GetNoHolds, m_bTransforms[PlayerOptions::TRANSFORM_NOHOLDS] )
DEFINE_METHOD( GetNoRolls, m_bTransforms[PlayerOptions::TRANSFORM_NOROLLS] )
DEFINE_METHOD( GetNoMines, m_bTransforms[PlayerOptions::TRANSFORM_NOMINES] )
DEFINE_METHOD( GetLittle, m_bTransforms[PlayerOptions::TRANSFORM_LITTLE] )
DEFINE_METHOD( GetWide, m_bTransforms[PlayerOptions::TRANSFORM_WIDE] )
DEFINE_METHOD( GetBig, m_bTransforms[PlayerOptions::TRANSFORM_BIG] )
DEFINE_METHOD( GetQuick, m_bTransforms[PlayerOptions::TRANSFORM_QUICK] )
DEFINE_METHOD( GetBMRize, m_bTransforms[PlayerOptions::TRANSFORM_BMRIZE] )
DEFINE_METHOD( GetSkippy, m_bTransforms[PlayerOptions::TRANSFORM_SKIPPY] )
DEFINE_METHOD( GetMines, m_bTransforms[PlayerOptions::TRANSFORM_MINES] )
DEFINE_METHOD( GetAttackMines, m_bTransforms[PlayerOptions::TRANSFORM_ATTACKMINES] )
DEFINE_METHOD( GetEcho, m_bTransforms[PlayerOptions::TRANSFORM_ECHO] )
DEFINE_METHOD( GetStomp, m_bTransforms[PlayerOptions::TRANSFORM_STOMP] )
DEFINE_METHOD( GetPlanted, m_bTransforms[PlayerOptions::TRANSFORM_PLANTED] )
DEFINE_METHOD( GetFloored, m_bTransforms[PlayerOptions::TRANSFORM_FLOORED] )
DEFINE_METHOD( GetTwister, m_bTransforms[PlayerOptions::TRANSFORM_TWISTER] )
DEFINE_METHOD( GetHoldRolls, m_bTransforms[PlayerOptions::TRANSFORM_HOLDROLLS] )
DEFINE_METHOD( GetNoJumps, m_bTransforms[PlayerOptions::TRANSFORM_NOJUMPS] )
DEFINE_METHOD( GetNoHands, m_bTransforms[PlayerOptions::TRANSFORM_NOHANDS] )
DEFINE_METHOD( GetNoLifts, m_bTransforms[PlayerOptions::TRANSFORM_NOLIFTS] )
DEFINE_METHOD( GetNoFakes, m_bTransforms[PlayerOptions::TRANSFORM_NOFAKES] )
DEFINE_METHOD( GetNoQuads, m_bTransforms[PlayerOptions::TRANSFORM_NOQUADS] )
DEFINE_METHOD( GetNoStretch, m_bTransforms[PlayerOptions::TRANSFORM_NOSTRETCH] )
// Others
DEFINE_METHOD( GetDark, m_fDark )
DEFINE_METHOD( GetBlind, m_fBlind )
DEFINE_METHOD( GetCover, m_fCover )
DEFINE_METHOD( GetRandomAttacks, m_fRandAttack )
DEFINE_METHOD( GetSongAttacks, m_fSongAttack )
DEFINE_METHOD( GetSkew, m_fSkew )
DEFINE_METHOD( GetPassmark, m_fPassmark )
DEFINE_METHOD( GetRandomSpeed, m_fRandomSpeed )
LunaPlayerOptions()
{
ADD_METHOD( GetDark );
// SetDark
ADD_METHOD( GetBlind );
// SetBlind
ADD_METHOD( GetCover );
// SetCover
// GetMuteOnError, SetMuteOnError
ADD_METHOD( GetNoteSkin );
ADD_METHOD( SetNoteSkin );
// GetPerspectiveTilt, SetPerspectiveTilt
ADD_METHOD( GetPassmark );
// SetPassmark
ADD_METHOD( GetRandomAttacks );
// SetRandomAttacks
ADD_METHOD( GetRandomSpeed );
// SetRandomSpeed
ADD_METHOD( GetSkew );
// SetSkew
ADD_METHOD( GetSongAttacks );
// SetSongAttacks
ADD_METHOD( GetCMod );
ADD_METHOD( GetXMod );
// Accel
ADD_METHOD( GetBoost );
ADD_METHOD( GetBrake );
ADD_METHOD( GetWave );
ADD_METHOD( GetExpand );
ADD_METHOD( GetBoomerang );
// Effect
ADD_METHOD( GetDrunk );
ADD_METHOD( GetDizzy );
ADD_METHOD( GetConfusion );
ADD_METHOD( GetMini );
ADD_METHOD( GetTiny );
ADD_METHOD( GetFlip );
ADD_METHOD( GetInvert );
ADD_METHOD( GetTornado );
ADD_METHOD( GetTipsy );
ADD_METHOD( GetBumpy );
ADD_METHOD( GetBeat );
ADD_METHOD( GetXMode );
ADD_METHOD( GetTwirl );
ADD_METHOD( GetRoll );
// Appearance
ADD_METHOD( GetHidden );
ADD_METHOD( GetHiddenOffset );
ADD_METHOD( GetSudden );
ADD_METHOD( GetSuddenOffset );
ADD_METHOD( GetStealth );
ADD_METHOD( GetBlink );
ADD_METHOD( GetRandomVanish );
// Scroll
ADD_METHOD( GetReverse );
ADD_METHOD( GetReversePercentForColumn );
ADD_METHOD( GetSplit );
ADD_METHOD( GetAlternate );
ADD_METHOD( GetCross );
ADD_METHOD( GetCentered );
// Turns
ADD_METHOD( GetMirror );
ADD_METHOD( GetLeft );
ADD_METHOD( GetRight );
ADD_METHOD( GetShuffle );
ADD_METHOD( GetSoftShuffle );
ADD_METHOD( GetSuperShuffle );
// Transform
ADD_METHOD( GetNoHolds );
ADD_METHOD( GetNoRolls );
ADD_METHOD( GetNoMines );
ADD_METHOD( GetLittle );
ADD_METHOD( GetWide );
ADD_METHOD( GetBig );
ADD_METHOD( GetQuick );
ADD_METHOD( GetBMRize );
ADD_METHOD( GetSkippy );
ADD_METHOD( GetMines );
ADD_METHOD( GetAttackMines );
ADD_METHOD( GetEcho );
ADD_METHOD( GetStomp );
ADD_METHOD( GetPlanted );
ADD_METHOD( GetFloored );
ADD_METHOD( GetTwister );
ADD_METHOD( GetHoldRolls );
ADD_METHOD( GetNoJumps );
ADD_METHOD( GetNoHands );
ADD_METHOD( GetNoLifts );
ADD_METHOD( GetNoFakes );
ADD_METHOD( GetNoQuads );
ADD_METHOD( GetNoStretch );
}
};
+4 -4
View File
@@ -162,9 +162,9 @@ public:
/* All floats have a corresponding speed setting, which determines how fast
* PlayerOptions::Approach approaches. */
bool m_bSetScrollSpeed; // true if the scroll speed was set by FromString
float m_fTimeSpacing, m_SpeedfTimeSpacing; // instead of Beat spacing
float m_fScrollSpeed, m_SpeedfScrollSpeed; // used if !m_bTimeSpacing
float m_fScrollBPM, m_SpeedfScrollBPM; // used if m_bTimeSpacing
float m_fTimeSpacing, m_SpeedfTimeSpacing; // instead of Beat spacing (CMods, mMods)
float m_fScrollSpeed, m_SpeedfScrollSpeed; // used if !m_bTimeSpacing (xMods)
float m_fScrollBPM, m_SpeedfScrollBPM; // used if m_bTimeSpacing (CMod)
float m_fAccels[NUM_ACCELS], m_SpeedfAccels[NUM_ACCELS];
float m_fEffects[NUM_EFFECTS], m_SpeedfEffects[NUM_EFFECTS];
float m_fAppearances[NUM_APPEARANCES],m_SpeedfAppearances[NUM_APPEARANCES];
@@ -189,7 +189,7 @@ public:
bool m_bTransforms[NUM_TRANSFORMS];
bool m_bMuteOnError;
/** @brief How can the Player fail a song? */
enum FailType {
enum FailType {
FAIL_IMMEDIATE=0, /**< fail immediately when life touches 0 */
FAIL_IMMEDIATE_CONTINUE, /**< Same as above, but allow playing the rest of the song */
FAIL_AT_END, /**< fail if life is at 0 when the song ends */
+1 -1
View File
@@ -374,7 +374,7 @@ public:
int iFramesToCopy = (m_iBufferAvail-m_iBufferUsed) / iBytesPerFrame;
iFramesToCopy = min( iFramesToCopy, (int) (iFrames-iGotFrames) );
int iSamplesToCopy = iFramesToCopy * iSamplesPerFrame;
int iBytesToCopy = iSamplesToCopy * sizeof(int16_t);
int iBytesToCopy = iSamplesToCopy * sizeof(float);
memcpy( buf, m_pBuffer+m_iBufferUsed, iBytesToCopy );
m_iBufferUsed += iBytesToCopy;
iGotFrames += iFramesToCopy;
+6 -3
View File
@@ -97,12 +97,15 @@ static Preference<bool> g_bEasterEggs( "EasterEggs", true );
PlayerInfo::PlayerInfo(): m_pn(PLAYER_INVALID), m_mp(MultiPlayer_Invalid),
m_bIsDummy(false), m_iDummyIndex(0), m_iAddToDifficulty(0),
m_bPlayerEnabled(false), m_pLifeMeter(NULL),
m_bPlayerEnabled(false), m_PlayerStateDummy(),
m_PlayerStageStatsDummy(), m_SoundEffectControl(),
m_vpStepsQueue(), m_asModifiersQueue(), m_pLifeMeter(NULL),
m_ptextCourseSongNumber(NULL), m_ptextStepsDescription(NULL),
m_pPrimaryScoreDisplay(NULL), m_pSecondaryScoreDisplay(NULL),
m_pPrimaryScoreKeeper(NULL), m_pSecondaryScoreKeeper(NULL),
m_pActiveAttackList(NULL), m_pPlayer(NULL), m_pInventory(NULL),
m_pStepsDisplay(NULL) {}
m_ptextPlayerOptions(NULL), m_pActiveAttackList(NULL),
m_NoteData(), m_pPlayer(NULL), m_pInventory(NULL),
m_pStepsDisplay(NULL), m_sprOniGameOver() {}
void PlayerInfo::Load( PlayerNumber pn, MultiPlayer mp, bool bShowNoteField, int iAddToDifficulty )
{
+1 -1
View File
@@ -77,7 +77,7 @@ void ScreenPlayerOptions::Input( const InputEventPlus &input )
{
// apply the game default mods, but not the Profile saved mods
GAMESTATE->m_pPlayerState[pn]->ResetToDefaultPlayerOptions( ModsLevel_Preferred );
MESSAGEMAN->Broadcast( ssprintf("CancelAllP%i", pn+1) );
for( unsigned r=0; r<m_pRows.size(); r++ )