Compare commits
4 commits
Author | SHA1 | Date | |
---|---|---|---|
20de3627d5 | |||
|
13b6d614fc | ||
|
d7b28c2468 | ||
|
5e6c4e6ad1 |
19 changed files with 97 additions and 58 deletions
|
@ -24,7 +24,7 @@ BEGIN
|
|||
VALUE "FileDescription", "gta5view"
|
||||
VALUE "FileVersion", "MAJOR_VER.MINOR_VER.PATCH_VERSTR_BUILD_VER"
|
||||
VALUE "InternalName", "gta5view"
|
||||
VALUE "LegalCopyright", "Copyright © 2016-2021 Syping"
|
||||
VALUE "LegalCopyright", "Copyright © 2016-2023 Syping"
|
||||
VALUE "OriginalFilename", "gta5view.exe"
|
||||
VALUE "ProductName", "gta5view"
|
||||
VALUE "ProductVersion", "MAJOR_VER.MINOR_VER.PATCH_VERSTR_BUILD_VER"
|
||||
|
|
|
@ -1 +1 @@
|
|||
btc:187NSQSPzdMpQDGhxZAuw4AhZ7LgoAPV7D,eth:0x19d71DfCa86104d37a13D3c5d419936421CDC569,ltc:LKr6yvBoMMGmcxViS8Kc1A2sDjVSWTXn4m,xmr:43TB3ZMP5nk1pu5EQXRGPzdTKvmFEBGgccX3tNhRknLLiUYQ7z7dNedVHEA6WrWdByZv1isvFmjSGhCF7ddx3eRxFdm5Fzz,zec:t1SpfDKj6qGZFwyRdzJBw9w2PTj8rUixZGh
|
||||
btc:187NSQSPzdMpQDGhxZAuw4AhZ7LgoAPV7D,eth:0x19d71DfCa86104d37a13D3c5d419936421CDC569,ltc:LKr6yvBoMMGmcxViS8Kc1A2sDjVSWTXn4m,xmr:43TB3ZMP5nk1pu5EQXRGPzdTKvmFEBGgccX3tNhRknLLiUYQ7z7dNedVHEA6WrWdByZv1isvFmjSGhCF7ddx3eRxFdm5Fzz
|
|
@ -4,8 +4,8 @@
|
|||
!define APP_EXT ".g5e"
|
||||
!define COMP_NAME "Syping"
|
||||
!define WEB_SITE "https://gta5view.syping.de/"
|
||||
!define VERSION "1.10.1.0"
|
||||
!define COPYRIGHT "Copyright © 2016-2021 Syping"
|
||||
!define VERSION "1.10.2.0"
|
||||
!define COPYRIGHT "Copyright © 2016-2022 Syping"
|
||||
!define DESCRIPTION "Open Source Snapmatic and Savegame viewer/editor for GTA V"
|
||||
!define INSTALLER_NAME "gta5view_setup.exe"
|
||||
!define MAIN_APP_EXE "gta5view.exe"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
app-id: de.syping.gta5view
|
||||
runtime: org.kde.Platform
|
||||
runtime-version: '5.15'
|
||||
runtime-version: '5.15-21.08'
|
||||
sdk: org.kde.Sdk
|
||||
command: gta5view
|
||||
finish-args:
|
||||
|
|
14
.travis.yml
14
.travis.yml
|
@ -5,7 +5,7 @@ language: cpp
|
|||
|
||||
services:
|
||||
- docker
|
||||
|
||||
|
||||
env:
|
||||
global:
|
||||
- BUILD_TYPE=REL
|
||||
|
@ -22,22 +22,12 @@ matrix:
|
|||
- BUILD_SCRIPT=windows_docker.sh
|
||||
- QT_SELECT=qt5-x86_64-w64-mingw32
|
||||
- RELEASE_LABEL="Windows 64-Bit Portable"
|
||||
- env:
|
||||
- BUILD_SCRIPT=windows_docker.sh
|
||||
- QT_SELECT=qt5-x86_64-w64-mingw32
|
||||
- RELEASE_LABEL="Windows 64-Bit Portable for gta5-mods"
|
||||
- PACKAGE_CODE=gta5-mods
|
||||
- env:
|
||||
- BUILD_SCRIPT=windows_docker.sh
|
||||
- QT_SELECT=qt5-x86_64-w64-mingw32
|
||||
- RELEASE_LABEL="Windows 64-Bit Portable for gtainside"
|
||||
- PACKAGE_CODE=gtainside
|
||||
- env:
|
||||
- BUILD_SCRIPT=wininstall_docker.sh
|
||||
- QT_SELECT=qt5-x86_64-w64-mingw32
|
||||
- RELEASE_LABEL="Windows 64-Bit Installer"
|
||||
- os: osx
|
||||
osx_image: xcode10.3
|
||||
osx_image: xcode14.2
|
||||
env:
|
||||
- BUILD_SCRIPT=osx_ci.sh
|
||||
- RELEASE_LABEL="Mac OS X 64-Bit Disk Image"
|
||||
|
|
|
@ -38,7 +38,7 @@ if(APPLE)
|
|||
res/gta5view.icns
|
||||
)
|
||||
set(MACOSX_BUNDLE_BUNDLE_NAME gta5view)
|
||||
set(MACOSX_BUNDLE_BUNDLE_VERSION 1.10.0)
|
||||
set(MACOSX_BUNDLE_BUNDLE_VERSION 1.10.2)
|
||||
set(MACOSX_BUNDLE_ICON_FILE gta5view.icns)
|
||||
set(MACOSX_BUNDLE_GUI_IDENTIFIER de.syping.gta5view)
|
||||
set_source_files_properties(res/gta5view.icns PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*****************************************************************************
|
||||
* gta5view Grand Theft Auto V Profile Viewer
|
||||
* Copyright (C) 2017-2021 Syping
|
||||
* Copyright (C) 2017-2022 Syping
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -111,8 +111,12 @@ ImportDialog::ImportDialog(QString profileName, QWidget *parent) :
|
|||
ui->vlButtom->setSpacing(6 * screenRatio);
|
||||
#ifndef Q_OS_MAC
|
||||
ui->vlButtom->setContentsMargins(9 * screenRatio, 6 * screenRatio, 9 * screenRatio, 9 * screenRatio);
|
||||
#else
|
||||
#if QT_VERSION >= 0x060000
|
||||
if (QApplication::style()->objectName() == "macos") {
|
||||
#else
|
||||
if (QApplication::style()->objectName() == "macintosh") {
|
||||
#endif
|
||||
ui->vlButtom->setContentsMargins(9 * screenRatio, 9 * screenRatio, 9 * screenRatio, 9 * screenRatio);
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -282,6 +282,7 @@ void OptionsDialog::setupRadioButtons()
|
|||
case 0:
|
||||
case 20:
|
||||
ui->rbModern->setChecked(true);
|
||||
ui->cbDoubleclick->setChecked(false);
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
|
@ -291,11 +292,12 @@ void OptionsDialog::setupRadioButtons()
|
|||
break;
|
||||
case 10:
|
||||
ui->rbClassic->setChecked(true);
|
||||
#if QT_VERSION >= 0x050800
|
||||
Q_FALLTHROUGH();
|
||||
#endif
|
||||
ui->cbDoubleclick->setChecked(false);
|
||||
break;
|
||||
case 11:
|
||||
ui->rbClassic->setChecked(true);
|
||||
ui->cbDoubleclick->setChecked(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*****************************************************************************
|
||||
* gta5view Grand Theft Auto V Profile Viewer
|
||||
* Copyright (C) 2016-2021 Syping
|
||||
* Copyright (C) 2016-2022 Syping
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -124,8 +124,12 @@ ProfileInterface::ProfileInterface(ProfileDatabase *profileDB, CrewDatabase *cre
|
|||
#ifndef Q_OS_MAC
|
||||
ui->hlButtons->setSpacing(6 * screenRatio);
|
||||
ui->hlButtons->setContentsMargins(9 * screenRatio, 9 * screenRatio, 9 * screenRatio, 9 * screenRatio);
|
||||
#else
|
||||
#if QT_VERSION >= 0x060000
|
||||
if (QApplication::style()->objectName() == "macos") {
|
||||
#else
|
||||
if (QApplication::style()->objectName() == "macintosh") {
|
||||
#endif
|
||||
ui->hlButtons->setSpacing(6 * screenRatio);
|
||||
ui->hlButtons->setContentsMargins(9 * screenRatio, 15 * screenRatio, 15 * screenRatio, 17 * screenRatio);
|
||||
}
|
||||
|
@ -283,8 +287,16 @@ void ProfileInterface::directoryChanged(const QString &path)
|
|||
}
|
||||
if (fileName.startsWith("PGTA5") && !fileName.endsWith(".bak")) {
|
||||
t_snapmaticPics << fileName;
|
||||
if (!snapmaticPics.contains(fileName)) {
|
||||
n_snapmaticPics << fileName;
|
||||
if (fileName.endsWith(".hidden")) {
|
||||
const QString originalFileName = fileName.left(fileName.length() - 7);
|
||||
if (!snapmaticPics.contains(fileName) && !snapmaticPics.contains(originalFileName)) {
|
||||
n_snapmaticPics << fileName;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (!snapmaticPics.contains(fileName) && !snapmaticPics.contains(fileName % ".hidden")) {
|
||||
n_snapmaticPics << fileName;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1554,7 +1566,11 @@ void ProfileInterface::settingsApplied(int _contentMode, bool languageChanged)
|
|||
#ifdef Q_OS_MAC
|
||||
// DPI calculation
|
||||
qreal screenRatio = AppEnv::screenRatio();
|
||||
#if QT_VERSION >= 0x060000
|
||||
if (QApplication::style()->objectName() == "macos") {
|
||||
#else
|
||||
if (QApplication::style()->objectName() == "macintosh") {
|
||||
#endif
|
||||
ui->hlButtons->setSpacing(6 * screenRatio);
|
||||
ui->hlButtons->setContentsMargins(9 * screenRatio, 15 * screenRatio, 15 * screenRatio, 17 * screenRatio);
|
||||
}
|
||||
|
|
38
README.md
38
README.md
|
@ -14,36 +14,32 @@ Open Source Snapmatic and Savegame viewer/editor for GTA V
|
|||
#### Build gta5view for Windows
|
||||
|
||||
# Note: Install Docker Community Edition and Git before continuing
|
||||
git clone https://gitlab.com/Syping/gta5view && cd gta5view
|
||||
docker pull sypingauto/gta5view-build:1.10-static
|
||||
docker run --rm -v "$PWD:/gta5view" -it sypingauto/gta5view-build:1.10-static
|
||||
cd /gta5view && mkdir -p build && cd build
|
||||
mingw64-qt-cmake ../
|
||||
make -j $(nproc --all)
|
||||
git clone https://gitlab.com/Syping/gta5view
|
||||
docker run --rm -v "$PWD/gta5view:/gta5view" -it sypingauto/gta5view-build:1.10-static
|
||||
mingw64-qt-cmake -B /gta5view/build /gta5view
|
||||
cmake --build /gta5view/build
|
||||
|
||||
#### Build gta5view for Debian/Ubuntu
|
||||
|
||||
sudo apt-get install cmake git gcc g++ libqt5svg5-dev make qtbase5-dev qttranslations5-l10n
|
||||
git clone https://gitlab.com/Syping/gta5view && cd gta5view
|
||||
mkdir -p build && cd build
|
||||
cmake ../
|
||||
make -j $(nproc --all)
|
||||
sudo make install
|
||||
git clone https://gitlab.com/Syping/gta5view
|
||||
cmake -B gta5view-build gta5view
|
||||
cmake --build gta5view-build
|
||||
sudo cmake --install gta5view-build
|
||||
|
||||
#### Build gta5view for Arch/Manjaro
|
||||
|
||||
sudo pacman -S cmake gcc git make qt5-base qt5-svg qt5-tools qt5-translations
|
||||
git clone https://gitlab.com/Syping/gta5view && cd gta5view
|
||||
mkdir -p build && cd build
|
||||
cmake ../
|
||||
make -j $(nproc --all)
|
||||
sudo make install
|
||||
git clone https://gitlab.com/Syping/gta5view
|
||||
cmake -B gta5view-build gta5view
|
||||
cmake --build gta5view-build
|
||||
sudo cmake --install gta5view-build
|
||||
|
||||
#### Build gta5view for Fedora
|
||||
#### Build gta5view for Fedora/RHEL
|
||||
|
||||
sudo dnf install cmake git gcc gcc-c++ make qt5-qtbase-devel qt5-qtsvg-devel qt5-qttranslations
|
||||
git clone https://gitlab.com/Syping/gta5view && cd gta5view
|
||||
mkdir -p build && cd build
|
||||
cmake ../
|
||||
make -j $(nproc --all)
|
||||
sudo make install
|
||||
git clone https://gitlab.com/Syping/gta5view
|
||||
cmake -B gta5view-build gta5view
|
||||
cmake --build gta5view-build
|
||||
sudo cmake --install gta5view-build
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*****************************************************************************
|
||||
* gta5view Grand Theft Auto V Profile Viewer
|
||||
* Copyright (C) 2020-2021 Syping
|
||||
* Copyright (C) 2020-2022 Syping
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -22,12 +22,29 @@
|
|||
#include <QFile>
|
||||
#if QT_VERSION < 0x060000
|
||||
#include <QTextCodec>
|
||||
#else
|
||||
#include <QStringEncoder>
|
||||
#include <QStringDecoder>
|
||||
#endif
|
||||
#ifdef RAGEPHOTO_BENCHMARK
|
||||
#include <QFileInfo>
|
||||
#include <chrono>
|
||||
#endif
|
||||
|
||||
inline quint32 joaatFromSI(const char *data, size_t size)
|
||||
{
|
||||
quint32 val = 0xE47AB81CUL;
|
||||
for (size_t i = 0; i != size; i++) {
|
||||
val += data[i];
|
||||
val += (val << 10);
|
||||
val ^= (val >> 6);
|
||||
}
|
||||
val += (val << 3);
|
||||
val ^= (val >> 11);
|
||||
val += (val << 15);
|
||||
return val;
|
||||
}
|
||||
|
||||
RagePhoto::RagePhoto()
|
||||
{
|
||||
p_photoFormat = PhotoFormat::Undefined;
|
||||
|
@ -527,8 +544,15 @@ bool RagePhoto::setJsonData(const QByteArray &data)
|
|||
QJsonDocument t_jsonDocument = QJsonDocument::fromJson(data);
|
||||
if (t_jsonDocument.isNull())
|
||||
return false;
|
||||
p_jsonData = t_jsonDocument.toJson(QJsonDocument::Compact);
|
||||
p_jsonObject = t_jsonDocument.object();
|
||||
// serializer band-aid
|
||||
QJsonObject t_jsonObject = p_jsonObject;
|
||||
t_jsonObject["sign"] = "__gta5view.sign";
|
||||
t_jsonDocument.setObject(t_jsonObject);
|
||||
p_jsonData = t_jsonDocument.toJson(QJsonDocument::Compact);
|
||||
char sign_char[24];
|
||||
sprintf(sign_char, "%llu", (0x100000000000000ULL | joaatFromSI(p_photoData.constData(), p_photoData.size())));
|
||||
p_jsonData.replace("\"__gta5view.sign\"", sign_char);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -552,6 +576,8 @@ bool RagePhoto::setPhotoData(const QByteArray &data)
|
|||
if (size > p_photoBuffer)
|
||||
return false;
|
||||
p_photoData = data;
|
||||
// serializer band-aid
|
||||
setJsonData(p_jsonData);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -560,6 +586,8 @@ bool RagePhoto::setPhotoData(const char *data, int size)
|
|||
if (static_cast<quint32>(size) > p_photoBuffer)
|
||||
return false;
|
||||
p_photoData = QByteArray(data, size);
|
||||
// serializer band-aid
|
||||
setJsonData(p_jsonData);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -637,6 +665,9 @@ QByteArray RagePhoto::save(PhotoFormat photoFormat)
|
|||
|
||||
void RagePhoto::save(QIODevice *ioDevice, PhotoFormat photoFormat)
|
||||
{
|
||||
// serializer band-aid
|
||||
setJsonData(p_jsonData);
|
||||
|
||||
if (photoFormat == PhotoFormat::G5EX) {
|
||||
char uInt32Buffer[4];
|
||||
quint32 format = static_cast<quint32>(PhotoFormat::G5EX);
|
||||
|
|
|
@ -34,6 +34,8 @@
|
|||
|
||||
#if QT_VERSION < 0x060000
|
||||
#include <QTextCodec>
|
||||
#else
|
||||
#include <QStringDecoder>
|
||||
#endif
|
||||
|
||||
#if QT_VERSION >= 0x050000
|
||||
|
|
4
config.h
4
config.h
|
@ -47,11 +47,11 @@
|
|||
#endif
|
||||
|
||||
#ifndef GTA5SYNC_COPYRIGHT
|
||||
#define GTA5SYNC_COPYRIGHT "2016-2021"
|
||||
#define GTA5SYNC_COPYRIGHT "2016-2023"
|
||||
#endif
|
||||
|
||||
#ifndef GTA5SYNC_APPVER
|
||||
#define GTA5SYNC_APPVER "1.10.1"
|
||||
#define GTA5SYNC_APPVER "1.10.2"
|
||||
#endif
|
||||
|
||||
#if __cplusplus
|
||||
|
|
10
res/app.rc
10
res/app.rc
|
@ -4,8 +4,8 @@ IDI_ICON1 ICON DISCARDABLE "5sync.ico"
|
|||
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "gta5view.exe.manifest"
|
||||
#include <windows.h>
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1, 10, 1, 0
|
||||
PRODUCTVERSION 1, 10, 1, 0
|
||||
FILEVERSION 1, 10, 2, 0
|
||||
PRODUCTVERSION 1, 10, 2, 0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
FILEFLAGS 0
|
||||
FILEOS VOS_NT_WINDOWS32
|
||||
|
@ -22,12 +22,12 @@ BEGIN
|
|||
BEGIN
|
||||
VALUE "CompanyName", "Syping"
|
||||
VALUE "FileDescription", "gta5view"
|
||||
VALUE "FileVersion", "1.10.1"
|
||||
VALUE "FileVersion", "1.10.2"
|
||||
VALUE "InternalName", "gta5view"
|
||||
VALUE "LegalCopyright", "Copyright © 2016-2021 Syping"
|
||||
VALUE "LegalCopyright", "Copyright © 2016-2023 Syping"
|
||||
VALUE "OriginalFilename", "gta5view.exe"
|
||||
VALUE "ProductName", "gta5view"
|
||||
VALUE "ProductVersion", "1.10.1"
|
||||
VALUE "ProductVersion", "1.10.2"
|
||||
END
|
||||
END
|
||||
END
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
<developer_name>Syping</developer_name>
|
||||
|
||||
<releases>
|
||||
<release date="2023-03-15" version="1.10.2"/>
|
||||
<release date="2021-06-17" version="1.10.1"/>
|
||||
<release date="2021-05-27" version="1.10.0"/>
|
||||
<release date="2021-03-22" version="1.9.2"/>
|
||||
|
|
|
@ -8,8 +8,6 @@
|
|||
<file>ltc.svgz</file>
|
||||
<file>xmr.str</file>
|
||||
<file>xmr.svgz</file>
|
||||
<file>zec.str</file>
|
||||
<file>zec.svgz</file>
|
||||
</qresource>
|
||||
<qresource prefix="/img">
|
||||
<file>donate.svgz</file>
|
||||
|
|
Binary file not shown.
|
@ -1 +0,0 @@
|
|||
Zcash
|
BIN
res/zec.svgz
BIN
res/zec.svgz
Binary file not shown.
Loading…
Reference in a new issue