xboxer666 1 Posted December 25, 2014 Hi. I'm updating FSD covers without using the console at all, just using xbox 360 slim hdd drive connected to pc and GaDaBaMa software, it works great. But there is one problem with this, new games are added to FSD database only after i connect the hdd back to xbox and run it once to scan and add new games, only then i will see the new games in GaDaBaMa. But the thing is, i quite often have only the hdd and no xbox at place. I wanted to eliminate this, so i decided i will add the new games to FSD content.db myself, manually editing table data using a sql lite manager, then use GaDaBaMa which will now see the new games. And it would all work, but there is one column in FSD ContentItems table (where the found games are placed) which i don't know how to calculate and fill, it is the ContentItemHash value. I don't want brick something, so can someone tell mi what this value is and how to calculate it? Maybe it can be empty? I only noticed that every content has it, be it a game, some xex tool, god container, so i assumed it is some file hash, for example xex tools don't need title id, but this hash is there even for them, but don't know how to calculate it. Any help appreciated. 1 Quote Share this post Link to post Share on other sites
Swizzy 2084 Posted December 25, 2014 Hi. I'm updating FSD covers without using the console at all, just using xbox 360 slim hdd drive connected to pc and GaDaBaMa software, it works great. But there is one problem with this, new games are added to FSD database only after i connect the hdd back to xbox and run it once to scan and add new games, only then i will see the new games in GaDaBaMa. But the thing is, i quite often have only the hdd and no xbox at place. I wanted to eliminate this, so i decided i will add the new games to FSD content.db myself, manually editing table data using a sql lite manager, then use GaDaBaMa which will now see the new games. And it would all work, but there is one column in FSD ContentItems table (where the found games are placed) which i don't know how to calculate and fill, it is the ContentItemHash value. I don't want brick something, so can someone tell mi what this value is and how to calculate it? Maybe it can be empty? I only noticed that every content has it, be it a game, some xex tool, god container, so i assumed it is some file hash, for example xex tools don't need title id, but this hash is there even for them, but don't know how to calculate it. Any help appreciated. I believe the hash is part of the default.xex/GOD header... 1 Quote Share this post Link to post Share on other sites
xboxer666 1 Posted December 25, 2014 Interesting, is there a way to read it? Some software? Somebody can verify this? But this makes me thinking, why it is needed, there are already the content item path, should be enough to run a game, i've checked FSD source and it is running game just by path. Quote Share this post Link to post Share on other sites
Swizzy 2084 Posted December 25, 2014 Interesting, is there a way to read it? Some software? Somebody can verify this? But this makes me thinking, why it is needed, there are already the content item path, should be enough to run a game, i've checked FSD source and it is running game just by path. It's used during the scan... Quote Share this post Link to post Share on other sites
xboxer666 1 Posted December 25, 2014 Don't have the latest source, but found it was a md5 timestamp back i fsd 2 days. string GenerateTimestampMd5( void ) { SYSTEMTIME LocalSysTime; GetLocalTime( &LocalSysTime ); string szFileName = sprintfaA("%04d%02d%02d%02d%02d%02d%02d", LocalSysTime.wYear, LocalSysTime.wMonth, LocalSysTime.wDay, LocalSysTime.wHour, LocalSysTime.wMinute, LocalSysTime.wSecond, LocalSysTime.wMilliseconds ); BYTE m_Serial[0x10]; ZeroMemory(m_Serial, 0x10); XeCryptMd5((BYTE*)szFileName.c_str(), szFileName.length(), NULL, 0, NULL, 0, m_Serial, 0x10); // Get our serial as a string CHAR serialStr[41]; serialStr[40] = 0; UINT outLen = 0x40; ZeroMemory(serialStr, 41); GetBytesString(m_Serial, 0x10, serialStr, &outLen); return (string)serialStr; } It wasn't also used in scan. So, no direct answer, i will need to experiment with this. Quote Share this post Link to post Share on other sites