cellGame: treat media apps as CELL_GAME_GAMETYPE_HDD

This is kinda hacky but it fixes some errors in PlayTv
This commit is contained in:
Megamouse 2021-07-01 20:39:07 +02:00
parent 161fa95066
commit e75de44907

View file

@ -189,7 +189,7 @@ error_code cellHddGameCheck(ppu_thread& ppu, u32 version, vm::cptr<char> dirName
if (!new_data) if (!new_data)
{ {
const auto cat = psf::get_string(sfo, "CATEGORY", ""); const auto cat = psf::get_string(sfo, "CATEGORY", "");
if (cat != "HG") if (cat != "HG"sv && cat != "AM"sv && cat != "AP"sv && cat != "AT"sv && cat != "AV"sv && cat != "BV"sv && cat != "WT"sv)
{ {
return { CELL_GAMEDATA_ERROR_BROKEN, fmt::format("CATEGORY='%s'", cat) }; return { CELL_GAMEDATA_ERROR_BROKEN, fmt::format("CATEGORY='%s'", cat) };
} }
@ -592,7 +592,7 @@ error_code cellGameDataCheck(u32 type, vm::cptr<char> dirName, vm::ptr<CellGameC
{ {
switch (type) switch (type)
{ {
case CELL_GAME_GAMETYPE_HDD: return cat != "HG"sv; case CELL_GAME_GAMETYPE_HDD: return cat != "HG"sv && cat != "AM"sv && cat != "AP"sv && cat != "AT"sv && cat != "AV"sv && cat != "BV"sv && cat != "WT"sv;
case CELL_GAME_GAMETYPE_GAMEDATA: return cat != "GD"sv; case CELL_GAME_GAMETYPE_GAMEDATA: return cat != "GD"sv;
case CELL_GAME_GAMETYPE_DISC: return cat != "DG"sv; case CELL_GAME_GAMETYPE_DISC: return cat != "DG"sv;
default: fmt::throw_exception("Unreachable"); default: fmt::throw_exception("Unreachable");