mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-05-30 23:33:17 +00:00
- Added a trophy viewer (right click on game ==> trophy viewer) - Enabled Run button. - Switched gui settings to toml. - Added recent files (6 max) - Applied @raphaelthegreat suggestions and corrections (Thanks a lot). - Fixed several bugs and crashes. - Full screen should disabled by default. - Added region in list mode. - Added a simple temp elf list widget. - Added messages when extracting pkg (ex: installing a patch before the game...etc)
49 lines
No EOL
1.7 KiB
C++
49 lines
No EOL
1.7 KiB
C++
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#include <QFuture>
|
|
#include <QObject>
|
|
#include <QPixmap>
|
|
#include <QtConcurrent/QtConcurrent>
|
|
#include "common/config.h"
|
|
#include "core/file_format/psf.h"
|
|
#include "game_list_utils.h"
|
|
|
|
class GameInfoClass : public QObject {
|
|
Q_OBJECT
|
|
public:
|
|
GameInfoClass();
|
|
~GameInfoClass();
|
|
void GetGameInfo(QWidget* parent = nullptr);
|
|
QVector<GameInfo> m_games;
|
|
|
|
static bool CompareStrings(GameInfo& a, GameInfo& b) {
|
|
return a.name < b.name;
|
|
}
|
|
|
|
static GameInfo readGameInfo(const std::string& filePath) {
|
|
GameInfo game;
|
|
game.path = filePath;
|
|
|
|
PSF psf;
|
|
if (psf.open(game.path + "/sce_sys/param.sfo", {})) {
|
|
game.icon_path = game.path + "/sce_sys/icon0.png";
|
|
QString iconpath = QString::fromStdString(game.icon_path);
|
|
game.icon = QImage(iconpath);
|
|
game.pic_path = game.path + "/sce_sys/pic1.png";
|
|
game.name = psf.GetString("TITLE");
|
|
game.serial = psf.GetString("TITLE_ID");
|
|
game.region = GameListUtils::GetRegion(psf.GetString("CONTENT_ID").at(0)).toStdString();
|
|
u32 fw_int = psf.GetInteger("SYSTEM_VER");
|
|
QString fw = QString::number(fw_int, 16);
|
|
QString fw_ = fw.length() > 7 ? QString::number(fw_int, 16).left(3).insert(2, '.')
|
|
: fw.left(3).insert(1, '.');
|
|
game.fw = (fw_int == 0) ? "0.00" : fw_.toStdString();
|
|
game.version = psf.GetString("APP_VER");
|
|
game.category = psf.GetString("CATEGORY");
|
|
}
|
|
return game;
|
|
}
|
|
}; |