Support a gcm revision-specific game ini for cheats + partially fix gecko codes in default ini.

The local ini is not revision-specific because it would require renaming
everything.  Meh.
This commit is contained in:
comex
2013-09-23 02:39:14 -04:00
parent 1ed06f1dc4
commit f57ff0a569
25 changed files with 134 additions and 93 deletions

View File

@ -25,6 +25,7 @@ public:
virtual bool GetTitleID(u8*) const { return false; }
virtual void GetTMD(u8*, u32 *_sz) const { *_sz=0; }
virtual std::string GetUniqueID() const = 0;
virtual std::string GetRevisionSpecificUniqueID() const { return ""; }
virtual std::string GetMakerID() const = 0;
virtual int GetRevision() const { return 0; }
// TODO: eliminate?

View File

@ -54,6 +54,13 @@ std::string CVolumeGC::GetUniqueID() const
return ID;
}
std::string CVolumeGC::GetRevisionSpecificUniqueID() const
{
char rev[16];
sprintf(rev, "r%d", GetRevision());
return GetUniqueID() + rev;
}
IVolume::ECountry CVolumeGC::GetCountry() const
{
if (!m_pReader)

View File

@ -20,6 +20,7 @@ public:
bool Read(u64 _Offset, u64 _Length, u8* _pBuffer) const;
bool RAWRead(u64 _Offset, u64 _Length, u8* _pBuffer) const;
std::string GetUniqueID() const;
std::string GetRevisionSpecificUniqueID() const;
std::string GetMakerID() const;
int GetRevision() const;
std::vector<std::string> GetNames() const;