From 7fa50ff351fc6a5df299f1c3fb1d90a49d99d3a9 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 19 Mar 2011 13:27:48 -0400 Subject: [PATCH 01/11] More effective fixes. We may have to actually do full blown replacements. --- src/DancingCharacters.cpp | 7 ++++--- src/HighScore.h | 8 ++++++-- src/Model.h | 2 ++ src/StageStats.h | 3 +++ 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/DancingCharacters.cpp b/src/DancingCharacters.cpp index 3404096a63..6653173f9b 100644 --- a/src/DancingCharacters.cpp +++ b/src/DancingCharacters.cpp @@ -43,10 +43,11 @@ const float MODEL_X_ONE_PLAYER = 0; const float MODEL_X_TWO_PLAYERS[NUM_PLAYERS] = { +8, -8 }; const float MODEL_ROTATIONY_TWO_PLAYERS[NUM_PLAYERS] = { -90, 90 }; -DancingCharacters::DancingCharacters() +DancingCharacters::DancingCharacters(): m_bDrawDangerLight(false), + m_CameraDistance(0), m_CameraPanYStart(0), m_CameraPanYEnd(0), + m_fLookAtHeight(0), m_fCameraHeightStart(0), m_fCameraHeightEnd(0), + m_fThisCameraStartBeat(0), m_fThisCameraEndBeat(0) { - m_bDrawDangerLight = false; - FOREACH_PlayerNumber( p ) { m_pCharacter[p] = new Model; diff --git a/src/HighScore.h b/src/HighScore.h index 61610bb88f..c3f9b0f94c 100644 --- a/src/HighScore.h +++ b/src/HighScore.h @@ -100,9 +100,13 @@ private: struct HighScoreList { public: - HighScoreList() + /** + * @brief Set up the HighScore List with default values. + * + * This used to call Init(), but it's better to be explicit here. */ + HighScoreList(): HighGrade(Grade_NoData), iNumTimesPlayed(0) { - Init(); + vHighScores.clear(); } void Init(); diff --git a/src/Model.h b/src/Model.h index 804d9a38ee..d9ce8e343b 100644 --- a/src/Model.h +++ b/src/Model.h @@ -83,6 +83,8 @@ private: float m_fCurAnimationRate; bool m_bLoop; bool m_bDrawCelShaded; // for Lua models + + Model& operator=(const Model& rhs); }; #endif diff --git a/src/StageStats.h b/src/StageStats.h index a160d0c652..a5a52587ef 100644 --- a/src/StageStats.h +++ b/src/StageStats.h @@ -79,6 +79,9 @@ public: // Lua void PushSelf( lua_State *L ); + +private: + // TODO: Implement the copy and assignment operators on our own. }; #endif From c4b0b77ab8654a6496d19d175bee9a2f9743f26e Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 19 Mar 2011 16:18:53 -0400 Subject: [PATCH 02/11] More warning fixes. Editor didn't break with my NoteData changes. --- src/NoteData.cpp | 142 ++++++++++++++++++++--------------------- src/ScreenGameplay.cpp | 28 +++----- 2 files changed, 79 insertions(+), 91 deletions(-) diff --git a/src/NoteData.cpp b/src/NoteData.cpp index bbbee687f1..88c350b408 100644 --- a/src/NoteData.cpp +++ b/src/NoteData.cpp @@ -52,18 +52,18 @@ void NoteData::ClearRangeForTrack( int rowBegin, int rowEnd, int iTrack ) if( rowBegin == rowEnd ) return; - NoteData::TrackMap::iterator begin, end; - GetTapNoteRangeInclusive( iTrack, rowBegin, rowEnd, begin, end ); + NoteData::TrackMap::iterator lBegin, lEnd; + GetTapNoteRangeInclusive( iTrack, rowBegin, rowEnd, lBegin, lEnd ); - if( begin != end && begin->first < rowBegin && begin->first + begin->second.iDuration > rowEnd ) + if( lBegin != lEnd && lBegin->first < rowBegin && lBegin->first + lBegin->second.iDuration > rowEnd ) { /* A hold note overlaps the whole range. Truncate it, and add the * remainder to the end. */ - TapNote tn1 = begin->second; + TapNote tn1 = lBegin->second; TapNote tn2 = tn1; - int iEndRow = begin->first + tn1.iDuration; - int iRow = begin->first; + int iEndRow = lBegin->first + tn1.iDuration; + int iRow = lBegin->first; tn1.iDuration = rowBegin - iRow; tn2.iDuration = iEndRow - rowEnd; @@ -72,23 +72,23 @@ void NoteData::ClearRangeForTrack( int rowBegin, int rowEnd, int iTrack ) SetTapNote( iTrack, rowEnd, tn2 ); // We may have invalidated our iterators. - GetTapNoteRangeInclusive( iTrack, rowBegin, rowEnd, begin, end ); + GetTapNoteRangeInclusive( iTrack, rowBegin, rowEnd, lBegin, lEnd ); } - else if( begin != end && begin->first < rowBegin ) + else if( lBegin != lEnd && lBegin->first < rowBegin ) { // A hold note overlaps the beginning of the range. Truncate it. - TapNote &tn1 = begin->second; - int iRow = begin->first; + TapNote &tn1 = lBegin->second; + int iRow = lBegin->first; tn1.iDuration = rowBegin - iRow; - ++begin; + ++lBegin; } - if( begin != end ) + if( lBegin != lEnd ) { - NoteData::TrackMap::iterator prev = end; + NoteData::TrackMap::iterator prev = lEnd; --prev; - TapNote tn = begin->second; + TapNote tn = lBegin->second; int iRow = prev->first; if( tn.type == TapNote::hold_head && iRow + tn.iDuration > rowEnd ) { @@ -99,14 +99,14 @@ void NoteData::ClearRangeForTrack( int rowBegin, int rowEnd, int iTrack ) tn.iDuration -= iAdd; iRow += iAdd; SetTapNote( iTrack, iRow, tn ); - end = prev; + lEnd = prev; } // We may have invalidated our iterators. - GetTapNoteRangeInclusive( iTrack, rowBegin, rowEnd, begin, end ); + GetTapNoteRangeInclusive( iTrack, rowBegin, rowEnd, lBegin, lEnd ); } - m_TapNotes[iTrack].erase( begin, end ); + m_TapNotes[iTrack].erase( lBegin, lEnd ); } void NoteData::ClearRange( int rowBegin, int rowEnd ) @@ -138,17 +138,17 @@ void NoteData::CopyRange( const NoteData& from, int rowFromBegin, int rowFromEnd for( int t=0; tsecond; + TapNote head = lBegin->second; if( head.type == TapNote::empty ) continue; if( head.type == TapNote::hold_head ) { - int iStartRow = begin->first + iMoveBy; + int iStartRow = lBegin->first + iMoveBy; int iEndRow = iStartRow + head.iDuration; iStartRow = clamp( iStartRow, rowToBegin, rowToEnd ); @@ -158,7 +158,7 @@ void NoteData::CopyRange( const NoteData& from, int rowFromBegin, int rowFromEnd } else { - int iTo = begin->first + iMoveBy; + int iTo = lBegin->first + iMoveBy; if( iTo >= rowToBegin && iTo <= rowToEnd ) this->SetTapNote( t, iTo, head ); } @@ -307,11 +307,11 @@ void NoteData::AddHoldNote( int iTrack, int iStartRow, int iEndRow, TapNote tn ) ASSERT_M( iEndRow >= iStartRow, ssprintf("EndRow %d < StartRow %d",iEndRow,iStartRow) ); /* Include adjacent (non-overlapping) hold notes, since we need to merge with them. */ - NoteData::TrackMap::iterator begin, end; - GetTapNoteRangeInclusive( iTrack, iStartRow, iEndRow, begin, end, true ); + NoteData::TrackMap::iterator lBegin, lEnd; + GetTapNoteRangeInclusive( iTrack, iStartRow, iEndRow, lBegin, lEnd, true ); // Look for other hold notes that overlap and merge them into add. - for( iterator it = begin; it != end; ++it ) + for( iterator it = lBegin; it != lEnd; ++it ) { int iOtherRow = it->first; const TapNote &tnOther = it->second; @@ -325,14 +325,14 @@ void NoteData::AddHoldNote( int iTrack, int iStartRow, int iEndRow, TapNote tn ) tn.iDuration = iEndRow - iStartRow; // Remove everything in the range. - while( begin != end ) + while( lBegin != lEnd ) { - iterator next = begin; + iterator next = lBegin; ++next; - RemoveTapNote( iTrack, begin ); + RemoveTapNote( iTrack, lBegin ); - begin = next; + lBegin = next; } /* Additionally, if there's a tap note lying at the end of our range, @@ -590,12 +590,12 @@ int NoteData::GetNumHoldNotes( int iStartIndex, int iEndIndex ) const int iNumHolds = 0; for( int t=0; tsecond.type != TapNote::hold_head || - begin->second.subType != TapNote::hold_head_hold ) + if( lBegin->second.type != TapNote::hold_head || + lBegin->second.subType != TapNote::hold_head_hold ) continue; iNumHolds++; } @@ -608,12 +608,12 @@ int NoteData::GetNumRolls( int iStartIndex, int iEndIndex ) const int iNumRolls = 0; for( int t=0; tsecond.type != TapNote::hold_head || - begin->second.subType != TapNote::hold_head_roll ) + if( lBegin->second.type != TapNote::hold_head || + lBegin->second.subType != TapNote::hold_head_roll ) continue; iNumRolls++; } @@ -773,43 +773,43 @@ bool NoteData::GetPrevTapNoteRowForTrack( int track, int &rowInOut ) const return true; } -void NoteData::GetTapNoteRange( int iTrack, int iStartRow, int iEndRow, TrackMap::iterator &begin, TrackMap::iterator &end ) +void NoteData::GetTapNoteRange( int iTrack, int iStartRow, int iEndRow, TrackMap::iterator &lBegin, TrackMap::iterator &lEnd ) { ASSERT_M( iTrack < GetNumTracks(), ssprintf("%i,%i", iTrack, GetNumTracks()) ); TrackMap &mapTrack = m_TapNotes[iTrack]; if( iStartRow > iEndRow ) { - begin = end = mapTrack.end(); + lBegin = lEnd = mapTrack.end(); return; } if( iStartRow <= 0 ) - begin = mapTrack.begin(); // optimization + lBegin = mapTrack.begin(); // optimization else if( iStartRow >= MAX_NOTE_ROW ) - begin = mapTrack.end(); // optimization + lBegin = mapTrack.end(); // optimization else - begin = mapTrack.lower_bound( iStartRow ); + lBegin = mapTrack.lower_bound( iStartRow ); if( iEndRow <= 0 ) - end = mapTrack.begin(); // optimization + lEnd = mapTrack.begin(); // optimization else if( iEndRow >= MAX_NOTE_ROW ) - end = mapTrack.end(); // optimization + lEnd = mapTrack.end(); // optimization else - end = mapTrack.lower_bound( iEndRow ); + lEnd = mapTrack.lower_bound( iEndRow ); } /* Include hold notes that overlap the edges. If a hold note completely surrounds the given * range, included it, too. If bIncludeAdjacent is true, also include hold notes adjacent to, * but not overlapping, the edge. */ -void NoteData::GetTapNoteRangeInclusive( int iTrack, int iStartRow, int iEndRow, TrackMap::iterator &begin, TrackMap::iterator &end, bool bIncludeAdjacent ) +void NoteData::GetTapNoteRangeInclusive( int iTrack, int iStartRow, int iEndRow, TrackMap::iterator &lBegin, TrackMap::iterator &lEnd, bool bIncludeAdjacent ) { - GetTapNoteRange( iTrack, iStartRow, iEndRow, begin, end ); + GetTapNoteRange( iTrack, iStartRow, iEndRow, lBegin, lEnd ); - if( begin != this->begin(iTrack) ) + if( lBegin != this->begin(iTrack) ) { - iterator prev = Decrement(begin); + iterator prev = Decrement(lBegin); const TapNote &tn = prev->second; if( tn.type == TapNote::hold_head ) @@ -821,62 +821,62 @@ void NoteData::GetTapNoteRangeInclusive( int iTrack, int iStartRow, int iEndRow, if( iHoldEndRow > iStartRow ) { // The previous note is a hold. - begin = prev; + lBegin = prev; } } } - if( bIncludeAdjacent && end != this->end(iTrack) ) + if( bIncludeAdjacent && lEnd != this->end(iTrack) ) { // Include the next note if it's a hold and starts on iEndRow. - const TapNote &tn = end->second; - int iHoldStartRow = end->first; + const TapNote &tn = lEnd->second; + int iHoldStartRow = lEnd->first; if( tn.type == TapNote::hold_head && iHoldStartRow == iEndRow ) - ++end; + ++lEnd; } } -void NoteData::GetTapNoteRangeExclusive( int iTrack, int iStartRow, int iEndRow, TrackMap::iterator &begin, TrackMap::iterator &end ) +void NoteData::GetTapNoteRangeExclusive( int iTrack, int iStartRow, int iEndRow, TrackMap::iterator &lBegin, TrackMap::iterator &lEnd ) { - GetTapNoteRange( iTrack, iStartRow, iEndRow, begin, end ); + GetTapNoteRange( iTrack, iStartRow, iEndRow, lBegin, lEnd ); // If end-1 is a hold_head, and extends beyond iEndRow, exclude it. - if( begin != end && end != this->begin(iTrack) ) + if( lBegin != lEnd && lEnd != this->begin(iTrack) ) { - iterator prev = end; + iterator prev = lEnd; --prev; if( prev->second.type == TapNote::hold_head ) { int localStartRow = prev->first; const TapNote &tn = prev->second; if( localStartRow + tn.iDuration >= iEndRow ) - end = prev; + lEnd = prev; } } } -void NoteData::GetTapNoteRange( int iTrack, int iStartRow, int iEndRow, TrackMap::const_iterator &begin, TrackMap::const_iterator &end ) const +void NoteData::GetTapNoteRange( int iTrack, int iStartRow, int iEndRow, TrackMap::const_iterator &lBegin, TrackMap::const_iterator &lEnd ) const { TrackMap::iterator const_begin, const_end; const_cast(this)->GetTapNoteRange( iTrack, iStartRow, iEndRow, const_begin, const_end ); - begin = const_begin; - end = const_end; + lBegin = const_begin; + lEnd = const_end; } -void NoteData::GetTapNoteRangeInclusive( int iTrack, int iStartRow, int iEndRow, TrackMap::const_iterator &begin, TrackMap::const_iterator &end, bool bIncludeAdjacent ) const +void NoteData::GetTapNoteRangeInclusive( int iTrack, int iStartRow, int iEndRow, TrackMap::const_iterator &lBegin, TrackMap::const_iterator &lEnd, bool bIncludeAdjacent ) const { TrackMap::iterator const_begin, const_end; const_cast(this)->GetTapNoteRangeInclusive( iTrack, iStartRow, iEndRow, const_begin, const_end, bIncludeAdjacent ); - begin = const_begin; - end = const_end; + lBegin = const_begin; + lEnd = const_end; } -void NoteData::GetTapNoteRangeExclusive( int iTrack, int iStartRow, int iEndRow, TrackMap::const_iterator &begin, TrackMap::const_iterator &end ) const +void NoteData::GetTapNoteRangeExclusive( int iTrack, int iStartRow, int iEndRow, TrackMap::const_iterator &lBegin, TrackMap::const_iterator &lEnd ) const { TrackMap::iterator const_begin, const_end; const_cast(this)->GetTapNoteRange( iTrack, iStartRow, iEndRow, const_begin, const_end ); - begin = const_begin; - end = const_end; + lBegin = const_begin; + lEnd = const_end; } diff --git a/src/ScreenGameplay.cpp b/src/ScreenGameplay.cpp index 8280993a27..641bae8beb 100644 --- a/src/ScreenGameplay.cpp +++ b/src/ScreenGameplay.cpp @@ -95,26 +95,14 @@ static Preference g_fNetStartOffset( "NetworkStartOffset", -3.0 ); static Preference g_bEasterEggs( "EasterEggs", true ); -PlayerInfo::PlayerInfo() -{ - m_pn = PLAYER_INVALID; - m_mp = MultiPlayer_Invalid; - m_bIsDummy = false; - m_iDummyIndex = 0; - m_iAddToDifficulty = 0; - m_pLifeMeter = NULL; - m_ptextCourseSongNumber = NULL; - m_ptextStepsDescription = NULL; - m_pPrimaryScoreDisplay = NULL; - m_pSecondaryScoreDisplay = NULL; - m_pPrimaryScoreKeeper = NULL; - m_pSecondaryScoreKeeper = NULL; - m_ptextPlayerOptions = NULL; - m_pActiveAttackList = NULL; - m_pPlayer = NULL; - m_pInventory = NULL; - m_pStepsDisplay = NULL; -} +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_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) {} void PlayerInfo::Load( PlayerNumber pn, MultiPlayer mp, bool bShowNoteField, int iAddToDifficulty ) { From 6c1a765d722f7cd6098848304c8276799c4bb5a2 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 19 Mar 2011 17:09:50 -0400 Subject: [PATCH 03/11] More effective fixes. FINALLY understand how to work with Structs, Classes, Vectors, etc. Took a little long. --- Xcode/stepmania.xcodeproj/project.pbxproj | 8 ++++---- src/NoteTypes.h | 11 ++++++----- src/Trail.h | 8 ++++---- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/Xcode/stepmania.xcodeproj/project.pbxproj b/Xcode/stepmania.xcodeproj/project.pbxproj index 676ef76ec3..935e37b281 100644 --- a/Xcode/stepmania.xcodeproj/project.pbxproj +++ b/Xcode/stepmania.xcodeproj/project.pbxproj @@ -7132,7 +7132,7 @@ GCC_WARN_ABOUT_MISSING_NEWLINE = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO; + GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; GCC_WARN_MISSING_PARENTHESES = YES; @@ -7668,7 +7668,7 @@ GCC_WARN_ABOUT_MISSING_NEWLINE = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO; + GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; GCC_WARN_MISSING_PARENTHESES = YES; @@ -8003,7 +8003,7 @@ GCC_WARN_ABOUT_MISSING_NEWLINE = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO; + GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; GCC_WARN_MISSING_PARENTHESES = YES; @@ -8132,7 +8132,7 @@ GCC_WARN_ABOUT_MISSING_NEWLINE = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO; + GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; GCC_WARN_MISSING_PARENTHESES = YES; diff --git a/src/NoteTypes.h b/src/NoteTypes.h index 76ae2f92f8..b842dd2f16 100644 --- a/src/NoteTypes.h +++ b/src/NoteTypes.h @@ -134,9 +134,9 @@ struct TapNote void LoadFromNode( const XNode* pNode ); TapNote(): type(empty), subType(SubType_Invalid), source(original), - pn(PLAYER_INVALID), bHopoPossible(false), + result(), pn(PLAYER_INVALID), bHopoPossible(false), sAttackModifiers(""), fAttackDurationSeconds(0), - iKeysoundIndex(-1), iDuration(0) {} + iKeysoundIndex(-1), iDuration(0), HoldResult() {} void Init() { type = empty; @@ -155,10 +155,11 @@ struct TapNote RString sAttackModifiers_, float fAttackDurationSeconds_, int iKeysoundIndex_ ): - type(type_), subType(subType_), source(source_), - pn(PLAYER_INVALID), sAttackModifiers(sAttackModifiers_), + type(type_), subType(subType_), source(source_), result(), + pn(PLAYER_INVALID), bHopoPossible(false), + sAttackModifiers(sAttackModifiers_), fAttackDurationSeconds(fAttackDurationSeconds_), - iKeysoundIndex(iKeysoundIndex_), iDuration(0) {} + iKeysoundIndex(iKeysoundIndex_), iDuration(0), HoldResult() {} /** * @brief Determine if the two TapNotes are equal to each other. diff --git a/src/Trail.h b/src/Trail.h index 092d9c31dd..1aaa74b8a2 100644 --- a/src/Trail.h +++ b/src/Trail.h @@ -18,6 +18,7 @@ struct TrailEntry pSong(NULL), pSteps(NULL), Modifiers(""), + Attacks(), bSecret(false), iLowMeter(-1), iHighMeter(-1), @@ -72,10 +73,9 @@ public: Trail(): m_StepsType(StepsType_Invalid), m_CourseType(CourseType_Invalid), m_CourseDifficulty(Difficulty_Invalid), - m_iSpecifiedMeter(-1), m_bRadarValuesCached(false) - { - m_vEntries.clear(); - } + m_vEntries(), m_iSpecifiedMeter(-1), + m_bRadarValuesCached(false), m_CachedRadarValues(), + m_CachedObject() {} void Init() { m_StepsType = StepsType_Invalid; From 3dcdf67666d8dde9d5e393886a7b44275cd40290 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 19 Mar 2011 17:10:38 -0400 Subject: [PATCH 04/11] Right, right, don't force others to be effective. Wait, that came out wrong. --- 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 935e37b281..676ef76ec3 100644 --- a/Xcode/stepmania.xcodeproj/project.pbxproj +++ b/Xcode/stepmania.xcodeproj/project.pbxproj @@ -7132,7 +7132,7 @@ GCC_WARN_ABOUT_MISSING_NEWLINE = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES; + GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; GCC_WARN_MISSING_PARENTHESES = YES; @@ -7668,7 +7668,7 @@ GCC_WARN_ABOUT_MISSING_NEWLINE = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES; + GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; GCC_WARN_MISSING_PARENTHESES = YES; @@ -8003,7 +8003,7 @@ GCC_WARN_ABOUT_MISSING_NEWLINE = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES; + GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; GCC_WARN_MISSING_PARENTHESES = YES; @@ -8132,7 +8132,7 @@ GCC_WARN_ABOUT_MISSING_NEWLINE = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES; + GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; GCC_WARN_MISSING_PARENTHESES = YES; From 22b7b3489723bda4a213c8a85178ad421d32ed3e Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 19 Mar 2011 18:26:55 -0400 Subject: [PATCH 05/11] More effective fixes. Course playing still results in it playing fine. --- src/BackgroundUtil.h | 34 ++++++++++++++++------------ src/Command.h | 3 +++ src/Course.cpp | 13 +++++++++-- src/Course.h | 6 +++-- src/CourseUtil.h | 2 +- src/Font.cpp | 11 +++------ src/Font.h | 12 +++++----- src/MessageManager.h | 2 +- src/MsdFile.h | 3 +++ src/RageBitmapTexture.cpp | 2 +- src/RageDisplay.cpp | 2 +- src/RageSound.cpp | 5 ++-- src/RageTexturePreloader.h | 6 ++--- src/RageTypes.h | 1 + src/RageUtil_CachedObject.h | 7 ++---- src/SongUtil.h | 7 +++--- src/StepsUtil.h | 2 +- src/UnlockManager.h | 7 +++--- src/arch/InputHandler/InputHandler.h | 2 +- 19 files changed, 72 insertions(+), 55 deletions(-) diff --git a/src/BackgroundUtil.h b/src/BackgroundUtil.h index ca813484d8..80d36b8a92 100644 --- a/src/BackgroundUtil.h +++ b/src/BackgroundUtil.h @@ -27,15 +27,26 @@ struct BackgroundDef RString m_sColor2; // "" == use default XNode *CreateNode() const; + + /** @brief Set up the BackgroundDef with default values. */ + BackgroundDef(): m_sEffect(""), m_sFile1(""), m_sFile2(""), + m_sColor1(""), m_sColor2("") {} + + /** + * @brief Set up the BackgroundDef with some defined values. + * @param effect the intended effect. + * @param f1 the primary filename for the definition. + * @param f2 the secondary filename (optional). */ + BackgroundDef(RString effect, RString f1, RString f2): + m_sEffect(effect), m_sFile1(f1), m_sFile2(f2), + m_sColor1(""), m_sColor2("") {} }; struct BackgroundChange { - BackgroundChange() - { - m_fStartBeat=-1; - m_fRate=1; - } + BackgroundChange(): m_def(), m_fStartBeat(-1), m_fRate(1), + m_sTransition("") {} + BackgroundChange( float s, RString f1, @@ -43,15 +54,10 @@ struct BackgroundChange float r=1.f, RString e=SBE_Centered, RString t=RString() - ) - { - m_fStartBeat=s; - m_def.m_sFile1=f1; - m_def.m_sFile2=f2; - m_fRate=r; - m_def.m_sEffect=e; - m_sTransition=t; - } + ): + m_def(e, f1, f2), m_fStartBeat(s), + m_fRate(r), m_sTransition(t) {} + BackgroundDef m_def; float m_fStartBeat; float m_fRate; diff --git a/src/Command.h b/src/Command.h index 88f5110bfc..71adceb282 100644 --- a/src/Command.h +++ b/src/Command.h @@ -16,10 +16,13 @@ public: struct Arg { RString s; + Arg(): s("") {} }; Arg GetArg( unsigned index ) const; vector m_vsArgs; + + Command(): m_vsArgs() {} }; class Commands diff --git a/src/Course.cpp b/src/Course.cpp index 10dc2c7f0f..ce37abc628 100644 --- a/src/Course.cpp +++ b/src/Course.cpp @@ -88,9 +88,18 @@ int CourseEntry::GetNumModChanges() const -Course::Course() +Course::Course(): m_bIsAutogen(false), m_sPath(""), m_sMainTitle(""), + m_sMainTitleTranslit(""), m_sSubTitle(""), m_sSubTitleTranslit(""), + m_sBannerPath(""), m_sBackgroundPath(""), m_sCDTitlePath(""), + m_sGroupName(""), m_bRepeat(false), m_fGoalSeconds(0), + m_bShuffle(false), m_iLives(-1), m_bSortByMeter(false), + m_bIncomplete(false), m_vEntries(), m_SortOrder_TotalDifficulty(0), + m_SortOrder_Ranking(0), m_LoadedFromProfile(ProfileSlot_Invalid), + m_TrailCache(), m_iTrailCacheSeed(0), m_RadarCache(), + m_setStyles(), m_CachedObject() { - Init(); + FOREACH_ENUM( Difficulty,dc) + m_iCustomMeter[dc] = -1; } CourseType Course::GetCourseType() const diff --git a/src/Course.h b/src/Course.h index 25864c12f6..7ba37eb3f0 100644 --- a/src/Course.h +++ b/src/Course.h @@ -55,9 +55,11 @@ public: float fGainSeconds; // time gained back at the beginning of the song. LifeMeterTime only. int iGainLives; // lives gained back at the beginning of the next song - CourseEntry(): bSecret(false), bNoDifficult(false), + CourseEntry(): bSecret(false), songID(), songCriteria(), + stepsCriteria(), bNoDifficult(false), songSort(SongSort_Randomize), iChooseIndex(0), - sModifiers(RString("")), fGainSeconds(0), iGainLives(-1) {} + sModifiers(RString("")), attacks(), fGainSeconds(0), + iGainLives(-1) {} bool IsFixedSong() const { return songID.IsValid(); } diff --git a/src/CourseUtil.h b/src/CourseUtil.h index f897617888..e338c9c3e7 100644 --- a/src/CourseUtil.h +++ b/src/CourseUtil.h @@ -68,7 +68,7 @@ namespace EditCourseUtil class CourseID { public: - CourseID() { Unset(); } + CourseID(): sPath(""), sFullTitle(""), m_Cache() { Unset(); } void Unset() { FromCourse(NULL); } void FromCourse( const Course *p ); Course *ToCourse() const; diff --git a/src/Font.cpp b/src/Font.cpp index 10c89f5ad8..fed6ed7835 100644 --- a/src/Font.cpp +++ b/src/Font.cpp @@ -220,14 +220,9 @@ int Font::GetLineHeightInSourcePixels( const wstring &szLine ) const } -Font::Font() -{ - m_iRefCount = 1; - m_pDefault = NULL; - m_bRightToLeft = false; - // [sm-ssc] don't show strokes by default - m_DefaultStrokeColor = RageColor(0,0,0,0); -} +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. Font::~Font() { diff --git a/src/Font.h b/src/Font.h index ef1eeb1f73..4242693a34 100644 --- a/src/Font.h +++ b/src/Font.h @@ -23,11 +23,7 @@ struct FontPageTextures RageTexture *m_pTextureStroke; /** @brief Set up the initial textures. */ - FontPageTextures() - { - m_pTextureMain = NULL; - m_pTextureStroke = NULL; - } + FontPageTextures(): m_pTextureMain(NULL), m_pTextureStroke(NULL) {} }; /** @brief The components of a glyph (not technically a character). */ @@ -52,6 +48,10 @@ struct glyph /** @brief Texture coordinate rect. */ RectF m_TexRect; + + /** @brief Set up the glyph with default values. */ + glyph() : m_pPage(NULL), m_FontPageTextures(), m_iHadvance(0), + m_fWidth(0), m_fHeight(0), m_fHshift(0), m_TexRect() {} }; /** @brief The settings used for the FontPage. */ @@ -75,7 +75,7 @@ struct FontPageSettings map m_mapGlyphWidths; /** @brief The initial settings for the FontPage. */ - FontPageSettings(): + FontPageSettings(): m_sTexturePath(""), m_iDrawExtraPixelsLeft(0), m_iDrawExtraPixelsRight(0), m_iAddToAllWidths(0), m_iLineSpacing(-1), diff --git a/src/MessageManager.h b/src/MessageManager.h index c067bbbe24..020868fb4a 100644 --- a/src/MessageManager.h +++ b/src/MessageManager.h @@ -156,7 +156,7 @@ private: class MessageSubscriber : public IMessageSubscriber { public: - MessageSubscriber() {} + MessageSubscriber(): m_vsSubscribedTo() {} MessageSubscriber( const MessageSubscriber &cpy ); MessageSubscriber &operator=(const MessageSubscriber &cpy); diff --git a/src/MsdFile.h b/src/MsdFile.h index 1c5f50f645..aaae912b14 100644 --- a/src/MsdFile.h +++ b/src/MsdFile.h @@ -13,6 +13,9 @@ public: { /** @brief The list of parameters. */ vector params; + /** @brief Set up the parameters with default values. */ + value_t(): params() {} + /** * @brief Access the proper parameter. * @param i the index. diff --git a/src/RageBitmapTexture.cpp b/src/RageBitmapTexture.cpp index 0579ebd56a..e6743722c2 100644 --- a/src/RageBitmapTexture.cpp +++ b/src/RageBitmapTexture.cpp @@ -31,7 +31,7 @@ static void GetResolutionFromFileName( RString sPath, int &iWidth, int &iHeight } RageBitmapTexture::RageBitmapTexture( RageTextureID name ) : - RageTexture( name ) + RageTexture( name ), m_uTexHandle(0) { Create(); } diff --git a/src/RageDisplay.cpp b/src/RageDisplay.cpp index 4519a623be..273d68a4c8 100644 --- a/src/RageDisplay.cpp +++ b/src/RageDisplay.cpp @@ -264,7 +264,7 @@ class MatrixStack vector stack; public: - MatrixStack() + MatrixStack(): stack() { stack.resize(1); LoadIdentity(); diff --git a/src/RageSound.cpp b/src/RageSound.cpp index 258023c5ce..a89ff3018a 100644 --- a/src/RageSound.cpp +++ b/src/RageSound.cpp @@ -48,9 +48,10 @@ RageSoundLoadParams::RageSoundLoadParams(): m_bSupportRateChanging(false), m_bSupportPan(false) {} RageSound::RageSound(): - m_Mutex( "RageSound" ), m_pSource(NULL), m_iStreamFrame(0), + m_Mutex( "RageSound" ), m_pSource(NULL), + m_sFilePath(""), m_Param(), m_iStreamFrame(0), m_iStoppedSourceFrame(0), m_bPlaying(false), - m_bDeleteWhenFinished(false) + m_sError(""), m_bDeleteWhenFinished(false) { ASSERT( SOUNDMAN ); } diff --git a/src/RageTexturePreloader.h b/src/RageTexturePreloader.h index a7bfb04805..1a45ffe28b 100644 --- a/src/RageTexturePreloader.h +++ b/src/RageTexturePreloader.h @@ -1,15 +1,13 @@ -/* RageTexturePreloader - Load textures in advance, for use later. */ - #ifndef RAGE_TEXTURE_PRELOADER_H #define RAGE_TEXTURE_PRELOADER_H class RageTexture; struct RageTextureID; - +/** @brief Load the textures in advance for using them later. */ class RageTexturePreloader { public: - RageTexturePreloader() { } + RageTexturePreloader(): m_apTextures() { } RageTexturePreloader( const RageTexturePreloader &cpy ) { *this = cpy; } RageTexturePreloader &operator=( const RageTexturePreloader &rhs ); ~RageTexturePreloader(); diff --git a/src/RageTypes.h b/src/RageTypes.h index 7e7238f383..610b058329 100644 --- a/src/RageTypes.h +++ b/src/RageTypes.h @@ -335,6 +335,7 @@ typedef StepMania::Rect RectF; * have the same layout that D3D expects. */ struct RageSpriteVertex // has color { + RageSpriteVertex(): p(), n(), c(), t() {} RageVector3 p; // position RageVector3 n; // normal RageVColor c; // diffuse color diff --git a/src/RageUtil_CachedObject.h b/src/RageUtil_CachedObject.h index d0305e43f9..a74c80e2a7 100644 --- a/src/RageUtil_CachedObject.h +++ b/src/RageUtil_CachedObject.h @@ -18,17 +18,14 @@ template class CachedObject { public: - CachedObject() + CachedObject(): m_pObject(NULL) { - m_pObject = NULL; - /* A new object is being constructed, so invalidate negative caching. */ ClearCacheNegative(); } - CachedObject( const CachedObject &cpy ) + CachedObject( const CachedObject &cpy ): m_pObject(NULL) { - m_pObject = NULL; ClearCacheNegative(); } diff --git a/src/SongUtil.h b/src/SongUtil.h index 368594adb5..0c0a18043d 100644 --- a/src/SongUtil.h +++ b/src/SongUtil.h @@ -47,8 +47,9 @@ public: } m_Locked; /** @brief Set up some initial song criteria. */ - SongCriteria(): m_sGroupName(""), m_bUseSongGenreAllowedList(false), - m_Selectable(Selectable_DontCare), m_bUseSongAllowedList(false), + SongCriteria(): m_sGroupName(""), m_bUseSongGenreAllowedList(false), + m_vsSongGenreAllowedList(), m_Selectable(Selectable_DontCare), + m_bUseSongAllowedList(false), m_vpSongAllowedList(), m_iMaxStagesForSong(-1), m_Tutorial(Tutorial_DontCare), m_Locked(Locked_DontCare) { @@ -182,7 +183,7 @@ public: * @brief Set up the SongID with default values. * * This used to call Unset() to do the same thing. */ - SongID(): sDir("") { m_Cache.Unset(); } + SongID(): sDir(""), m_Cache() { m_Cache.Unset(); } void Unset() { FromSong(NULL); } void FromSong( const Song *p ); Song *ToSong() const; diff --git a/src/StepsUtil.h b/src/StepsUtil.h index 05aa5a6155..fa61a61900 100644 --- a/src/StepsUtil.h +++ b/src/StepsUtil.h @@ -169,7 +169,7 @@ public: * This used to call Unset(), which set the variables to * the same thing. */ StepsID(): st(StepsType_Invalid), dc(Difficulty_Invalid), - sDescription(""), uHash(0) {} + sDescription(""), uHash(0), m_Cache() {} void Unset() { FromSteps(NULL); } void FromSteps( const Steps *p ); Steps *ToSteps( const Song *p, bool bAllowNull ) const; diff --git a/src/UnlockManager.h b/src/UnlockManager.h index 9874e5401c..f042b60da2 100644 --- a/src/UnlockManager.h +++ b/src/UnlockManager.h @@ -57,9 +57,10 @@ public: * * m_sEntryID starts as an empty string. It will be filled automatically * if not specified. */ - UnlockEntry(): m_Type(UnlockRewardType_Invalid), - m_dc(Difficulty_Invalid), m_bRequirePassHardSteps(false), - m_bRoulette(false), m_sEntryID(RString("")) + UnlockEntry(): m_Type(UnlockRewardType_Invalid), m_cmd(), + m_Song(), m_dc(Difficulty_Invalid), m_Course(), + m_bRequirePassHardSteps(false), m_bRoulette(false), + m_sEntryID(RString("")) { ZERO( m_fRequirement ); } diff --git a/src/arch/InputHandler/InputHandler.h b/src/arch/InputHandler/InputHandler.h index 307f78617b..3564a73552 100644 --- a/src/arch/InputHandler/InputHandler.h +++ b/src/arch/InputHandler/InputHandler.h @@ -25,7 +25,7 @@ public: static void Create( const RString &sDrivers, vector &apAdd ); static DriverList m_pDriverList; - InputHandler(): m_iInputsSinceUpdate(0) {} + InputHandler(): m_LastUpdate(), m_iInputsSinceUpdate(0) {} virtual ~InputHandler() { } virtual void Update() { } virtual bool DevicesChanged() { return false; } From cf81f8cc3bd9488b2acac96794af216ebeabcc16 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sat, 19 Mar 2011 19:28:57 -0500 Subject: [PATCH 06/11] remove xbox support; it doesn't work, and it'd take too much effort to get it working again --- src/BannerCache.cpp | 12 +- src/LuaManager.cpp | 6 +- src/RageDisplay_D3D.cpp | 118 +- src/RageFileDriverDeflate.cpp | 4 +- src/RageFileDriverDirect.cpp | 2 - src/RageFileDriverDirectHelpers.cpp | 81 +- src/RageFileDriverDirectHelpers.h | 10 - src/RageFileManager.cpp | 9 +- src/RageLog.cpp | 2 +- src/RageMath.cpp | 2 +- src/RageSoundReader_MP3.cpp | 12 +- src/RageSurface_Load_JPEG.cpp | 11 +- src/RageSurface_Load_PNG.cpp | 23 +- src/RageSurface_Save_JPEG.cpp | 11 +- src/RageSurface_Save_PNG.cpp | 8 +- src/RageUtil.cpp | 4 - src/ScreenEdit.cpp | 41 +- src/ScreenMapControllers.cpp | 28 - src/ScreenServiceAction.h | 5 - src/ScreenTestFonts.h | 4 - src/SongCacheIndex.cpp | 5 - src/StepMania.cpp | 34 +- src/StepManiaXbox-2003.vcproj | 2783 ----------------- src/Texture Font Generator/Utils.cpp | 14 +- src/arch/ArchHooks/ArchHooks_Xbox.cpp | 227 -- src/arch/ArchHooks/ArchHooks_Xbox.h | 78 - src/arch/InputHandler/InputHandler_Xbox.cpp | 232 -- src/arch/InputHandler/InputHandler_Xbox.h | 52 - src/arch/LoadingWindow/LoadingWindow.cpp | 5 +- src/arch/LoadingWindow/LoadingWindow_Xbox.cpp | 179 -- src/arch/LoadingWindow/LoadingWindow_Xbox.h | 51 - .../MemoryCardDriverThreaded_Xbox.cpp | 150 - .../MemoryCardDriverThreaded_Xbox.h | 51 - src/arch/MovieTexture/MovieTexture_FFMpeg.cpp | 23 +- .../MovieTexture/MovieTexture_Generic.cpp | 2 +- src/arch/Threads/Threads_Win32.cpp | 2 - src/arch/arch.cpp | 21 +- src/arch/arch.h | 2 - src/arch/arch_default.h | 10 - src/archutils/Win32/AppInstance.h | 4 +- src/archutils/Win32/DirectXHelpers.cpp | 18 +- src/archutils/Win32/ErrorStrings.cpp | 4 - src/archutils/Win32/arch_setup.h | 18 +- src/archutils/Xbox/GraphicsWindow.cpp | 151 - src/archutils/Xbox/GraphicsWindow.h | 47 - src/archutils/Xbox/VirtualMemory.cpp | 644 ---- src/archutils/Xbox/VirtualMemory.h | 87 - src/archutils/Xbox/arch_setup.cpp | 58 - src/archutils/Xbox/arch_setup.h | 25 - src/archutils/Xbox/custom_launch_params.cpp | 66 - src/archutils/Xbox/custom_launch_params.h | 36 - src/archutils/Xbox/saveblue.XBX | Bin 18432 -> 0 bytes src/archutils/Xbox/savered.XBX | Bin 18432 -> 0 bytes src/archutils/Xbox/smicon.XBX | Bin 18432 -> 0 bytes src/crypto/CryptNoise.cpp | 11 +- src/ezsockets.cpp | 47 +- src/ezsockets.h | 14 +- src/global.cpp | 1 - src/libjpeg/jmorecfg.h | 2 +- src/lua-5.1/src/luaconf.h | 3 +- src/sm-ssc_Xbox-net2003.sln | 53 - 61 files changed, 75 insertions(+), 5528 deletions(-) delete mode 100644 src/StepManiaXbox-2003.vcproj delete mode 100644 src/arch/ArchHooks/ArchHooks_Xbox.cpp delete mode 100644 src/arch/ArchHooks/ArchHooks_Xbox.h delete mode 100644 src/arch/InputHandler/InputHandler_Xbox.cpp delete mode 100644 src/arch/InputHandler/InputHandler_Xbox.h delete mode 100644 src/arch/LoadingWindow/LoadingWindow_Xbox.cpp delete mode 100644 src/arch/LoadingWindow/LoadingWindow_Xbox.h delete mode 100644 src/arch/MemoryCard/MemoryCardDriverThreaded_Xbox.cpp delete mode 100644 src/arch/MemoryCard/MemoryCardDriverThreaded_Xbox.h delete mode 100644 src/archutils/Xbox/GraphicsWindow.cpp delete mode 100644 src/archutils/Xbox/GraphicsWindow.h delete mode 100644 src/archutils/Xbox/VirtualMemory.cpp delete mode 100644 src/archutils/Xbox/VirtualMemory.h delete mode 100644 src/archutils/Xbox/arch_setup.cpp delete mode 100644 src/archutils/Xbox/arch_setup.h delete mode 100644 src/archutils/Xbox/custom_launch_params.cpp delete mode 100644 src/archutils/Xbox/custom_launch_params.h delete mode 100644 src/archutils/Xbox/saveblue.XBX delete mode 100644 src/archutils/Xbox/savered.XBX delete mode 100644 src/archutils/Xbox/smicon.XBX delete mode 100644 src/sm-ssc_Xbox-net2003.sln diff --git a/src/BannerCache.cpp b/src/BannerCache.cpp index 8e60a2e2a8..ffcc4a3e6f 100644 --- a/src/BannerCache.cpp +++ b/src/BannerCache.cpp @@ -230,17 +230,13 @@ struct BannerTexture: public RageTexture m_iTextureWidth = m_iImageWidth = m_pImage->w; m_iTextureHeight = m_iImageHeight = m_pImage->h; - /* Find a supported texture format. If it happens to match the stored - * file, we won't have to do any conversion here, and that'll happen often - * with paletted images. */ -#if !defined(XBOX) + /* Find a supported texture format. If it happens to match the stored + * file, we won't have to do any conversion here, and that'll happen + * often with paletted images. */ PixelFormat pf = m_pImage->format->BitsPerPixel == 8? PixelFormat_PAL: PixelFormat_RGB5A1; if( !DISPLAY->SupportsTextureFormat(pf) ) pf = PixelFormat_RGBA4; -#else - // xbox display currently supports only rgba8 - PixelFormat pf = PixelFormat_RGBA8; -#endif + ASSERT( DISPLAY->SupportsTextureFormat(pf) ); ASSERT(m_pImage); diff --git a/src/LuaManager.cpp b/src/LuaManager.cpp index 70b4d84eeb..65796fcbac 100644 --- a/src/LuaManager.cpp +++ b/src/LuaManager.cpp @@ -27,7 +27,7 @@ struct Impl }; static Impl *pImpl = NULL; -#if defined(_MSC_VER) || defined (_XBOX) +#if defined(_MSC_VER) /* "interaction between '_setjmp' and C++ object destruction is non-portable" * We don't care; we'll throw a fatal exception immediately anyway. */ #pragma warning (disable : 4611) @@ -973,9 +973,7 @@ LuaFunction( VersionTime, (RString) version_time ); static RString GetOSName() { RString system; - #if defined(XBOX) - system = "Xbox"; - #elif defined(WIN32) && !defined(XBOX) + #if defined(WIN32) system = "Windows"; #elif defined(LINUX) system = "Linux"; diff --git a/src/RageDisplay_D3D.cpp b/src/RageDisplay_D3D.cpp index b977eb03b1..8dfb6974fd 100644 --- a/src/RageDisplay_D3D.cpp +++ b/src/RageDisplay_D3D.cpp @@ -17,16 +17,11 @@ #include #include -#if !defined(XBOX) #include "archutils/Win32/GraphicsWindow.h" -#else -#include "archutils/Xbox/GraphicsWindow.h" -#include "archutils/Xbox/VirtualMemory.h" -#endif // Static libraries // load Windows D3D8 dynamically -#if defined(_MSC_VER) && !defined(_XBOX) +#if defined(_MSC_VER) #pragma comment(lib, "D3dx8.lib") #pragma comment(lib, "Dxerr8.lib") #endif @@ -42,9 +37,7 @@ RString GetErrorString( HRESULT hr ) } // Globals -#if !defined(XBOX) HMODULE g_D3D8_Module = NULL; -#endif LPDIRECT3D8 g_pd3d = NULL; LPDIRECT3DDEVICE8 g_pd3dDevice = NULL; D3DCAPS8 g_DeviceCaps; @@ -84,12 +77,8 @@ static void SetPalette( unsigned TexResource ) } // Load it. -#if !defined(XBOX) TexturePalette& pal = g_TexResourceToTexturePalette[TexResource]; g_pd3dDevice->SetPaletteEntries( iPalIndex, pal.p ); -#else - ASSERT(0); -#endif g_TexResourceToPaletteIndex[TexResource] = iPalIndex; } @@ -106,11 +95,7 @@ static void SetPalette( unsigned TexResource ) break; } -#if !defined(XBOX) g_pd3dDevice->SetCurrentTexturePalette( iPalIndex ); -#else - ASSERT(0); -#endif } #define D3DFVF_RageSpriteVertex (D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_DIFFUSE|D3DFVF_TEX1) @@ -178,11 +163,7 @@ static D3DFORMAT D3DFORMATS[NUM_PixelFormat] = D3DFMT_A4R4G4B4, D3DFMT_A1R5G5B5, D3DFMT_X1R5G5B5, -#if defined(XBOX) - D3DFMT_UNKNOWN, // no RGB -#else D3DFMT_R8G8B8, -#endif D3DFMT_P8, D3DFMT_UNKNOWN, // no BGR D3DFMT_UNKNOWN, // no ABGR @@ -214,9 +195,7 @@ RString RageDisplay_D3D::Init( const VideoModeParams &p, bool bAllowUnaccelerate typedef IDirect3D8 * (WINAPI * Direct3DCreate8_t) (UINT SDKVersion); Direct3DCreate8_t pDirect3DCreate8; -#if defined(XBOX) - pDirect3DCreate8 = Direct3DCreate8; -#else + g_D3D8_Module = LoadLibrary("D3D8.dll"); if(!g_D3D8_Module) return D3D_NOT_INSTALLED.GetValue() + "\n" + D3D_URL; @@ -227,7 +206,6 @@ RString RageDisplay_D3D::Init( const VideoModeParams &p, bool bAllowUnaccelerate LOG->Trace( "Direct3DCreate8 not found" ); return D3D_NOT_INSTALLED.GetValue(); } -#endif g_pd3d = pDirect3DCreate8( D3D_SDK_VERSION ); if(!g_pd3d) @@ -294,13 +272,11 @@ RageDisplay_D3D::~RageDisplay_D3D() /* Even after we call Release(), D3D may still affect our window. It seems * to subclass the window, and never release it. Free the DLL after * destroying the window. */ -#if !defined(XBOX) if( g_D3D8_Module ) { FreeLibrary( g_D3D8_Module ); g_D3D8_Module = NULL; } -#endif } void RageDisplay_D3D::GetDisplayResolutions( DisplayResolutions &out ) const @@ -334,9 +310,7 @@ D3DFORMAT FindBackBufferType(bool bWindowed, int iBPP) } if( iBPP == 32 || bWindowed ) { -#if !defined(XBOX) vBackBufferFormats.push_back( D3DFMT_R8G8B8 ); -#endif vBackBufferFormats.push_back( D3DFMT_X8R8G8B8 ); vBackBufferFormats.push_back( D3DFMT_A8R8G8B8 ); } @@ -383,13 +357,8 @@ RString SetD3DParams( bool &bNewDeviceOut ) HRESULT hr = g_pd3d->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, -#if !defined(XBOX) GraphicsWindow::GetHwnd(), D3DCREATE_SOFTWARE_VERTEXPROCESSING | D3DCREATE_MULTITHREADED, -#else - NULL, - D3DCREATE_HARDWARE_VERTEXPROCESSING, -#endif &g_d3dpp, &g_pd3dDevice ); if( FAILED(hr) ) @@ -506,11 +475,7 @@ static void SetPresentParametersFromVideoModeParams( const VideoModeParams &p, D pD3Dpp->BackBufferCount = 1; pD3Dpp->MultiSampleType = D3DMULTISAMPLE_NONE; pD3Dpp->SwapEffect = D3DSWAPEFFECT_DISCARD; -#if !defined(XBOX) pD3Dpp->hDeviceWindow = GraphicsWindow::GetHwnd(); -#else - pD3Dpp->hDeviceWindow = NULL; -#endif pD3Dpp->Windowed = p.windowed; pD3Dpp->EnableAutoDepthStencil = TRUE; pD3Dpp->AutoDepthStencilFormat = D3DFMT_D16; @@ -520,25 +485,9 @@ static void SetPresentParametersFromVideoModeParams( const VideoModeParams &p, D else pD3Dpp->FullScreen_PresentationInterval = p.vsync ? D3DPRESENT_INTERVAL_ONE : D3DPRESENT_INTERVAL_IMMEDIATE; -#if !defined(XBOX) pD3Dpp->FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT; if( !p.windowed && p.rate != REFRESH_DEFAULT ) pD3Dpp->FullScreen_RefreshRateInHz = p.rate; -#else - if( XGetVideoStandard() == XC_VIDEO_STANDARD_PAL_I ) - { - // Get supported video flags. - DWORD VideoFlags = XGetVideoFlags(); - - // Set pal60 if available. - if( VideoFlags & XC_VIDEO_FLAGS_PAL_60Hz ) - pD3Dpp->FullScreen_RefreshRateInHz = 60; - else - pD3Dpp->FullScreen_RefreshRateInHz = 50; - } - else - pD3Dpp->FullScreen_RefreshRateInHz = 60; -#endif pD3Dpp->Flags = 0; @@ -556,9 +505,6 @@ static void SetPresentParametersFromVideoModeParams( const VideoModeParams &p, D RString RageDisplay_D3D::TryVideoMode( const VideoModeParams &_p, bool &bNewDeviceOut ) { VideoModeParams p = _p; -#if defined(XBOX) - p.windowed = false; -#endif LOG->Warn( "RageDisplay_D3D::TryVideoMode( %d, %d, %d, %d, %d, %d )", p.windowed, p.width, p.height, p.bpp, p.rate, p.vsync ); if( FindBackBufferType( p.windowed, p.bpp ) == D3DFMT_UNKNOWN ) // no possible back buffer formats @@ -571,11 +517,6 @@ RString RageDisplay_D3D::TryVideoMode( const VideoModeParams &_p, bool &bNewDevi SetPresentParametersFromVideoModeParams( p, &g_d3dpp ); -#if defined(XBOX) - if( D3D__pDevice ) - g_pd3dDevice = D3D__pDevice; -#endif - // Display the window immediately, so we don't display the desktop ... while( 1 ) { @@ -612,14 +553,6 @@ void RageDisplay_D3D::ResolutionChanged() { //LOG->Warn( "RageDisplay_D3D::ResolutionChanged" ); -#if defined(XBOX) - VideoModeParams p = GetActualVideoModeParams(); - D3DVIEWPORT8 viewData = { 0, 0, p.width, p.height, 0.f, 1.f }; - g_pd3dDevice->SetViewport( &viewData ); - g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, - D3DCOLOR_XRGB(0,0,0), 1.0f, 0x00000000 ); -#endif - RageDisplay::ResolutionChanged(); } @@ -632,7 +565,6 @@ bool RageDisplay_D3D::BeginFrame() { GraphicsWindow::Update(); -#if !defined(XBOX) switch( g_pd3dDevice->TestCooperativeLevel() ) { case D3DERR_DEVICELOST: @@ -647,7 +579,6 @@ bool RageDisplay_D3D::BeginFrame() break; } } -#endif g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0,0,0), 1.0f, 0x00000000 ); @@ -670,16 +601,6 @@ void RageDisplay_D3D::EndFrame() bool RageDisplay_D3D::SupportsTextureFormat( PixelFormat pixfmt, bool realtime ) { -#if defined(XBOX) - /* Lazy... Xbox handles paletted textures completely differently than - * regular D3D. It's not worth writing a bunch of code to handle it. - * Paletted textures result in worse cache efficiency anyway (see "Xbox - * Palettized Texture Performance" in XDK). So, just force 32bit ARGB textures. - * -Chris - * This is also needed for XGSwizzleRect(). */ - return pixfmt == PixelFormat_RGBA8; -#endif - // Some cards (Savage) don't support alpha in palettes. // Don't allow paletted textures if this is the case. if( pixfmt == PixelFormat_PAL && !(g_DeviceCaps.TextureCaps & D3DPTEXTURECAPS_ALPHAPALETTE) ) @@ -707,9 +628,6 @@ bool RageDisplay_D3D::SupportsThreadedRendering() RageSurface* RageDisplay_D3D::CreateScreenshot() { -#if defined(XBOX) - return NULL; -#else // Get the back buffer. IDirect3DSurface8* pSurface; g_pd3dDevice->GetBackBuffer( 0, D3DBACKBUFFER_TYPE_MONO, &pSurface ); @@ -756,7 +674,6 @@ RageSurface* RageDisplay_D3D::CreateScreenshot() pCopy->Release(); return SurfaceCopy; -#endif } VideoModeParams RageDisplay_D3D::GetActualVideoModeParams() const @@ -1429,15 +1346,6 @@ unsigned RageDisplay_D3D::CreateTexture( IDirect3DTexture8* pTex; hr = g_pd3dDevice->CreateTexture( power_of_two(img->w), power_of_two(img->h), 1, 0, D3DFORMATS[pixfmt], D3DPOOL_MANAGED, &pTex ); -#if defined(XBOX) - while(hr == E_OUTOFMEMORY) - { - if(!vmem_Manager.DecommitLRU()) - break; - hr = g_pd3dDevice->CreateTexture( power_of_two(img->w), power_of_two(img->h), 1, 0, D3DFORMATS[pixfmt], D3DPOOL_MANAGED, &pTex ); - } -#endif - if( FAILED(hr) ) RageException::Throw( "CreateTexture(%i,%i,%s) failed: %s", img->w, img->h, PixelFormatToString(pixfmt).c_str(), GetErrorString(hr).c_str() ); @@ -1490,27 +1398,6 @@ void RageDisplay_D3D::UpdateTexture( ASSERT( yoffset+height <= int(desc.Height) ); // Copy bits -#if defined(XBOX) - RageSurface *Texture = CreateSurface( width, height, 32, - Swap32BE( 0x0000FF00 ), - Swap32BE( 0x00FF0000 ), - Swap32BE( 0xFF000000 ), - Swap32BE( 0x000000FF ) ); - - RageSurfaceUtils::Blit( img, Texture, width, height ); - - // Xbox textures need to be swizzled - XGSwizzleRect( - Texture->pixels, // pSource, - Texture->pitch, // Pitch, - NULL, // pRect, - lr.pBits, // pDest, - Texture->w, // Width, - Texture->h, // Height, - NULL, // pPoint, - Texture->format->BytesPerPixel ); //BytesPerPixel - delete Texture; -#else int texpixfmt; for(texpixfmt = 0; texpixfmt < NUM_PixelFormat; ++texpixfmt) if(D3DFORMATS[texpixfmt] == desc.Format) break; @@ -1521,7 +1408,6 @@ void RageDisplay_D3D::UpdateTexture( RageSurfaceUtils::Blit( img, Texture, width, height ); delete Texture; -#endif pTex->UnlockRect( 0 ); } diff --git a/src/RageFileDriverDeflate.cpp b/src/RageFileDriverDeflate.cpp index 45fff020bb..dbb839c1ab 100644 --- a/src/RageFileDriverDeflate.cpp +++ b/src/RageFileDriverDeflate.cpp @@ -6,9 +6,9 @@ #include "RageUtil.h" #include -#if defined(_WINDOWS) || defined(_XBOX) +#if defined(_WINDOWS) #include "zlib/zlib.h" -#if defined(_MSC_VER) && !defined(_XBOX) +#if defined(_MSC_VER) #pragma comment(lib, "zlib/zdll.lib") #endif #elif defined(MACOSX) diff --git a/src/RageFileDriverDirect.cpp b/src/RageFileDriverDirect.cpp index cfab22525f..d6de2ebdc3 100644 --- a/src/RageFileDriverDirect.cpp +++ b/src/RageFileDriverDirect.cpp @@ -16,9 +16,7 @@ #include #else #include "archutils/Win32/ErrorStrings.h" -#if !defined(_XBOX) #include -#endif // !defined(_XBOX) #include #endif // !defined(WIN32) diff --git a/src/RageFileDriverDirectHelpers.cpp b/src/RageFileDriverDirectHelpers.cpp index dd7a65631c..fd8aa8d048 100644 --- a/src/RageFileDriverDirectHelpers.cpp +++ b/src/RageFileDriverDirectHelpers.cpp @@ -12,57 +12,13 @@ #include #include #else -#if !defined(_XBOX) #include -#endif #include #endif -#if defined(_XBOX) -/* Wrappers for low-level file functions, to work around Xbox issues: */ -int DoMkdir( const RString &sPath, int perm ) -{ - return mkdir( DoPathReplace(sPath), perm ); -} - -int DoOpen( const RString &sPath, int flags, int perm ) -{ - return open( DoPathReplace(sPath), flags, perm ); -} - -int DoStat( const RString &sPath, struct stat *st ) -{ - return stat( DoPathReplace(sPath), st ); -} - -int DoRename( const RString &sOldPath, const RString &sNewPath ) -{ - return rename( DoPathReplace(sOldPath), DoPathReplace(sNewPath) ); -} - -int DoRemove( const RString &sPath ) -{ - return remove( DoPathReplace(sPath) ); -} - -int DoRmdir( const RString &sPath ) -{ - return rmdir( DoPathReplace(sPath) ); -} - -HANDLE DoFindFirstFile( const RString &sPath, WIN32_FIND_DATA *fd ) -{ - return FindFirstFile( DoPathReplace(sPath), fd ); -} - -#endif RString DoPathReplace(const RString &sPath) { RString TempPath = sPath; -#if defined(XBOX) - TempPath.Replace( "//", "\\" ); - TempPath.Replace( "/", "\\" ); -#endif return TempPath; } @@ -72,9 +28,9 @@ static bool WinMoveFileInternal( const RString &sOldPath, const RString &sNewPat { static bool Win9x = false; - /* Windows botches rename: it returns error if the file exists. In NT, + /* Windows botches rename: it returns error if the file exists. In NT, * we can use MoveFileEx( new, old, MOVEFILE_REPLACE_EXISTING ) (though I - * don't know if it has similar atomicity guarantees to rename). In + * don't know if it has similar atomicity guarantees to rename). In * 9x, we're screwed, so just delete any existing file (we aren't going * to be robust on 9x anyway). */ if( !Win9x ) @@ -92,7 +48,7 @@ static bool WinMoveFileInternal( const RString &sOldPath, const RString &sNewPat if( MoveFile( sOldPath, sNewPath ) ) return true; - + if( GetLastError() != ERROR_ALREADY_EXISTS ) return false; @@ -118,15 +74,15 @@ bool WinMoveFile( RString sOldPath, RString sNewPath ) /* mkdir -p. Doesn't fail if Path already exists and is a directory. */ bool CreateDirectories( RString Path ) { - /* XXX: handle "//foo/bar" paths in Windows */ + // XXX: handle "//foo/bar" paths in Windows vector parts; RString curpath; - /* If Path is absolute, add the initial slash ("ignore empty" will remove it). */ + // If Path is absolute, add the initial slash ("ignore empty" will remove it). if( Path.Left(1) == "/" ) curpath = "/"; - /* Ignore empty, so eg. "/foo/bar//baz" doesn't try to create "/foo/bar" twice. */ + // Ignore empty, so eg. "/foo/bar//baz" doesn't try to create "/foo/bar" twice. split( Path, "/", parts, true ); for(unsigned i = 0; i < parts.size(); ++i) @@ -174,7 +130,7 @@ bool CreateDirectories( RString Path ) WARN( ssprintf("Couldn't create %s: %s", curpath.c_str(), strerror(errno)) ); return false; } - + return true; } @@ -189,10 +145,10 @@ void DirectFilenameDB::SetRoot( RString root_ ) { root = root_; - /* "\abcd\" -> "/abcd/": */ + // "\abcd\" -> "/abcd/": root.Replace( "\\", "/" ); - /* "/abcd/" -> "/abcd": */ + // "/abcd/" -> "/abcd": if( root.Right(1) == "/" ) root.erase( root.size()-1, 1 ); } @@ -210,7 +166,7 @@ void DirectFilenameDB::CacheFile( const RString &sPath ) } while( !pFileSet->m_bFilled ) m_Mutex.Wait(); - + #if defined(WIN32) // There is almost surely a better way to do this WIN32_FIND_DATA fd; @@ -224,12 +180,12 @@ void DirectFilenameDB::CacheFile( const RString &sPath ) f.dir = !!(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY); f.size = fd.nFileSizeLow; f.hash = fd.ftLastWriteTime.dwLowDateTime; - + pFileSet->files.insert( f ); FindClose( hFind ); #else File f( Basename(sPath) ); - + struct stat st; if( DoStat(root+sPath, &st) == -1 ) { @@ -237,7 +193,7 @@ void DirectFilenameDB::CacheFile( const RString &sPath ) // If it's a broken symlink, ignore it. Otherwise, warn. // Huh? WARN( ssprintf("File '%s' is gone! (%s)", - sPath.c_str(), strerror(iError)) ); + sPath.c_str(), strerror(iError)) ); } else { @@ -255,17 +211,10 @@ void DirectFilenameDB::PopulateFileSet( FileSet &fs, const RString &path ) { RString sPath = path; -#if defined(XBOX) - /* Xbox doesn't handle path names which end with ".", which are used when using an - * alternative song directory */ - if( sPath.size() > 0 && sPath.Right(1) == "." ) - sPath.erase( sPath.size() - 1 ); -#endif - - /* Resolve path cases (path/Path -> PATH/path). */ + // Resolve path cases (path/Path -> PATH/path). ResolvePath( sPath ); - fs.age.GetDeltaTime(); /* reset */ + fs.age.GetDeltaTime(); // reset fs.files.clear(); #if defined(WIN32) diff --git a/src/RageFileDriverDirectHelpers.h b/src/RageFileDriverDirectHelpers.h index 0a3dae233d..91b2f0d9d4 100644 --- a/src/RageFileDriverDirectHelpers.h +++ b/src/RageFileDriverDirectHelpers.h @@ -5,15 +5,6 @@ #include -#if defined(_XBOX) -int DoMkdir( const RString &sPath, int perm ); -int DoOpen( const RString &sPath, int flags, int perm ); -int DoStat( const RString &sPath, struct stat *st ); -int DoRename( const RString &sOldPath, const RString &sNewPath ); -int DoRemove( const RString &sPath ); -int DoRmdir( const RString &sPath ); -HANDLE DoFindFirstFile( const RString &sPath, WIN32_FIND_DATA *fd ); -#else #define DoOpen open #define DoStat stat #define DoMkdir mkdir @@ -21,7 +12,6 @@ HANDLE DoFindFirstFile( const RString &sPath, WIN32_FIND_DATA *fd ); #define DoRename rename #define DoRemove remove #define DoRmdir rmdir -#endif RString DoPathReplace( const RString &sPath ); #if defined(WIN32) diff --git a/src/RageFileManager.cpp b/src/RageFileManager.cpp index 49740eccbe..6219b6288c 100644 --- a/src/RageFileManager.cpp +++ b/src/RageFileManager.cpp @@ -12,7 +12,7 @@ #include -#if defined(WIN32) && !defined(XBOX) +#if defined(WIN32) #include #elif defined(UNIX) || defined(MACOSX) #include @@ -174,11 +174,7 @@ static RageFileDriverMountpoints *g_Mountpoints = NULL; static RString GetDirOfExecutable( RString argv0 ) { -#ifdef _XBOX - // ???: what if it's not running from D:\? - return "D:\\"; -#else - /* argv[0] can be wrong in most OS's; try to avoid using it. */ + // argv[0] can be wrong in most OS's; try to avoid using it. RString sPath; #if defined(WIN32) @@ -241,7 +237,6 @@ static RString GetDirOfExecutable( RString argv0 ) #endif } return sPath; -#endif } static void ChangeToDirOfExecutable( const RString &argv0 ) diff --git a/src/RageLog.cpp b/src/RageLog.cpp index 8684fc6502..5c517f209e 100644 --- a/src/RageLog.cpp +++ b/src/RageLog.cpp @@ -175,7 +175,7 @@ void RageLog::SetShowLogOutput( bool show ) { m_bShowLogOutput = show; -#if defined(WIN32) && !defined(_XBOX) +#if defined(WIN32) if( m_bShowLogOutput ) { // create a new console window and attach standard handles diff --git a/src/RageMath.cpp b/src/RageMath.cpp index 6edff8df4c..dd209974cc 100644 --- a/src/RageMath.cpp +++ b/src/RageMath.cpp @@ -112,7 +112,7 @@ RageMatrix RageMatrix::GetTranspose() const void RageMatrixMultiply( RageMatrix* pOut, const RageMatrix* pA, const RageMatrix* pB ) { -//#if defined(_WINDOWS) || defined(_XBOX) +//#if defined(_WINDOWS) // // <30 cycles for theirs versus >100 for ours. // D3DXMatrixMultiply( (D3DMATRIX*)pOut, (D3DMATRIX*)pA, (D3DMATRIX*)pB ); //#else diff --git a/src/RageSoundReader_MP3.cpp b/src/RageSoundReader_MP3.cpp index 281da9d38a..0cb9e5940e 100644 --- a/src/RageSoundReader_MP3.cpp +++ b/src/RageSoundReader_MP3.cpp @@ -9,24 +9,16 @@ #include #include -#if defined(_WINDOWS) || defined(_XBOX) || defined(MACOSX) +#if defined(_WINDOWS) || defined(MACOSX) #include "mad-0.15.1b/mad.h" #ifdef _MSC_VER -#ifdef _XBOX -#ifdef DEBUG -#pragma comment(lib, "mad-0.15.1b/xboxmad/debug/xboxmad.lib") -#else -#pragma comment(lib, "mad-0.15.1b/xboxmad/Release/xboxmad.lib") -#endif // DEBUG -#else #pragma comment(lib, "mad-0.15.1b/msvc++/Release/libmad.lib") -#endif // _XBOX #endif //_MSC_VER #else #include #endif // _WINDOWS -/* ID3 code from libid3: */ +// ID3 code from libid3: enum tagtype { TAGTYPE_NONE = 0, TAGTYPE_ID3V1, diff --git a/src/RageSurface_Load_JPEG.cpp b/src/RageSurface_Load_JPEG.cpp index 353921e740..3db75aa0e4 100644 --- a/src/RageSurface_Load_JPEG.cpp +++ b/src/RageSurface_Load_JPEG.cpp @@ -7,24 +7,15 @@ #include -// Don't let jpeglib.h define the boolean type on Xbox. -#if defined(_XBOX) -# define HAVE_BOOLEAN -#endif - #if defined(WIN32) -/* work around namespace bugs in win32/libjpeg: */ +// work around namespace bugs in win32/libjpeg: #define XMD_H #undef FAR #include "libjpeg/jpeglib.h" #include "libjpeg/jerror.h" #if defined(_MSC_VER) -#if !defined(XBOX) #pragma comment(lib, "libjpeg/jpeg.lib") -#else -#pragma comment(lib, "libjpeg/xboxjpeg.lib") -#endif #endif #pragma warning(disable: 4611) /* interaction between '_setjmp' and C++ object destruction is non-portable */ diff --git a/src/RageSurface_Load_PNG.cpp b/src/RageSurface_Load_PNG.cpp index dd7014bf15..4572fc63ae 100644 --- a/src/RageSurface_Load_PNG.cpp +++ b/src/RageSurface_Load_PNG.cpp @@ -6,25 +6,16 @@ #include "RageSurface.h" -#if defined(_WINDOWS) || defined(_XBOX) +#if defined(_WINDOWS) # include "libpng/include/png.h" # if defined(_MSC_VER) -# if defined(_XBOX) -# pragma comment(lib, "libpng/lib/xboxlibpng.lib") -# else -# pragma comment(lib, "libpng/lib/libpng.lib") -# endif +# pragma comment(lib, "libpng/lib/libpng.lib") # pragma warning(disable: 4611) /* interaction between '_setjmp' and C++ object destruction is non-portable */ # endif // _MSC_VER #else # include #endif -#if defined(_XBOX) -# include // for alloca -# include "archutils/Xbox/VirtualMemory.h" -#endif - namespace { void RageFile_png_read( png_struct *png, png_byte *p, png_size_t size ) @@ -80,16 +71,6 @@ static RageSurface *RageSurface_Load_PNG( RageFile *f, const char *fn, char erro png_struct *png = png_create_read_struct( PNG_LIBPNG_VER_STRING, &error, PNG_Error, PNG_Warning ); -#if defined(XBOX) - while(png == NULL) - { - if(!vmem_Manager.DecommitLRU()) - break; - - png = png_create_read_struct( PNG_LIBPNG_VER_STRING, &error, PNG_Error, PNG_Warning ); - } -#endif - if( png == NULL ) { sprintf( errorbuf, "creating png_create_read_struct failed"); diff --git a/src/RageSurface_Save_JPEG.cpp b/src/RageSurface_Save_JPEG.cpp index 1ea4c34178..0348d620eb 100644 --- a/src/RageSurface_Save_JPEG.cpp +++ b/src/RageSurface_Save_JPEG.cpp @@ -6,7 +6,7 @@ #include "RageUtil.h" #include "RageFile.h" -#undef FAR /* fix for VC */ +#undef FAR // fix for VC /** @brief A helper to get the jpeg lib. */ namespace jpeg { @@ -16,16 +16,11 @@ namespace jpeg } } -/* Pull in JPEG library here. */ -#ifdef _XBOX -#pragma comment(lib, "libjpeg/xboxjpeg.lib") -#elif defined _MSC_VER +// Pull in JPEG library here. +#if defined _MSC_VER #pragma comment(lib, "libjpeg/jpeg.lib") #endif - - - #define OUTPUT_BUFFER_SIZE 4096 typedef struct { diff --git a/src/RageSurface_Save_PNG.cpp b/src/RageSurface_Save_PNG.cpp index f971760fbd..797bfec8eb 100644 --- a/src/RageSurface_Save_PNG.cpp +++ b/src/RageSurface_Save_PNG.cpp @@ -6,14 +6,10 @@ #include "RageLog.h" #include "RageUtil.h" -#if defined(WINDOWS) || defined(_XBOX) +#if defined(WINDOWS) #include "libpng/include/png.h" #if defined(_MSC_VER) -# if defined(_XBOX) -# pragma comment(lib, "libpng/lib/xboxlibpng.lib") -# else -# pragma comment(lib, "libpng/lib/libpng.lib") -# endif +# pragma comment(lib, "libpng/lib/libpng.lib") #pragma warning(disable: 4611) /* interaction between '_setjmp' and C++ object destruction is non-portable */ #endif #else diff --git a/src/RageUtil.cpp b/src/RageUtil.cpp index 15257851ff..a6428a7f6b 100644 --- a/src/RageUtil.cpp +++ b/src/RageUtil.cpp @@ -967,14 +967,10 @@ bool GetCommandlineArgument( const RString &option, RString *argument, int iInde RString GetCwd() { -#ifdef _XBOX - return SYS_BASE_PATH; -#else char buf[PATH_MAX]; bool ret = getcwd(buf, PATH_MAX) != NULL; ASSERT(ret); return buf; -#endif } /* diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 8a17a27059..213cc01028 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -94,35 +94,6 @@ static const char *EditStateNames[] = { XToString( EditState ); LuaXType( EditState ); -#if defined(XBOX) -void ScreenEdit::InitEditMappings() -{ - /* XXX: fill this in */ - m_EditMappingsDeviceInput.Clear(); - - switch( EDIT_MODE.GetValue() ) - { - case EditMode_Practice: - m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_PREV_MEASURE][0] = DeviceInput(DEVICE_JOY1, JOY_HAT_UP); - m_EditMappingsMenuButton.button[EDIT_BUTTON_SCROLL_PREV_MEASURE][0] = GAME_BUTTON_UP; - m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_NEXT_MEASURE][0] = DeviceInput(DEVICE_JOY1, JOY_HAT_DOWN); - m_EditMappingsMenuButton.button[EDIT_BUTTON_SCROLL_NEXT_MEASURE][0] = GAME_BUTTON_DOWN; - break; - default: - m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_UP_LINE][0] = DeviceInput(DEVICE_JOY1, JOY_HAT_UP); - m_EditMappingsMenuButton.button[EDIT_BUTTON_SCROLL_UP_LINE][0] = GAME_BUTTON_UP; - m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_DOWN_LINE][0] = DeviceInput(DEVICE_JOY1, JOY_HAT_DOWN); - m_EditMappingsMenuButton.button[EDIT_BUTTON_SCROLL_DOWN_LINE][0] = GAME_BUTTON_DOWN; - break; - } - - // Map these to the triggers: L goes up, R goes down. - m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_UP_PAGE][0] = DeviceInput(DEVICE_JOY1, JOY_BUTTON_7); - //m_EditMappingsMenuButton.button[EDIT_BUTTON_SCROLL_UP_PAGE][0] = GAME_BUTTON_UPLEFT; - m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_DOWN_PAGE][0] = DeviceInput(DEVICE_JOY1, JOY_BUTTON_8); - //m_EditMappingsMenuButton.button[EDIT_BUTTON_SCROLL_DOWN_PAGE][0] = GAME_BUTTON_UPRIGHT; -} -#else void ScreenEdit::InitEditMappings() { m_EditMappingsDeviceInput.Clear(); @@ -268,7 +239,7 @@ void ScreenEdit::InitEditMappings() m_EditMappingsDeviceInput.button[EDIT_BUTTON_RIGHT_SIDE][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RALT); m_EditMappingsDeviceInput.button[EDIT_BUTTON_LAY_ROLL][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LSHIFT); // m_EditMappingsDeviceInput.button[EDIT_BUTTON_LAY_TAP_ATTACK][0] = DeviceInput(DEVICE_KEYBOARD, KEY_RSHIFT); - + 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); @@ -291,7 +262,7 @@ void ScreenEdit::InitEditMappings() 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_INPUT_HELP][0] = DeviceInput(DEVICE_KEYBOARD, KEY_F1); - + m_EditMappingsDeviceInput.button[EDIT_BUTTON_BAKE_RANDOM_FROM_SONG_GROUP][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cb); m_EditMappingsDeviceInput.hold[EDIT_BUTTON_BAKE_RANDOM_FROM_SONG_GROUP][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LALT); m_EditMappingsDeviceInput.hold[EDIT_BUTTON_BAKE_RANDOM_FROM_SONG_GROUP][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RALT); @@ -309,7 +280,7 @@ void ScreenEdit::InitEditMappings() m_EditMappingsDeviceInput.button[EDIT_BUTTON_ADJUST_FINE][0] = DeviceInput(DEVICE_KEYBOARD, KEY_RALT); m_EditMappingsDeviceInput.button[EDIT_BUTTON_ADJUST_FINE][1] = DeviceInput(DEVICE_KEYBOARD, KEY_LALT); - + m_EditMappingsDeviceInput.button[EDIT_BUTTON_SAVE][1] = DeviceInput(DEVICE_KEYBOARD, KEY_Cs); #if defined(MACOSX) /* use cmd */ @@ -322,10 +293,10 @@ void ScreenEdit::InitEditMappings() #endif m_EditMappingsDeviceInput.button[EDIT_BUTTON_UNDO][1] = DeviceInput(DEVICE_KEYBOARD, KEY_Cu); - + // Switch players, if it makes sense to do so. m_EditMappingsDeviceInput.button[EDIT_BUTTON_SWITCH_PLAYERS][0] = DeviceInput(DEVICE_KEYBOARD, KEY_SLASH); - + m_PlayMappingsDeviceInput.button[EDIT_BUTTON_RETURN_TO_EDIT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_ESC); m_PlayMappingsMenuButton.button[EDIT_BUTTON_RETURN_TO_EDIT][1] = GAME_BUTTON_BACK; @@ -346,8 +317,6 @@ void ScreenEdit::InitEditMappings() m_RecordPausedMappingsDeviceInput.button[EDIT_BUTTON_UNDO][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cu); } -#endif - /* Given a DeviceInput that was just depressed, return an active edit function. */ EditButton ScreenEdit::DeviceToEdit( const DeviceInput &DeviceI ) const { diff --git a/src/ScreenMapControllers.cpp b/src/ScreenMapControllers.cpp index ed6b3dcacd..d2ed7b085e 100644 --- a/src/ScreenMapControllers.cpp +++ b/src/ScreenMapControllers.cpp @@ -240,28 +240,6 @@ void ScreenMapControllers::Input( const InputEventPlus &input ) int button = input.DeviceI.button; -#ifdef _XBOX - if( m_WaitingForPress.IsZero() && input.DeviceI.device == DEVICE_JOY1 ) - { - // map the xbox controller buttons to the keyboard equivalents - if( input.DeviceI.button == JOY_HAT_LEFT ) - button = KEY_LEFT; - else if( input.DeviceI.button == JOY_HAT_RIGHT ) - button = KEY_RIGHT; - else if( input.DeviceI.button == JOY_HAT_UP ) - button = KEY_UP; - else if( input.DeviceI.button == JOY_HAT_DOWN ) - button = KEY_DOWN; - else if( input.DeviceI.button == JOY_AUX_1 ) - button = KEY_ENTER; - else if( input.DeviceI.button == JOY_AUX_2 ) - button = KEY_ESC; - else if( input.DeviceI.button == JOY_BUTTON_1 || input.DeviceI.button == JOY_BUTTON_2 || - input.DeviceI.button == JOY_BUTTON_3 || input.DeviceI.button == JOY_BUTTON_4 ) - button = KEY_DEL; - } -#endif - /* TRICKY: Some adapters map the PlayStation digital d-pad to both axes and * buttons. We want buttons to be used for any mappings where possible * because presses of buttons aren't mutually exclusive and presses of axes @@ -293,11 +271,7 @@ void ScreenMapControllers::Input( const InputEventPlus &input ) m_DeviceIToMap = input.DeviceI; } } -#ifdef _XBOX - else if( input.DeviceI.device == DEVICE_JOY1 ) -#else else if( input.DeviceI.device == DEVICE_KEYBOARD ) -#endif { switch( button ) { @@ -310,10 +284,8 @@ void ScreenMapControllers::Input( const InputEventPlus &input ) * pressed up on the joypad. */ case KEY_DEL: -#ifndef _XBOX case KEY_SPACE: case KEY_BACK: // Clear the selected input mapping. -#endif if( m_iCurButton == (int) m_KeysToMap.size() ) break; // on exit diff --git a/src/ScreenServiceAction.h b/src/ScreenServiceAction.h index 0a19dc3e0c..35011f0106 100644 --- a/src/ScreenServiceAction.h +++ b/src/ScreenServiceAction.h @@ -3,11 +3,6 @@ #ifndef ScreenServiceAction_H #define ScreenServiceAction_H -//There's a FAILED macro somewhere in winerror.h, which gets included with Xbox. -#if defined(_XBOX) -#undef FAILED -#endif - #include "ScreenPrompt.h" class ScreenServiceAction : public ScreenPrompt diff --git a/src/ScreenTestFonts.h b/src/ScreenTestFonts.h index d966f85f36..16c9e2fd19 100644 --- a/src/ScreenTestFonts.h +++ b/src/ScreenTestFonts.h @@ -3,10 +3,6 @@ #ifndef SCREEN_TEST_FONTS_H #define SCREEN_TEST_FONTS_H -#if defined(_XBOX) -#undef TEXT -#endif - #include "Screen.h" #include "BitmapText.h" #include "Quad.h" diff --git a/src/SongCacheIndex.cpp b/src/SongCacheIndex.cpp index 482ed06ed6..fb0d588adc 100644 --- a/src/SongCacheIndex.cpp +++ b/src/SongCacheIndex.cpp @@ -50,12 +50,7 @@ RString SongCacheIndex::GetCacheFilePath( const RString &sGroup, const RString & for( size_t pos = s.find_first_of(invalid); pos != RString::npos; pos = s.find_first_of(invalid, pos) ) s[pos] = '_'; // CACHE_DIR ends with a /. -#if defined(XBOX) - // Use CRC32 to make fatx compatible filenames. - return ssprintf( "%s%s/%X", SpecialFiles::CACHE_DIR.c_str(), sGroup.c_str(), GetHashForString(s)); -#else return ssprintf( "%s%s/%s", SpecialFiles::CACHE_DIR.c_str(), sGroup.c_str(), s.c_str() ); -#endif } SongCacheIndex::SongCacheIndex() diff --git a/src/StepMania.cpp b/src/StepMania.cpp index c0449cc0ae..0f032907f8 100644 --- a/src/StepMania.cpp +++ b/src/StepMania.cpp @@ -68,27 +68,12 @@ #include "SpecialFiles.h" #include "Profile.h" -#if defined(XBOX) -#include "Archutils/Xbox/VirtualMemory.h" -#endif - -#if defined(WIN32) && !defined(XBOX) +#if defined(WIN32) #include #endif -// since the XBOX SDK only works with VS.Net 2003, this doesn't exist yet. -// see http://old.nabble.com/Linking-Error-with-MSVC%2B%2B-6.0-td21608559.html -// for more information. -aj -#if defined(XBOX) - extern "C" - { - int _get_output_format( void ){ return 0; } - } -#endif - static Preference g_bAllowMultipleInstances( "AllowMultipleInstances", false ); - void StepMania::GetPreferredVideoModeParams( VideoModeParams ¶msOut ) { /* We can't rely on there being full-screen video modes that give us square @@ -469,14 +454,6 @@ struct VideoCardDefaults } } const g_VideoCardDefaults[] = { - VideoCardDefaults( - "Xbox", - "d3d", - 600,400, - 32,32,32, - 2048, - true - ), VideoCardDefaults( "Voodoo *5", "d3d,opengl", // received 3 reports of opengl crashing. -Chris @@ -636,8 +613,6 @@ static RString GetVideoDriverName() { #if defined(_WINDOWS) return GetPrimaryVideoDriverName(); -#elif defined(_XBOX) - return "Xbox"; #else return "OpenGL"; #endif @@ -879,11 +854,8 @@ static void MountTreeOfZips( const RString &dir ) RString path = dirs.back(); dirs.pop_back(); -#if !defined(XBOX) - // Xbox doesn't detect directories properly, so we'll ignore this if( !IsADirectory(path) ) continue; -#endif vector zips; GetDirListing( path + "/*.zip", zips, false, true ); @@ -997,10 +969,6 @@ int main(int argc, char* argv[]) ApplyLogPreferences(); -#if defined(XBOX) - vmem_Manager.Init(); -#endif - WriteLogHeader(); // Set up alternative filesystem trees. diff --git a/src/StepManiaXbox-2003.vcproj b/src/StepManiaXbox-2003.vcproj deleted file mode 100644 index e3cdae7552..0000000000 --- a/src/StepManiaXbox-2003.vcproj +++ /dev/null @@ -1,2783 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Texture Font Generator/Utils.cpp b/src/Texture Font Generator/Utils.cpp index 125334c2e3..338badef2d 100644 --- a/src/Texture Font Generator/Utils.cpp +++ b/src/Texture Font Generator/Utils.cpp @@ -100,22 +100,10 @@ void GetBounds( const Surface *pSurf, RECT *out ) } - - - - - - - - #pragma include_alias( "zlib/zlib.h", "../zlib/zlib.h" ) #include "../libpng/include/png.h" #if defined(_MSC_VER) -# if defined(_XBOX) -# pragma comment(lib, "../libpng/lib/xboxlibpng.lib") -# else -# pragma comment(lib, "../libpng/lib/libpng.lib") -# endif +# pragma comment(lib, "../libpng/lib/libpng.lib") #pragma warning(disable: 4611) /* interaction between '_setjmp' and C++ object destruction is non-portable */ #endif diff --git a/src/arch/ArchHooks/ArchHooks_Xbox.cpp b/src/arch/ArchHooks/ArchHooks_Xbox.cpp deleted file mode 100644 index ff4c37400b..0000000000 --- a/src/arch/ArchHooks/ArchHooks_Xbox.cpp +++ /dev/null @@ -1,227 +0,0 @@ -#include "global.h" -#include "ArchHooks_Xbox.h" -#include "dsound.h" // for timeGetTime -#include "archutils/Xbox/custom_launch_params.h" // for XGetCustomLaunchData -#include "archutils/Xbox/VirtualMemory.h" - -#include // for XNetStartup -#include // for _set_new_handler and _set_new_mode - -typedef struct _UNICODE_STRING {unsigned short Length; unsigned short MaximumLength; PSTR Buffer;} UNICODE_STRING,*PUNICODE_STRING; -extern "C" XBOXAPI DWORD WINAPI IoCreateSymbolicLink(IN PUNICODE_STRING SymbolicLinkName,IN PUNICODE_STRING DeviceName); - -static bool g_bTimerInitialized; -static DWORD g_iStartTime; - -static void InitTimer() -{ - if( g_bTimerInitialized ) - return; - g_bTimerInitialized = true; - - g_iStartTime = timeGetTime(); -} - -int64_t ArchHooks::GetMicrosecondsSinceStart( bool bAccurate ) -{ - if( !g_bTimerInitialized ) - InitTimer(); - - int64_t ret = (timeGetTime() - g_iStartTime) * int64_t(1000); - if( bAccurate ) - { - ret = FixupTimeIfLooped( ret ); - ret = FixupTimeIfBackwards( ret ); - } - - return ret; -} - -void MountDriveLetter(char drive, char* szDevice, char* szDir) -{ - char szSourceDevice[256]; - char szDestinationDrive[16]; - sprintf(szDestinationDrive, "\\??\\%c:", drive); - sprintf(szSourceDevice,"\\Device\\%s",szDevice); - if (*szDir != 0x00 && *szDir != '\\') - { - strcat(szSourceDevice, "\\"); - strcat(szSourceDevice, szDir); - } - - UNICODE_STRING LinkName = - { - strlen(szDestinationDrive), - strlen(szDestinationDrive) + 1, - szDestinationDrive - }; - UNICODE_STRING DeviceName = - { - strlen(szSourceDevice), - strlen(szSourceDevice) + 1, - szSourceDevice - }; - - IoCreateSymbolicLink(&LinkName, &DeviceName); -} - -void MountDrives() -{ - MountDriveLetter('A', "Cdrom0", "\\"); - MountDriveLetter('E', "Harddisk0\\Partition1", "\\"); - MountDriveLetter('C', "Harddisk0\\Partition2", "\\"); - MountDriveLetter('X', "Harddisk0\\Partition3", "\\"); - MountDriveLetter('Y', "Harddisk0\\Partition4", "\\"); - MountDriveLetter('F', "Harddisk0\\Partition6", "\\"); - MountDriveLetter('G', "Harddisk0\\Partition7", "\\"); -} - -bool SetupNetwork() -{ -#if !defined(WITHOUT_NETWORKING) - XNetStartupParams xnsp; - memset(&xnsp, 0, sizeof(xnsp)); - xnsp.cfgSizeOfStruct = sizeof(XNetStartupParams); - xnsp.cfgFlags = XNET_STARTUP_BYPASS_SECURITY; - - INT err = XNetStartup(&xnsp); - - return err == 0; -#else - return true; -#endif -} - -// if Xbox has 128 meg RAM make sure its used -void EnableExtraRAM() -{ - LARGE_INTEGER regVal; - - // Verify that we have 128 megs available - MEMORYSTATUS memStatus; - GlobalMemoryStatus( &memStatus ); - if( memStatus.dwTotalPhys < (100 * 1024 * 1024) ) - return; - - // Grab the existing default type (0x02FF) - READMSRREG( 0x02FF, ®Val ); - - // Set the default to WriteBack (0x06) - regVal.LowPart = (regVal.LowPart & ~0xFF) | 0x06; - WRITEMSRREG( 0x02FF, regVal ); -} - -void InitDevices() -{ - XDEVICE_PREALLOC_TYPE xdpt[] = {{XDEVICE_TYPE_GAMEPAD, 4}, {XDEVICE_TYPE_MEMORY_UNIT, 2}}; - XInitDevices( sizeof(xdpt) / sizeof(XDEVICE_PREALLOC_TYPE), xdpt ); -} - -ArchHooks_Xbox::ArchHooks_Xbox() -{ - _set_new_handler(NoMemory); - _set_new_mode(1); - SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER) CheckPageFault); - - XGetCustomLaunchData(); - - // mount A to DVD, C, E, F, G, X, and Y to the harddisk - MountDrives(); - - SetupNetwork(); - - EnableExtraRAM(); - - InitDevices(); -} - -static RString XLangID( DWORD Lang ) -{ - switch(Lang) - { - case XC_LANGUAGE_JAPANESE:return "JA"; - case XC_LANGUAGE_GERMAN:return "DE"; - case XC_LANGUAGE_FRENCH:return "FR"; - case XC_LANGUAGE_SPANISH:return "ES"; - case XC_LANGUAGE_ITALIAN:return "IT"; - case XC_LANGUAGE_KOREAN:return "KO"; - case XC_LANGUAGE_TCHINESE:return "ZH"; - case XC_LANGUAGE_PORTUGUESE:return "PT"; - default: - case XC_LANGUAGE_ENGLISH: return "EN"; - } -} - -RString ArchHooks::GetPreferredLanguage() -{ - return XLangID( XGetLanguage() ); -} - -ArchHooks_Xbox::~ArchHooks_Xbox() -{ - // We only want to reboot the Xbox in a software manner. - XLaunchNewImage( NULL, NULL ); -} - -void ArchHooks_Xbox::DumpDebugInfo() -{ - -} - -float ArchHooks_Xbox::GetDisplayAspectRatio() -{ - // xxx: does this take into account system settings? -aj - float fDisplayAspectRatio = 4.0 / 3.0; - IDirect3DSurface8 *pBackBuffer = NULL; - if( D3D__pDevice->GetBackBuffer( -1, D3DBACKBUFFER_TYPE_MONO, &pBackBuffer) == D3D_OK ) - { - D3DSURFACE_DESC Desc; - if( pBackBuffer->GetDesc(&Desc) == D3D_OK ) - { - fDisplayAspectRatio = (float)Desc.Width / (float)Desc.Height; - } - pBackBuffer->Release(); - } - return fDisplayAspectRatio; -} - -#include "RageFileManager.h" - -void ArchHooks::MountInitialFilesystems( const RString &sDirOfExecutable ) -{ - FILEMAN->Mount( "dir", "D:\\", "/" ); -} - -void ArchHooks::MountUserFilesystems( const RString &sDirOfExecutable ) -{ - // Mount everything game-writable (not counting the editor) to the game title persistent data region ( /E/TDATA/33342530/ ) - FILEMAN->Mount( "dir", "T:/Cache", "/Cache" ); - FILEMAN->Mount( "dir", "T:/Logs", "/Logs" ); - FILEMAN->Mount( "dir", "T:/Save", "/Save" ); - FILEMAN->Mount( "dir", "T:/Screenshots", "/Screenshots" ); -} - -/* - * (c) 2003-2004 Glenn Maynard, Chris Danford - * 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/ArchHooks/ArchHooks_Xbox.h b/src/arch/ArchHooks/ArchHooks_Xbox.h deleted file mode 100644 index a1e349db8d..0000000000 --- a/src/arch/ArchHooks/ArchHooks_Xbox.h +++ /dev/null @@ -1,78 +0,0 @@ -#ifndef ARCH_HOOKS_XBOX_H -#define ARCH_HOOKS_XBOX_H - -#include "ArchHooks.h" -class RageMutex; - -class ArchHooks_Xbox: public ArchHooks -{ -public: - ArchHooks_Xbox(); - ~ArchHooks_Xbox(); - RString GetArchName() { return "Xbox"; } - void DumpDebugInfo(); - float GetDisplayAspectRatio(); - - //void MountInitialFilesystems( const RString &sDirOfExecutable ); -}; - -// XXX: This stuff doesn't belong here. Hide it in ArchHooks. - -// Read a 64 bit MSR register -inline void READMSRREG( UINT32 reg, LARGE_INTEGER *val ) -{ -UINT32 lowPart, highPart; - __asm - { - mov ecx, reg - rdmsr - mov lowPart, eax - mov highPart, edx - }; - - val->LowPart = lowPart; - val->HighPart = highPart; -} - -// Write a 64 bit MSR register -inline void WRITEMSRREG( UINT32 reg, LARGE_INTEGER val ) -{ - __asm - { - mov ecx, reg - mov eax, val.LowPart - mov edx, val.HighPart - wrmsr - }; -} - -#ifdef ARCH_HOOKS -#error "More than one ArchHooks selected!" -#endif -#define ARCH_HOOKS ArchHooks_Xbox - -#endif -/* - * (c) 2002-2004 Glenn Maynard, Chris Danford - * 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/InputHandler/InputHandler_Xbox.cpp b/src/arch/InputHandler/InputHandler_Xbox.cpp deleted file mode 100644 index 1c2f870456..0000000000 --- a/src/arch/InputHandler/InputHandler_Xbox.cpp +++ /dev/null @@ -1,232 +0,0 @@ -#include "global.h" -#include "InputHandler_Xbox.h" -#include "RageUtil.h" -#include "RageLog.h" -#include "RageDisplay.h" - - -#include - -struct DEVICE_STATE { - XPP_DEVICE_TYPE *pxdt; - DWORD dwState; -}; - -byte buttonMasks[] = { XINPUT_GAMEPAD_DPAD_LEFT, - XINPUT_GAMEPAD_DPAD_RIGHT, - XINPUT_GAMEPAD_DPAD_UP, - XINPUT_GAMEPAD_DPAD_DOWN, - XINPUT_GAMEPAD_START, - XINPUT_GAMEPAD_BACK, - XINPUT_GAMEPAD_LEFT_THUMB, - XINPUT_GAMEPAD_RIGHT_THUMB}; - - -/** - * XBOX controller maps to the following RageInputDevice constants: - * DPAD -> JOY_HAT_... - * START -> JOY_AUX_1 - * BACK -> JOY_AUX_2 - * Left thumb button -> JOY_AUX_3 - * Right thumb button -> JOY_AUX_4 - * Following buttons are JOY_(index): - * A, B, X, Y, BLACK, WHITE, Left trigger, right trigger - */ - -InputHandler_Xbox::InputHandler_Xbox() -{ - // - // Init joysticks - // - ZeroMemory( joysticks, sizeof(joysticks) ); - - getHandles(); -} - -InputHandler_Xbox::~InputHandler_Xbox() -{ - for(unsigned i = 0; i < NUM_JOYSTICKS; i++) - { - if(joysticks[i] != 0) - XInputClose(joysticks[i]); - } -} - -void InputHandler_Xbox::Update() -{ - // check insertions and removals - DWORD dwInsert, dwRemove; - DEVICE_STATE devices = {XDEVICE_TYPE_GAMEPAD, 0}; - - bool changes = false; - // Check each device type to see if any changes have occurred. - if( XGetDeviceChanges( devices.pxdt, &dwInsert, &dwRemove ) ) - { - for(int j = 0; j < 4; j++) - { - if(1 << j & dwRemove) - { - changes = true; - LOG->Trace("A joystick was removed"); - } - if(1 << j & dwInsert) - { - changes = true; - LOG->Trace("A joystick was inserted"); - } - } - } - - if(changes) - { - getHandles(); - return; - } - - for(unsigned i = 0; i < NUM_JOYSTICKS; i++) - { - if(joysticks[i] == 0) - continue; - - InputDevice inputDevice = InputDevice(DEVICE_JOY1 + i); - XINPUT_STATE xis; - // Query latest state. - XInputGetState( joysticks[i], &xis ); - - // check buttons - for(int j = 0; j < ARRAYLEN(buttonMasks); j++) - { - DWORD nowPressed = xis.Gamepad.wButtons & buttonMasks[j]; - DWORD wasPressed = lastState[i].wButtons & buttonMasks[j]; - - if(nowPressed != wasPressed) - { - DeviceButton Button = DeviceButton(JOY_HAT_LEFT + j); - if(Button >= JOY_BUTTON_32) - { - LOG->Warn("Ignored joystick event (button too high)"); - continue; - } - DeviceInput di(inputDevice, Button, nowPressed != 0); - ButtonPressed(di); - continue; - } - } - - // check analog buttons - for(int j = 0; j < ARRAYLEN(xis.Gamepad.bAnalogButtons); j++) - { - bool nowPressed = xis.Gamepad.bAnalogButtons[j] > XINPUT_GAMEPAD_MAX_CROSSTALK; - bool wasPressed = lastState[i].bAnalogButtons[j] > XINPUT_GAMEPAD_MAX_CROSSTALK; - - if(nowPressed != wasPressed) - { - DeviceButton Button = DeviceButton(JOY_BUTTON_1 + j); - if(Button >= JOY_BUTTON_32) - { - LOG->Warn("Ignored joystick event (button too high)"); - continue; - } - DeviceInput di(inputDevice, Button, nowPressed); - ButtonPressed(di); - continue; - } - } - - // check thumbsticks - SHORT axes[] = { xis.Gamepad.sThumbLX, xis.Gamepad.sThumbLY, xis.Gamepad.sThumbRX, xis.Gamepad.sThumbRY}; - - for(int j = 0; j < ARRAYLEN(axes); j++) - { - if(axes[j] != 0) - { - // Reverse y axis (negative values are down, not up) - if(j == 1 || j == 3) - axes[j] = -axes[j]; - - DeviceButton neg = (DeviceButton)(JOY_LEFT + (2 * j)); - DeviceButton pos = (DeviceButton)(JOY_RIGHT + (2 * j)); - float l = SCALE( axes[j], 0.0f, 32768.0f, 0.0f, 1.0f ); - ButtonPressed(DeviceInput(inputDevice, neg,max(-l,0),RageZeroTimer)); - ButtonPressed(DeviceInput(inputDevice, pos,max(+l,0),RageZeroTimer)); - continue; - } - } - - memcpy(&lastState[i], &xis.Gamepad, sizeof(XINPUT_GAMEPAD)); - } - - InputHandler::UpdateTimer(); -} - -void InputHandler_Xbox::GetDevicesAndDescriptions( vector& vDevicesOut ) -{ - for( int i=0; iInfo( "Found %d connected joysticks for %d players", joysFound, playersAllocated ); -} - -/* - * (c) 2004 Ryan Dortmans - * 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/InputHandler/InputHandler_Xbox.h b/src/arch/InputHandler/InputHandler_Xbox.h deleted file mode 100644 index 14a8cc2292..0000000000 --- a/src/arch/InputHandler/InputHandler_Xbox.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef INPUT_HANDLER_XBOX_H -#define INPUT_HANDLER_XBOX_H - -#include "InputHandler.h" - -#include - -#define NUM_PORTS 4 - -class InputHandler_Xbox: public InputHandler -{ - HANDLE joysticks[NUM_JOYSTICKS]; - XINPUT_GAMEPAD lastState[NUM_JOYSTICKS]; - -public: - void Update(); - InputHandler_Xbox(); - ~InputHandler_Xbox(); - void GetDevicesAndDescriptions( vector& vDevicesOut ); - -private: - void getHandles(); -}; -#define USE_INPUT_HANDLER_XBOX -REGISTER_INPUT_HANDLER_CLASS( Xbox ); - -#endif - -/* - * (c) 2004 Ryan Dortmans - * 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.cpp b/src/arch/LoadingWindow/LoadingWindow.cpp index 8fa1d0ae01..2002e81f45 100644 --- a/src/arch/LoadingWindow/LoadingWindow.cpp +++ b/src/arch/LoadingWindow/LoadingWindow.cpp @@ -12,7 +12,7 @@ LoadingWindow *LoadingWindow::Create() return new LoadingWindow_Null; #endif // Don't load NULL by default. - const RString drivers = "xbox,win32,macosx,gtk"; + const RString drivers = "win32,macosx,gtk"; vector DriversToTry; split( drivers, ",", DriversToTry, true ); @@ -33,9 +33,6 @@ LoadingWindow *LoadingWindow::Create() #endif #ifdef USE_LOADING_WINDOW_WIN32 if( !DriversToTry[i].CompareNoCase("Win32") ) ret = new LoadingWindow_Win32; -#endif -#ifdef USE_LOADING_WINDOW_XBOX - if( !DriversToTry[i].CompareNoCase("Xbox") ) ret = new LoadingWindow_Xbox; #endif if( !DriversToTry[i].CompareNoCase("Null") ) ret = new LoadingWindow_Null; diff --git a/src/arch/LoadingWindow/LoadingWindow_Xbox.cpp b/src/arch/LoadingWindow/LoadingWindow_Xbox.cpp deleted file mode 100644 index 1e6b7edf73..0000000000 --- a/src/arch/LoadingWindow/LoadingWindow_Xbox.cpp +++ /dev/null @@ -1,179 +0,0 @@ -#include "global.h" -#include "LoadingWindow_Xbox.h" -#include "RageLog.h" - -#include "ProductInfo.h" - -LPDIRECT3D8 g_pD3D = NULL; // DirectX Object -LPDIRECT3DDEVICE8 g_pD3DDevice = NULL; // Screen Object -LPDIRECT3DTEXTURE8 splash = NULL; // splash texture -LPD3DXSPRITE g_sprite = NULL; // sprite object - -LoadingWindow_Xbox::LoadingWindow_Xbox() -{ - // Initialise Direct3D - g_pD3D = Direct3DCreate8(D3D_SDK_VERSION); - - // Create a structure to hold the settings for our device - D3DPRESENT_PARAMETERS d3dpp; - ZeroMemory(&d3dpp, sizeof(d3dpp)); - - // Fill the structure. - // Set fullscreen 640x480x32 mode - d3dpp.BackBufferWidth = 640; - d3dpp.BackBufferHeight = 480; - d3dpp.BackBufferFormat = D3DFMT_X8R8G8B8; - - // Create one backbuffer and a zbuffer - d3dpp.BackBufferCount = 1; - - // Set up how the backbuffer is "presented" to the frontbuffer each time - d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD; - - //Create a Direct3D device. - g_pD3D->CreateDevice(0, D3DDEVTYPE_HAL, NULL, - D3DCREATE_HARDWARE_VERTEXPROCESSING, - &d3dpp, &g_pD3DDevice); - g_pD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE); - - // Create the sprite object (for painting the image) - D3DXCreateSprite(g_pD3DDevice, &g_sprite); - - // Load the default font - XFONT_OpenDefaultFont(&font); - font->SetTextColor(D3DCOLOR_XRGB(255,255,255)); - font->SetTextAlignment(XFONT_CENTER); - - // Load the splash.png - - HRESULT result = D3DXCreateTextureFromFileA(g_pD3DDevice, "D:\\Data\\splash.png", &splash); - useImage = (result == D3D_OK); - - if(!useImage) - LOG->Trace("Error loading splash.png - %i", result); - - SetText(RString("Loading songs")); -} - -LoadingWindow_Xbox::~LoadingWindow_Xbox() -{ - g_pD3DDevice->Release(); - g_pD3D->Release(); - font->Release(); -} - -void LoadingWindow_Xbox::Paint() -{ - LPDIRECT3DSURFACE8 g_pFrontBuffer; - - if(text == "") - return; - - g_pD3DDevice->Clear(0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0); - - g_pD3DDevice->BeginScene(); - g_pD3DDevice->GetBackBuffer(0,D3DBACKBUFFER_TYPE_MONO,&g_pFrontBuffer); - - if(useImage) - { - // Draw the splash image - // Only draw if the splash texture is successfully loaded - D3DXVECTOR2 pos; - pos.x = 70.0f; - pos.y = 30.0f; - - g_sprite->Begin(); - g_sprite->Draw(splash, NULL, NULL, NULL, NULL, &pos, 0xFFFFFFFF); - g_sprite->End(); - } - else - { - // Lo-fi version: print the product name and version at the top of the screen - font->SetTextColor(D3DCOLOR_XRGB(255, 0, 0)); - RString title = "Version "; - title = title + PRODUCT_VER; - WCHAR wc_title[200] = {0}; - swprintf(wc_title, L"%S", title.c_str()); - - font->TextOut(g_pFrontBuffer, L"StepMania", -1, 320, 30); - font->SetTextColor(D3DCOLOR_XRGB(255, 255, 0)); - font->TextOut(g_pFrontBuffer, wc_title, -1, 320, 40 + font->GetTextHeight()); - } - - // Draw the text on the screen - font->SetTextColor(D3DCOLOR_XRGB(255, 255, 255)); - basic_string ::size_type newLineIndex = text.find("\n", 0); - int y = 240; - - if(newLineIndex == RString.npos) - { - WCHAR wc_text[200] = {0}; - swprintf(wc_text, L"%S", text.c_str()); - - font->TextOut(g_pFrontBuffer, wc_text, wcslen(wc_text), 320, y); - } - else - { - int start = 0; - - while(start != RString.npos) - { - RString toPrint; - if(newLineIndex != RString.npos) - toPrint = text.substr(start, newLineIndex - start); - else - toPrint = text.substr(start); - - if(toPrint != "") - { - WCHAR wc_text[200] = {0}; - swprintf(wc_text, L"%S", toPrint.c_str()); - - font->TextOut(g_pFrontBuffer, wc_text, wcslen(wc_text), 320, y); - } - y = y + font->GetTextHeight() + 10; - - if(newLineIndex != RString.npos) - start = newLineIndex + 1; - else - start = RString.npos; - - newLineIndex = text.find("\n", start); - } - } - - g_pFrontBuffer->Release(); - - g_pD3DDevice->EndScene(); - g_pD3DDevice->Present(NULL, NULL, NULL, NULL); -} - -void LoadingWindow_Xbox::SetText(RString str) -{ - text = str ; -} - -/* - * (c) 2004 Ryan Dortmans - * 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. - */ \ No newline at end of file diff --git a/src/arch/LoadingWindow/LoadingWindow_Xbox.h b/src/arch/LoadingWindow/LoadingWindow_Xbox.h deleted file mode 100644 index 956bef0157..0000000000 --- a/src/arch/LoadingWindow/LoadingWindow_Xbox.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef LOADING_WINDOW_XBOX_H -#define LOADING_WINDOW_XBOX_H - -#include "LoadingWindow.h" - -#include -#include -#define XFONT_TRUETYPE - -class LoadingWindow_Xbox: public LoadingWindow -{ -public: - LoadingWindow_Xbox(); - ~LoadingWindow_Xbox(); - - void Paint(); - void SetText(RString str); - -protected: - RString text ; - XFONT* font; - bool useImage; -}; -#define USE_LOADING_WINDOW_XBOX - -#endif - -/* - * (c) 2004 Ryan Dortmans - * 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/MemoryCard/MemoryCardDriverThreaded_Xbox.cpp b/src/arch/MemoryCard/MemoryCardDriverThreaded_Xbox.cpp deleted file mode 100644 index 0523f27de3..0000000000 --- a/src/arch/MemoryCard/MemoryCardDriverThreaded_Xbox.cpp +++ /dev/null @@ -1,150 +0,0 @@ -#include "global.h" -#include "MemoryCardDriverThreaded_Xbox.h" -#include "RageUtil.h" -#include "RageLog.h" - -MemoryCardDriverThreaded_Xbox::MemoryCardDriverThreaded_Xbox() -{ -} - -MemoryCardDriverThreaded_Xbox::~MemoryCardDriverThreaded_Xbox() -{ -} - -static bool TestReady( const RString &sDrive, RString &sVolumeLabelOut ) -{ - TCHAR szVolumeNameBuffer[MAX_PATH]; - DWORD dwVolumeSerialNumber; - DWORD dwMaximumComponentLength; - DWORD lpFileSystemFlags; - TCHAR szFileSystemNameBuffer[MAX_PATH]; - - if( !GetVolumeInformation( - sDrive, - szVolumeNameBuffer, - sizeof(szVolumeNameBuffer), - &dwVolumeSerialNumber, - &dwMaximumComponentLength, - &lpFileSystemFlags, - szFileSystemNameBuffer, - sizeof(szFileSystemNameBuffer)) ){ - LOG->Trace("GetVolumeInformation failed %u", GetLastError()); - return false; - } - - sVolumeLabelOut = szVolumeNameBuffer; - return true; -} - -bool MemoryCardDriverThreaded_Xbox::TestWrite( UsbStorageDevice* pDevice ) -{ - /* Try to write a file, to check if the device is writable and that we have write permission.*/ - for( int i = 0; i < 10; ++i ) - { - HANDLE hFile = CreateFile( - ssprintf( "%s\\tmp%i", pDevice->sOsMountDir.c_str(), RandomInt(100000)), - GENERIC_WRITE, - FILE_SHARE_READ | FILE_SHARE_WRITE, - NULL, - CREATE_NEW, - FILE_FLAG_DELETE_ON_CLOSE, - NULL ); - - if( hFile == INVALID_HANDLE_VALUE ) - { - DWORD iError = GetLastError(); - LOG->Warn( "Couldn't write to %s (%u)", pDevice->sOsMountDir.c_str(), iError); - - if( iError == ERROR_FILE_EXISTS ) - continue; - break; - } - - CloseHandle( hFile ); - return true; - } - - pDevice->SetError( "TestFailed" ); - return false; -} - -void MemoryCardDriverThreaded_Xbox::GetUSBStorageDevices( vector& vDevicesOut ) -{ - DWORD devices=XGetDevices(XDEVICE_TYPE_MEMORY_UNIT); - - for(int port=0;port<4;port++){ - //top slot - if(devices&(1<Trace( "%s", __FUNCTION__); - CHAR drive; - DWORD MountRetval=XMountMU(pDevice->iPort, pDevice->iLevel, &drive); - if(MountRetval==ERROR_SUCCESS){ - LOG->Trace("Mounted memory card from port %u slot %u to %c:", pDevice->iPort, pDevice->iLevel, drive); - pDevice->SetOsMountDir(ssprintf("%c:", drive)); - RString sVolumeLabel; - if( !TestReady(pDevice->sOsMountDir + "\\", sVolumeLabel) ) - { - LOG->Trace( "not TestReady" ); - } - pDevice->sVolumeLabel = sVolumeLabel; - return true; - }else{ - LOG->Trace("Could not mount memory card %u", MountRetval); - return false; - } -} - -void MemoryCardDriverThreaded_Xbox::Unmount( UsbStorageDevice* pDevice ) -{ - XUnmountMU(pDevice->iPort, pDevice->iLevel); -} - -/* - * (c) 2003-2004 Chris Danford - * 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/MemoryCard/MemoryCardDriverThreaded_Xbox.h b/src/arch/MemoryCard/MemoryCardDriverThreaded_Xbox.h deleted file mode 100644 index af3c47d1dd..0000000000 --- a/src/arch/MemoryCard/MemoryCardDriverThreaded_Xbox.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef MemoryCardDriverThreaded_Xbox_H -#define MemoryCardDriverThreaded_Xbox_H - -#include "MemoryCardDriver.h" - -class MemoryCardDriverThreaded_Xbox: public MemoryCardDriver -{ -public: - MemoryCardDriverThreaded_Xbox(); - virtual ~MemoryCardDriverThreaded_Xbox(); - - virtual bool Mount( UsbStorageDevice* pDevice ); - virtual void Unmount( UsbStorageDevice* pDevice ); - -private: - void GetUSBStorageDevices( vector& vDevicesOut ); - bool USBStorageDevicesChanged(); - bool TestWrite( UsbStorageDevice* pDevice ); -}; - -#ifdef ARCH_MEMORY_CARD_DRIVER -#error "More than one MemoryCardDriver included!" -#endif -#define ARCH_MEMORY_CARD_DRIVER MemoryCardDriverThreaded_Xbox - -#endif - -/* - * (c) 2003-2004 Chris Danford - * 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/MovieTexture/MovieTexture_FFMpeg.cpp b/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp index fd27ba5d3a..ed70a0acbf 100644 --- a/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp +++ b/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp @@ -29,34 +29,15 @@ namespace avcodec }; /* -#if defined(_MSC_VER) && !defined(XBOX) +#if defined(_MSC_VER) #pragma comment(lib, "ffmpeg/lib/avcodec.lib") #pragma comment(lib, "ffmpeg/lib/avformat.lib") #if defined(USE_MODERN_FFMPEG) #pragma comment(lib, "ffmpeg/lib/swscale.lib") #endif -#endif // _MSC_VER && !XBOX +#endif // _MSC_VER */ -#if defined(XBOX) - /* NOTES: ffmpeg static libraries arent included in SVN. You have to build - *them yourself or remove this file to produce the xbox build. - * - * build ffmpeg with mingw32 ( howto http://ffmpeg.arrozcru.org/wiki/index.php?title=Main_Page ) - * ./configure --enable-memalign-hack --enable-static --disable-mmx --target-os=mingw32 --arch=x86 - * you can use various switches to enable/disable codecs/muxers/etc. - * - * libgcc.a and libmingwex.a comes from mingw installation - * msys\mingw\lib\gcc\mingw32\3.4.5\libgcc.a */ - #pragma comment(lib, "ffmpeg/lib/libavcodec.a") - #pragma comment(lib, "ffmpeg/lib/libavformat.a") - #pragma comment(lib, "ffmpeg/lib/libavutil.a") - #pragma comment(lib, "ffmpeg/lib/libswscale.a") - #pragma comment(lib, "ffmpeg/lib/libgcc.a") - #pragma comment(lib, "ffmpeg/lib/libmingwex.a") - #pragma comment(lib, "ffmpeg/lib/libcoldname.a") -#endif - #if !defined(MACOSX) static const int sws_flags = SWS_BICUBIC; // XXX: Reasonable default? #endif diff --git a/src/arch/MovieTexture/MovieTexture_Generic.cpp b/src/arch/MovieTexture/MovieTexture_Generic.cpp index ae14237fc9..e3f1ea0aee 100644 --- a/src/arch/MovieTexture/MovieTexture_Generic.cpp +++ b/src/arch/MovieTexture/MovieTexture_Generic.cpp @@ -9,7 +9,7 @@ #include "RageUtil.h" #include "Sprite.h" -#if defined(WIN32) && !defined(XBOX) +#if defined(WIN32) #include "archutils/Win32/ErrorStrings.h" #include #endif diff --git a/src/arch/Threads/Threads_Win32.cpp b/src/arch/Threads/Threads_Win32.cpp index 027c11f573..3fd4a72795 100644 --- a/src/arch/Threads/Threads_Win32.cpp +++ b/src/arch/Threads/Threads_Win32.cpp @@ -31,11 +31,9 @@ HANDLE Win32ThreadIdToHandle( uint64_t iID ) void ThreadImpl_Win32::Halt( bool Kill ) { -#ifndef _XBOX if( Kill ) TerminateThread( ThreadHandle, 0 ); else -#endif SuspendThread( ThreadHandle ); } diff --git a/src/arch/arch.cpp b/src/arch/arch.cpp index cafa822ef6..5cbdcdcd02 100644 --- a/src/arch/arch.cpp +++ b/src/arch/arch.cpp @@ -52,9 +52,6 @@ void MakeInputHandlers( const RString &drivers, vector &Add ) #ifdef USE_INPUT_HANDLER_X11 if( !s->CompareNoCase("X11") ) ret = new InputHandler_X11; #endif -#ifdef USE_INPUT_HANDLER_XBOX - if( !s->CompareNoCase("Xbox") ) ret = new InputHandler_Xbox; -#endif #ifdef USE_INPUT_HANDLER_MACOSX_HID if( !s->CompareNoCase("MacOSX") ) ret = new InputHandler_MacOSX_HID; #endif @@ -104,7 +101,7 @@ LoadingWindow *MakeLoadingWindow() return new LoadingWindow_Null; #endif // Don't load NULL by default. - const RString drivers = "xbox,win32,cocoa,gtk"; + const RString drivers = "win32,cocoa,gtk"; vector DriversToTry; split( drivers, ",", DriversToTry, true ); @@ -129,11 +126,7 @@ LoadingWindow *MakeLoadingWindow() #ifdef USE_LOADING_WINDOW_WIN32 if( !DriversToTry[i].CompareNoCase("Win32") ) ret = new LoadingWindow_Win32; #endif -#ifdef USE_LOADING_WINDOW_XBOX - if( !DriversToTry[i].CompareNoCase("Xbox") ) ret = new LoadingWindow_Xbox; -#endif - if( ret == NULL ) continue; @@ -144,10 +137,10 @@ LoadingWindow *MakeLoadingWindow() SAFE_DELETE( ret ); } } - + if(ret) LOG->Info( "Loading window: %s", Driver.c_str() ); - + return ret; } @@ -191,7 +184,7 @@ RageMovieTexture *MakeRageMovieTexture( RageTextureID ID ) vector DriversToTry; split( sDrivers, ",", DriversToTry, true ); - + if( DriversToTry.empty() ) RageException::Throw( MOVIE_DRIVERS_EMPTY.GetValue() ); @@ -231,7 +224,7 @@ RageMovieTexture *MakeRageMovieTexture( RageTextureID ID ) RageException::Throw( COULDNT_CREATE_MOVIE_DRIVER.GetValue() ); LOG->Trace( "Created movie texture \"%s\" with driver \"%s\"", - ID.filename.c_str(), Driver.c_str() ); + ID.filename.c_str(), Driver.c_str() ); return ret; } @@ -291,10 +284,10 @@ RageSoundDriver *MakeRageSoundDriver( const RString &drivers ) SAFE_DELETE( ret ); } } - + if( ret ) LOG->Info( "Sound driver: %s", Driver.c_str() ); - + return ret; } diff --git a/src/arch/arch.h b/src/arch/arch.h index 29e3a29f60..eaa457ca5a 100644 --- a/src/arch/arch.h +++ b/src/arch/arch.h @@ -7,8 +7,6 @@ #if defined(_WINDOWS) #define SUPPORT_OPENGL #define SUPPORT_D3D -#elif defined(_XBOX) -#define SUPPORT_D3D #else #define SUPPORT_OPENGL #endif diff --git a/src/arch/arch_default.h b/src/arch/arch_default.h index 5752dacadc..4dcbe1a5f2 100644 --- a/src/arch/arch_default.h +++ b/src/arch/arch_default.h @@ -22,16 +22,6 @@ #define DEFAULT_SOUND_DRIVER_LIST "AudioUnit,Null" -#elif defined(_XBOX) -#include "ArchHooks/ArchHooks_Xbox.h" -#include "LoadingWindow/LoadingWindow_Xbox.h" -#include "LowLevelWindow/LowLevelWindow_Win32.h" -#include "MemoryCard/MemoryCardDriverThreaded_Xbox.h" -#define DEFAULT_INPUT_DRIVER_LIST "Xbox" -#define DEFAULT_MOVIE_DRIVER_LIST "Theora,FFMpeg,DShow,Null" -#define DEFAULT_SOUND_DRIVER_LIST "DirectSound,DirectSound-sw,Null" - - #elif defined(UNIX) #include "ArchHooks/ArchHooks_Unix.h" #include "LowLevelWindow/LowLevelWindow_X11.h" diff --git a/src/archutils/Win32/AppInstance.h b/src/archutils/Win32/AppInstance.h index 59386febe5..3a0358094e 100644 --- a/src/archutils/Win32/AppInstance.h +++ b/src/archutils/Win32/AppInstance.h @@ -1,9 +1,7 @@ #ifndef APP_INSTANCE_H #define APP_INSTANCE_H -#if !defined(_XBOX) -# include "windows.h" -#endif +#include "windows.h" /** @brief get an HINSTANCE for starting dialog boxes. */ class AppInstance diff --git a/src/archutils/Win32/DirectXHelpers.cpp b/src/archutils/Win32/DirectXHelpers.cpp index 430bb32666..3b28626926 100644 --- a/src/archutils/Win32/DirectXHelpers.cpp +++ b/src/archutils/Win32/DirectXHelpers.cpp @@ -2,14 +2,10 @@ #include "DirectXHelpers.h" #include "RageUtil.h" -#ifdef _XBOX -# include -#else -# include -# include -# if defined(_MSC_VER) -# pragma comment(lib, "dxerr8.lib") -# endif +#include +#include +#if defined(_MSC_VER) +# pragma comment(lib, "dxerr8.lib") #endif RString hr_ssprintf( int hr, const char *fmt, ... ) @@ -19,13 +15,7 @@ RString hr_ssprintf( int hr, const char *fmt, ... ) RString s = vssprintf( fmt, va ); va_end(va); -#ifdef _XBOX - char szError[1024] = ""; - D3DXGetErrorString( hr, szError, sizeof(szError) ); -#else const char *szError = DXGetErrorString8( hr ); -#endif - return s + ssprintf( " (%s)", szError ); } diff --git a/src/archutils/Win32/ErrorStrings.cpp b/src/archutils/Win32/ErrorStrings.cpp index de53870c66..7f5b40b3c8 100644 --- a/src/archutils/Win32/ErrorStrings.cpp +++ b/src/archutils/Win32/ErrorStrings.cpp @@ -2,17 +2,13 @@ #include "ErrorStrings.h" #include "RageUtil.h" -#if !defined(XBOX) #include -#endif RString werr_ssprintf( int err, const char *fmt, ... ) { char buf[1024] = ""; -#ifndef _XBOX FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, 0, err, 0, buf, sizeof(buf), NULL); -#endif // Why is FormatMessage returning text ending with \r\n? (who? -aj) // Perhaps it's because you're on Windows, where newlines are \r\n. -aj diff --git a/src/archutils/Win32/arch_setup.h b/src/archutils/Win32/arch_setup.h index 9ad85a8a37..faa6ee057d 100644 --- a/src/archutils/Win32/arch_setup.h +++ b/src/archutils/Win32/arch_setup.h @@ -1,14 +1,10 @@ #ifndef ARCH_SETUP_WINDOWS_H #define ARCH_SETUP_WINDOWS_H -#if !defined(XBOX) #define HAVE_FFMPEG #define HAVE_THEORA -#endif -#if !defined(XBOX) #define SUPPORT_OPENGL -#endif #define SUPPORT_D3D #if defined(__MINGW32__) @@ -143,25 +139,13 @@ inline long int lrintf( float f ) /* We implement the crash handler interface (though that interface isn't * completely uniform across platforms yet). */ -#if !defined(_XBOX) && !defined(SMPACKAGE) +#if !defined(SMPACKAGE) #define CRASH_HANDLER #endif #define ENDIAN_LITTLE -#if defined(_XBOX) -#if defined(_DEBUG) -#define OGG_LIB_DIR "vorbis/xbox/debug/" -#else -#define OGG_LIB_DIR "vorbis/xbox/release/" -#endif -#else #define OGG_LIB_DIR "vorbis/win32/" -#endif - -#if defined(XBOX) -#include "ArchUtils/Xbox/arch_setup.h" -#endif #if defined(__GNUC__) // It might be MinGW or Cygwin(?) #include "archutils/Common/gcc_byte_swaps.h" diff --git a/src/archutils/Xbox/GraphicsWindow.cpp b/src/archutils/Xbox/GraphicsWindow.cpp deleted file mode 100644 index 42ad602abd..0000000000 --- a/src/archutils/Xbox/GraphicsWindow.cpp +++ /dev/null @@ -1,151 +0,0 @@ -#include "global.h" -#include "archutils/Xbox/GraphicsWindow.h" -#include "ProductInfo.h" -#include "RageLog.h" -#include "RageUtil.h" -#include "RageDisplay.h" - -static const RString g_sClassName = RString(PRODUCT_ID) + " LowLevelWindow_Win32"; - -static VideoModeParams g_CurrentParams; -static bool g_bResolutionChanged = false; -static bool g_bHasFocus = true; -static bool g_bLastHasFocus = true; -static bool m_bWideWindowClass; -bool isPALSystem(); -void setScreenResolutionValues(); - -void GraphicsWindow::SetVideoModeParams( const VideoModeParams ¶ms ) -{ - g_CurrentParams = params; -} - -const VideoModeParams &GraphicsWindow::GetParams() -{ - return g_CurrentParams; -} - -void GraphicsWindow::Update() -{ - if( g_bResolutionChanged ) - { - /* Let DISPLAY know that our resolution has changed. */ - DISPLAY->ResolutionChanged(); - g_bResolutionChanged = false; - } -} - -void GraphicsWindow::Initialize( bool bD3D ) -{ - /* We do the parameters initialisation here. No need to use the INI, - because if we changed resolutions, it wouldn't keep up. */ - - g_CurrentParams.bpp = 32; - g_CurrentParams.windowed=false; - - isPALSystem(); - setScreenResolutionValues(); -} - -bool isPALSystem() -{ - if(XGetVideoStandard() == XC_VIDEO_STANDARD_PAL_I) - { - g_CurrentParams.interlaced=true; - - /* Get supported video flags. */ - DWORD VideoFlags = XGetVideoFlags(); - - /* Set pal60 if available. */ - if( VideoFlags & XC_VIDEO_FLAGS_PAL_60Hz ) - g_CurrentParams.rate = 60; - else - g_CurrentParams.rate = 50; - - g_CurrentParams.PAL = true; - return true; - } - g_CurrentParams.rate = 60; - g_CurrentParams.PAL = false; - return false; -} -void setScreenResolutionValues() -{ - DWORD CurrentVideoFlags = XGetVideoFlags(); - int heightStandards; - - // Preventive definition. Changed only if needed. - g_CurrentParams.interlaced=false; - - switch(isPALSystem()){ - case true: - heightStandards = 576; - break; - case false: - heightStandards = 480; - g_CurrentParams.interlaced=false; - break; - } - - switch (CurrentVideoFlags){ - - case XC_VIDEO_FLAGS_HDTV_480p: - g_CurrentParams.width=720; - g_CurrentParams.height=480; - break; - - case XC_VIDEO_FLAGS_HDTV_720p: - g_CurrentParams.width=1280; - g_CurrentParams.height=720; - break; - - case XC_VIDEO_FLAGS_HDTV_1080i: - g_CurrentParams.width=1920; - g_CurrentParams.height=1080; - g_CurrentParams.interlaced=true; - break; - - case XC_VIDEO_FLAGS_WIDESCREEN: - g_CurrentParams.width=720; - g_CurrentParams.height=heightStandards; - break; - - case XC_VIDEO_FLAGS_LETTERBOX: - default: - g_CurrentParams.width=640; - g_CurrentParams.height=heightStandards; - break; - } -} - -void GraphicsWindow::Shutdown() { } -RString GraphicsWindow::SetScreenMode( const VideoModeParams &p ) { return ""; } -void GraphicsWindow::CreateGraphicsWindow( const VideoModeParams &p ) { } -void GraphicsWindow::RecreateGraphicsWindow( const VideoModeParams &p ) { } -void GraphicsWindow::DestroyGraphicsWindow() { } -void GraphicsWindow::ConfigureGraphicsWindow( const VideoModeParams &p ) { } - -/* - * (c) 2004 Glenn Maynard, Renaud Lepage - * 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/archutils/Xbox/GraphicsWindow.h b/src/archutils/Xbox/GraphicsWindow.h deleted file mode 100644 index fa1ada8ba0..0000000000 --- a/src/archutils/Xbox/GraphicsWindow.h +++ /dev/null @@ -1,47 +0,0 @@ -#if !defined(GRAPHICS_WINDOW_H) -#define GRAPHICS_WINDOW_H - -#pragma once - -class VideoModeParams; - -namespace GraphicsWindow -{ - void Initialize( bool bD3D ); - void Shutdown(); - void SetVideoModeParams( const VideoModeParams &p ); - RString SetScreenMode( const VideoModeParams &p ); - void CreateGraphicsWindow( const VideoModeParams &p ); - void RecreateGraphicsWindow( const VideoModeParams &p ); - void DestroyGraphicsWindow(); - void ConfigureGraphicsWindow( const VideoModeParams &p ); - const VideoModeParams &GetParams(); - void Update(); -}; - -#endif - -/* - * (c) 2004 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/archutils/Xbox/VirtualMemory.cpp b/src/archutils/Xbox/VirtualMemory.cpp deleted file mode 100644 index f302989e91..0000000000 --- a/src/archutils/Xbox/VirtualMemory.cpp +++ /dev/null @@ -1,644 +0,0 @@ -/* This handles manual paging. It's primarily intended for the Xbox, but works - * in Windows as well; it can be enabled for debugging. */ - -#include "global.h" -#include "VirtualMemory.h" -#include "RageLog.h" -#include "Preference.h" -#include - -#if defined(WINDOWS) -#define PAGE_FILE_PATH "StepMania pagefile.dat" -#else -#define PAGE_FILE_PATH "Z:\\xxpagefile.sys" -#endif - -VirtualMemoryManager vmem_Manager; - -static Preference g_bEnableVirtualMemory( "EnableVirtualMemory", true ); -// page file size in megabytes -static Preference g_iPageFileSize( "PageFileSize", 384 ); -// page size in kilobytes -static Preference g_iPageSize( "PageSize", 16 ); -// threshold in kilobytes where virtual memory will be used -static Preference g_iPageThreshold( "PageThreshold", 8 ); -// (under debug) log the virtual memory allocation, etc. -static Preference g_bLogVirtualMemory( "LogVirtualMemory", false ); - -struct vm_page -{ - DWORD startAddress; // start address for this page - unsigned long headPage; // 0 if not allocated. Otherwise, the index of the first page - // of this segment. - bool committed; // true if this page is committed to RAM (is otherwise in the page file) - bool locked; // true if this page should not be decommitted - int pageFaults; // number of times this page has been accessed when it wasn't committed - unsigned long sizeInPages; // size of the data segment in pages. - size_t sizeInBytes; // size of the data segment in bytes. -}; - -VirtualMemoryManager::VirtualMemoryManager(): - vmemMutex("VirtualMemory") -{ - pages = 0; - pageLRU = -1; - inited = false; -} - -VirtualMemoryManager::~VirtualMemoryManager() -{ - Destroy(); -} - -bool VirtualMemoryManager::Init() -{ - if( !g_bEnableVirtualMemory ) - return true; - unsigned long totalPageSize = 1024 * 1024 * g_iPageFileSize; - unsigned long sizePerPage = 1024 * g_iPageSize; - unsigned long thold = 1024 * g_iPageThreshold; - - threshold = thold; - - totalPages = totalPageSize / sizePerPage; - pageSize = sizePerPage; - - if(totalPageSize % sizePerPage != 0) - totalPageSize = sizePerPage * totalPages; - - // initialise the pages array - // bypass the overridden new by using HeapAlloc - pages = (vm_page*)HeapAlloc(GetProcessHeap(), 0, totalPages * sizeof(vm_page)); - - if(pages == NULL) - return false; - - // create the page file on Z drive - vmemFile = CreateFile( PAGE_FILE_PATH, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); - - if(vmemFile == INVALID_HANDLE_VALUE) - return false; - - // set the file size - // find the current file size - unsigned long fileSize = SetFilePointer(vmemFile, 0, 0, FILE_END); - if(fileSize == INVALID_SET_FILE_POINTER) - return false; - - if(fileSize < totalPageSize) - { - fileSize = SetFilePointer(vmemFile, totalPageSize, 0, FILE_BEGIN); - if(fileSize == INVALID_SET_FILE_POINTER) - return false; - } - - // Reserve the virtual memory and get the base address - baseAddress = (DWORD)VirtualAlloc(NULL, totalPageSize, MEM_RESERVE, PAGE_NOACCESS); - - if(baseAddress == NULL) - return false; - - // initialise the page array - for(unsigned long i = 0; i < totalPages; i++) - { - pages[i].startAddress = baseAddress + (i * pageSize); - pages[i].headPage = -1; - pages[i].committed = false; - pages[i].sizeInPages = 0; - pages[i].sizeInBytes = 0; - pages[i].pageFaults = 0; - pages[i].locked = false; - } - - SetLogging( g_bLogVirtualMemory ); - - inited = true; - return true; -} - -void VirtualMemoryManager::Destroy() -{ - if(pages != 0) - { - VirtualFree((LPVOID)baseAddress, 0, MEM_RELEASE); - HeapFree(GetProcessHeap(), 0, pages); - CloseHandle(vmemFile); - } -} - -void* VirtualMemoryManager::Allocate(size_t size) -{ - if(!inited) - return NULL; - - LockMut(vmemMutex); - - unsigned long startPage = -1; - unsigned long freeSegments = 0; - unsigned long sizeInPages = (size / pageSize) + 1; - - if(size % pageSize == 0) - sizeInPages--; - - // find a contiguous group of pages that will fit the data - for(unsigned long i = 0; i < totalPages; i++) - { - if(pages[i].sizeInPages != 0) - { - startPage = -1; - freeSegments = 0; - i += pages[i].sizeInPages - 1; // go to next page segment - } - else - { - if(startPage == -1) - { - startPage = i; - freeSegments = 1; - } - else - freeSegments++; - - if(sizeInPages == freeSegments) - { - if(LOG && logging) - LOG->Trace("Allocating pages %u to %u", startPage, startPage + freeSegments - 1); - - // commit this to memory - DWORD ret = (DWORD)VirtualAlloc((LPVOID)pages[startPage].startAddress, size, MEM_COMMIT, PAGE_READWRITE); - while(ret == NULL) - { - bool swappedOut = DecommitLRU(); - - if(!swappedOut) - { - if(LOG) - LOG->Trace("VMem error: out of memory with no pages to swap out left"); - return NULL; - } - - ret = (DWORD)VirtualAlloc((LPVOID)pages[startPage].startAddress, size, MEM_COMMIT, PAGE_READWRITE); - } - - pageLRU = (startPage + sizeInPages) % totalPages; - for(unsigned long j = startPage; j < startPage + freeSegments; j++) - { - pages[j].headPage = startPage; - pages[j].pageFaults = 0; - pages[j].sizeInPages = freeSegments; - pages[j].sizeInBytes = size; - pages[j].committed = true; - pages[i].locked = false; - } - - return (void*) ret; - } - } - } - - if(LOG) - LOG->Trace("VMem error: Couldn't find contiguous group of pages to allocate"); - - return NULL; -} - -bool VirtualMemoryManager::Free(void *ptr) -{ - if(!inited) - return false; - - LockMut(vmemMutex); - - // check that the address is within the virtual address bounds - if((DWORD)ptr < baseAddress || (DWORD)ptr >= baseAddress + (totalPages * pageSize)) - { - return false; - } - - // find the page(s) to free - DWORD offset = (DWORD)ptr - baseAddress; - unsigned long pageIndex = offset / pageSize; - - if(pages[pageIndex].headPage == -1) - { - return false; - } - - pageIndex = pages[pageIndex].headPage; - ptr = (void *)pages[pageIndex].startAddress; - - unsigned long endPage = pageIndex + pages[pageIndex].sizeInPages; - unsigned long size = pages[pageIndex].sizeInBytes; - - if(size == 0) - { - return false; // trying to free unallocated memory - } - - if(LOG && logging) - LOG->Trace("Freeing pages %u to %u", pageIndex, endPage - 1); - - if(pages[pageIndex].committed) - VirtualFree(ptr, size, MEM_DECOMMIT); - - for(unsigned long i = pageIndex; i < endPage; i++) - { - pages[i].headPage = -1; - pages[i].committed = false; - pages[i].pageFaults = 0; - pages[i].sizeInBytes = 0; - pages[i].sizeInPages = 0; - pages[i].locked = false; - } - - return true; -} - -bool VirtualMemoryManager::PageFault(void *ptr) -{ - if(!inited) - return false; - - LockMut(vmemMutex); - - // check that the address is within the virtual address bounds - if((DWORD)ptr < baseAddress || (DWORD)ptr >= baseAddress + (totalPages * pageSize)) - { - if(LOG) - { - LOG->Trace("Vmem error: Page fault outside virtual memory bounds"); - LOG->Trace("Address: %u, bounds: %u to %u", (DWORD)ptr, baseAddress, baseAddress + (totalPages * pageSize)); - } - return false; - } - - // find the page segment that the fault occurred - unsigned long offset = (DWORD)ptr - baseAddress; - unsigned long pageIndex = offset / pageSize; - - - unsigned long startPage = pages[pageIndex].headPage; - if(startPage == -1) - { - if(LOG) - LOG->Trace("VMem error: Trying to access memory that wasn't allocated"); - // trying to access memory that wasn't allocated - return false; - } - - if(pages[startPage].committed) - { - if(LOG && logging) - LOG->Trace("Pages appear to be committed already. Doing nothing..."); - return true; - } - - pageLRU = (startPage + pages[startPage].sizeInPages) % totalPages; - - if(LOG && logging) - LOG->Trace("Reallocating pages %u to %u", startPage, startPage + pages[startPage].sizeInPages - 1); - - DWORD ret = (DWORD)VirtualAlloc((LPVOID)pages[startPage].startAddress, pages[startPage].sizeInBytes, MEM_COMMIT, PAGE_READWRITE); - - while(ret == NULL) - { - bool swappedOut = DecommitLRU(); - if(!swappedOut) - { - if(LOG) - LOG->Trace("VMem error: no pages left to swap out while reallocating"); - - return false; - } - - ret = (DWORD)VirtualAlloc((LPVOID)pages[startPage].startAddress, pages[startPage].sizeInBytes, MEM_COMMIT, PAGE_READWRITE); - } - - for(unsigned long i = startPage; i < startPage + pages[startPage].sizeInPages; i++) - { - pages[i].committed = true; - pages[i].pageFaults++; - } - - DWORD numRead; - - SetFilePointer(vmemFile, pages[startPage].startAddress - baseAddress, 0, FILE_BEGIN); - ReadFile(vmemFile, (void *)pages[startPage].startAddress, pages[startPage].sizeInBytes, &numRead, NULL); - - return true; -} - -bool VirtualMemoryManager::DecommitLRU() -{ - if(!inited) - return false; - - LockMut(vmemMutex); - - // choose random LRU - pageLRU = rand() % totalPages; - - for(unsigned long i = 0; i < totalPages; i++) - { - unsigned long index = (pageLRU + i) % totalPages; - - if(index == 0) - index++; - - if(pages[index].headPage == index && pages[index].committed && !pages[index].locked) // this is a head page - { - DWORD addr = pages[index].startAddress; - unsigned long size = pages[index].sizeInPages; - - // decommit this page - // write to the page file - if(SetFilePointer(vmemFile, addr - baseAddress, 0, FILE_BEGIN) == INVALID_SET_FILE_POINTER) - { - if(LOG) - LOG->Trace("Vmem error: could not write to page file"); - return false; - } - - DWORD written; - - WriteFile(vmemFile, (LPCVOID)addr, pages[index].sizeInBytes, &written, NULL); - - // reset the page data - if(LOG && logging) - LOG->Trace("Swapping out pages %i to %i", index, index + size - 1); - - for(unsigned long j = index; j < index + size; j++) - { - pages[j].committed = false; - } - - if(VirtualFree((LPVOID)addr, pages[index].sizeInBytes, MEM_DECOMMIT) == 0) - { - return false; - } - - pageLRU = (pageLRU + pages[index].sizeInPages) % totalPages; - - return true; - } - } - - return false; -} - -bool VirtualMemoryManager::EnsureFreeMemory(size_t size) -{ - if(!inited) - return false; - - LockMut(vmemMutex); - - MEMORYSTATUS ms; - GlobalMemoryStatus(&ms); - - while(ms.dwAvailPhys < size) - { - if(LOG && logging) - LOG->Trace("Freeing memory: need %i, have %i", size, ms.dwAvailPhys); - - if(!DecommitLRU()) - { - if(LOG) - LOG->Trace("VMem error: No pages left to free while reserving memory"); - return false; - } - } - - return true; -} - -void VirtualMemoryManager::Lock(void *ptr) -{ - if(!inited) - return; - - LockMut(vmemMutex); - - // check that the address is within the virtual address bounds - if((DWORD)ptr < baseAddress || (DWORD)ptr >= baseAddress + (totalPages * pageSize)) - { - return; - } - - // find the page(s) to free - DWORD offset = (DWORD)ptr - baseAddress; - unsigned long pageIndex = offset / pageSize; - - if(pages[pageIndex].headPage == -1) - { - return; - } - - pageIndex = pages[pageIndex].headPage; - - unsigned long endPage = pageIndex + pages[pageIndex].sizeInPages; - - if(!pages[pageIndex].committed) - { - if(!PageFault(ptr)) - return; - } - - for(unsigned long i = pageIndex; i < endPage; i++) - { - pages[i].locked = true; - } -} -void VirtualMemoryManager::Unlock(void *ptr) -{ - if(!inited) - return; - - LockMut(vmemMutex); - - // check that the address is within the virtual address bounds - if((DWORD)ptr < baseAddress || (DWORD)ptr >= baseAddress + (totalPages * pageSize)) - { - return; - } - - // find the page(s) to free - DWORD offset = (DWORD)ptr - baseAddress; - unsigned long pageIndex = offset / pageSize; - - if(pages[pageIndex].headPage == -1) - { - return; - } - - pageIndex = pages[pageIndex].headPage; - - unsigned long endPage = pageIndex + pages[pageIndex].sizeInPages; - - for(unsigned long i = pageIndex; i < endPage; i++) - { - pages[i].locked = false; - } -} - -void* operator new (size_t size) -{ - if(!vmem_Manager.IsValid()) - return HeapAlloc(GetProcessHeap(), 0, size); - - if(size > vmem_Manager.GetThreshold()) - return vmem_Manager.Allocate(size); - else - { - void *ret = HeapAlloc(GetProcessHeap(), 0, size); - while(ret == NULL) - { - if(!vmem_Manager.DecommitLRU()) - return NULL; - - ret = HeapAlloc(GetProcessHeap(), 0, size); - } - return ret; - } -} - -void* operator new[] (size_t size) -{ - if(!vmem_Manager.IsValid()) - return HeapAlloc(GetProcessHeap(), 0, size); - - if(size > vmem_Manager.GetThreshold()) - return vmem_Manager.Allocate(size); - else - { - void *ret = HeapAlloc(GetProcessHeap(), 0, size); - while(ret == NULL) - { - if(!vmem_Manager.DecommitLRU()) - return NULL; - - ret = HeapAlloc(GetProcessHeap(), 0, size); - } - return ret; - } -} - -void operator delete (void *p) -{ - if(vmem_Manager.IsValid()) - { - if(vmem_Manager.Free(p)) - return; - } - - HeapFree(GetProcessHeap(), 0, p); -} - -void operator delete[] (void *p) -{ - if(vmem_Manager.IsValid()) - { - if(vmem_Manager.Free(p)) - return; - } - - HeapFree(GetProcessHeap(), 0, p); -} - -void *valloc(size_t size) -{ - if(!vmem_Manager.IsValid()) - return HeapAlloc(GetProcessHeap(), 0, size); - - if(size > vmem_Manager.GetThreshold()) - return vmem_Manager.Allocate(size); - else - { - void *ret = HeapAlloc(GetProcessHeap(), 0, size); - while(ret == NULL) - { - if(!vmem_Manager.DecommitLRU()) - return NULL; - - ret = HeapAlloc(GetProcessHeap(), 0, size); - } - return ret; - } -} - -void vfree(void *ptr) -{ - if(vmem_Manager.IsValid()) - { - if(vmem_Manager.Free(ptr)) - return; - } - - HeapFree(GetProcessHeap(), 0, ptr); -} - -LONG _stdcall CheckPageFault(LPEXCEPTION_POINTERS e) -{ - if(LOG && e->ExceptionRecord->ExceptionCode != EXCEPTION_ACCESS_VIOLATION) - LOG->Trace("Exception: %u", e->ExceptionRecord->ExceptionCode); - - if (e->ExceptionRecord->ExceptionCode != EXCEPTION_ACCESS_VIOLATION) - return EXCEPTION_CONTINUE_SEARCH; - - DWORD addr = (DWORD)e->ExceptionRecord->ExceptionInformation[1]; - - if(vmem_Manager.IsValid()) - { - if(LOG && vmem_Manager.IsLogging()) - LOG->Trace("Page fault"); - - if(vmem_Manager.PageFault((void *)addr)) - return EXCEPTION_CONTINUE_EXECUTION; - } - - return EXCEPTION_CONTINUE_SEARCH; -} - -int NoMemory(size_t size) -{ - if(LOG && vmem_Manager.IsLogging()) - LOG->Trace("Out of memory, freeing up some..."); - - if(vmem_Manager.DecommitLRU()) - { - if(LOG && vmem_Manager.IsLogging()) - LOG->Trace("Freed some memory, trying again"); - return 1; - } - else - { - if(LOG) - LOG->Trace("No memory left to free. Failed"); - return 0; - } -} - -/* - * (c) 2004 Ryan Dortmans - * 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. - */ \ No newline at end of file diff --git a/src/archutils/Xbox/VirtualMemory.h b/src/archutils/Xbox/VirtualMemory.h deleted file mode 100644 index 3d27a84b95..0000000000 --- a/src/archutils/Xbox/VirtualMemory.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef VIRTUAL_MEMORY_H -#define VIRTUAL_MEMORY_H - -#if defined(XBOX) -#include -#else -#include -#endif - -#include "RageThreads.h" - -struct vm_page; - -class VirtualMemoryManager -{ -public: - VirtualMemoryManager(); - ~VirtualMemoryManager(); - - bool Init(); - void Destroy(); - void* Allocate(size_t size); - bool Free(void *ptr); - bool PageFault(void *ptr); - bool DecommitLRU(); - bool EnsureFreeMemory(size_t size); - void Lock(void *ptr); - void Unlock(void *ptr); - void SetLogging(bool l) { logging = l; } - - bool IsValid() { return inited; } - bool IsLogging() { return logging; } - unsigned long GetThreshold() { return threshold; } - -protected: - vm_page *pages; - HANDLE vmemFile; - DWORD baseAddress; - unsigned long totalPages; - unsigned long pageSize; - unsigned long threshold; - unsigned long pageLRU; - - bool inited; - bool logging; - - // mutex to make sure pages aren't allocated/deallocated concurrently - RageMutex vmemMutex; -}; - -void *valloc(size_t size); -void vfree(void *ptr); - -//#define malloc(size) valloc(size) -//#define free(memblock) vfree(memblock) - -extern VirtualMemoryManager vmem_Manager; - -LONG _stdcall CheckPageFault(LPEXCEPTION_POINTERS e); -int NoMemory(size_t size); - -#endif - -/* - * (c) 2004 Ryan Dortmans - * 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. - */ \ No newline at end of file diff --git a/src/archutils/Xbox/arch_setup.cpp b/src/archutils/Xbox/arch_setup.cpp deleted file mode 100644 index 017e1909b5..0000000000 --- a/src/archutils/Xbox/arch_setup.cpp +++ /dev/null @@ -1,58 +0,0 @@ -#include "global.h" - -#undef main -void __cdecl main() -{ - int argc = 1; - char def[] = "default.xbe"; - char *argv[] = { def }; - int ret=SM_main( argc, argv ); -} - -#ifndef _DEBUG -//release xbox libs doesnt have these functions -FILE * __cdecl _popen(const char *, const char *) -{ - return NULL; -} - -int __cdecl _pclose(FILE *) -{ - return -1; -} - -char *getenv(const char *) -{ - return NULL; -} - -int __cdecl system(const char *) -{ - return -1; -} -#endif - -/* - * (c) 2006 Chris - * 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/archutils/Xbox/arch_setup.h b/src/archutils/Xbox/arch_setup.h deleted file mode 100644 index 4fc285b866..0000000000 --- a/src/archutils/Xbox/arch_setup.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef ARCH_SETUP_XBOX_H -#define ARCH_SETUP_XBOX_H - -#include -#include -#include - -#if defined(_XDBG) -#include -#define IsDebuggerPresent() DmIsDebuggerPresent() -#endif - -// Xbox base path -#define SYS_BASE_PATH "D:\\" - -#define SUPPORT_D3D - -/* Stubs: */ -inline HRESULT CoInitialize( LPVOID pvReserved ) { return S_OK; } -inline void CoUninitialize() { } - -extern "C" int SM_main( int argc, char *argv[] ); -#define main(x,y) SM_main(x,y) - -#endif diff --git a/src/archutils/Xbox/custom_launch_params.cpp b/src/archutils/Xbox/custom_launch_params.cpp deleted file mode 100644 index 47716d2ca0..0000000000 --- a/src/archutils/Xbox/custom_launch_params.cpp +++ /dev/null @@ -1,66 +0,0 @@ -#include -#include -#include "custom_launch_params.h" - -CUSTOM_LAUNCH_DATA g_launchData ; -int g_autoLaunchGame ; -int g_launchReturnXBE ; - -//XGetCustomLaunchData -// -//If there is a valid filename to load, then g_autoLaunchGame will be set to 1 -//If there is a valid return XBE, then g_launchReturnXBE will be set to 1 -int XGetCustomLaunchData() -{ - DWORD launchType; - - g_autoLaunchGame = 0 ; - g_launchReturnXBE = 0 ; - - memset( &g_launchData, 0, sizeof( CUSTOM_LAUNCH_DATA ) ) ; - - - if ( ( XGetLaunchInfo( &launchType,(PLAUNCH_DATA)&g_launchData) == ERROR_SUCCESS ) ) - { - if ( ( launchType == LDT_TITLE ) && ( g_launchData.magic == CUSTOM_LAUNCH_MAGIC ) ) - { - if ( g_launchData.szFilename[0] ) - g_autoLaunchGame = 1 ; - - if ( g_launchData.szLaunchXBEOnExit[0] ) - g_launchReturnXBE = 1 ; - - return 1 ; - } - } - - return 0 ; -} - -void XReturnToLaunchingXBE( ) -{ - if ( g_launchReturnXBE ) - { - LD_LAUNCH_DASHBOARD LaunchData = { XLD_LAUNCH_DASHBOARD_MAIN_MENU }; - } - else - { - LD_LAUNCH_DASHBOARD LaunchData = { XLD_LAUNCH_DASHBOARD_MAIN_MENU }; - - XLaunchNewImage( NULL, (LAUNCH_DATA*)&LaunchData ); - } -} - -#ifdef __cplusplus -extern "C" { -#endif - -void doReturn() -{ - XGetCustomLaunchData(); - XReturnToLaunchingXBE( ); -} - -#ifdef __cplusplus -} -#endif diff --git a/src/archutils/Xbox/custom_launch_params.h b/src/archutils/Xbox/custom_launch_params.h deleted file mode 100644 index 196c9ea6df..0000000000 --- a/src/archutils/Xbox/custom_launch_params.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef CUSTOM_LAUNCH_PARAMS_H -#define CUSTOM_LAUNCH_PARAMS_H - -#include - - -#define CUSTOM_LAUNCH_MAGIC 0xEE456777 - -#define COUNTRY_TYPE_AUTODETECT 0 -#define COUNTRY_TYPE_USA 1 -#define COUNTRY_TYPE_JAPAN 2 -#define COUNTRY_TYPE_EUROPE 3 -#define COUNTRY_TYPE_OTHER 4 - -typedef struct _CUSTOM_LAUNCH_DATA -{ - DWORD magic ; //populate this with CUSTOM_LAUNCH_MAGIC so we know we are using this special structure - char szFilename[300] ; //this is the path to the game to load upon startup - char szLaunchXBEOnExit[100] ; //this is the XBE name that should be launched when exiting the emu ( "FILE.XBE" ) - char szRemap_D_As[350] ; //this is what D drive should be mapped to in order to launch the XBE specified in szLaunchXBEOnExit ( "\\Device\\Harddisk0\\Partition1\\GAMES" ) - BYTE country ; //country code to use - BYTE launchInsertedMedia ; //should we auto-run the inserted CD/DVD ? - BYTE executionType ; //generic variable that determines how the emulator is run - for example, if you wish to run FMSXBOX as MSX1 or MSX2 or MSX2+ - char reserved[MAX_LAUNCH_DATA_SIZE-757] ; //MAX_LAUNCH_DATA_SIZE is 3KB - -} CUSTOM_LAUNCH_DATA, *PCUSTOM_LAUNCH_DATA; - -extern CUSTOM_LAUNCH_DATA g_launchData ; -extern int g_autoLaunchGame ; -extern int g_launchReturnXBE ; - - -int XGetCustomLaunchData() ; -void XReturnToLaunchingXBE( ); - -#endif diff --git a/src/archutils/Xbox/saveblue.XBX b/src/archutils/Xbox/saveblue.XBX deleted file mode 100644 index 3756c0c380f6412e889d152fb519008c2067f343..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18432 zcmeI336xgFvBxoSH=Aa0H!ewxMx%LdxUnw-vIiU^AVg6XNkkMy5i{UJW%U6%Aj2Yv z@Q{EYiYy5rC?LqN4v2sWvIssE6cqub^84Sp{pC{J;bUBqcXH@+YO1Tcx^8!U)qSh$ z_S{gf!Np~A%9JT{beS@Tl{uVBaXIhE-yf-(QN|rAhb(Z&0*5Sc$O4BfaL5AxQ5N9! zu6O*u1qd%Te3fU@zbM&X;Yw*C**{rFPw!Y)iv#IYA4*cD0D8=U`W$TA8E2dk&F9D? zkF;~oJ=flN;|&`+bSRIE%ig_F`^hJtY~#m|kC<0pd8JjVR4GUlKK|J3op*}y zhaZ})Txs^&Yii%;w`XkEC&!m;hkrq`t)%){XPp&|>*beUj&P7W{P4r=$tRyI9+Unu zehSTH#>99ZdG!nYfP=0iu3Wit)GseDPx5Blw-@8(%On1KAKuIsOCv~#D~=FMiSR+&whP)sjgY_?*B*)z|WJ@u4X{ra}IVME*Y;~$$97AinC zyZdf4#$mmBncZ`b?fK;|?X%NQw~tRb#oj;qXnW_|-?mMM9cJ%>w|?tewvo9BZ0uOG zcJ0ji^s(L5s@e84&$Nx$>7DO<$Nq-Ab?9I_F2308=9_IBKCm8NSVOGegTyjZf zx~b!rUuwRZLl}QdtFQWmB3mZ)MLwOFZ`5D5z3@V#h5)){9}$eCc>&m zh4)e7Jr?PO@AXIT)WA<-^zZ`PPd<9a2`8Lj8#iu@>NRTA$UIliP6KPyDB4#I*^hqy zb6dk+UBsTc_PgJ;73|eJTDP|C7hY%|v-hmx-MWrFe+4qDe)cn4@xve53iJw=#^CA2 zte-_{!v>4k*HsrRgug)hJ7wMA!4cMH=tzjo3|R(SmJmQSCN#0yKm_dQ#3+;R42*79@21rvMpum|FJ;ET^cw^qDEnz7cm zzx%FjTC+wv_OX9yX~uPx#-@IuE;@kM2S17-JpbQChjAux?b@|7<4^Dl67@{`ph1He zdNg@E;)o-ny8b98JOBLiGjeHt#iQ(Fe|RPOy_Xdo^v3n*w}^QeJJa^)WHbK73IuS%PyqoY)I2O z`=WGRb=6hj(HXq=gAX!wRrYS%7J>Hi9mG#-diKn;SEx`SQ_oc1doNRsD$<9JUG)77 z*hK%&IVWu8{rBnY*|wo;S6iNwV>9?I<`J_`R@~paw=KB(YMaOSCSmW%yjLc$_x~Aq zR_h;~JJIziWBNOL_1nN4-ZQg+vB<82{tNXfzzFD3z%cq208i5YIduLn^^w2`=ut7K zE*KJnWCfna=GxbKCu}b|b+1dvB=PyP*SNHL+;@9MPAQP`*qkZDvIDYl< zujmrvU-eP!8{*%E3pE};Ur+BhW@iU4@96{f_wl~wo{Z-+@qUQcL;NoqoA~~o&h+>8 z3pBB-&a0XD)zLm)^|bnamHs|n_4FEiR`89*{~AB%mCXF(^NeVnf&6?u9nK5kyp*J+ z!^?Zx&)3u6^!!u&zdd^$?0?2^2dYapAzu*afJ^ABH4?20`D=2$pGp2hZ7MIm_+s&S zSNSTP{a=06?2}KTwkRLK`#k8m;)*LW^}q{yrc9Y)raS_rPMta#{RPC>lxY0faICXM zHo4NaC&wDsqnv1{r?l@g&uq`5e>7(4NtKnqckCGX|1QoDrW_jYv%Q>otYXE;f0eUR zu1fG8vBrnQ8LDsQonr$An9ZDNcH@m^x87>T86ztB`DUE+cCm(xch|ebBcBk5DMz+b zZNwj2c`tf@_jES@-@q8Q5;H0PwVrYAR0xEycd;AQ~$NZLt+2ei0o!!s<#-= zI$|lELu1=mvu4fqv2Eb5BhLDC(V}Qt#}Pk?FP{?jfKcR5@T0Zh+eJ$z;I-}B+iqgB z`NSWar%#Wban3pCMEFK*I)#{O2|35{oK5G)XN`{hUMihCci!*$@$=fpctea!lFNF2 zUBq|=-&FiR7u|w6{6@3mx@gq}GvUtwPX|u}t1eJo5c&ssPkVV!`*_{c|El?a+41}N zdfLy|(=TDy$=Goc_<6AE0@VfMV^FLr@U)lrw3qkvD0B)&#NcTkuX@_cd)mu;+K<=M ze!QOc@}Bncp7!JQv>&ghy}YNryr;dtd%Cp#znbq7tH_b91g`-5{>$JmfnNw-1fI+9 zF8I3qe<6Aopm!d4F4+6~9QbqK&jil|k7Zwdjs11pFMeSQhYyeT)ed?mQtsxPPT-GK z`-l-4erV6Ozh-M66YCvSg8q>)e|QP)+4N^?_x|c>@2{Tr^3$>FbnN;Pcna9dPlEpf z{O7gF+abA_H6de*8X^` zw=Z}>ihuQnKOcV27ze)#IGg@#?dXZ(mH#BnoX-HFT&U(1*HiPKY4b*2vc7*r!!I$G zI@q?an*XX^y}DgZ?5v_^=8$s|__D|4zjnX>z6svtEVY&Isq-IwG*TfoX&~L64===) zU)m1k%9XPd$zg8Yx^*A@=+4tKlc48|4mjE7>t~;RHlOJEMjw|i_UwstwQ18P!lOrz zj#@tA`;f}pbLU3hz?WU*`jX`{Y$w=E?qnnOn?-JJH!@qOzXR`8@_}=)=|H|| zKf#%&Be}XcoTd8lTlImylQT&Npe<*XR={n{>oe{uY-Ajp_)X>x9B8x17xqN959g%T z-~YZ9jvQ&jnm4y84?k>O$sxAIZjI^Ng!9Yw#B6`y87-ij0Zq|&a}25reiuU{u)x!@ zq3%zFZ%fJfe&PJ*b7;Xf#`*!UjQM|oJw9UY+p)pQ?%i!Q^PS9mpJxsQ%yk94aoFQo z=zfefALzqadjOB}?9Z{^`{;TP9fjC$2|7n3I}+%D>_YkvqdpiNU7)+6von3~1Ma1N zA9xQ_?+WBW|91?k3p&LhS%IgAp>F_v`vZMxeSOuQ;@}Bncp7!JQv>&gh zy}YNryyyq;n~uQ!oR>RezYfg39q>om?utQmL7N!ls{&7Zc~5(JPkVp$wD(s}dwEZL zdC@mAcdeZpn7<#dr~P@?u5PvxR38ycL8nr7X1h4cGPbt?{FJ* zYoHE!huW;;n&dz<-dpH<6VM#lTY*-{-U2j7wh44I`Zob`p&J9$>0cSBs{VZYy^eYf zpgP}nbBGg`v6hyT+g2%04rB@IYmstiaap=_sTCC!*{Qnkk!63))~@|yKKg}UfBp67 z3Cnb+i87D;n)s8r4nwEt-je0j_BrDZ%q~O71agh@Fzh{V%%!HN2-$Bt41!a3i+!_jJ+y3 zuqw*OIr|oyCiA|{n(qvDJphh!P_f?q@=dOpqc#etIENe8qdux9X~|{*#jlw)L%j&t;QiIp-d{!6#ILFWIry988&IzU z)Prsad6KUHBJl*gu5;I9?wcPV@4`QSR&UTZn%yArxAa4qYhJm0aG@NI0dzK>C^WNoRw zO!qY7vTWHh6KMZyME^?kt$@Dr*}w)SmQaJeJ0%b4RX3i66&SJkLTvn<)41h8~T4@P+f2_ zb7)w#s=YdEmTe^uUC^(eeHiY~YH)GU`9k)Z$eyil!XNC{rH32*MO&@ zqealeW3%~xo@6M!gKQcO`qFSW?33iD_3w_1K(Yc)r}g>&#Pjj0r+vICx;N{!JJ5r* zD*1fs{eb?^`K;r7a6k6Dp6mgAsP|<(_oCjFwbq4rTj!dl+-<3c?4SYA#TZwf!gPrqmm=hU>GR)Z<>>a-Buu_(wd|SH<6N zu)Qh%5$F!x0N(Q&ub%lB&xpp)SRTihAE&J&`kr8a{~JC&jrYS7jK4o^BROm4^Xyl?+S~tSse*r`XNVcoL;>YFaSAXRNf}F7Q zCFz5yC-tYvC)@S>zsGrjx4AMp>J7j%Zu*&*%x zuk(Y>JUZ(%0{ioj_g7DQfAzGNAH=#JLd=;D9t8ICec?X=zc;uq*!!!e<+}p;Zkqpk z`R?fLgWhi79$?=;4}LfJoxxqfkFr0^Bfr`W{Ax=6wJZEr;OBwoq_n5`S7~?;qIWiW zJAq$L(ccmNEchM3GgI12^Q<&kf8O3-Htw{lAAl1%7khbuXo~m*!btRdz7(%~OE%s9uu3u)pg5PMXX}-e=YNN2o$RdRHqcgvFjN=UiEaEe&xnf_ys9EZNFB?do|!eykBo;UsXP!b^LxS95W_r zFXGNeU;ba9CGW`Y+(Eq!tn-e}Kp|fc)uBT^pe}xXrpI?bln=O# zbIf1)Up3_esuG*4Xza>YC?7B&ju&?C+GP!hqmuaopAWd6_jg_17Xu%9D9RToA5fJT zCdvnJ-th6Nr}gLqf#fx|I96`qZS4EfzE3{DxBshYKi=?vDdIOL@9x_@&3J7-XQvGt zbZyJ*KK@^%B4C(uD} zHk=}_e83p*ub%e)>glAsasavbdvkoO5&0>ai z&*!W5%Ll~ys%rF6zN#{LfhzPZPhI%{*Bh6kv7Pc#>Z_vtav^6J@w4a)?a6PKftSIkL`|^|{f6H_ z`KqbpXqB(Jh&`bJxz1O()3-(c2OF2%+}tQ%6=;1gQ@&zw|Ni^s3zW-HK0tTnp67pT z%a<>odG? diff --git a/src/archutils/Xbox/savered.XBX b/src/archutils/Xbox/savered.XBX deleted file mode 100644 index 77d5f92e09680fbe8e20d30e44870bd8b74d2a07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18432 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 vLuQU4OdVm1A6+I+MH`$#flZp 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 B?;-#I diff --git a/src/crypto/CryptNoise.cpp b/src/crypto/CryptNoise.cpp index 4db065d162..f65cbe1810 100644 --- a/src/crypto/CryptNoise.cpp +++ b/src/crypto/CryptNoise.cpp @@ -5,16 +5,7 @@ #include "global.h" -#if defined(_XBOX) -void noise_get_heavy(void (*func) (void *, int)) -{ -} - -void noise_get_light(void (*func) (void *, int)) -{ -} - -#elif defined(_WINDOWS) +#if defined(_WINDOWS) #define _WIN32_WINNT 0x0400 // VC6 header needs this defined. #include #include diff --git a/src/ezsockets.cpp b/src/ezsockets.cpp index 188074b6fd..5b3bc56423 100644 --- a/src/ezsockets.cpp +++ b/src/ezsockets.cpp @@ -10,9 +10,9 @@ #include "ezsockets.h" -#if defined(_MSC_VER) && !defined(_XBOX) // We need the WinSock32 Library on Windows +#if defined(_MSC_VER) // We need the WinSock32 Library on Windows #pragma comment(lib,"wsock32.lib") -#elif !defined(__MINGW32__) && !defined(_XBOX) +#elif !defined(__MINGW32__) #include #include #include @@ -38,7 +38,7 @@ EzSockets::EzSockets() MAXCON = 5; memset (&addr,0,sizeof(addr)); //Clear the sockaddr_in structure -#if defined(_WINDOWS) || defined(_XBOX) // Windows REQUIRES WinSock Startup +#if defined(_WINDOWS) // Windows REQUIRES WinSock Startup WSAStartup( MAKEWORD(1,1), &wsda ); #endif @@ -61,11 +61,7 @@ EzSockets::~EzSockets() //Check to see if the socket has been created bool EzSockets::check() { -#if !defined(XBOX) return sock > SOCKET_NONE; -#else - return sock != INVALID_SOCKET; -#endif } bool EzSockets::create() @@ -82,13 +78,7 @@ bool EzSockets::create(int Protocol) case IPPROTO_UDP: return create(IPPROTO_UDP, SOCK_DGRAM); default: - /* XBOX does not support raw sockets. So, since there's no need, - we aren't going to allow it on the XBOX. */ -#if defined(_XBOX) - return false; -#else return create(Protocol, SOCK_RAW); -#endif } } @@ -97,14 +87,9 @@ bool EzSockets::create(int Protocol, int Type) state = skDISCONNECTED; sock = socket(AF_INET, Type, Protocol); lastCode = sock; -#if !defined(XBOX) - return sock > SOCKET_NONE; //Socket must be Greater than 0 -#else - return sock != INVALID_SOCKET; -#endif + return sock > SOCKET_NONE; // Socket must be Greater than 0 } - bool EzSockets::bind(unsigned short port) { if(!check()) @@ -184,32 +169,12 @@ bool EzSockets::connect(const std::string& host, unsigned short port) if(!check()) return false; -#if defined(_XBOX) - if(!isdigit(host[0])) // don't do a DNS lookup for an IP address - { - XNDNS *pxndns = NULL; - XNetDnsLookup(host.c_str(), NULL, &pxndns); - while (pxndns->iStatus == WSAEINPROGRESS) - { - // Do something else while lookup is in progress - } - - if (pxndns->iStatus == 0) - memcpy(&addr.sin_addr, &pxndns->aina[0], sizeof(struct in_addr)); - else - return false; - - XNetDnsRelease(pxndns); - } - else - addr.sin_addr.s_addr = inet_addr(host.c_str()); -#else struct hostent* phe; phe = gethostbyname(host.c_str()); if (phe == NULL) return false; memcpy(&addr.sin_addr, phe->h_addr, sizeof(struct in_addr)); -#endif + addr.sin_family = AF_INET; addr.sin_port = htons(port); @@ -266,7 +231,7 @@ void EzSockets::update() unsigned long EzSockets::LongFromAddrIn( const sockaddr_in & s ) { -#if defined(_XBOX) || defined(_WINDOWS) +#if defined(_WINDOWS) return ntohl(s.sin_addr.S_un.S_addr); #else return ntohl(s.sin_addr.s_addr); diff --git a/src/ezsockets.h b/src/ezsockets.h index 7c8893b84b..6e90313d67 100644 --- a/src/ezsockets.h +++ b/src/ezsockets.h @@ -19,15 +19,7 @@ #include #include -#if defined(_XBOX) -/* - * Summary : WinsockX is bad, XTL is good. - * Explained : WinsockX may rely on some declares that are present in XTL. - * Also, using XTL includes some files maybe needed for other operations - * on Xbox. - */ -#include -#elif defined(_WINDOWS) +#if defined(_WINDOWS) #include #else #include @@ -132,8 +124,8 @@ public: private: - // Only necessary for Windows and Xbox -#if defined(_WINDOWS) || defined(_XBOX) + // Only necessary for Windows +#if defined(_WINDOWS) WSADATA wsda; #endif diff --git a/src/global.cpp b/src/global.cpp index 946261b850..be38a84929 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -10,7 +10,6 @@ # include "archutils/Darwin/Crash.h" using CrashHandler::IsDebuggerPresent; using CrashHandler::DebugBreak; -#elif defined(XBOX) #else # include #endif diff --git a/src/libjpeg/jmorecfg.h b/src/libjpeg/jmorecfg.h index 93ccd1f84f..68a250c624 100644 --- a/src/libjpeg/jmorecfg.h +++ b/src/libjpeg/jmorecfg.h @@ -187,7 +187,7 @@ typedef unsigned int JDIMENSION; /* a function referenced thru EXTERNs: */ #define GLOBAL(type) type /* a reference to a GLOBAL function: */ -#if defined(WIN32) && !defined(XBOX) +#if defined(WIN32) # ifdef BUILDING_JPEG_DLL # define DLLIMPORT __declspec (dllexport) # else diff --git a/src/lua-5.1/src/luaconf.h b/src/lua-5.1/src/luaconf.h index 0ca4825551..732ac082de 100644 --- a/src/lua-5.1/src/luaconf.h +++ b/src/lua-5.1/src/luaconf.h @@ -700,11 +700,10 @@ union luai_Cast { double l_d; long l_l; }; #define LUA_DL_DLOPEN #endif -#if defined(LUA_WIN) && !defined(XBOX) +#if defined(LUA_WIN) #define LUA_DL_DLL #endif - /* @@ LUAI_EXTRASPACE allows you to add user-specific data in a lua_State @* (the data goes just *before* the lua_State pointer). diff --git a/src/sm-ssc_Xbox-net2003.sln b/src/sm-ssc_Xbox-net2003.sln deleted file mode 100644 index 60286bddd7..0000000000 --- a/src/sm-ssc_Xbox-net2003.sln +++ /dev/null @@ -1,53 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StepMania", "StepManiaXbox-2003.vcproj", "{670745A6-106B-420D-A2A9-D4F89A23986E}" - ProjectSection(ProjectDependencies) = postProject - {15A6313B-3206-4847-87A2-62255F0B3837} = {15A6313B-3206-4847-87A2-62255F0B3837} - {00C33C79-1140-47B0-838B-109A61950513} = {00C33C79-1140-47B0-838B-109A61950513} - {CA22B79A-E8A9-4BFB-A297-42231F2213F2} = {CA22B79A-E8A9-4BFB-A297-42231F2213F2} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xboxmad", "mad-0.15.1b\xboxmad\xboxmad-2003.vcproj", "{CA22B79A-E8A9-4BFB-A297-42231F2213F2}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libtomcrypt", "libtomcrypt\libtomcryptXbox-net2003.vcproj", "{15A6313B-3206-4847-87A2-62255F0B3837}" - ProjectSection(ProjectDependencies) = postProject - {00C33C79-1140-47B0-838B-109A61950513} = {00C33C79-1140-47B0-838B-109A61950513} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libtommath", "libtommath\libtommathXbox-net2003.vcproj", "{00C33C79-1140-47B0-838B-109A61950513}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(DPCodeReviewSolutionGUID) = preSolution - DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} - EndGlobalSection - GlobalSection(SolutionConfiguration) = preSolution - Debug Xbox = Debug Xbox - Release Xbox = Release Xbox - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {670745A6-106B-420D-A2A9-D4F89A23986E}.Debug Xbox.ActiveCfg = Debug|Xbox - {670745A6-106B-420D-A2A9-D4F89A23986E}.Debug Xbox.Build.0 = Debug|Xbox - {670745A6-106B-420D-A2A9-D4F89A23986E}.Release Xbox.ActiveCfg = Release|Xbox - {670745A6-106B-420D-A2A9-D4F89A23986E}.Release Xbox.Build.0 = Release|Xbox - {CA22B79A-E8A9-4BFB-A297-42231F2213F2}.Debug Xbox.ActiveCfg = Debug|Xbox - {CA22B79A-E8A9-4BFB-A297-42231F2213F2}.Debug Xbox.Build.0 = Debug|Xbox - {CA22B79A-E8A9-4BFB-A297-42231F2213F2}.Release Xbox.ActiveCfg = Release|Xbox - {CA22B79A-E8A9-4BFB-A297-42231F2213F2}.Release Xbox.Build.0 = Release|Xbox - {15A6313B-3206-4847-87A2-62255F0B3837}.Debug Xbox.ActiveCfg = Debug|Xbox - {15A6313B-3206-4847-87A2-62255F0B3837}.Debug Xbox.Build.0 = Debug|Xbox - {15A6313B-3206-4847-87A2-62255F0B3837}.Release Xbox.ActiveCfg = Release|Xbox - {15A6313B-3206-4847-87A2-62255F0B3837}.Release Xbox.Build.0 = Release|Xbox - {00C33C79-1140-47B0-838B-109A61950513}.Debug Xbox.ActiveCfg = Debug|Xbox - {00C33C79-1140-47B0-838B-109A61950513}.Debug Xbox.Build.0 = Debug|Xbox - {00C33C79-1140-47B0-838B-109A61950513}.Release Xbox.ActiveCfg = Release|Xbox - {00C33C79-1140-47B0-838B-109A61950513}.Release Xbox.Build.0 = Release|Xbox - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - DPBuild = 5 - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal From 12872f0a50929b4defc5389ab3c0aa0c0252c755 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 19 Mar 2011 20:40:35 -0400 Subject: [PATCH 07/11] More effective fixes. Still no issues. Note: you will most likely end up recompiling the whole thing. --- src/AutoActor.h | 2 +- src/BitmapText.h | 2 +- src/CommonMetrics.h | 6 +-- src/Course.cpp | 3 ++ src/Course.h | 2 + src/GameCommand.h | 22 ++++++++- src/HighScore.h | 7 ++- src/InputEventPlus.h | 3 +- src/InputMapper.h | 2 +- src/InputQueue.h | 10 +++- src/MsdFile.h | 2 + src/NoteData.h | 2 + src/OptionRowHandler.h | 39 +++++++++++---- src/Profile.h | 50 +++++++++++++++++-- src/RageTexturePreloader.h | 3 +- src/RageUtil_CachedObject.h | 5 +- src/ScreenMiniMenu.h | 99 +++++++++++++++++++++++++++---------- src/ScreenTextEntry.h | 5 +- src/StyleUtil.h | 2 +- src/ThemeMetric.h | 5 +- src/TrailUtil.h | 3 +- 21 files changed, 214 insertions(+), 60 deletions(-) diff --git a/src/AutoActor.h b/src/AutoActor.h index c2223e6711..3ee95bec09 100644 --- a/src/AutoActor.h +++ b/src/AutoActor.h @@ -12,7 +12,7 @@ class XNode; class AutoActor { public: - AutoActor() { m_pActor = NULL; } + AutoActor(): m_pActor(NULL) {} ~AutoActor() { Unload(); } AutoActor( const AutoActor &cpy ); AutoActor &operator =( const AutoActor &cpy ); diff --git a/src/BitmapText.h b/src/BitmapText.h index 2647dda970..bc06c5c406 100644 --- a/src/BitmapText.h +++ b/src/BitmapText.h @@ -51,7 +51,7 @@ public: struct Attribute { - Attribute() : length(-1) { } + Attribute() : length(-1), glow() { } int length; RageColor diffuse[4]; RageColor glow; diff --git a/src/CommonMetrics.h b/src/CommonMetrics.h index f2e4e629c5..ba0529b361 100644 --- a/src/CommonMetrics.h +++ b/src/CommonMetrics.h @@ -11,7 +11,7 @@ class ThemeMetricDifficultiesToShow : public ThemeMetric { public: - ThemeMetricDifficultiesToShow() { } + ThemeMetricDifficultiesToShow(): m_v() { } ThemeMetricDifficultiesToShow( const RString& sGroup, const RString& sName ); void Read(); const vector &GetValue() const; @@ -21,7 +21,7 @@ private: class ThemeMetricCourseDifficultiesToShow : public ThemeMetric { public: - ThemeMetricCourseDifficultiesToShow() { } + ThemeMetricCourseDifficultiesToShow(): m_v() { } ThemeMetricCourseDifficultiesToShow( const RString& sGroup, const RString& sName ); void Read(); const vector &GetValue() const; @@ -31,7 +31,7 @@ private: class ThemeMetricStepsTypesToShow : public ThemeMetric { public: - ThemeMetricStepsTypesToShow() { } + ThemeMetricStepsTypesToShow(): m_v() { } ThemeMetricStepsTypesToShow( const RString& sGroup, const RString& sName ); void Read(); const vector &GetValue() const; diff --git a/src/Course.cpp b/src/Course.cpp index ce37abc628..dd39fdaa86 100644 --- a/src/Course.cpp +++ b/src/Course.cpp @@ -248,6 +248,9 @@ struct SortTrailEntry { TrailEntry entry; int SortMeter; + + SortTrailEntry(): entry(), SortMeter(0) {} + bool operator< ( const SortTrailEntry &rhs ) const { return SortMeter < rhs.SortMeter; } }; diff --git a/src/Course.h b/src/Course.h index 7ba37eb3f0..23c91e5630 100644 --- a/src/Course.h +++ b/src/Course.h @@ -189,6 +189,8 @@ public: { Trail trail; bool null; + + CacheData(): trail(), null(false) {} }; typedef map TrailCache_t; mutable TrailCache_t m_TrailCache; diff --git a/src/GameCommand.h b/src/GameCommand.h index f04f97da6f..8cd135dde4 100644 --- a/src/GameCommand.h +++ b/src/GameCommand.h @@ -22,7 +22,27 @@ struct lua_State; class GameCommand { public: - GameCommand() { Init(); } + GameCommand(): m_Commands(), m_sName(""), m_sText(""), + m_bInvalid(true), m_sInvalidReason(""), + m_iIndex(-1), m_MultiPlayer(MultiPlayer_Invalid), + m_pStyle(NULL), m_pm(PlayMode_Invalid), + m_dc(Difficulty_Invalid), + m_CourseDifficulty(Difficulty_Invalid), + m_sAnnouncer(""), m_sPreferredModifiers(""), + m_sStageModifiers(""), m_sScreen(""), m_LuaFunction(), + m_pSong(NULL), m_pSteps(NULL), m_pCourse(NULL), + m_pTrail(NULL), m_pCharacter(NULL), m_SetEnv(), + m_sSongGroup(""), m_SortOrder(SortOrder_Invalid), + m_sSoundPath(""), m_vsScreensToPrepare(), m_iWeightPounds(-1), + m_iGoalCalories(-1), m_GoalType(GoalType_Invalid), + m_sProfileID(""), m_sUrl(""), m_bUrlExits(true), + m_bInsertCredit(false), m_bClearCredits(false), + m_bStopMusic(false), m_bApplyDefaultOptions(false), + m_bFadeMusic(false), m_fMusicFadeOutVolume(-1), + m_fMusicFadeOutSeconds(-1), m_bApplyCommitsScreens(true) + { + m_LuaFunction.Unset(); + } void Init(); void Load( int iIndex, const Commands& cmds ); diff --git a/src/HighScore.h b/src/HighScore.h index c3f9b0f94c..3673c98e37 100644 --- a/src/HighScore.h +++ b/src/HighScore.h @@ -104,10 +104,9 @@ public: * @brief Set up the HighScore List with default values. * * This used to call Init(), but it's better to be explicit here. */ - HighScoreList(): HighGrade(Grade_NoData), iNumTimesPlayed(0) - { - vHighScores.clear(); - } + HighScoreList(): vHighScores(), HighGrade(Grade_NoData), + iNumTimesPlayed(0), dtLastPlayed() {} + void Init(); int GetNumTimesPlayed() const diff --git a/src/InputEventPlus.h b/src/InputEventPlus.h index 0907b55ed6..2ba00ae493 100644 --- a/src/InputEventPlus.h +++ b/src/InputEventPlus.h @@ -9,10 +9,11 @@ class InputEventPlus { public: InputEventPlus(): + DeviceI(), GameI(), type(IET_FIRST_PRESS), MenuI(GameButton_Invalid), pn(PLAYER_INVALID), - mp(MultiPlayer_Invalid) { } + mp(MultiPlayer_Invalid), InputList() { } DeviceInput DeviceI; GameInput GameI; InputEventType type; diff --git a/src/InputMapper.h b/src/InputMapper.h index 271d682465..d09f23c53e 100644 --- a/src/InputMapper.h +++ b/src/InputMapper.h @@ -78,7 +78,7 @@ struct AutoMappings AutoMappingEntry im37 = AutoMappingEntry(), AutoMappingEntry im38 = AutoMappingEntry(), AutoMappingEntry im39 = AutoMappingEntry() ) - : m_sGame(s1), m_sDriverRegex(s2), m_sControllerName(s3) + : m_sGame(s1), m_sDriverRegex(s2), m_sControllerName(s3), m_vMaps() { #define PUSH( im ) if(!im.IsEmpty()) m_vMaps.push_back(im); PUSH(im0);PUSH(im1);PUSH(im2);PUSH(im3);PUSH(im4);PUSH(im5);PUSH(im6);PUSH(im7);PUSH(im8);PUSH(im9);PUSH(im10);PUSH(im11);PUSH(im12);PUSH(im13);PUSH(im14);PUSH(im15);PUSH(im16);PUSH(im17);PUSH(im18);PUSH(im19); diff --git a/src/InputQueue.h b/src/InputQueue.h index 8ee93be3d7..cb7498470b 100644 --- a/src/InputQueue.h +++ b/src/InputQueue.h @@ -27,11 +27,19 @@ struct InputQueueCode public: bool Load( RString sButtonsNames ); bool EnteredCode( GameController controller ) const; + + InputQueueCode(): m_aPresses() {} private: struct ButtonPress { - ButtonPress() { m_bAllowIntermediatePresses = false; memset( m_InputTypes, 0, sizeof(m_InputTypes) ); m_InputTypes[IET_FIRST_PRESS] = true; } + ButtonPress(): m_aButtonsToHold(), m_aButtonsToNotHold(), + m_aButtonsToPress(), + m_bAllowIntermediatePresses(false) + { + memset( m_InputTypes, 0, sizeof(m_InputTypes) ); + m_InputTypes[IET_FIRST_PRESS] = true; + } vector m_aButtonsToHold; vector m_aButtonsToNotHold; vector m_aButtonsToPress; diff --git a/src/MsdFile.h b/src/MsdFile.h index aaae912b14..7d43d2aec4 100644 --- a/src/MsdFile.h +++ b/src/MsdFile.h @@ -23,6 +23,8 @@ public: */ RString operator[]( unsigned i ) const { if( i >= params.size() ) return RString(); return params[i]; } }; + + MsdFile(): values(), error("") {} /** @brief Remove the MSDFile. */ virtual ~MsdFile() { } diff --git a/src/NoteData.h b/src/NoteData.h index a8c59f0bd9..5de742eb30 100644 --- a/src/NoteData.h +++ b/src/NoteData.h @@ -32,6 +32,8 @@ public: typedef map::const_iterator const_iterator; typedef map::reverse_iterator reverse_iterator; typedef map::const_reverse_iterator const_reverse_iterator; + + NoteData(): m_TapNotes() {} iterator begin( int iTrack ) { return m_TapNotes[iTrack].begin(); } const_iterator begin( int iTrack ) const { return m_TapNotes[iTrack].begin(); } diff --git a/src/OptionRowHandler.h b/src/OptionRowHandler.h index 2fe5a5b624..3a443849ce 100644 --- a/src/OptionRowHandler.h +++ b/src/OptionRowHandler.h @@ -77,15 +77,14 @@ struct OptionRowDefinition OptionRowDefinition(): m_sName(""), m_sExplanationName(""), m_bOneChoiceForAllPlayers(false), m_selectType(SELECT_ONE), - m_layoutType(LAYOUT_SHOW_ALL_IN_ROW), m_iDefault(-1), + m_layoutType(LAYOUT_SHOW_ALL_IN_ROW), m_vsChoices(), + m_vEnabledForPlayers(), m_iDefault(-1), m_bExportOnChange(false), m_bAllowThemeItems(true), m_bAllowThemeTitle(true), m_bAllowExplanation(true), m_bShowChoicesListOnSelect(false) { - m_vsChoices.clear(); - m_vEnabledForPlayers.clear(); FOREACH_PlayerNumber( pn ) - m_vEnabledForPlayers.insert( pn ); + m_vEnabledForPlayers.insert( pn ); } void Init() { @@ -106,13 +105,33 @@ struct OptionRowDefinition m_bShowChoicesListOnSelect = false; } - OptionRowDefinition( const char *n, bool b, const char *c0=NULL, const char *c1=NULL, const char *c2=NULL, const char *c3=NULL, const char *c4=NULL, const char *c5=NULL, const char *c6=NULL, const char *c7=NULL, const char *c8=NULL, const char *c9=NULL, const char *c10=NULL, const char *c11=NULL, const char *c12=NULL, const char *c13=NULL, const char *c14=NULL, const char *c15=NULL, const char *c16=NULL, const char *c17=NULL, const char *c18=NULL, const char *c19=NULL ) + OptionRowDefinition( const char *n, bool b, const char *c0=NULL, + const char *c1=NULL, const char *c2=NULL, + const char *c3=NULL, const char *c4=NULL, + const char *c5=NULL, const char *c6=NULL, + const char *c7=NULL, const char *c8=NULL, + const char *c9=NULL, const char *c10=NULL, + const char *c11=NULL, const char *c12=NULL, + const char *c13=NULL, const char *c14=NULL, + const char *c15=NULL, const char *c16=NULL, + const char *c17=NULL, const char *c18=NULL, + const char *c19=NULL ): m_sName(n), + m_sExplanationName(""), m_bOneChoiceForAllPlayers(b), + m_selectType(SELECT_ONE), + m_layoutType(LAYOUT_SHOW_ALL_IN_ROW), m_vsChoices(), + m_vEnabledForPlayers(), m_iDefault(-1), + m_bExportOnChange(false), m_bAllowThemeItems(true), + m_bAllowThemeTitle(true), m_bAllowExplanation(true), + m_bShowChoicesListOnSelect(false) { - Init(); - m_sName=n; - m_bOneChoiceForAllPlayers=b; + FOREACH_PlayerNumber( pn ) + m_vEnabledForPlayers.insert( pn ); + #define PUSH( c ) if(c) m_vsChoices.push_back(c); - PUSH(c0);PUSH(c1);PUSH(c2);PUSH(c3);PUSH(c4);PUSH(c5);PUSH(c6);PUSH(c7);PUSH(c8);PUSH(c9);PUSH(c10);PUSH(c11);PUSH(c12);PUSH(c13);PUSH(c14);PUSH(c15);PUSH(c16);PUSH(c17);PUSH(c18);PUSH(c19); + PUSH(c0);PUSH(c1);PUSH(c2);PUSH(c3);PUSH(c4);PUSH(c5); + PUSH(c6);PUSH(c7);PUSH(c8);PUSH(c9);PUSH(c10);PUSH(c11); + PUSH(c12);PUSH(c13);PUSH(c14);PUSH(c15);PUSH(c16);PUSH(c17); + PUSH(c18);PUSH(c19); #undef PUSH } }; @@ -124,7 +143,7 @@ public: OptionRowDefinition m_Def; vector m_vsReloadRowMessages; // refresh this row on on these messages - OptionRowHandler() { Init(); } + OptionRowHandler(): m_Def(), m_vsReloadRowMessages() { } virtual ~OptionRowHandler() { } virtual void Init() { diff --git a/src/Profile.h b/src/Profile.h index 1a4d022319..b95fd8d3a7 100644 --- a/src/Profile.h +++ b/src/Profile.h @@ -67,9 +67,49 @@ class Game; class Profile { public: - Profile() + /** + * @brief Set up the Profile with default values. + * + * Note: there are probably a lot of variables. */ + Profile(): m_sDisplayName(""), m_sCharacterID(""), + m_sLastUsedHighScoreName(""), m_iWeightPounds(0), + m_sGuid(MakeGuid()), m_sDefaultModifiers(), + m_SortOrder(SortOrder_Invalid), + m_LastDifficulty(Difficulty_Invalid), + m_LastCourseDifficulty(Difficulty_Invalid), + m_LastStepsType(StepsType_Invalid), m_lastSong(), + m_lastCourse(), m_iTotalSessions(0), + m_iTotalSessionSeconds(0), m_iTotalGameplaySeconds(0), + m_fTotalCaloriesBurned(0), m_GoalType(GoalType_Calories), + m_iGoalCalories(0), m_iGoalSeconds(0), m_iTotalDancePoints(0), + m_iNumExtraStagesPassed(0), m_iNumExtraStagesFailed(0), + m_iNumToasties(0), m_iTotalTapsAndHolds(0), m_iTotalJumps(0), + m_iTotalHolds(0), m_iTotalRolls(0), m_iTotalMines(0), + m_iTotalHands(0), m_iTotalLifts(0), m_UnlockedEntryIDs(), + m_sLastPlayedMachineGuid(""), m_LastPlayedDate(), + m_iNumSongsPlayedByStyle(), m_iNumTotalSongsPlayed(0), + m_UserData(), m_SongHighScores(), m_CourseHighScores(), + m_vScreenshots(), m_mapDayToCaloriesBurned() { - InitAll(); + m_lastSong.Unset(); + m_lastCourse.Unset(); + + m_LastPlayedDate.Init(); + + FOREACH_ENUM( PlayMode, i ) + m_iNumSongsPlayedByPlayMode[i] = 0; + FOREACH_ENUM( Difficulty, i ) + m_iNumSongsPlayedByDifficulty[i] = 0; + for( int i=0; i m_StepsHighScores; int GetNumTimesPlayed() const; + HighScoresForASong(): m_StepsHighScores() {} }; std::map m_SongHighScores; @@ -196,11 +238,13 @@ public: struct HighScoresForATrail { HighScoreList hsl; + HighScoresForATrail(): hsl() {} }; struct HighScoresForACourse { std::map m_TrailHighScores; int GetNumTimesPlayed() const; + HighScoresForACourse(): m_TrailHighScores() {} }; std::map m_CourseHighScores; @@ -240,7 +284,7 @@ public: * insert some garbage entries into the map. */ struct Calories { - Calories() { fCals = 0; } + Calories(): fCals(0) {} float fCals; }; map m_mapDayToCaloriesBurned; diff --git a/src/RageTexturePreloader.h b/src/RageTexturePreloader.h index 1a45ffe28b..4f893ffe9a 100644 --- a/src/RageTexturePreloader.h +++ b/src/RageTexturePreloader.h @@ -8,7 +8,8 @@ class RageTexturePreloader { public: RageTexturePreloader(): m_apTextures() { } - RageTexturePreloader( const RageTexturePreloader &cpy ) { *this = cpy; } + RageTexturePreloader( const RageTexturePreloader &cpy ): + m_apTextures(cpy.m_apTextures) { } RageTexturePreloader &operator=( const RageTexturePreloader &rhs ); ~RageTexturePreloader(); void Load( const RageTextureID &ID ); diff --git a/src/RageUtil_CachedObject.h b/src/RageUtil_CachedObject.h index a74c80e2a7..1fee1a6397 100644 --- a/src/RageUtil_CachedObject.h +++ b/src/RageUtil_CachedObject.h @@ -114,11 +114,10 @@ public: Object::Register( this ); } - CachedObjectPointer( const CachedObjectPointer &cpy ) + CachedObjectPointer( const CachedObjectPointer &cpy ): + m_pCache(cpy.m_pCache), m_bCacheIsSet(cpy.m_bCacheIsSet) { CachedObjectHelpers::Lock(); - m_pCache = cpy.m_pCache; - m_bCacheIsSet = cpy.m_bCacheIsSet; Object::Register( this ); CachedObjectHelpers::Unlock(); } diff --git a/src/ScreenMiniMenu.h b/src/ScreenMiniMenu.h index 313166efd9..5bdd85ee2b 100644 --- a/src/ScreenMiniMenu.h +++ b/src/ScreenMiniMenu.h @@ -20,33 +20,60 @@ struct MenuRowDef bool bThemeTitle; bool bThemeItems; - MenuRowDef() {} - MenuRowDef( int r, RString n, MenuRowUpdateEnabled pe, EditMode s, bool bTT, bool bTI, int d, const char *c0=NULL, const char *c1=NULL, const char *c2=NULL, const char *c3=NULL, const char *c4=NULL, const char *c5=NULL, const char *c6=NULL, const char *c7=NULL, const char *c8=NULL, const char *c9=NULL, const char *c10=NULL, const char *c11=NULL, const char *c12=NULL, const char *c13=NULL, const char *c14=NULL, const char *c15=NULL, const char *c16=NULL, const char *c17=NULL, const char *c18=NULL, const char *c19=NULL, const char *c20=NULL, const char *c21=NULL, const char *c22=NULL, const char *c23=NULL, const char *c24=NULL, const char *c25=NULL ) + MenuRowDef(): iRowCode(0), sName(""), bEnabled(false), + pfnEnabled(), emShowIn(), iDefaultChoice(0), + choices(), bThemeTitle(false), bThemeItems(false) {} + MenuRowDef( int r, RString n, MenuRowUpdateEnabled pe, EditMode s, + bool bTT, bool bTI, int d, const char *c0=NULL, + const char *c1=NULL, const char *c2=NULL, + const char *c3=NULL, const char *c4=NULL, + const char *c5=NULL, const char *c6=NULL, + const char *c7=NULL, const char *c8=NULL, + const char *c9=NULL, const char *c10=NULL, + const char *c11=NULL, const char *c12=NULL, + const char *c13=NULL, const char *c14=NULL, + const char *c15=NULL, const char *c16=NULL, + const char *c17=NULL, const char *c18=NULL, + const char *c19=NULL, const char *c20=NULL, + const char *c21=NULL, const char *c22=NULL, + const char *c23=NULL, const char *c24=NULL, + const char *c25=NULL ): iRowCode(r), sName(n), + bEnabled(true), pfnEnabled(pe), emShowIn(s), + iDefaultChoice(d), choices(), + bThemeTitle(bTT), bThemeItems(bTI) { - iRowCode = r; - sName = n; - bEnabled = true; - pfnEnabled = pe; - emShowIn = s; - bThemeTitle = bTT; - bThemeItems = bTI; - iDefaultChoice = d; #define PUSH( c ) if(c) choices.push_back(c); - PUSH(c0);PUSH(c1);PUSH(c2);PUSH(c3);PUSH(c4);PUSH(c5);PUSH(c6);PUSH(c7);PUSH(c8);PUSH(c9);PUSH(c10);PUSH(c11);PUSH(c12);PUSH(c13);PUSH(c14);PUSH(c15);PUSH(c16);PUSH(c17);PUSH(c18);PUSH(c19);PUSH(c20);PUSH(c21);PUSH(c22);PUSH(c22);PUSH(c23);PUSH(c23);PUSH(c24);PUSH(c25); + PUSH(c0);PUSH(c1);PUSH(c2);PUSH(c3);PUSH(c4);PUSH(c5); + PUSH(c6);PUSH(c7);PUSH(c8);PUSH(c9);PUSH(c10);PUSH(c11); + PUSH(c12);PUSH(c13);PUSH(c14);PUSH(c15);PUSH(c16);PUSH(c17); + PUSH(c18);PUSH(c19);PUSH(c20);PUSH(c21);PUSH(c22);PUSH(c22); + PUSH(c23);PUSH(c23);PUSH(c24);PUSH(c25); #undef PUSH } - MenuRowDef( int r, RString n, bool e, EditMode s, bool bTT, bool bTI, int d, const char *c0=NULL, const char *c1=NULL, const char *c2=NULL, const char *c3=NULL, const char *c4=NULL, const char *c5=NULL, const char *c6=NULL, const char *c7=NULL, const char *c8=NULL, const char *c9=NULL, const char *c10=NULL, const char *c11=NULL, const char *c12=NULL, const char *c13=NULL, const char *c14=NULL, const char *c15=NULL, const char *c16=NULL, const char *c17=NULL, const char *c18=NULL, const char *c19=NULL, const char *c20=NULL, const char *c21=NULL, const char *c22=NULL, const char *c23=NULL, const char *c24=NULL, const char *c25=NULL ) + MenuRowDef( int r, RString n, bool e, EditMode s, bool bTT, bool bTI, + int d, const char *c0=NULL, const char *c1=NULL, + const char *c2=NULL, const char *c3=NULL, + const char *c4=NULL, const char *c5=NULL, + const char *c6=NULL, const char *c7=NULL, + const char *c8=NULL, const char *c9=NULL, + const char *c10=NULL, const char *c11=NULL, + const char *c12=NULL, const char *c13=NULL, + const char *c14=NULL, const char *c15=NULL, + const char *c16=NULL, const char *c17=NULL, + const char *c18=NULL, const char *c19=NULL, + const char *c20=NULL, const char *c21=NULL, + const char *c22=NULL, const char *c23=NULL, + const char *c24=NULL, const char *c25=NULL ): + iRowCode(r), sName(n), bEnabled(e), pfnEnabled(NULL), + emShowIn(s), iDefaultChoice(d), choices(), + bThemeTitle(bTT), bThemeItems(bTI) { - iRowCode = r; - sName = n; - bEnabled = e; - pfnEnabled = NULL; - emShowIn = s; - bThemeTitle = bTT; - bThemeItems = bTI; - iDefaultChoice = d; #define PUSH( c ) if(c) choices.push_back(c); - PUSH(c0);PUSH(c1);PUSH(c2);PUSH(c3);PUSH(c4);PUSH(c5);PUSH(c6);PUSH(c7);PUSH(c8);PUSH(c9);PUSH(c10);PUSH(c11);PUSH(c12);PUSH(c13);PUSH(c14);PUSH(c15);PUSH(c16);PUSH(c17);PUSH(c18);PUSH(c19);PUSH(c20);PUSH(c21);PUSH(c22);PUSH(c22);PUSH(c23);PUSH(c23);PUSH(c24);PUSH(c25); + PUSH(c0);PUSH(c1);PUSH(c2);PUSH(c3);PUSH(c4);PUSH(c5); + PUSH(c6);PUSH(c7);PUSH(c8);PUSH(c9);PUSH(c10);PUSH(c11); + PUSH(c12);PUSH(c13);PUSH(c14);PUSH(c15);PUSH(c16);PUSH(c17); + PUSH(c18);PUSH(c19);PUSH(c20);PUSH(c21);PUSH(c22);PUSH(c22); + PUSH(c23);PUSH(c23);PUSH(c24);PUSH(c25); #undef PUSH } @@ -76,11 +103,29 @@ struct MenuDef RString sClassName; vector rows; - MenuDef( RString c, MenuRowDef r0=MenuRowDef(), MenuRowDef r1=MenuRowDef(), MenuRowDef r2=MenuRowDef(), MenuRowDef r3=MenuRowDef(), MenuRowDef r4=MenuRowDef(), MenuRowDef r5=MenuRowDef(), MenuRowDef r6=MenuRowDef(), MenuRowDef r7=MenuRowDef(), MenuRowDef r8=MenuRowDef(), MenuRowDef r9=MenuRowDef(), MenuRowDef r10=MenuRowDef(), MenuRowDef r11=MenuRowDef(), MenuRowDef r12=MenuRowDef(), MenuRowDef r13=MenuRowDef(), MenuRowDef r14=MenuRowDef(), MenuRowDef r15=MenuRowDef(), MenuRowDef r16=MenuRowDef(), MenuRowDef r17=MenuRowDef(), MenuRowDef r18=MenuRowDef(), MenuRowDef r19=MenuRowDef(), MenuRowDef r20=MenuRowDef(), MenuRowDef r21=MenuRowDef(), MenuRowDef r22=MenuRowDef(), MenuRowDef r23=MenuRowDef(), MenuRowDef r24=MenuRowDef(), MenuRowDef r25=MenuRowDef(), MenuRowDef r26=MenuRowDef(), MenuRowDef r27=MenuRowDef(), MenuRowDef r28=MenuRowDef(), MenuRowDef r29=MenuRowDef() ) + MenuDef( RString c, MenuRowDef r0=MenuRowDef(), + MenuRowDef r1=MenuRowDef(), MenuRowDef r2=MenuRowDef(), + MenuRowDef r3=MenuRowDef(), MenuRowDef r4=MenuRowDef(), + MenuRowDef r5=MenuRowDef(), MenuRowDef r6=MenuRowDef(), + MenuRowDef r7=MenuRowDef(), MenuRowDef r8=MenuRowDef(), + MenuRowDef r9=MenuRowDef(), MenuRowDef r10=MenuRowDef(), + MenuRowDef r11=MenuRowDef(), MenuRowDef r12=MenuRowDef(), + MenuRowDef r13=MenuRowDef(), MenuRowDef r14=MenuRowDef(), + MenuRowDef r15=MenuRowDef(), MenuRowDef r16=MenuRowDef(), + MenuRowDef r17=MenuRowDef(), MenuRowDef r18=MenuRowDef(), + MenuRowDef r19=MenuRowDef(), MenuRowDef r20=MenuRowDef(), + MenuRowDef r21=MenuRowDef(), MenuRowDef r22=MenuRowDef(), + MenuRowDef r23=MenuRowDef(), MenuRowDef r24=MenuRowDef(), + MenuRowDef r25=MenuRowDef(), MenuRowDef r26=MenuRowDef(), + MenuRowDef r27=MenuRowDef(), MenuRowDef r28=MenuRowDef(), + MenuRowDef r29=MenuRowDef() ): sClassName(c), rows() { - sClassName = c; #define PUSH( r ) if(!r.sName.empty()) rows.push_back(r); - PUSH(r0);PUSH(r1);PUSH(r2);PUSH(r3);PUSH(r4);PUSH(r5);PUSH(r6);PUSH(r7);PUSH(r8);PUSH(r9);PUSH(r10);PUSH(r11);PUSH(r12);PUSH(r13);PUSH(r14);PUSH(r15);PUSH(r16);PUSH(r17);PUSH(r18);PUSH(r19);PUSH(r20);PUSH(r21);PUSH(r22);PUSH(r23);PUSH(r24);PUSH(r25);PUSH(r26);PUSH(r27);PUSH(r28);PUSH(r29); + PUSH(r0);PUSH(r1);PUSH(r2);PUSH(r3);PUSH(r4);PUSH(r5);PUSH(r6); + PUSH(r7);PUSH(r8);PUSH(r9);PUSH(r10);PUSH(r11);PUSH(r12); + PUSH(r13);PUSH(r14);PUSH(r15);PUSH(r16);PUSH(r17);PUSH(r18); + PUSH(r19);PUSH(r20);PUSH(r21);PUSH(r22);PUSH(r23);PUSH(r24); + PUSH(r25);PUSH(r26);PUSH(r27);PUSH(r28);PUSH(r29); #undef PUSH } }; @@ -89,7 +134,9 @@ struct MenuDef class ScreenMiniMenu : public ScreenOptions { public: - static void MiniMenu( const MenuDef* pDef, ScreenMessage smSendOnOK, ScreenMessage smSendOnCancel = SM_None, float fX = 0, float fY = 0 ); + static void MiniMenu( const MenuDef* pDef, ScreenMessage smSendOnOK, + ScreenMessage smSendOnCancel = SM_None, + float fX = 0, float fY = 0 ); void Init(); void BeginScreen(); @@ -110,6 +157,8 @@ protected: vector m_vMenuRows; public: + ScreenMiniMenu(): m_SMSendOnOK(), m_SMSendOnCancel(), m_vMenuRows() {} + static bool s_bCancelled; static int s_iLastRowCode; static vector s_viLastAnswers; diff --git a/src/ScreenTextEntry.h b/src/ScreenTextEntry.h index 1ed5136c41..c3dad0bbb6 100644 --- a/src/ScreenTextEntry.h +++ b/src/ScreenTextEntry.h @@ -71,7 +71,10 @@ public: } struct TextEntrySettings { - TextEntrySettings() { } + TextEntrySettings(): smSendOnPop(), sQuestion(""), + sInitialAnswer(""), iMaxInputLength(0), + bPassword(false), Validate(), OnOK(), OnCancel(), + ValidateAppend(), FormatAnswerForDisplay() { } ScreenMessage smSendOnPop; RString sQuestion; RString sInitialAnswer; diff --git a/src/StyleUtil.h b/src/StyleUtil.h index f2a93b4cf8..6051d17617 100644 --- a/src/StyleUtil.h +++ b/src/StyleUtil.h @@ -11,7 +11,7 @@ class StyleID RString sStyle; public: - StyleID() { Unset(); } + StyleID(): sGame(""), sStyle("") { } void Unset() { FromStyle(NULL); } void FromStyle( const Style *p ); const Style *ToStyle() const; diff --git a/src/ThemeMetric.h b/src/ThemeMetric.h index 80e445797e..5ef34f9abe 100644 --- a/src/ThemeMetric.h +++ b/src/ThemeMetric.h @@ -53,9 +53,9 @@ public: * (everything except screens). */ ThemeMetric( const RString& sGroup = "", const RString& sName = "" ): m_sGroup( sGroup ), - m_sName( sName ) + m_sName( sName ), + m_Value(), m_currentValue(T()), m_bCallEachTime(false) { - m_currentValue = T(); ThemeManager::Subscribe( this ); } @@ -64,6 +64,7 @@ public: m_sGroup( cpy.m_sGroup ), m_sName( cpy.m_sName ), m_Value( cpy.m_Value ) + // do we transfer the current value or bCallEachTime? { ThemeManager::Subscribe( this ); } diff --git a/src/TrailUtil.h b/src/TrailUtil.h index adaa71b6b3..12c4a7dd76 100644 --- a/src/TrailUtil.h +++ b/src/TrailUtil.h @@ -33,7 +33,8 @@ class TrailID mutable CachedObjectPointer m_Cache; public: - TrailID() { Unset(); } + TrailID(): st(StepsType_Invalid), cd(Difficulty_Invalid), + m_Cache() { m_Cache.Unset(); } void Unset() { FromTrail(NULL); } void FromTrail( const Trail *p ); Trail *ToTrail( const Course *p, bool bAllowNull ) const; From 6962196795704c7d530d1d752d6eb64c50c168e6 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 19 Mar 2011 22:38:05 -0400 Subject: [PATCH 08/11] From Dr. Checkoway's school of Copy(). --- src/RageFileDriverDirect.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/RageFileDriverDirect.cpp b/src/RageFileDriverDirect.cpp index d6de2ebdc3..2dfbee3f7d 100644 --- a/src/RageFileDriverDirect.cpp +++ b/src/RageFileDriverDirect.cpp @@ -64,6 +64,10 @@ private: */ bool m_bWriteFailed; bool WriteFailed() const { return !(m_iMode & RageFile::STREAMED) && m_bWriteFailed; } + + // unused + RageFileObjDirect& operator=(const RageFileObjDirect& rhs); + RageFileObjDirect(const RageFileObjDirect& rhs); }; From c7873d91997ccd014777c3c36ea65dafa1716a75 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sun, 20 Mar 2011 13:03:16 -0500 Subject: [PATCH 09/11] [PlayerOptions] Added SetNoteSkin(string) Lua binding. --- Docs/Changelog_sm-ssc.txt | 4 ++++ src/PlayerOptions.cpp | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/Docs/Changelog_sm-ssc.txt b/Docs/Changelog_sm-ssc.txt index c6b1ac7b83..9a695ec50c 100644 --- a/Docs/Changelog_sm-ssc.txt +++ b/Docs/Changelog_sm-ssc.txt @@ -13,6 +13,10 @@ _____________________________________________________________________________ sm-ssc v1.2.4 | 20110??? -------------------------------------------------------------------------------- +20110320 +-------- +* [PlayerOptions] Added SetNoteSkin(string) Lua binding. [AJ] + 20110317 -------- * [ScreenEdit] Fix bug number 222, where Steps disappeared if they weren't diff --git a/src/PlayerOptions.cpp b/src/PlayerOptions.cpp index 812127f8d5..f67bb13339 100644 --- a/src/PlayerOptions.cpp +++ b/src/PlayerOptions.cpp @@ -841,10 +841,17 @@ class LunaPlayerOptions: public Luna { public: DEFINE_METHOD( GetNoteSkin, m_sNoteSkin ) + static int SetNoteSkin( T *p, lua_State *L ) + { + if( NOTESKIN->DoesNoteSkinExist(SArg(1)) ) + p->m_sNoteSkin = SArg(1); + return 0; + } LunaPlayerOptions() { ADD_METHOD( GetNoteSkin ); + ADD_METHOD( SetNoteSkin ); } }; From 73550fadfbd3fddb8f2c30cdfe557e829ebe0636 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sun, 20 Mar 2011 13:09:46 -0500 Subject: [PATCH 10/11] update credits; add theDtTvB to the sm-ssc team --- Docs/credits.txt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Docs/credits.txt b/Docs/credits.txt index 28c0f41096..c4ec43dbbb 100644 --- a/Docs/credits.txt +++ b/Docs/credits.txt @@ -4,7 +4,7 @@ sm-ssc credits (in no particular order) * If you have any corrections to this list, let us know (via forums or IRC). ==the spinal shark collective== -AJ Kelly +AJ Kelly (freem) * Main programming * UserPreferences and some other Lua scripts * Some small theme edits here and there @@ -43,7 +43,10 @@ FSX Nicole Reid (okeeblow) * Tested building sm-ssc on FreeBSD, provided fixes. -Wolfman +Thai Pangsakulyanont (theDtTvB) + * Various changes to BMS support to make things work better. + +Jason Felds (Wolfman) * [Player] PercentUntilColorCombo metric * Mac OS X maintainer * Various fixes/changes. (see Changelog_sm-ssc.txt for more details) @@ -76,10 +79,6 @@ v1toko Macgravel * Orbular noteskin (the default kb7 noteskin) -theDtTvB - * Keysound patch (http://share11.appspot.com/20421) - [This patch is currently causing crashes for us, sadly.] - sy567 * Small beginner helper fix (http://www.stepmania.com/forums/showpost.php?p=158721&postcount=12) From 8e892f4af245cad1f625027cf49057b31a307d98 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 20 Mar 2011 14:11:25 -0400 Subject: [PATCH 11/11] Too many Wolfmen. I'm specifically "2000". --- Docs/credits.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Docs/credits.txt b/Docs/credits.txt index c4ec43dbbb..55c8ad396b 100644 --- a/Docs/credits.txt +++ b/Docs/credits.txt @@ -46,7 +46,7 @@ Nicole Reid (okeeblow) Thai Pangsakulyanont (theDtTvB) * Various changes to BMS support to make things work better. -Jason Felds (Wolfman) +Jason Felds (Wolfman2000) * [Player] PercentUntilColorCombo metric * Mac OS X maintainer * Various fixes/changes. (see Changelog_sm-ssc.txt for more details) @@ -144,4 +144,4 @@ NitroX72 Wanny Tio Cerbo -Daisuke Master \ No newline at end of file +Daisuke Master