Skip to content

Commit

Permalink
pcsx2: Remove GameDB write related code
Browse files Browse the repository at this point in the history
There's no use for it now that the database editor has been removed.

Also remove the Game_Data POD comment because I don't think it makes
sense and remove an unused variable.
  • Loading branch information
turtleli committed Aug 29, 2018
1 parent 846f318 commit 76a75ef
Show file tree
Hide file tree
Showing 4 changed files with 0 additions and 117 deletions.
29 changes: 0 additions & 29 deletions pcsx2/GameDatabase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -80,20 +80,6 @@ Game_Data* BaseGameDatabaseImpl::createNewGame( const wxString& id )
return retval;
}

void BaseGameDatabaseImpl::updateGame(const Game_Data& game)
{
GameDataHash::const_iterator iter( gHash.find(game.id) );

if( iter == gHash.end() ) {
*(createNewGame( game.id )) = game;
}
else
{
// Re-assign existing vector/array entry!
*gHash[game.id] = game;
}
}

// Searches the current game's data to see if the given key exists
bool Game_Data::keyExists(const wxChar* key) const {
for (auto it = kList.begin(); it != kList.end(); ++it) {
Expand All @@ -104,16 +90,6 @@ bool Game_Data::keyExists(const wxChar* key) const {
return false;
}

// Totally Deletes the specified key/pair value from the current game's data
void Game_Data::deleteKey(const wxChar* key) {
for (auto it = kList.begin(); it != kList.end(); ++it) {
if (it->CompareKey(key)) {
kList.erase(it);
return;
}
}
}

// Gets a string representation of the 'value' for the given key
wxString Game_Data::getString(const wxChar* key) const {
for (auto it = kList.begin(); it != kList.end(); ++it) {
Expand All @@ -138,8 +114,3 @@ void Game_Data::writeString(const wxString& key, const wxString& value) {
kList.push_back(key_pair(key, value));
}
}

// Write a bool value to the specified key
void Game_Data::writeBool(const wxString& key, bool value) {
writeString(key, value ? L"1" : L"0");
}
28 changes: 0 additions & 28 deletions pcsx2/GameDatabase.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,35 +60,11 @@ struct key_pair {
bool IsOk() const {
return !key.IsEmpty();
}

wxString toString() const {
if (key[0] == '[') {
pxAssertDev( key.EndsWith(L"]"), "Malformed multiline key detected: missing end bracket!" );

// Terminating tag must be written without the "rvalue" -- in the form of:
// [/patches]
// Use Mid() to strip off the left and right side brackets.
wxString midLine(key.Mid(1, key.Length()-2));
wxString keyLvalue(midLine.BeforeFirst(L'=').Trim(true).Trim(false));

return wxsFormat( L"%s\n%s[/%s]\n",
key.c_str(), value.c_str(), keyLvalue.c_str()
);
}
else {
// Note: 6 char padding on the l-value makes things look nicer.
return wxsFormat(L"%-6s = %s\n", key.c_str(), value.c_str() );
}

}
};

// --------------------------------------------------------------------------------------
// Game_Data
// --------------------------------------------------------------------------------------
// This container is more or less required to be a simple struct (POD classification) --
// no virtuals and no inheritance. This is because it is used in a std::vector, so POD
// makes things... smoother.
struct Game_Data
{
wxString id; // Serial Identification Code
Expand All @@ -109,10 +85,8 @@ struct Game_Data
}

bool keyExists(const wxChar* key) const;
void deleteKey(const wxChar* key);
wxString getString(const wxChar* key) const;
void writeString(const wxString& key, const wxString& value);
void writeBool(const wxString& key, bool value);

bool IsOk() const {
return !id.IsEmpty();
Expand Down Expand Up @@ -183,7 +157,6 @@ class IGameDatabase
virtual wxString getBaseKey() const=0;
virtual bool findGame(Game_Data& dest, const wxString& id)=0;
virtual Game_Data* createNewGame( const wxString& id )=0;
virtual void updateGame(const Game_Data& game)=0;
};

typedef std::unordered_map<wxString, Game_Data*, StringHashNoCase> GameDataHash;
Expand Down Expand Up @@ -213,7 +186,6 @@ class BaseGameDatabaseImpl : public IGameDatabase

bool findGame(Game_Data& dest, const wxString& id);
Game_Data* createNewGame( const wxString& id );
void updateGame(const Game_Data& game);
};

extern IGameDatabase* AppHost_GetGameDatabase();
55 changes: 0 additions & 55 deletions pcsx2/gui/AppGameDatabase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ class DBLoaderHelper
{
}

wxString ReadHeader();
void ReadGames();

protected:
Expand Down Expand Up @@ -97,38 +96,10 @@ void DBLoaderHelper::extract() {
if( m_keyPair.value.IsEmpty() ) doError(true);
}

wxString DBLoaderHelper::ReadHeader()
{
wxString header;
header.reserve(2048);

while(!m_reader.Eof()) {
pxReadLine(m_reader, m_dest, m_intermediate);
m_dest.Trim(false).Trim(true);
if( !(m_dest.IsEmpty() || m_dest.StartsWith(L"--") || m_dest.StartsWith( L"//" ) || m_dest.StartsWith( L";" )) ) break;
header += m_dest + L'\n';
}

if( !m_dest.IsEmpty() )
{
m_keyPair.Clear();
if( !extractMultiLine() ) extract();
}
return header;
}

void DBLoaderHelper::ReadGames()
{
Game_Data* game = NULL;

if (m_keyPair.IsOk())
{
game = m_gamedb.createNewGame(m_keyPair.value);
game->writeString(m_keyPair.key, m_keyPair.value);
//if( m_keyPair.CompareKey(m_gamedb.getBaseKey()) )
// game.id = m_keyPair.value;
}

while(!m_reader.Eof()) { // Fill game data, find new game, repeat...
pthread_testcancel();
pxReadLine(m_reader, m_dest, m_intermediate);
Expand Down Expand Up @@ -187,7 +158,6 @@ AppGameDatabase& AppGameDatabase::LoadFromFile(const wxString& _file, const wxSt
DBLoaderHelper loader( reader, *this );

u64 qpc_Start = GetCPUTicks();
header = loader.ReadHeader();
loader.ReadGames();
u64 qpc_end = GetCPUTicks();

Expand All @@ -197,31 +167,6 @@ AppGameDatabase& AppGameDatabase::LoadFromFile(const wxString& _file, const wxSt
return *this;
}

// Saves changes to the database

void AppGameDatabase::SaveToFile(const wxString& file) {
wxFFileOutputStream writer( file );
pxWriteMultiline(writer, header);

for(uint blockidx=0; blockidx<=m_BlockTableWritePos; ++blockidx)
{
if( !m_BlockTable[blockidx] ) continue;

const uint endidx = (blockidx == m_BlockTableWritePos) ? m_CurBlockWritePos : m_GamesPerBlock;

for( uint gameidx=0; gameidx<endidx; ++gameidx )
{
const Game_Data& game( m_BlockTable[blockidx][gameidx] );

for (auto i = game.kList.begin(); i != game.kList.end(); ++i) {
pxWriteMultiline(writer, i->toString() );
}

pxWriteLine(writer, L"---------------------------------------------");
}
}
}

AppGameDatabase* Pcsx2App::GetGameDatabase()
{
pxAppResources& res( GetResourceCache() );
Expand Down
5 changes: 0 additions & 5 deletions pcsx2/gui/AppGameDatabase.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,6 @@

class AppGameDatabase : public BaseGameDatabaseImpl
{
protected:
wxString header; // Header of the database
wxString baseKey; // Key to separate games by ("Serial")

public:
AppGameDatabase() {}
virtual ~AppGameDatabase() {
Expand All @@ -55,7 +51,6 @@ class AppGameDatabase : public BaseGameDatabaseImpl
}

AppGameDatabase& LoadFromFile(const wxString& file = Path::Combine( PathDefs::GetProgramDataDir(), wxFileName(L"GameIndex.dbf") ), const wxString& key = L"Serial" );
void SaveToFile(const wxString& file = Path::Combine( PathDefs::GetProgramDataDir(), wxFileName(L"GameIndex.dbf")) );
};

static wxString compatToStringWX(int compat) {
Expand Down

0 comments on commit 76a75ef

Please sign in to comment.