gta5view 1.10.2 release
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details

- fix crash bug and upload issue
This commit is contained in:
Syping 2023-03-15 07:10:50 +01:00
parent d7b28c2468
commit 13b6d614fc
9 changed files with 52 additions and 15 deletions

View File

@ -24,7 +24,7 @@ BEGIN
VALUE "FileDescription", "gta5view" VALUE "FileDescription", "gta5view"
VALUE "FileVersion", "MAJOR_VER.MINOR_VER.PATCH_VERSTR_BUILD_VER" VALUE "FileVersion", "MAJOR_VER.MINOR_VER.PATCH_VERSTR_BUILD_VER"
VALUE "InternalName", "gta5view" VALUE "InternalName", "gta5view"
VALUE "LegalCopyright", "Copyright © 2016-2022 Syping" VALUE "LegalCopyright", "Copyright © 2016-2023 Syping"
VALUE "OriginalFilename", "gta5view.exe" VALUE "OriginalFilename", "gta5view.exe"
VALUE "ProductName", "gta5view" VALUE "ProductName", "gta5view"
VALUE "ProductVersion", "MAJOR_VER.MINOR_VER.PATCH_VERSTR_BUILD_VER" VALUE "ProductVersion", "MAJOR_VER.MINOR_VER.PATCH_VERSTR_BUILD_VER"

View File

@ -4,7 +4,7 @@
!define APP_EXT ".g5e" !define APP_EXT ".g5e"
!define COMP_NAME "Syping" !define COMP_NAME "Syping"
!define WEB_SITE "https://gta5view.syping.de/" !define WEB_SITE "https://gta5view.syping.de/"
!define VERSION "1.10.1.1" !define VERSION "1.10.2.0"
!define COPYRIGHT "Copyright © 2016-2022 Syping" !define COPYRIGHT "Copyright © 2016-2022 Syping"
!define DESCRIPTION "Open Source Snapmatic and Savegame viewer/editor for GTA V" !define DESCRIPTION "Open Source Snapmatic and Savegame viewer/editor for GTA V"
!define INSTALLER_NAME "gta5view_setup.exe" !define INSTALLER_NAME "gta5view_setup.exe"

View File

@ -5,7 +5,7 @@ language: cpp
services: services:
- docker - docker
env: env:
global: global:
- BUILD_TYPE=REL - BUILD_TYPE=REL
@ -27,7 +27,7 @@ matrix:
- QT_SELECT=qt5-x86_64-w64-mingw32 - QT_SELECT=qt5-x86_64-w64-mingw32
- RELEASE_LABEL="Windows 64-Bit Installer" - RELEASE_LABEL="Windows 64-Bit Installer"
- os: osx - os: osx
osx_image: xcode12.2 osx_image: xcode14.2
env: env:
- BUILD_SCRIPT=osx_ci.sh - BUILD_SCRIPT=osx_ci.sh
- RELEASE_LABEL="Mac OS X 64-Bit Disk Image" - RELEASE_LABEL="Mac OS X 64-Bit Disk Image"

View File

@ -38,7 +38,7 @@ if(APPLE)
res/gta5view.icns res/gta5view.icns
) )
set(MACOSX_BUNDLE_BUNDLE_NAME gta5view) set(MACOSX_BUNDLE_BUNDLE_NAME gta5view)
set(MACOSX_BUNDLE_BUNDLE_VERSION 1.10.1) set(MACOSX_BUNDLE_BUNDLE_VERSION 1.10.2)
set(MACOSX_BUNDLE_ICON_FILE gta5view.icns) set(MACOSX_BUNDLE_ICON_FILE gta5view.icns)
set(MACOSX_BUNDLE_GUI_IDENTIFIER de.syping.gta5view) set(MACOSX_BUNDLE_GUI_IDENTIFIER de.syping.gta5view)
set_source_files_properties(res/gta5view.icns PROPERTIES MACOSX_PACKAGE_LOCATION "Resources") set_source_files_properties(res/gta5view.icns PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")

View File

@ -287,8 +287,16 @@ void ProfileInterface::directoryChanged(const QString &path)
} }
if (fileName.startsWith("PGTA5") && !fileName.endsWith(".bak")) { if (fileName.startsWith("PGTA5") && !fileName.endsWith(".bak")) {
t_snapmaticPics << fileName; t_snapmaticPics << fileName;
if (!snapmaticPics.contains(fileName)) { if (fileName.endsWith(".hidden")) {
n_snapmaticPics << fileName; 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;
}
} }
} }
} }

View File

@ -31,6 +31,20 @@
#include <chrono> #include <chrono>
#endif #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() RagePhoto::RagePhoto()
{ {
p_photoFormat = PhotoFormat::Undefined; p_photoFormat = PhotoFormat::Undefined;
@ -530,8 +544,15 @@ bool RagePhoto::setJsonData(const QByteArray &data)
QJsonDocument t_jsonDocument = QJsonDocument::fromJson(data); QJsonDocument t_jsonDocument = QJsonDocument::fromJson(data);
if (t_jsonDocument.isNull()) if (t_jsonDocument.isNull())
return false; return false;
p_jsonData = t_jsonDocument.toJson(QJsonDocument::Compact);
p_jsonObject = t_jsonDocument.object(); 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; return true;
} }
@ -555,6 +576,8 @@ bool RagePhoto::setPhotoData(const QByteArray &data)
if (size > p_photoBuffer) if (size > p_photoBuffer)
return false; return false;
p_photoData = data; p_photoData = data;
// serializer band-aid
setJsonData(p_jsonData);
return true; return true;
} }
@ -563,6 +586,8 @@ bool RagePhoto::setPhotoData(const char *data, int size)
if (static_cast<quint32>(size) > p_photoBuffer) if (static_cast<quint32>(size) > p_photoBuffer)
return false; return false;
p_photoData = QByteArray(data, size); p_photoData = QByteArray(data, size);
// serializer band-aid
setJsonData(p_jsonData);
return true; return true;
} }
@ -640,6 +665,9 @@ QByteArray RagePhoto::save(PhotoFormat photoFormat)
void RagePhoto::save(QIODevice *ioDevice, PhotoFormat photoFormat) void RagePhoto::save(QIODevice *ioDevice, PhotoFormat photoFormat)
{ {
// serializer band-aid
setJsonData(p_jsonData);
if (photoFormat == PhotoFormat::G5EX) { if (photoFormat == PhotoFormat::G5EX) {
char uInt32Buffer[4]; char uInt32Buffer[4];
quint32 format = static_cast<quint32>(PhotoFormat::G5EX); quint32 format = static_cast<quint32>(PhotoFormat::G5EX);

View File

@ -47,11 +47,11 @@
#endif #endif
#ifndef GTA5SYNC_COPYRIGHT #ifndef GTA5SYNC_COPYRIGHT
#define GTA5SYNC_COPYRIGHT "2016-2022" #define GTA5SYNC_COPYRIGHT "2016-2023"
#endif #endif
#ifndef GTA5SYNC_APPVER #ifndef GTA5SYNC_APPVER
#define GTA5SYNC_APPVER "1.10.1" #define GTA5SYNC_APPVER "1.10.2"
#endif #endif
#if __cplusplus #if __cplusplus

View File

@ -4,8 +4,8 @@ IDI_ICON1 ICON DISCARDABLE "5sync.ico"
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "gta5view.exe.manifest" CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "gta5view.exe.manifest"
#include <windows.h> #include <windows.h>
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1, 10, 1, 2 FILEVERSION 1, 10, 2, 0
PRODUCTVERSION 1, 10, 1, 2 PRODUCTVERSION 1, 10, 2, 0
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
FILEFLAGS 0 FILEFLAGS 0
FILEOS VOS_NT_WINDOWS32 FILEOS VOS_NT_WINDOWS32
@ -22,12 +22,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Syping" VALUE "CompanyName", "Syping"
VALUE "FileDescription", "gta5view" VALUE "FileDescription", "gta5view"
VALUE "FileVersion", "1.10.1" VALUE "FileVersion", "1.10.2"
VALUE "InternalName", "gta5view" VALUE "InternalName", "gta5view"
VALUE "LegalCopyright", "Copyright © 2016-2022 Syping" VALUE "LegalCopyright", "Copyright © 2016-2023 Syping"
VALUE "OriginalFilename", "gta5view.exe" VALUE "OriginalFilename", "gta5view.exe"
VALUE "ProductName", "gta5view" VALUE "ProductName", "gta5view"
VALUE "ProductVersion", "1.10.1" VALUE "ProductVersion", "1.10.2"
END END
END END
END END

View File

@ -34,6 +34,7 @@
<developer_name>Syping</developer_name> <developer_name>Syping</developer_name>
<releases> <releases>
<release date="2022-03-15" version="1.10.2"/>
<release date="2021-06-17" version="1.10.1"/> <release date="2021-06-17" version="1.10.1"/>
<release date="2021-05-27" version="1.10.0"/> <release date="2021-05-27" version="1.10.0"/>
<release date="2021-03-22" version="1.9.2"/> <release date="2021-03-22" version="1.9.2"/>