diff -Nru blackchocobo-1.9.900/about.cpp blackchocobo-1.9.910/about.cpp --- blackchocobo-1.9.900/about.cpp 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/about.cpp 2018-12-29 20:35:46.000000000 +0000 @@ -1,5 +1,5 @@ /****************************************************************************/ -// copyright 2010-2016 Chris Rizzitello // +// copyright 2010-2018 Chris Rizzitello // // // // This file is part of Black Chocobo. // // // @@ -25,8 +25,9 @@ ui->setupUi(this); settings = config_data; restoreGeometry(settings->value("AboutGeometry").toByteArray()); - ui->lbl_icon->setFixedSize(64*settings->value("scale").toReal(),64*settings->value("scale").toReal()); - ui->lbl_icon->setPixmap(QPixmap(":/icon/bchoco").scaled(ui->lbl_icon->size(),Qt::KeepAspectRatio,Qt::SmoothTransformation)); + ui->pushButton->setIcon(QIcon::fromTheme("window-close", style()->standardIcon(QStyle::SP_DialogCloseButton))); + ui->lbl_icon->setFixedSize(fontMetrics().height()* 3, fontMetrics().height() * 3); + ui->lbl_icon->setPixmap(QPixmap(":/icon/bchoco").scaled(ui->lbl_icon->size(),Qt::KeepAspectRatio,Qt::SmoothTransformation)); ui->lbl_name->setText(QCoreApplication::applicationName().toLatin1()); ui->lbl_bc_version->setText(QString(tr("Version: %1")).arg(QCoreApplication::applicationVersion())); ui->lbl_qt_version->setText(QString(tr("Using Qt: %1")).arg(qVersion())); diff -Nru blackchocobo-1.9.900/about.h blackchocobo-1.9.910/about.h --- blackchocobo-1.9.900/about.h 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/about.h 2018-12-29 20:35:46.000000000 +0000 @@ -1,5 +1,5 @@ /****************************************************************************/ -// copyright 2010-2016 Chris Rizzitello // +// copyright 2010-2018 Chris Rizzitello // // // // This file is part of Black Chocobo. // // // diff -Nru blackchocobo-1.9.900/about.ui blackchocobo-1.9.910/about.ui --- blackchocobo-1.9.900/about.ui 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/about.ui 2018-12-29 20:35:46.000000000 +0000 @@ -9,8 +9,8 @@ 0 0 - 329 - 383 + 714 + 660 @@ -121,7 +121,7 @@ - (C) 2010 - 2015 Chris Rizzitello + (C) 2010 - 2018 Chris Rizzitello 9 @@ -210,37 +210,42 @@ - New: Scaling support for HiDpi + New: Further Improve HiDpi - New: Psv Signing Place Keys in Options + Fixed: Track hex Editor's cursor on tab change. - New: Save/Restore Geometry for MainWindow and Options + ff7tk: Fixed Loading Psv file crashes host - New: Auto guess Slot location for VMC formats. + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/12 - Fixed: Menu Editor Backward Columns + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/17 - New: Achievement Editor. + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/37 - FF7tk: LocationViewer Contains Field Items (Finished!) + ff7tk: Fixed Chocobo pCount / Personality layout was overlapping Speed Notes. + + + + + ff7tk: Chocobo name not showing place holder text at right times @@ -275,8 +280,8 @@ 0 0 - 378 - 491 + 658 + 699 @@ -867,8 +872,8 @@ 0 0 - 273 - 690 + 658 + 756 diff -Nru blackchocobo-1.9.900/.appveyor.yml blackchocobo-1.9.910/.appveyor.yml --- blackchocobo-1.9.900/.appveyor.yml 1970-01-01 00:00:00.000000000 +0000 +++ blackchocobo-1.9.910/.appveyor.yml 2018-12-29 20:35:46.000000000 +0000 @@ -0,0 +1,82 @@ +version: '{branch}.{build}' +image: Visual Studio 2015 +configuration: release +platform: x86 +init: +- ps: >- + $env:commit = $env:appveyor_repo_commit.SubString(0,7) + + Update-AppveyorBuild -Version ("{0}-{1}-{2}" -f $env:appveyor_repo_branch,$env:appveyor_build_number,$env:commit ) +environment: + VSVER: 14.0 + matrix: + - MSVC: 15 + RUNTIME_LINKAGE: static + ICU_VERSION: 57.1 + ICU_LINKAGE: static + QTDIR: C:\Qt\5.11.2\mingw53_32 + MGWDIR: C:\Qt\Tools\mingw530_32\bin + QT_VERSION: 5.11.2 + QT_LINKAGE: static +install: +- cmd: >- + %QTDIR%\bin\qtenv2.bat + + qmake -v + + set QTDIR + + if %QTDIR:_64=%==%QTDIR% ( set ARCH=x86 ) else set ARCH=x64 + + if %QTDIR:msvc=%==%QTDIR% g++ --version + + if %QTDIR:msvc=%==%QTDIR% set make=mingw32-make.exe + + if %QTDIR:msvc=%==%QTDIR% %make% --version + + if not %QTDIR:msvc=%==%QTDIR% call "%ProgramFiles(x86)%\Microsoft Visual Studio %VSVER%\VC\vcvarsall.bat" %ARCH% + + if not %QTDIR:msvc=%==%QTDIR% set make=nmake.exe + + if not %QTDIR:msvc=%==%QTDIR% %make% /? > nul + + set QTBIN=%QTDIR%\bin +build_script: +- cmd: >- + cd C:\projects\blackchocobo + + qmake "DEFINES+=OPENSSL=1" "INCLUDEPATH += C:\OpenSSL-Win32\include" "LIBS += -L"C:\OpenSSL-Win32\lib" -llibeay32" Black_Chocobo.pro + + mkdir Black_Chocobo-%commit%-win32 + + mkdir Black_Chocobo-%commit%-win32\lang + + move lang\*.qm Black_Chocobo-%commit%-win32\lang\ + + move COPYING.TXT Black_Chocobo-%commit%-win32\ + + copy C:\OpenSSL-Win32\libeay32.dll Black_Chocobo-%commit%-win32\ + + %make% + + move release\Black_Chocobo.exe Black_Chocobo-%commit%-win32\ + + windeployqt --compiler-runtime Black_Chocobo-%commit%-win32\Black_Chocobo.exe + + echo "" > Black_Chocobo-%commit%-win32\settings.ini + + dir Black_Chocobo-%commit%-win32 + + 7z a -tzip Black_Chocobo-win32.zip Black_Chocobo-%commit%-win32 -r + +artifacts: +- path: Black_Chocobo-win32.zip + name: blackchocobo +deploy: +- provider: GitHub + tag: continuous + description: continuous + auth_token: + secure: yG66EEKasiTmuCDPStbz0nVsvcETsQlnpDD2ScfNWUwT81kKfALCVFRTPMrp6R6E + artifact: blackchocobo + force_update: true diff -Nru blackchocobo-1.9.900/Black_Chocobo.desktop blackchocobo-1.9.910/Black_Chocobo.desktop --- blackchocobo-1.9.900/Black_Chocobo.desktop 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/Black_Chocobo.desktop 2018-12-29 20:35:46.000000000 +0000 @@ -7,7 +7,7 @@ GenericName[es]=Editor de partidas guardadas para FF7 GenericName[fr]=Éditeur de sauvegardes FF7 GenericName[de]=FF7 Spielstand-Bearbeitungsprogramm -Icon=Black_Chocobo.png +Icon=Black_Chocobo MimeType=application/x-blackchocobo; Name=Black Chocobo Name[en]=Black Chocobo @@ -17,5 +17,4 @@ StartupNotify=true Terminal=false Type=Application -Version=1.9.90 X-KDE-SubstituteUID=false diff -Nru blackchocobo-1.9.900/Black_Chocobo.pro blackchocobo-1.9.910/Black_Chocobo.pro --- blackchocobo-1.9.900/Black_Chocobo.pro 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/Black_Chocobo.pro 2018-12-29 20:35:46.000000000 +0000 @@ -154,8 +154,8 @@ unix:!macx:!symbian:!android { #remember to ship debian/menu and debian/blackchocobo.sharedmimeinfo - DEFINES += OPENSSL=1 # Enable openSSL support - LIBS += -lcrypto # Enable crypto lib + #DEFINES += OPENSSL=1 # Enable openSSL support + #LIBS += -lcrypto # Enable crypto lib TARGET = blackchocobo target.path = /usr/bin @@ -172,7 +172,7 @@ INSTALLS += target langfiles icon desktop } android:{ - INCLUDEPATH += /home/chris/Downloads/openssl-1.0.1i/include + #INCLUDEPATH += /home/chris/Downloads/openssl-1.0.1i/include #DEFINES += OPENSSL=1 # Enable openSSL support #LIBS += -L "" -lcrypto # Enable crypto lib TARGET = blackchocobo diff -Nru blackchocobo-1.9.900/debian/bzr-builder.manifest blackchocobo-1.9.910/debian/bzr-builder.manifest --- blackchocobo-1.9.900/debian/bzr-builder.manifest 2016-06-05 13:17:59.000000000 +0000 +++ blackchocobo-1.9.910/debian/bzr-builder.manifest 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -# bzr-builder format 0.3 deb-version {debupstream}-0~1269 -lp:~sithlord48/blackchocobo/trunk revid:git-v1:a58029a4174ab07d450ff68c76227502d4a282d0 diff -Nru blackchocobo-1.9.900/debian/changelog blackchocobo-1.9.910/debian/changelog --- blackchocobo-1.9.900/debian/changelog 2016-06-05 13:17:59.000000000 +0000 +++ blackchocobo-1.9.910/debian/changelog 2018-12-29 20:35:46.000000000 +0000 @@ -1,13 +1,27 @@ -blackchocobo (1.9.900-0~1269~ubuntu16.04.1) xenial; urgency=low +blackchocobo (1.9.910-0~201812290556~ubuntu16.04.1) xenial; urgency=low * Auto build. - -- sithlord48 Sun, 05 Jun 2016 13:17:59 +0000 + -- sithlord48 Sat, 29 Dec 2018 20:35:46 +0000 + +blackchocobo (1.9.910) trusty; urgency=low + *New: More HiDpi Adjustments + *Fixed: track the hex Editor tab's curosr position on tab changes. + *ff7tk: Fixed Loading Psv file crashes host. + *ff7tk: Fixed Issue#12, https://github.com/sithlord48/ff7tk/issues/12 + *ff7tk: Fixed Issue#17, https://github.com/sithlord48/ff7tk/issues/17 + *ff7tk: Fixed Issue#37, https://github.com/sithlord48/ff7tk/issues/37 + *ff7tk: Fixed Chocobo pCount / Personality layout was overlapping Speed Notes. + *ff7tk: Chocobo name not showing place holder text at right times + -- Chris Rizzitello Fri, 21 Dec 2018 10:32:16 -0400 blackchocobo (1.9.900) trusty; urgency=low - *New: Items Tab now Contains command buttons for keyitems and flyers for easier access. - *New: Advanced modes for different ff7tk widgets can be set indpendently in options. - *New: Apply Button for Replay Missions;Browse the options without changing your data. + *New: Items Tab now Contains command buttons for keyitems and flyers for + easier access. + *New: Advanced modes for different ff7tk widgets can be set indpendently in + options. + *New: Apply Button for Replay Missions;Browse the options without changing + your data. *Fixed: Cloud's Flashback now set Sephiroth's char data for you *Fixed: Snowboard times are now saved / read correctly. *Fixed: Backwards label for turtle paradise / keyItems diff -Nru blackchocobo-1.9.900/debian/compat blackchocobo-1.9.910/debian/compat --- blackchocobo-1.9.900/debian/compat 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/debian/compat 2018-12-29 20:35:46.000000000 +0000 @@ -1 +1 @@ -7 +9 diff -Nru blackchocobo-1.9.900/debian/control blackchocobo-1.9.910/debian/control --- blackchocobo-1.9.900/debian/control 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/debian/control 2018-12-29 20:35:46.000000000 +0000 @@ -2,14 +2,22 @@ Section: games Priority: extra Maintainer: Chris Rizzitello -Build-Depends: debhelper (>= 7.0.50~),qt5-default,qttools5-dev-tools,cdbs,libssl-dev -Standards-Version: 3.9.5 +Build-Depends: + cmake, + debhelper (>= 9.0), + qt5-default, + qttools5-dev-tools, + libssl-dev +Standards-Version: 3.9.7 Homepage: http://blackchocobo.sourceforge.net #Vcs-Git: git://git.debian.org/collab-maint/blackchocobo.git #Vcs-Browser: http://git.debian.org/?p=collab-maint/blackchocobo.git;a=summary Package: blackchocobo Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} +Depends: + ${shlibs:Depends}, + ${misc:Depends} Description: FF7 Savegame Editor - Do lots of stuff w/ final fantasy vii savegame for pc,psx,emulators,psp, or psn versions + Do lots of stuff w/ final fantasy vii savegame for pc,psx,emulators,psp, or psn + versions diff -Nru blackchocobo-1.9.900/debian/copyright blackchocobo-1.9.910/debian/copyright --- blackchocobo-1.9.900/debian/copyright 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/debian/copyright 2018-12-29 20:35:46.000000000 +0000 @@ -1,9 +1,9 @@ Format: http://dep.debian.net/deps/dep5 Upstream-Name: blackchocobo -Source: http://blackchocobo.sourceforge.net +Source: https://github.com/sithlord48/blackchocobo Files: debian/* -Copyright: 2010 -2013 Chris Rizzitello +Copyright: 2010 -2018 Chris Rizzitello License: GPL-3+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru blackchocobo-1.9.900/debian/docs blackchocobo-1.9.910/debian/docs --- blackchocobo-1.9.900/debian/docs 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/debian/docs 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -COPYING.txt diff -Nru blackchocobo-1.9.900/debian/git-build-recipe.manifest blackchocobo-1.9.910/debian/git-build-recipe.manifest --- blackchocobo-1.9.900/debian/git-build-recipe.manifest 1970-01-01 00:00:00.000000000 +0000 +++ blackchocobo-1.9.910/debian/git-build-recipe.manifest 2018-12-29 20:35:46.000000000 +0000 @@ -0,0 +1,2 @@ +# git-build-recipe format 0.4 deb-version {debupstream}-0~201812290556 +lp:blackchocobo git-commit:c1942a4da44b24d27abc785dbb2a4f40ae09ef73 diff -Nru blackchocobo-1.9.900/debian/preinst blackchocobo-1.9.910/debian/preinst --- blackchocobo-1.9.900/debian/preinst 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/debian/preinst 2018-12-29 20:35:46.000000000 +0000 @@ -1,10 +1,7 @@ -#! /bin/bash +#! /bin/bash -e #DEBHELPER# echo -e "Checking for and removing old install...\c" -if [ -d /usr/bin/blackchocobo ];then #check to see if older version installed. - rm -r /usr/bin/blackchocobo/ - echo "RM:/usr/bin/blackchcobo" -elif [ -d /opt/blackchocobo ];then +if [ -d /opt/blackchocobo ];then rm -r /opt/blackchocobo echo "RM: /opt/blackchocobo" else echo "Not Found" diff -Nru blackchocobo-1.9.900/debian/rules blackchocobo-1.9.910/debian/rules --- blackchocobo-1.9.900/debian/rules 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/debian/rules 2018-12-29 20:35:46.000000000 +0000 @@ -1,4 +1,14 @@ #!/usr/bin/make -f +# -*- makefile -*- -include /usr/share/cdbs/1/rules/debhelper.mk -include /usr/share/cdbs/1/class/qmake.mk +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 +#DPKG_EXPORT_BUILDFLAGS = 1 +#include /usr/share/dpkg/buildflags.mk + +%: + dh $@ --parallel --buildsystem=cmake + +override_dh_auto_install: + find . -name "COPYING.txt" -delete + dh_auto_install diff -Nru blackchocobo-1.9.900/ff7tk/data/FF7FieldItemList.h blackchocobo-1.9.910/ff7tk/data/FF7FieldItemList.h --- blackchocobo-1.9.900/ff7tk/data/FF7FieldItemList.h 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/ff7tk/data/FF7FieldItemList.h 2018-12-29 20:35:46.000000000 +0000 @@ -69,7 +69,7 @@ }; static const FieldItemList FILIST[]= -{//don't forget to update count on entry +{ {QList()<<0x0BC8,QList()<<0,QStringList()<<"mds7st1",QT_TRANSLATE_NOOP("FieldItems","Hi-Potion")}, {QList()<<0x0BC8,QList()<<1,QStringList()<<"mds7st1",QT_TRANSLATE_NOOP("FieldItems","Echo Screen")}, {QList()<<0x0BC8,QList()<<2,QStringList()<<"mds7st2",QT_TRANSLATE_NOOP("FieldItems","Potion")}, @@ -289,6 +289,10 @@ {QList()<<0x0E3D,QList()<<1,QStringList()<<"games_2",QT_TRANSLATE_NOOP("FieldItems","Cauldron")}, {QList()<<0x0E3D,QList()<<2,QStringList()<<"farm",QT_TRANSLATE_NOOP("FieldItems","Chocobo Lure")}, + {QList()<<0x0EA5,QList()<<1,QStringList()<<"niv_ti2",QT_TRANSLATE_NOOP("FieldItems","Final Heaven (+other stuff?)")}, + //{QList()<<0x0EA5,QList()<<2,QStringList()<<"niv_ti2",QT_TRANSLATE_NOOP("FieldItems","Played piano durring flashback")}, + {QList()<<0x0EA5,QList()<<4,QStringList()<<"niv_ti2",QT_TRANSLATE_NOOP("FieldItems","Elemental(+other stuff?)")}, + {QList()<<0x0FA4,QList()<<1,QStringList()<<"gaiin_4",QT_TRANSLATE_NOOP("FieldItems","Enhance Sword")}, {QList()<<0x0FA4,QList()<<2,QStringList()<<"gaiin_5",QT_TRANSLATE_NOOP("FieldItems","Fire Armlet")}, {QList()<<0x0FA4,QList()<<3,QStringList()<<"gaiin_3",QT_TRANSLATE_NOOP("FieldItems","Elixir")}, diff -Nru blackchocobo-1.9.900/ff7tk/data/FF7Save.cpp blackchocobo-1.9.910/ff7tk/data/FF7Save.cpp --- blackchocobo-1.9.900/ff7tk/data/FF7Save.cpp 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/ff7tk/data/FF7Save.cpp 2018-12-29 20:35:46.000000000 +0000 @@ -2230,7 +2230,7 @@ setFileModified(true,s); } quint32 FF7Save::gil(int s){return slot[s].gil;} -void FF7Save::setGil(int s,int gil) +void FF7Save::setGil(int s,quint32 gil) { if(gil<0){gil =0;} slot[s].gil = gil; @@ -4738,3 +4738,15 @@ } return ratings; } +bool FF7Save::playedPianoOnFlashback(int s) +{ + if(s<0 || s>14){return false;} + return ((slot[s].z_36[0])& (1<<2) ); +} +void FF7Save::setPlayedPianoOnFlashback(int s,bool played) +{ + if(s<0 || s>14){return;} + if(played){slot[s].z_36[0] |= (1<<2);} + else {slot[s].z_36[0] &= ~(1<<2);} + setFileModified(true,s); +} diff -Nru blackchocobo-1.9.900/ff7tk/data/FF7Save.h blackchocobo-1.9.910/ff7tk/data/FF7Save.h --- blackchocobo-1.9.900/ff7tk/data/FF7Save.h 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/ff7tk/data/FF7Save.h 2018-12-29 20:35:46.000000000 +0000 @@ -615,7 +615,7 @@ QString location(int s);// return save location string void setLocation(int s, QString new_location);//set save location string to new_location quint32 gil(int s); - void setGil(int s,int gil); + void setGil(int s,quint32 gil); quint16 gp (int s); void setGp(int s,int gp); quint16 battles (int s); @@ -947,6 +947,22 @@ bool subMiniGameVictory(int s); void setSubMiniGameVictory(int s,bool won); + + /** \brief Did Cloud play piano durring the flashback?. + * + * \return True if the player played the piano durring the flashback + * \param s slot number (0-14) + */ + bool playedPianoOnFlashback(int s); + + /** \brief Set if Cloud played piano durring the flashback. + * + * \param s slot number (0-14) + * \param played True = Cloud Played piano + */ + void setPlayedPianoOnFlashback(int s,bool played); + + /** \brief Get Choco Billy's Rating of a chocobo. * * This is the rating that Choco Billy give to a chocobo it follows the same format as FF7Save::chocoboPen() diff -Nru blackchocobo-1.9.900/ff7tk/widgets/CharEditor.cpp blackchocobo-1.9.910/ff7tk/widgets/CharEditor.cpp --- blackchocobo-1.9.900/ff7tk/widgets/CharEditor.cpp 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/ff7tk/widgets/CharEditor.cpp 2018-12-29 20:35:46.000000000 +0000 @@ -16,25 +16,25 @@ #include "CharEditor.h" //#include CharEditor::CharEditor(qreal Scale,QWidget *parent) : QWidget(parent) + , load(false) + , autolevel(true) + , autostatcalc(true) + , editable(true) + , advancedMode(false) + , mslotsel(-1) + , scale(Scale) { - scale = Scale; init_display(); init_connections(); //auto level and auto stat calc are enabled by default. //always check them when doing these actions. - autolevel=true; - autostatcalc=true; - load=false; - editable=true; - advancedMode=false; - mslotsel =-1; } void CharEditor::init_display() { lbl_avatar = new QLabel; - lbl_avatar->setFixedSize(86*scale,98*scale); + lbl_avatar->setFixedSize(int(86*scale),int(98*scale)); line_name = new QLineEdit; line_name->setPlaceholderText(tr("Name")); lbl_hp = new QLabel(tr("HP")); @@ -80,8 +80,8 @@ bar_tnl = new QProgressBar; bar_tnl->setMaximum(61);//strange indeed.. bar_tnl->setTextVisible(false); - bar_tnl->setFixedHeight(10*scale); - bar_tnl->setFixedWidth(61*scale); + bar_tnl->setFixedHeight(int(10*scale)); + bar_tnl->setFixedWidth(int(61*scale)); lbl_level_next = new QLabel(tr("Next")); sb_total_exp = new QSpinBox; sb_total_exp->setPrefix(tr("Exp: ")); @@ -91,7 +91,7 @@ lbl_limit_bar = new QLabel (tr("Limit Bar")); slider_limit = new QSlider; - slider_limit->setMaximumHeight(20*scale); + slider_limit->setMaximumHeight(int(20*scale)); slider_limit->setMaximum(255); slider_limit->setOrientation(Qt::Horizontal); lcd_limit_value = new QLCDNumber; @@ -476,7 +476,7 @@ QLabel *lbl_0x34= new QLabel(QString(tr("0x34"))); lcd_0x34 = new QLCDNumber; lcd_0x34->setDigitCount(2); - lcd_0x34->setFixedSize(32*scale,20*scale); + lcd_0x34->setFixedSize(int(32*scale), int(20*scale)); lcd_0x34->setHexMode(); lcd_0x34->setSegmentStyle(QLCDNumber::Flat); QVBoxLayout *_0x34_layout = new QVBoxLayout; @@ -488,7 +488,7 @@ QLabel *lbl_0x35= new QLabel(QString(tr("0x35"))); lcd_0x35 = new QLCDNumber; lcd_0x35->setDigitCount(2); - lcd_0x35->setFixedSize(32*scale,20*scale); + lcd_0x35->setFixedSize(int (32*scale),int(20*scale)); lcd_0x35->setHexMode(); lcd_0x35->setSegmentStyle(QLCDNumber::Flat); QVBoxLayout *_0x35_layout = new QVBoxLayout; @@ -500,7 +500,7 @@ QLabel *lbl_0x36= new QLabel(QString(tr("0x36"))); lcd_0x36 = new QLCDNumber; lcd_0x36->setDigitCount(2); - lcd_0x36->setFixedSize(32*scale,20*scale); + lcd_0x36->setFixedSize(int(32*scale),int(20*scale)); lcd_0x36->setHexMode(); lcd_0x36->setSegmentStyle(QLCDNumber::Flat); QVBoxLayout *_0x36_layout = new QVBoxLayout; @@ -512,7 +512,7 @@ QLabel *lbl_0x37= new QLabel(QString(tr("0x37"))); lcd_0x37 = new QLCDNumber; lcd_0x37->setDigitCount(2); - lcd_0x37->setFixedSize(32*scale,20*scale); + lcd_0x37->setFixedSize(int(32*scale),int(20*scale)); lcd_0x37->setHexMode(); lcd_0x37->setSegmentStyle(QLCDNumber::Flat); @@ -553,7 +553,7 @@ QVBoxLayout *lower_section = new QVBoxLayout; lower_section->setContentsMargins(0,0,0,0); lower_section->setSpacing(0); - lower_section->addLayout(stat_layout_2); + lower_section->addLayout(stat_layout_2); lower_section->addLayout(limit_box); QVBoxLayout *left_Final = new QVBoxLayout; @@ -562,19 +562,21 @@ left_Final->addLayout(avatar_name_layout); left_Final->addLayout(lower_section); left_Final->addSpacerItem(new QSpacerItem(0,0,QSizePolicy::Preferred,QSizePolicy::MinimumExpanding)); - + QSize iconSize = QSize(fontMetrics().height(),fontMetrics().height()); weapon_selection = new QComboBox; - + weapon_selection->setIconSize(iconSize); armor_selection = new QComboBox; + armor_selection->setIconSize(iconSize); for(int i=256;i<288;i++){armor_selection->addItem(QPixmap::fromImage(Items.image(i)),Items.name(i));} accessory_selection = new QComboBox; + accessory_selection->setIconSize(iconSize); for(int i=288;i<320;i++){accessory_selection->addItem(QPixmap::fromImage(Items.image(i)),Items.name(i));} accessory_selection->addItem(QPixmap::fromImage(Items.image(288)),tr("-NONE-")); materia_edit = new MateriaEditor(scale,this); - materia_edit->setStarsSize(32*scale); + materia_edit->setStarsSize(int(32*scale)); elemental_effects = new QListWidget(); QHBoxLayout *elemental = new QHBoxLayout(); @@ -623,9 +625,11 @@ //I Like the No Growth Slots They Look Better so i always use them // you can use FF7Item::Style_m_grow_slot() to get the style of that slot + QSize slotSize = QSize(int(32*scale), int(32*scale)); + QSize linkSize = QSize(int(12*scale), int(16*scale)); weapon_slot_1 = new QPushButton(); - weapon_slot_1->setFixedSize(32*scale,32*scale); - weapon_slot_1->setIconSize(QSize(32*scale,32*scale)); + weapon_slot_1->setFixedSize(slotSize); + weapon_slot_1->setIconSize(QSize(slotSize)); weapon_slot_1->setStyleSheet(Items.styleMateriaSlotNoGrowth()); weapon_slot_1->setHidden(1); @@ -634,17 +638,17 @@ weapon_slot_1_layout->addWidget(weapon_slot_1); weapon_frm_1 = new QFrame; - weapon_frm_1->setFixedSize(32*scale,32*scale); + weapon_frm_1->setFixedSize(slotSize); weapon_frm_1->setFrameShape(QFrame::NoFrame); weapon_frm_1->setFrameShadow(QFrame::Plain); weapon_frm_1->setLayout(weapon_slot_1_layout); weapon_m_link_1= new QLabel(); - weapon_m_link_1->setFixedSize(12*scale,16*scale); + weapon_m_link_1->setFixedSize(linkSize); weapon_slot_2 = new QPushButton(); - weapon_slot_2->setFixedSize(32*scale,32*scale); - weapon_slot_2->setIconSize(QSize(32*scale,32*scale)); + weapon_slot_2->setFixedSize(slotSize); + weapon_slot_2->setIconSize(QSize(slotSize)); weapon_slot_2->setStyleSheet(Items.styleMateriaSlotNoGrowth()); weapon_slot_2->setHidden(1); @@ -653,7 +657,7 @@ weapon_slot_2_layout->addWidget(weapon_slot_2); weapon_frm_2 = new QFrame; - weapon_frm_2->setFixedSize(32*scale,32*scale); + weapon_frm_2->setFixedSize(slotSize); weapon_frm_2->setFrameShape(QFrame::NoFrame); weapon_frm_2->setFrameShadow(QFrame::Plain); weapon_frm_2->setLayout(weapon_slot_2_layout); @@ -666,10 +670,10 @@ weapon_slots_1_and_2->setSpacing(0); weapon_slot_3 = new QPushButton(); - weapon_slot_3->setFixedSize(32*scale,32*scale); + weapon_slot_3->setFixedSize(slotSize); weapon_slot_3->setFlat(true); weapon_slot_3->setAutoFillBackground(true); - weapon_slot_3->setIconSize(QSize(32*scale,32*scale)); + weapon_slot_3->setIconSize(QSize(slotSize)); weapon_slot_3->setStyleSheet(Items.styleMateriaSlotNoGrowth()); weapon_slot_3->setHidden(1); @@ -678,20 +682,20 @@ weapon_slot_3_layout->addWidget(weapon_slot_3); weapon_frm_3 = new QFrame; - weapon_frm_3->setFixedSize(32*scale,32*scale); + weapon_frm_3->setFixedSize(slotSize); weapon_frm_3->setFrameShape(QFrame::NoFrame); weapon_frm_3->setFrameShadow(QFrame::Plain); weapon_frm_3->setLayout(weapon_slot_3_layout); weapon_m_link_2 = new QLabel(); - weapon_m_link_2->setFixedSize(12*scale,16*scale); + weapon_m_link_2->setFixedSize(linkSize); weapon_slot_4 = new QPushButton(); - weapon_slot_4->setFixedSize(32*scale,32*scale); + weapon_slot_4->setFixedSize(slotSize); weapon_slot_1->setStyleSheet(Items.styleMateriaSlotNoGrowth()); weapon_slot_4->setFlat(true); weapon_slot_4->setAutoFillBackground(true); - weapon_slot_4->setIconSize(QSize(32*scale,32*scale)); + weapon_slot_4->setIconSize(QSize(slotSize)); weapon_slot_4->setStyleSheet(Items.styleMateriaSlotNoGrowth()); weapon_slot_4->setHidden(1); @@ -700,7 +704,7 @@ weapon_slot_4_layout->addWidget(weapon_slot_4); weapon_frm_4 = new QFrame; - weapon_frm_4->setFixedSize(32*scale,32*scale); + weapon_frm_4->setFixedSize(slotSize); weapon_frm_4->setFrameShape(QFrame::NoFrame); weapon_frm_4->setFrameShadow(QFrame::Plain); weapon_frm_4->setLayout(weapon_slot_4_layout); @@ -713,10 +717,10 @@ weapon_slots_3_and_4->setSpacing(0); weapon_slot_5 = new QPushButton(); - weapon_slot_5->setFixedSize(32*scale,32*scale); + weapon_slot_5->setFixedSize(slotSize); weapon_slot_5->setFlat(true); weapon_slot_5->setAutoFillBackground(true); - weapon_slot_5->setIconSize(QSize(32*scale,32*scale)); + weapon_slot_5->setIconSize(QSize(slotSize)); weapon_slot_5->setStyleSheet(Items.styleMateriaSlotNoGrowth()); weapon_slot_5->setHidden(1); @@ -725,19 +729,19 @@ weapon_slot_5_layout->addWidget(weapon_slot_5); weapon_frm_5 = new QFrame; - weapon_frm_5->setFixedSize(32*scale,32*scale); + weapon_frm_5->setFixedSize(slotSize); weapon_frm_5->setFrameShape(QFrame::NoFrame); weapon_frm_5->setFrameShadow(QFrame::Plain); weapon_frm_5->setLayout(weapon_slot_5_layout); weapon_m_link_3 = new QLabel(); - weapon_m_link_3->setFixedSize(12*scale,16*scale); + weapon_m_link_3->setFixedSize(linkSize); weapon_slot_6 = new QPushButton(); - weapon_slot_6->setFixedSize(32*scale,32*scale); + weapon_slot_6->setFixedSize(slotSize); weapon_slot_6->setFlat(true); weapon_slot_6->setAutoFillBackground(true); - weapon_slot_6->setIconSize(QSize(32*scale,32*scale)); + weapon_slot_6->setIconSize(QSize(slotSize)); weapon_slot_6->setStyleSheet(Items.styleMateriaSlotNoGrowth()); weapon_slot_6->setHidden(1); @@ -746,7 +750,7 @@ weapon_slot_6_layout->addWidget(weapon_slot_6); weapon_frm_6 = new QFrame; - weapon_frm_6->setFixedSize(32*scale,32*scale); + weapon_frm_6->setFixedSize(slotSize); weapon_frm_6->setFrameShape(QFrame::NoFrame); weapon_frm_6->setFrameShadow(QFrame::Plain); weapon_frm_6->setLayout(weapon_slot_6_layout); @@ -759,10 +763,10 @@ weapon_slots_5_and_6->setSpacing(0); weapon_slot_7 = new QPushButton(); - weapon_slot_7->setFixedSize(32*scale,32*scale); + weapon_slot_7->setFixedSize(slotSize); weapon_slot_7->setFlat(true); weapon_slot_7->setAutoFillBackground(true); - weapon_slot_7->setIconSize(QSize(32*scale,32*scale)); + weapon_slot_7->setIconSize(QSize(slotSize)); weapon_slot_7->setStyleSheet(Items.styleMateriaSlotNoGrowth()); weapon_slot_7->setHidden(1); @@ -771,19 +775,19 @@ weapon_slot_7_layout->addWidget(weapon_slot_7); weapon_frm_7 = new QFrame; - weapon_frm_7->setFixedSize(32*scale,32*scale); + weapon_frm_7->setFixedSize(slotSize); weapon_frm_7->setFrameShape(QFrame::NoFrame); weapon_frm_7->setFrameShadow(QFrame::Plain); weapon_frm_7->setLayout(weapon_slot_7_layout); weapon_m_link_4 = new QLabel(); - weapon_m_link_4->setFixedSize(12*scale,16*scale); + weapon_m_link_4->setFixedSize(linkSize); weapon_slot_8 = new QPushButton(); - weapon_slot_8->setFixedSize(32*scale,32*scale); + weapon_slot_8->setFixedSize(slotSize); weapon_slot_8->setFlat(true); weapon_slot_8->setAutoFillBackground(true); - weapon_slot_8->setIconSize(QSize(32*scale,32*scale)); + weapon_slot_8->setIconSize(QSize(slotSize)); weapon_slot_8->setStyleSheet(Items.styleMateriaSlotNoGrowth()); weapon_slot_8->setHidden(1); @@ -792,7 +796,7 @@ weapon_slot_8_layout->addWidget(weapon_slot_8); weapon_frm_8 = new QFrame; - weapon_frm_8->setFixedSize(32*scale,32*scale); + weapon_frm_8->setFixedSize(slotSize); weapon_frm_8->setFrameShape(QFrame::NoFrame); weapon_frm_8->setFrameShadow(QFrame::Plain); weapon_frm_8->setLayout(weapon_slot_8_layout); @@ -836,8 +840,8 @@ // you can use FF7Item::Style_m_grow_slot() to get the style of that slot armor_slot_1 = new QPushButton(); - armor_slot_1->setFixedSize(32*scale,32*scale); - armor_slot_1->setIconSize(QSize(32*scale,32*scale)); + armor_slot_1->setFixedSize(slotSize); + armor_slot_1->setIconSize(QSize(slotSize)); armor_slot_1->setStyleSheet(Items.styleMateriaSlotNoGrowth()); armor_slot_1->setHidden(1); @@ -846,17 +850,17 @@ armor_slot_1_layout->addWidget(armor_slot_1); armor_frm_1 = new QFrame; - armor_frm_1->setFixedSize(32*scale,32*scale); + armor_frm_1->setFixedSize(slotSize); armor_frm_1->setFrameShape(QFrame::NoFrame); armor_frm_1->setFrameShadow(QFrame::Plain); armor_frm_1->setLayout(armor_slot_1_layout); armor_m_link_1= new QLabel(); - armor_m_link_1->setFixedSize(12*scale,16*scale); + armor_m_link_1->setFixedSize(linkSize); armor_slot_2 = new QPushButton(); - armor_slot_2->setFixedSize(32*scale,32*scale); - armor_slot_2->setIconSize(QSize(32*scale,32*scale)); + armor_slot_2->setFixedSize(slotSize); + armor_slot_2->setIconSize(QSize(slotSize)); armor_slot_2->setStyleSheet(Items.styleMateriaSlotNoGrowth()); armor_slot_2->setHidden(1); @@ -865,7 +869,7 @@ armor_slot_2_layout->addWidget(armor_slot_2); armor_frm_2 = new QFrame; - armor_frm_2->setFixedSize(32*scale,32*scale); + armor_frm_2->setFixedSize(slotSize); armor_frm_2->setFrameShape(QFrame::NoFrame); armor_frm_2->setFrameShadow(QFrame::Plain); armor_frm_2->setLayout(armor_slot_2_layout); @@ -878,10 +882,10 @@ armor_slots_1_and_2->setSpacing(0); armor_slot_3 = new QPushButton(); - armor_slot_3->setFixedSize(32*scale,32*scale); + armor_slot_3->setFixedSize(slotSize); armor_slot_3->setFlat(true); armor_slot_3->setAutoFillBackground(true); - armor_slot_3->setIconSize(QSize(32*scale,32*scale)); + armor_slot_3->setIconSize(QSize(slotSize)); armor_slot_3->setStyleSheet(Items.styleMateriaSlotNoGrowth()); armor_slot_3->setHidden(1); @@ -890,21 +894,21 @@ armor_slot_3_layout->addWidget(armor_slot_3); armor_frm_3 = new QFrame; - armor_frm_3->setFixedSize(32*scale,32*scale); + armor_frm_3->setFixedSize(slotSize); armor_frm_3->setFrameShape(QFrame::NoFrame); armor_frm_3->setFrameShadow(QFrame::Plain); armor_frm_3->setLayout(armor_slot_3_layout); armor_m_link_2 = new QLabel(); - armor_m_link_2->setFixedSize(12*scale,16*scale); + armor_m_link_2->setFixedSize(linkSize); armor_m_link_2->setScaledContents(1); armor_slot_4 = new QPushButton(); - armor_slot_4->setFixedSize(32*scale,32*scale); + armor_slot_4->setFixedSize(slotSize); armor_slot_1->setStyleSheet(Items.styleMateriaSlotNoGrowth()); armor_slot_4->setFlat(true); armor_slot_4->setAutoFillBackground(true); - armor_slot_4->setIconSize(QSize(32*scale,32*scale)); + armor_slot_4->setIconSize(QSize(slotSize)); armor_slot_4->setStyleSheet(Items.styleMateriaSlotNoGrowth()); armor_slot_4->setHidden(1); @@ -913,7 +917,7 @@ armor_slot_4_layout->addWidget(armor_slot_4); armor_frm_4 = new QFrame; - armor_frm_4->setFixedSize(32*scale,32*scale); + armor_frm_4->setFixedSize(slotSize); armor_frm_4->setFrameShape(QFrame::NoFrame); armor_frm_4->setFrameShadow(QFrame::Plain); armor_frm_4->setLayout(armor_slot_4_layout); @@ -926,10 +930,10 @@ armor_slots_3_and_4->setSpacing(0); armor_slot_5 = new QPushButton(); - armor_slot_5->setFixedSize(32*scale,32*scale); + armor_slot_5->setFixedSize(slotSize); armor_slot_5->setFlat(true); armor_slot_5->setAutoFillBackground(true); - armor_slot_5->setIconSize(QSize(32*scale,32*scale)); + armor_slot_5->setIconSize(QSize(slotSize)); armor_slot_5->setStyleSheet(Items.styleMateriaSlotNoGrowth()); armor_slot_5->setHidden(1); @@ -938,20 +942,20 @@ armor_slot_5_layout->addWidget(armor_slot_5); armor_frm_5 = new QFrame; - armor_frm_5->setFixedSize(32*scale,32*scale); + armor_frm_5->setFixedSize(slotSize); armor_frm_5->setFrameShape(QFrame::NoFrame); armor_frm_5->setFrameShadow(QFrame::Plain); armor_frm_5->setLayout(armor_slot_5_layout); armor_m_link_3 = new QLabel(); - armor_m_link_3->setFixedSize(12*scale,16*scale); + armor_m_link_3->setFixedSize(linkSize); armor_m_link_3->setScaledContents(1); armor_slot_6 = new QPushButton(); - armor_slot_6->setFixedSize(32*scale,32*scale); + armor_slot_6->setFixedSize(slotSize); armor_slot_6->setFlat(true); armor_slot_6->setAutoFillBackground(true); - armor_slot_6->setIconSize(QSize(32*scale,32*scale)); + armor_slot_6->setIconSize(QSize(slotSize)); armor_slot_6->setStyleSheet(Items.styleMateriaSlotNoGrowth()); armor_slot_6->setHidden(1); @@ -960,7 +964,7 @@ armor_slot_6_layout->addWidget(armor_slot_6); armor_frm_6 = new QFrame; - armor_frm_6->setFixedSize(32*scale,32*scale); + armor_frm_6->setFixedSize(slotSize); armor_frm_6->setFrameShape(QFrame::NoFrame); armor_frm_6->setFrameShadow(QFrame::Plain); armor_frm_6->setLayout(armor_slot_6_layout); @@ -973,10 +977,10 @@ armor_slots_5_and_6->setSpacing(0); armor_slot_7 = new QPushButton(); - armor_slot_7->setFixedSize(32*scale,32*scale); + armor_slot_7->setFixedSize(slotSize); armor_slot_7->setFlat(true); armor_slot_7->setAutoFillBackground(true); - armor_slot_7->setIconSize(QSize(32*scale,32*scale)); + armor_slot_7->setIconSize(QSize(slotSize)); armor_slot_7->setStyleSheet(Items.styleMateriaSlotNoGrowth()); armor_slot_7->setHidden(1); @@ -985,20 +989,20 @@ armor_slot_7_layout->addWidget(armor_slot_7); armor_frm_7 = new QFrame; - armor_frm_7->setFixedSize(32*scale,32*scale); + armor_frm_7->setFixedSize(slotSize); armor_frm_7->setFrameShape(QFrame::NoFrame); armor_frm_7->setFrameShadow(QFrame::Plain); armor_frm_7->setLayout(armor_slot_7_layout); armor_m_link_4 = new QLabel(); - armor_m_link_4->setFixedSize(12*scale,16*scale); + armor_m_link_4->setFixedSize(linkSize); armor_m_link_4->setScaledContents(1); armor_slot_8 = new QPushButton(); - armor_slot_8->setFixedSize(32*scale,32*scale); + armor_slot_8->setFixedSize(slotSize); armor_slot_8->setFlat(true); armor_slot_8->setAutoFillBackground(true); - armor_slot_8->setIconSize(QSize(32*scale,32*scale)); + armor_slot_8->setIconSize(QSize(slotSize)); armor_slot_8->setStyleSheet(Items.styleMateriaSlotNoGrowth()); armor_slot_8->setHidden(1); @@ -1007,7 +1011,7 @@ armor_slot_8_layout->addWidget(armor_slot_8); armor_frm_8 = new QFrame; - armor_frm_8->setFixedSize(32*scale,32*scale); + armor_frm_8->setFixedSize(slotSize); armor_frm_8->setFrameShape(QFrame::NoFrame); armor_frm_8->setFrameShadow(QFrame::Plain); armor_frm_8->setLayout(armor_slot_8_layout); @@ -1059,7 +1063,7 @@ QVBoxLayout *right_bottom = new QVBoxLayout; right_bottom->setContentsMargins(0,0,0,0); right_bottom->addWidget(materia_edit); - right_bottom->addLayout(effects_layout); + right_bottom->addLayout(effects_layout); QVBoxLayout *right_Final = new QVBoxLayout; right_Final->setContentsMargins(3,0,3,0); @@ -1067,23 +1071,23 @@ right_Final->setSpacing(3); right_Final->addLayout(right_bottom); - toolbox = new QToolBox; + toolbox = new QToolBox; - QFrame *tabStatus = new QFrame; - tabStatus->setLayout(left_Final); - tabStatus->adjustSize(); - toolbox->addItem(tabStatus,Chars.icon(0),QString(tr("Status Info"))); - - QFrame *tabEquipment = new QFrame; - tabEquipment->setLayout(right_Final); - tabEquipment->adjustSize(); - toolbox->addItem(tabEquipment,QIcon(QPixmap::fromImage(Items.image(256))),QString(tr("Equipment"))); - - QVBoxLayout *toolbox_layout = new QVBoxLayout; - toolbox_layout->setContentsMargins(0,0,0,0); - toolbox_layout->addWidget(toolbox); + QFrame *tabStatus = new QFrame; + tabStatus->setLayout(left_Final); + tabStatus->adjustSize(); + toolbox->addItem(tabStatus,Chars.icon(0),QString(tr("Status Info"))); + + QFrame *tabEquipment = new QFrame; + tabEquipment->setLayout(right_Final); + tabEquipment->adjustSize(); + toolbox->addItem(tabEquipment,QIcon(QPixmap::fromImage(Items.image(256))),QString(tr("Equipment"))); + + QVBoxLayout *toolbox_layout = new QVBoxLayout; + toolbox_layout->setContentsMargins(0,0,0,0); + toolbox_layout->addWidget(toolbox); - this->setLayout(toolbox_layout); + this->setLayout(toolbox_layout); } void CharEditor::setToolBoxStyle(QString stylesheet){toolbox->setStyleSheet(stylesheet);} void CharEditor::setMateriaHoverStyle(QString hoverColor){materia_edit->setHoverStyle(hoverColor);} @@ -1205,8 +1209,8 @@ disconnect(materia_edit,SIGNAL(ap_changed(qint32)),this,SLOT(matAp_changed(qint32))); disconnect(materia_edit,SIGNAL(id_changed(qint8)),this,SLOT(matId_changed(qint8))); } -qint8 CharEditor::id(){return data.id;} -qint8 CharEditor::level(){return data.level;} +quint8 CharEditor::id(){return data.id;} +quint8 CharEditor::level(){return data.level;} quint8 CharEditor::str(){return data.strength;} quint8 CharEditor::vit(){return data.vitality;} quint8 CharEditor::mag(){return data.magic;} @@ -2363,39 +2367,39 @@ armor_m_link_4->setStyleSheet(QString("background-color:rgba(0,0,0,0);")); //fill the slots. - - if(data.materias[0].id!=FF7Materia::EmptyId){weapon_slot_1->setIcon(QIcon(Materias.pixmap(data.materias[0].id).scaled(24*scale,24*scale,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{weapon_slot_1->setIcon(QIcon(QString("")));} - if(data.materias[0].id!=FF7Materia::EmptyId){weapon_slot_1->setToolTip(Materias.name(data.materias[0].id));}else{weapon_slot_1->setToolTip(QString(tr("-Empty-")));} - if(data.materias[1].id!=FF7Materia::EmptyId){weapon_slot_2->setIcon(QIcon(Materias.pixmap(data.materias[1].id).scaled(24*scale,24*scale,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{weapon_slot_2->setIcon(QIcon(QString("")));} - if(data.materias[1].id!=FF7Materia::EmptyId){weapon_slot_2->setToolTip(Materias.name(data.materias[1].id));}else{weapon_slot_2->setToolTip(QString(tr("-Empty-")));} - if(data.materias[2].id!=FF7Materia::EmptyId){weapon_slot_3->setIcon(QIcon(Materias.pixmap(data.materias[2].id).scaled(24*scale,24*scale,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{weapon_slot_3->setIcon(QIcon(QString("")));} - if(data.materias[2].id!=FF7Materia::EmptyId){weapon_slot_3->setToolTip(Materias.name(data.materias[2].id));}else{weapon_slot_3->setToolTip(QString(tr("-Empty-")));} - if(data.materias[3].id!=FF7Materia::EmptyId){weapon_slot_4->setIcon(QIcon(Materias.pixmap(data.materias[3].id).scaled(24*scale,24*scale,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{weapon_slot_4->setIcon(QIcon(QString("")));} - if(data.materias[3].id!=FF7Materia::EmptyId){weapon_slot_4->setToolTip(Materias.name(data.materias[3].id));}else{weapon_slot_4->setToolTip(QString(tr("-Empty-")));} - if(data.materias[4].id!=FF7Materia::EmptyId){weapon_slot_5->setIcon(QIcon(Materias.pixmap(data.materias[4].id).scaled(24*scale,24*scale,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{weapon_slot_5->setIcon(QIcon(QString("")));} - if(data.materias[4].id!=FF7Materia::EmptyId){weapon_slot_5->setToolTip(Materias.name(data.materias[4].id));}else{weapon_slot_5->setToolTip(QString(tr("-Empty-")));} - if(data.materias[5].id!=FF7Materia::EmptyId){weapon_slot_6->setIcon(QIcon(Materias.pixmap(data.materias[5].id).scaled(24*scale,24*scale,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{weapon_slot_6->setIcon(QIcon(QString("")));} - if(data.materias[5].id!=FF7Materia::EmptyId){weapon_slot_6->setToolTip(Materias.name(data.materias[5].id));}else{weapon_slot_6->setToolTip(QString(tr("-Empty-")));} - if(data.materias[6].id!=FF7Materia::EmptyId){weapon_slot_7->setIcon(QIcon(Materias.pixmap(data.materias[6].id).scaled(24*scale,24*scale,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{weapon_slot_7->setIcon(QIcon(QString("")));} - if(data.materias[6].id!=FF7Materia::EmptyId){weapon_slot_7->setToolTip(Materias.name(data.materias[6].id));}else{weapon_slot_7->setToolTip(QString(tr("-Empty-")));} - if(data.materias[7].id!=FF7Materia::EmptyId){weapon_slot_8->setIcon(QIcon(Materias.pixmap(data.materias[7].id).scaled(24*scale,24*scale,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{weapon_slot_8->setIcon(QIcon(QString("")));} - if(data.materias[7].id!=FF7Materia::EmptyId){weapon_slot_8->setToolTip(Materias.name(data.materias[7].id));}else{weapon_slot_8->setToolTip(QString(tr("-Empty-")));} - if(data.materias[8].id!=FF7Materia::EmptyId){armor_slot_1->setIcon(QIcon(Materias.pixmap(data.materias[8].id).scaled(24*scale,24*scale,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{armor_slot_1->setIcon(QIcon(QString("")));} - if(data.materias[8].id!=FF7Materia::EmptyId){armor_slot_1->setToolTip(Materias.name(data.materias[8].id));}else{armor_slot_1->setToolTip(QString(tr("-Empty-")));} - if(data.materias[9].id!=FF7Materia::EmptyId){armor_slot_2->setIcon(QIcon(Materias.pixmap(data.materias[9].id).scaled(24*scale,24*scale,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{armor_slot_2->setIcon(QIcon(QString("")));} - if(data.materias[9].id!=FF7Materia::EmptyId){armor_slot_2->setToolTip(Materias.name(data.materias[9].id));}else{armor_slot_2->setToolTip(QString(tr("-Empty-")));} - if(data.materias[10].id!=FF7Materia::EmptyId){armor_slot_3->setIcon(QIcon(Materias.pixmap(data.materias[10].id).scaled(24*scale,24*scale,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{armor_slot_3->setIcon(QIcon(QString("")));} - if(data.materias[10].id!=FF7Materia::EmptyId){armor_slot_3->setToolTip(Materias.name(data.materias[10].id));}else{armor_slot_3->setToolTip(QString(tr("-Empty-")));} - if(data.materias[11].id!=FF7Materia::EmptyId){armor_slot_4->setIcon(QIcon(Materias.pixmap(data.materias[11].id).scaled(24*scale,24*scale,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{armor_slot_4->setIcon(QIcon(QString("")));} - if(data.materias[11].id!=FF7Materia::EmptyId){armor_slot_4->setToolTip(Materias.name(data.materias[11].id));}else{armor_slot_4->setToolTip(QString(tr("-Empty-")));} - if(data.materias[12].id!=FF7Materia::EmptyId){armor_slot_5->setIcon(QIcon(Materias.pixmap(data.materias[12].id).scaled(24*scale,24*scale,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{armor_slot_5->setIcon(QIcon(QString("")));} - if(data.materias[12].id!=FF7Materia::EmptyId){armor_slot_5->setToolTip(Materias.name(data.materias[12].id));}else{armor_slot_5->setToolTip(QString(tr("-Empty-")));} - if(data.materias[13].id!=FF7Materia::EmptyId){armor_slot_6->setIcon(QIcon(Materias.pixmap(data.materias[13].id).scaled(24*scale,24*scale,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{armor_slot_6->setIcon(QIcon(QString("")));} - if(data.materias[13].id!=FF7Materia::EmptyId){armor_slot_6->setToolTip(Materias.name(data.materias[13].id));}else{armor_slot_6->setToolTip(QString(tr("-Empty-")));} - if(data.materias[14].id!=FF7Materia::EmptyId){armor_slot_7->setIcon(QIcon(Materias.pixmap(data.materias[14].id).scaled(24*scale,24*scale,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{armor_slot_7->setIcon(QIcon(QString("")));} - if(data.materias[14].id!=FF7Materia::EmptyId){armor_slot_7->setToolTip(Materias.name(data.materias[14].id));}else{armor_slot_7->setToolTip(QString(tr("-Empty-")));} - if(data.materias[15].id!=FF7Materia::EmptyId){armor_slot_8->setIcon(QIcon(Materias.pixmap(data.materias[15].id).scaled(24*scale,24*scale,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{armor_slot_8->setIcon(QIcon(QString("")));} - if(data.materias[15].id!=FF7Materia::EmptyId){armor_slot_8->setToolTip(Materias.name(data.materias[15].id));}else{armor_slot_8->setToolTip(QString(tr("-Empty-")));} + QSize isize = QSize(int(24*scale), int(24*scale)); + if(data.materias[0].id!=FF7Materia::EmptyId){weapon_slot_1->setIcon(QIcon(Materias.pixmap(data.materias[0].id).scaled(isize,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{weapon_slot_1->setIcon(QIcon(QString("")));} + if(data.materias[0].id!=FF7Materia::EmptyId){weapon_slot_1->setToolTip(Materias.name(data.materias[0].id));}else{weapon_slot_1->setToolTip(QString(tr("-Empty-")));} + if(data.materias[1].id!=FF7Materia::EmptyId){weapon_slot_2->setIcon(QIcon(Materias.pixmap(data.materias[1].id).scaled(isize,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{weapon_slot_2->setIcon(QIcon(QString("")));} + if(data.materias[1].id!=FF7Materia::EmptyId){weapon_slot_2->setToolTip(Materias.name(data.materias[1].id));}else{weapon_slot_2->setToolTip(QString(tr("-Empty-")));} + if(data.materias[2].id!=FF7Materia::EmptyId){weapon_slot_3->setIcon(QIcon(Materias.pixmap(data.materias[2].id).scaled(isize,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{weapon_slot_3->setIcon(QIcon(QString("")));} + if(data.materias[2].id!=FF7Materia::EmptyId){weapon_slot_3->setToolTip(Materias.name(data.materias[2].id));}else{weapon_slot_3->setToolTip(QString(tr("-Empty-")));} + if(data.materias[3].id!=FF7Materia::EmptyId){weapon_slot_4->setIcon(QIcon(Materias.pixmap(data.materias[3].id).scaled(isize,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{weapon_slot_4->setIcon(QIcon(QString("")));} + if(data.materias[3].id!=FF7Materia::EmptyId){weapon_slot_4->setToolTip(Materias.name(data.materias[3].id));}else{weapon_slot_4->setToolTip(QString(tr("-Empty-")));} + if(data.materias[4].id!=FF7Materia::EmptyId){weapon_slot_5->setIcon(QIcon(Materias.pixmap(data.materias[4].id).scaled(isize,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{weapon_slot_5->setIcon(QIcon(QString("")));} + if(data.materias[4].id!=FF7Materia::EmptyId){weapon_slot_5->setToolTip(Materias.name(data.materias[4].id));}else{weapon_slot_5->setToolTip(QString(tr("-Empty-")));} + if(data.materias[5].id!=FF7Materia::EmptyId){weapon_slot_6->setIcon(QIcon(Materias.pixmap(data.materias[5].id).scaled(isize,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{weapon_slot_6->setIcon(QIcon(QString("")));} + if(data.materias[5].id!=FF7Materia::EmptyId){weapon_slot_6->setToolTip(Materias.name(data.materias[5].id));}else{weapon_slot_6->setToolTip(QString(tr("-Empty-")));} + if(data.materias[6].id!=FF7Materia::EmptyId){weapon_slot_7->setIcon(QIcon(Materias.pixmap(data.materias[6].id).scaled(isize,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{weapon_slot_7->setIcon(QIcon(QString("")));} + if(data.materias[6].id!=FF7Materia::EmptyId){weapon_slot_7->setToolTip(Materias.name(data.materias[6].id));}else{weapon_slot_7->setToolTip(QString(tr("-Empty-")));} + if(data.materias[7].id!=FF7Materia::EmptyId){weapon_slot_8->setIcon(QIcon(Materias.pixmap(data.materias[7].id).scaled(isize,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{weapon_slot_8->setIcon(QIcon(QString("")));} + if(data.materias[7].id!=FF7Materia::EmptyId){weapon_slot_8->setToolTip(Materias.name(data.materias[7].id));}else{weapon_slot_8->setToolTip(QString(tr("-Empty-")));} + if(data.materias[8].id!=FF7Materia::EmptyId){armor_slot_1->setIcon(QIcon(Materias.pixmap(data.materias[8].id).scaled(isize,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{armor_slot_1->setIcon(QIcon(QString("")));} + if(data.materias[8].id!=FF7Materia::EmptyId){armor_slot_1->setToolTip(Materias.name(data.materias[8].id));}else{armor_slot_1->setToolTip(QString(tr("-Empty-")));} + if(data.materias[9].id!=FF7Materia::EmptyId){armor_slot_2->setIcon(QIcon(Materias.pixmap(data.materias[9].id).scaled(isize,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{armor_slot_2->setIcon(QIcon(QString("")));} + if(data.materias[9].id!=FF7Materia::EmptyId){armor_slot_2->setToolTip(Materias.name(data.materias[9].id));}else{armor_slot_2->setToolTip(QString(tr("-Empty-")));} + if(data.materias[10].id!=FF7Materia::EmptyId){armor_slot_3->setIcon(QIcon(Materias.pixmap(data.materias[10].id).scaled(isize,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{armor_slot_3->setIcon(QIcon(QString("")));} + if(data.materias[10].id!=FF7Materia::EmptyId){armor_slot_3->setToolTip(Materias.name(data.materias[10].id));}else{armor_slot_3->setToolTip(QString(tr("-Empty-")));} + if(data.materias[11].id!=FF7Materia::EmptyId){armor_slot_4->setIcon(QIcon(Materias.pixmap(data.materias[11].id).scaled(isize,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{armor_slot_4->setIcon(QIcon(QString("")));} + if(data.materias[11].id!=FF7Materia::EmptyId){armor_slot_4->setToolTip(Materias.name(data.materias[11].id));}else{armor_slot_4->setToolTip(QString(tr("-Empty-")));} + if(data.materias[12].id!=FF7Materia::EmptyId){armor_slot_5->setIcon(QIcon(Materias.pixmap(data.materias[12].id).scaled(isize,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{armor_slot_5->setIcon(QIcon(QString("")));} + if(data.materias[12].id!=FF7Materia::EmptyId){armor_slot_5->setToolTip(Materias.name(data.materias[12].id));}else{armor_slot_5->setToolTip(QString(tr("-Empty-")));} + if(data.materias[13].id!=FF7Materia::EmptyId){armor_slot_6->setIcon(QIcon(Materias.pixmap(data.materias[13].id).scaled(isize,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{armor_slot_6->setIcon(QIcon(QString("")));} + if(data.materias[13].id!=FF7Materia::EmptyId){armor_slot_6->setToolTip(Materias.name(data.materias[13].id));}else{armor_slot_6->setToolTip(QString(tr("-Empty-")));} + if(data.materias[14].id!=FF7Materia::EmptyId){armor_slot_7->setIcon(QIcon(Materias.pixmap(data.materias[14].id).scaled(isize,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{armor_slot_7->setIcon(QIcon(QString("")));} + if(data.materias[14].id!=FF7Materia::EmptyId){armor_slot_7->setToolTip(Materias.name(data.materias[14].id));}else{armor_slot_7->setToolTip(QString(tr("-Empty-")));} + if(data.materias[15].id!=FF7Materia::EmptyId){armor_slot_8->setIcon(QIcon(Materias.pixmap(data.materias[15].id).scaled(isize,Qt::KeepAspectRatio,Qt::SmoothTransformation)));}else{armor_slot_8->setIcon(QIcon(QString("")));} + if(data.materias[15].id!=FF7Materia::EmptyId){armor_slot_8->setToolTip(Materias.name(data.materias[15].id));}else{armor_slot_8->setToolTip(QString(tr("-Empty-")));} //set up weapon QString ap_rate =tr("AP:x%1").arg(Items.materiaGrowthRate(data.weapon +128)); diff -Nru blackchocobo-1.9.900/ff7tk/widgets/CharEditor.h blackchocobo-1.9.910/ff7tk/widgets/CharEditor.h --- blackchocobo-1.9.900/ff7tk/widgets/CharEditor.h 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/ff7tk/widgets/CharEditor.h 2018-12-29 20:35:46.000000000 +0000 @@ -47,8 +47,8 @@ void setSliderStyle(QString style); void MaxStats(); void MaxEquip(); - qint8 id(); - qint8 level(); + quint8 id(); + quint8 level(); quint8 str(); quint8 vit(); quint8 mag(); diff -Nru blackchocobo-1.9.900/ff7tk/widgets/ChocoboEditor.cpp blackchocobo-1.9.910/ff7tk/widgets/ChocoboEditor.cpp --- blackchocobo-1.9.900/ff7tk/widgets/ChocoboEditor.cpp 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/ff7tk/widgets/ChocoboEditor.cpp 2018-12-29 20:35:46.000000000 +0000 @@ -153,7 +153,7 @@ void ChocoboEditor::setName(QString new_name) { choco_name=new_name.mid(0,6); - if(choco_name.startsWith('\xFF') || choco_name == QString(6,'\x20')){line_name->setText("");} + if(choco_name.startsWith(QString("\xff"),Qt::CaseInsensitive) || choco_name == QString(6,' ')){line_name->setText("");} else{line_name->setText(choco_name);} } void ChocoboEditor::setCantMate(bool cantMate) @@ -252,6 +252,7 @@ //create Gui Widgets. combo_sex = new QComboBox; combo_type = new QComboBox; + combo_type->setIconSize(QSize(fontMetrics().height(), fontMetrics().height())); line_name = new QLineEdit; sb_speed = new QSpinBox; sb_mSpeed = new QSpinBox; @@ -449,7 +450,7 @@ void ChocoboEditor::SetChocobo(FF7CHOCOBO choco, QString Processed_Name, bool cant_mate, quint16 stamina,quint8 rating) { choco_data = choco; - if( Processed_Name.startsWith('\xff') || Processed_Name == QString(6,'\x20')){Processed_Name ="";} + if( Processed_Name.startsWith(QString("\xff"),Qt::CaseInsensitive) || Processed_Name == QString(6,'\x20')){Processed_Name ="";} choco_name = Processed_Name; choco_cant_mate = cant_mate; choco_stamina = stamina; diff -Nru blackchocobo-1.9.900/ff7tk/widgets/ItemList.cpp blackchocobo-1.9.910/ff7tk/widgets/ItemList.cpp --- blackchocobo-1.9.900/ff7tk/widgets/ItemList.cpp 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/ff7tk/widgets/ItemList.cpp 2018-12-29 20:35:46.000000000 +0000 @@ -21,7 +21,7 @@ {//our object will be the itemlist always in this event. int row=-1;//row @ -1 this way we can catch when were not over A QTableWidgetItem QTableWidgetItem *tbl_item=itemAt(mapFromGlobal(viewport()->cursor().pos())); - if(tbl_item !=0){row =tbl_item->row();}//And only update our row if vaild. + if(tbl_item){row =tbl_item->row();}//And only update our row if vaild. if(ev->type() == QEvent::ToolTip) {//ToolTip Event Popup. if(createdTooltip) @@ -80,9 +80,17 @@ } } }//End Of HoverLeave Processing - else{return event(ev);} + else {return true;} } - else{return event(ev);} + else if(ev->type() == QEvent::Resize) + { + if(createdSelector) { + itemupdate(); + } + return event(ev); + } + else + {return event(ev);} } else{return false;} } @@ -94,6 +102,7 @@ createdTooltip=false; itemQtyLimit=127; setRowCount(320); + setIconSize(QSize(fontMetrics().height(), fontMetrics().height())); setColumnCount(3); setStyleSheet(QString(";"));//set a style and itemSelector will have a normal size column 1 setEditTriggers(QAbstractItemView::NoEditTriggers);// thats a long 0 @@ -128,7 +137,6 @@ {//qty not above limit and item is not empty. itemlist.replace(i,Items.itemEncode(Items.itemId(itemlist.at(i)),itemQtyLimit)); } - else{continue;} } itemupdate(); } @@ -136,7 +144,7 @@ void ItemList::setItems(QList items) { itemlist = items; - if(createdSelector){itemSelector->close();createdSelector=false;} + if(createdSelector){itemSelector->setVisible(false);createdSelector=false;} if(createdTooltip){itemPreview->close();createdTooltip=false;} itemupdate(); } @@ -155,59 +163,23 @@ newItem = new QTableWidgetItem("",0); setItem(sender()->objectName().toInt(),2,newItem); } - else if(createdSelector) - { - for(int i=0;i<3;i++) - { - QTableWidgetItem* newItem = new QTableWidgetItem("",0); - setItem(sender()->objectName().toInt(),i,newItem); - } - } emit(itemsChanged(itemlist)); } void ItemList::itemupdate() { - int j= currentRow(); - int column0width =columnWidth(0); - int column1width =columnWidth(1); - int column2width =columnWidth(2); - int selectorLocation=321; + clearContents(); - setColumnWidth(0,column0width); - setColumnWidth(1,column1width); - setColumnWidth(2,column2width); - setRowCount(320); - if(createdSelector){selectorLocation = itemSelector->objectName().toInt(); itemSelector->setMaximumQty(itemQtyLimit);} for (int i=0;i<320;i++) // set up items { - if(i == selectorLocation){continue;} - else{updateItem(i);} - - } - blockSignals(true); - if(createdSelector) - { - setCurrentCell(j,0); - setCellWidget(j,0,itemSelector); - if(itemlist.at(j)== FF7Item::EmptyItemData){/*nice empty under the selector*/} - else - {//wipe the data under the selector so its easier to read. - for(int i=0;i<3;i++) - { - QTableWidgetItem *newItem = new QTableWidgetItem("",0); - setItem(j,i,newItem); - } - } - itemSelector->setCurrentItem(itemlist.at(j)); + updateItem(i); } - blockSignals(false); } void ItemList::listSelectionChanged(int row,int colum,int prevRow,int prevColum) { + Q_UNUSED(prevColum) if(createdSelector){itemSelector->close();createdSelector=false;} if(createdTooltip){itemPreview->close();createdTooltip=false;} - if(prevColum>=0 ||prevColum<=0){/*Stop warning about unused var.*/} if(colum<0||row <0){return;}//Ingore if selecting -1 (clearContents) if (prevRow>=0){updateItem(prevRow);}//update the previews Row so its filled again. itemSelector = new ItemSelector; @@ -215,16 +187,6 @@ createdSelector = true; itemSelector->setMaximumQty(itemQtyLimit); itemSelector->setObjectName(QString::number(row)); - - if(itemlist.at(row)==FF7Item::EmptyItemData){/*nice Empty Item under the selector*/} - else - {//Clear whats under the selector - for(int i=0;i<3;i++) - { - QTableWidgetItem *newItem = new QTableWidgetItem("",0); - setItem(row,i,newItem); - } - } itemSelector->setMinimumWidth(itemSelector->width()); setCellWidget(row,0,itemSelector); itemSelector->setCurrentItem(itemlist.at(row)); @@ -236,7 +198,7 @@ if (itemlist.at(row) == FF7Item::EmptyItemData) { newItem = new QTableWidgetItem("",0); - setItem(row,0,newItem); + setItem(row,0,newItem); newItem = new QTableWidgetItem(tr("-------EMPTY--------"),0); setItem(row,1,newItem); newItem = new QTableWidgetItem("",0); @@ -262,6 +224,6 @@ newItem = new QTableWidgetItem(qty.setNum(Items.itemQty(itemlist.at(row))),0); setItem(row,2,newItem); } - setRowHeight(row,fontMetrics().height()+9); + setRowHeight(row,fontMetrics().height()+9); } void ItemList::setEditableItemCombo(bool editable){editableItemCombo=editable;} diff -Nru blackchocobo-1.9.900/ff7tk/widgets/ItemSelector.cpp blackchocobo-1.9.910/ff7tk/widgets/ItemSelector.cpp --- blackchocobo-1.9.900/ff7tk/widgets/ItemSelector.cpp 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/ff7tk/widgets/ItemSelector.cpp 2018-12-29 20:35:46.000000000 +0000 @@ -24,8 +24,11 @@ } void ItemSelector::init_display() { + QSize iconSize = QSize(fontMetrics().height(),fontMetrics().height()); combo_type = new QComboBox; + combo_type->setIconSize(iconSize); combo_item = new QComboBox; + combo_item->setIconSize(iconSize); sb_qty = new QSpinBox; sb_qty->setAlignment(Qt::AlignCenter); @@ -35,7 +38,8 @@ sb_qty->setWrapping(true); btn_remove = new QPushButton(); - btn_remove->setIcon(QIcon::fromTheme(QString("edit-clear"),QPixmap(":/common/edit-clear"))); + btn_remove->setIconSize(iconSize); + btn_remove->setIcon(QIcon::fromTheme(QString("edit-clear"),QPixmap(":/common/edit-clear"))); btn_remove->setToolTip(tr("Empty Item")); btn_remove->setFixedWidth(fontMetrics().width(QString("WW"))); btn_remove->setShortcut(QKeySequence::Delete); @@ -62,6 +66,7 @@ } void ItemSelector::init_data() { + combo_type->addItem(Items->icon(FF7Item::Potion),tr("")); combo_type->addItem(Items->icon(FF7Item::BronzeBangle),tr("")); combo_type->addItem(Items->icon(FF7Item::Ribbon),tr("")); diff -Nru blackchocobo-1.9.900/ff7tk/widgets/LocationViewer.cpp blackchocobo-1.9.910/ff7tk/widgets/LocationViewer.cpp --- blackchocobo-1.9.900/ff7tk/widgets/LocationViewer.cpp 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/ff7tk/widgets/LocationViewer.cpp 2018-12-29 20:35:46.000000000 +0000 @@ -123,10 +123,7 @@ actionCaseSensitive = new QAction(tr("Case Sensitive"),btnSearchOptions); actionCaseSensitive->setCheckable(true); - QString menuStyle = QString("QCheckbox::indicator { width: %1px; height: %2px;}").arg(QString::number(16*scale),QString::number(16*scale)); - QMenu * newMenu=new QMenu; - newMenu->setStyleSheet(menuStyle); newMenu->addAction(actionNameSearch); newMenu->addAction(actionItemSearch); newMenu->addSeparator(); diff -Nru blackchocobo-1.9.900/ff7tk/widgets/MateriaEditor.cpp blackchocobo-1.9.910/ff7tk/widgets/MateriaEditor.cpp --- blackchocobo-1.9.900/ff7tk/widgets/MateriaEditor.cpp 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/ff7tk/widgets/MateriaEditor.cpp 2018-12-29 20:35:46.000000000 +0000 @@ -34,8 +34,11 @@ void MateriaEditor::init_display() {//Make Widgets and set Properties. //Widget Creation. + QSize iconSize = QSize(fontMetrics().height(), fontMetrics().height()); combo_type =new QComboBox; + combo_type->setIconSize(iconSize); combo_materia = new QComboBox; + combo_materia->setIconSize(iconSize); sb_ap = new QSpinBox; lbl_slash = new QLabel("/"); lbl_max_ap = new QLabel; @@ -71,8 +74,11 @@ //Special Properties Of Above Widgets sb_ap->setWrapping(1); sb_ap->setAlignment(Qt::AlignCenter); - btn_rm_materia->setIcon(QIcon::fromTheme(QString("edit-clear"),QPixmap(":/common/edit-clear"))); + btn_rm_materia->setIconSize(iconSize); + btn_rm_materia->setIcon(QIcon::fromTheme(QString("edit-clear"),QPixmap(":/common/edit-clear"))); + btn_copy_materia->setIconSize(iconSize); btn_copy_materia->setIcon(QIcon::fromTheme(QString("edit-copy"),QPixmap(":/common/edit-copy"))); + btn_paste_materia->setIconSize(iconSize); btn_paste_materia->setIcon(QIcon::fromTheme(QString("edit-paste"),QPixmap(":/common/edit-paste"))); QString style=QString("QPushButton:enabled{background-color: rgba(0,0,0,0);border:0px solid;} QPushButton:hover{background-color:rgba(%1,%2,%3,96);}").arg(QString::number(this->palette().highlight().color().red()),QString::number(this->palette().highlight().color().green()),QString::number(this->palette().highlight().color().blue())); @@ -259,17 +265,19 @@ newItem->setCheckState(Qt::Unchecked); eskill_list->addItem(newItem); } - QString style=QString("QListView::indicator:unchecked {image: url(:/materia/command_star_empty);} QListView::indicator:checked{image: url(:/materia/command_star_full);}"); + QString style=QString("QListWidget::item { padding-left: 0px; padding-top: 1px; padding-bottom: 1px;}QListView::indicator { width: %1px; height: %1px; }QListView::indicator:unchecked {image: url(:/materia/command_star_empty);} QListView::indicator:checked{image: url(:/materia/command_star_full);}").arg(fontMetrics().height()); eskill_list->setStyleSheet(style); - eskill_list->setMaximumHeight(eskill_list->sizeHintForRow(0)*24 +eskill_list->contentsMargins().top() + eskill_list->contentsMargins().bottom()); + eskill_list->setMaximumHeight(eskill_list->sizeHintForRow(0)*48 +eskill_list->contentsMargins().top() + eskill_list->contentsMargins().bottom()); eskill_list->setSelectionMode(QAbstractItemView::NoSelection); + eskill_list->setUniformItemSizes(true); + //Fill Combo_type - combo_type->addItem(data->iconAllMateria(),tr("All Materia")); - combo_type->addItem(data->icon(FF7Materia::MasterMagic),tr("Magic")); - combo_type->addItem(data->icon(FF7Materia::MasterSummon),tr("Summon")); - combo_type->addItem(data->icon(FF7Materia::Underwater),tr("Independent")); - combo_type->addItem(data->icon(FF7Materia::StealAsWell),tr("Support")); - combo_type->addItem(data->icon(FF7Materia::MasterCommand),tr("Command")); + combo_type->addItem(QIcon(QPixmap::fromImage(data->imageAllMateria()).scaledToWidth(fontMetrics().height(), Qt::SmoothTransformation)),tr("All Materia")); + combo_type->addItem(QIcon(data->pixmap(FF7Materia::MasterMagic).scaledToWidth(fontMetrics().height(), Qt::SmoothTransformation)),tr("Magic")); + combo_type->addItem(QIcon(data->pixmap(FF7Materia::MasterSummon).scaledToWidth(fontMetrics().height(), Qt::SmoothTransformation)),tr("Summon")); + combo_type->addItem(QIcon(data->pixmap(FF7Materia::Underwater).scaledToWidth(fontMetrics().height(), Qt::SmoothTransformation)),tr("Independent")); + combo_type->addItem(QIcon(data->pixmap(FF7Materia::StealAsWell).scaledToWidth(fontMetrics().height(), Qt::SmoothTransformation)),tr("Support")); + combo_type->addItem(QIcon(data->pixmap(FF7Materia::MasterCommand).scaledToWidth(fontMetrics().height(), Qt::SmoothTransformation)),tr("Command")); //Set initial combo_materia info. for(int i=0;i<91;i++) @@ -472,10 +480,10 @@ eskill_group->setHidden(true); v_spacer->changeSize(0,0,QSizePolicy::Preferred,QSizePolicy::Expanding); v_spacer->invalidate(); - switch (_level) + switch (_level) {// no breaks on purpose - case 5:if(data->skills(_id).count()>4){list_skills->insertItem(0,data->skills(_id).at(4));} - case 4:if(data->skills(_id).count()>3){list_skills->insertItem(0,data->skills(_id).at(3));} + case 5: if(data->skills(_id).count()>4){list_skills->insertItem(0,data->skills(_id).at(4));} + case 4:if(data->skills(_id).count()>3){list_skills->insertItem(0,data->skills(_id).at(3));} case 3:if(data->skills(_id).count()>2){list_skills->insertItem(0,data->skills(_id).at(2));} case 2:if(data->skills(_id).count()>1){list_skills->insertItem(0,data->skills(_id).at(1));} case 1:if(data->skills(_id).count()>0){list_skills->insertItem(0,data->skills(_id).at(0));} diff -Nru blackchocobo-1.9.900/ff7tk/widgets/OptionsWidget.cpp blackchocobo-1.9.910/ff7tk/widgets/OptionsWidget.cpp --- blackchocobo-1.9.900/ff7tk/widgets/OptionsWidget.cpp 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/ff7tk/widgets/OptionsWidget.cpp 2018-12-29 20:35:46.000000000 +0000 @@ -150,11 +150,11 @@ speedLayout->addLayout(battleMessageSpeedLayout,1,1); speedLayout->addLayout(fieldMessageSpeedLayout,2,1); - QLabel *lblBtnUp = new QLabel(tr("Up")); + QLabel *lblBtnUp = new QLabel(tr("Up")); lblBtnUp->setAlignment(Qt::AlignRight); comboBtnUp = new QComboBox; - //comboBtnUp->setMinimumSize(52,32); - comboBtnUp->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); + comboBtnUp->setIconSize(QSize(fontMetrics().height(), fontMetrics().height()));; + comboBtnUp->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); comboBtnUp->addItem(QIcon(QPixmap(":/psxButtons/r2")),""); comboBtnUp->addItem(QIcon(QPixmap(":/psxButtons/l1")),""); comboBtnUp->addItem(QIcon(QPixmap(":/psxButtons/r1")),""); @@ -178,7 +178,7 @@ QLabel *lblBtnRight = new QLabel(tr("Right")); lblBtnRight->setAlignment(Qt::AlignRight); comboBtnRight = new QComboBox; - //comboBtnRight->setMinimumSize(52,32); + comboBtnRight->setIconSize(QSize(fontMetrics().height(), fontMetrics().height()));; comboBtnRight->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); comboBtnRight->addItem(QIcon(QPixmap(":/psxButtons/r2")),""); comboBtnRight->addItem(QIcon(QPixmap(":/psxButtons/l1")),""); @@ -202,8 +202,8 @@ QLabel *lblBtnDown = new QLabel(tr("Down")); lblBtnDown->setAlignment(Qt::AlignRight); comboBtnDown = new QComboBox; - //comboBtnDown->setMinimumSize(52,32); - comboBtnDown->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); + comboBtnDown->setIconSize(QSize(fontMetrics().height(), fontMetrics().height()));; + comboBtnDown->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); comboBtnDown->addItem(QIcon(QPixmap(":/psxButtons/r2")),""); comboBtnDown->addItem(QIcon(QPixmap(":/psxButtons/l1")),""); comboBtnDown->addItem(QIcon(QPixmap(":/psxButtons/r1")),""); @@ -226,7 +226,7 @@ QLabel *lblBtnLeft = new QLabel(tr("Left")); lblBtnLeft->setAlignment(Qt::AlignRight); comboBtnLeft = new QComboBox; - //comboBtnLeft->setMinimumSize(52,32); + comboBtnLeft->setIconSize(QSize(fontMetrics().height(), fontMetrics().height()));; comboBtnLeft->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); comboBtnLeft->addItem(QIcon(QPixmap(":/psxButtons/r2")),""); comboBtnLeft->addItem(QIcon(QPixmap(":/psxButtons/l1")),""); @@ -250,7 +250,7 @@ QLabel *lblBtnMenu = new QLabel(tr("Menu")); lblBtnMenu->setAlignment(Qt::AlignRight); comboBtnMenu = new QComboBox; - //comboBtnMenu->setMinimumSize(52,32); + comboBtnMenu->setIconSize(QSize(fontMetrics().height(), fontMetrics().height()));; comboBtnMenu->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); comboBtnMenu->addItem(QIcon(QPixmap(":/psxButtons/r2")),""); comboBtnMenu->addItem(QIcon(QPixmap(":/psxButtons/l1")),""); @@ -274,7 +274,7 @@ QLabel *lblBtnOk = new QLabel(tr("Ok")); lblBtnOk->setAlignment(Qt::AlignRight); comboBtnOk = new QComboBox; - //comboBtnOk->setMinimumSize(52,32); + comboBtnOk->setIconSize(QSize(fontMetrics().height(), fontMetrics().height()));; comboBtnOk->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); comboBtnOk->addItem(QIcon(QPixmap(":/psxButtons/r2")),""); comboBtnOk->addItem(QIcon(QPixmap(":/psxButtons/l1")),""); @@ -298,7 +298,7 @@ QLabel *lblBtnCancel = new QLabel(tr("Cancel")); lblBtnCancel->setAlignment(Qt::AlignRight); comboBtnCancel = new QComboBox; - //comboBtnCancel->setMinimumSize(52,32); + comboBtnCancel->setIconSize(QSize(fontMetrics().height(), fontMetrics().height()));; comboBtnCancel->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); comboBtnCancel->addItem(QIcon(QPixmap(":/psxButtons/r2")),""); comboBtnCancel->addItem(QIcon(QPixmap(":/psxButtons/l1")),""); @@ -322,7 +322,7 @@ QLabel *lblBtnSwitch = new QLabel(tr("Switch")); lblBtnSwitch->setAlignment(Qt::AlignRight); comboBtnSwitch = new QComboBox; - //comboBtnSwitch->setMinimumSize(52,32); + comboBtnSwitch->setIconSize(QSize(fontMetrics().height(), fontMetrics().height()));; comboBtnSwitch->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); comboBtnSwitch->addItem(QIcon(QPixmap(":/psxButtons/r2")),""); comboBtnSwitch->addItem(QIcon(QPixmap(":/psxButtons/l1")),""); @@ -346,7 +346,7 @@ QLabel *lblBtnCamera = new QLabel(tr("Camera")); lblBtnCamera->setAlignment(Qt::AlignRight); comboBtnCamera = new QComboBox; - //comboBtnCamera->setMinimumSize(52,32); + comboBtnCamera->setIconSize(QSize(fontMetrics().height(), fontMetrics().height()));; comboBtnCamera->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); comboBtnCamera->addItem(QIcon(QPixmap(":/psxButtons/r2")),""); comboBtnCamera->addItem(QIcon(QPixmap(":/psxButtons/l1")),""); @@ -370,7 +370,7 @@ QLabel *lblBtnTarget = new QLabel(tr("Target")); lblBtnTarget->setAlignment(Qt::AlignRight); comboBtnTarget = new QComboBox; - //comboBtnTarget->setMinimumSize(52,32); + comboBtnTarget->setIconSize(QSize(fontMetrics().height(), fontMetrics().height()));; comboBtnTarget->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); comboBtnTarget->addItem(QIcon(QPixmap(":/psxButtons/r2")),""); comboBtnTarget->addItem(QIcon(QPixmap(":/psxButtons/l1")),""); @@ -394,7 +394,7 @@ QLabel *lblBtnPgUp = new QLabel(tr("Page Up")); lblBtnPgUp->setAlignment(Qt::AlignRight); comboBtnPgUp = new QComboBox; - //comboBtnPgUp->setMinimumSize(52,32); + comboBtnPgUp->setIconSize(QSize(fontMetrics().height(), fontMetrics().height()));; comboBtnPgUp->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); comboBtnPgUp->addItem(QIcon(QPixmap(":/psxButtons/r2")),""); comboBtnPgUp->addItem(QIcon(QPixmap(":/psxButtons/l1")),""); @@ -418,7 +418,7 @@ QLabel *lblBtnPgDn = new QLabel(tr("Page Down")); lblBtnPgDn->setAlignment(Qt::AlignRight); comboBtnPgDn = new QComboBox; - //comboBtnPgDn->setMinimumSize(52,32); + comboBtnPgDn->setIconSize(QSize(fontMetrics().height(), fontMetrics().height()));; comboBtnPgDn->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); comboBtnPgDn->addItem(QIcon(QPixmap(":/psxButtons/r2")),""); comboBtnPgDn->addItem(QIcon(QPixmap(":/psxButtons/l1")),""); @@ -442,7 +442,7 @@ QLabel *lblBtnHelp = new QLabel(tr("Help")); lblBtnHelp->setAlignment(Qt::AlignRight); comboBtnHelp = new QComboBox; - //comboBtnHelp->setMinimumSize(52,32); + comboBtnHelp->setIconSize(QSize(fontMetrics().height(), fontMetrics().height()));; comboBtnHelp->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); comboBtnHelp->addItem(QIcon(QPixmap(":/psxButtons/r2")),""); comboBtnHelp->addItem(QIcon(QPixmap(":/psxButtons/l1")),""); @@ -466,7 +466,7 @@ QLabel *lblBtnPause = new QLabel(tr("Pause")); lblBtnPause->setAlignment(Qt::AlignRight); comboBtnPause = new QComboBox; - //comboBtnPause->setMinimumSize(52,32); + comboBtnPause->setIconSize(QSize(fontMetrics().height(), fontMetrics().height()));; comboBtnPause->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); comboBtnPause->addItem(QIcon(QPixmap(":/psxButtons/r2")),""); comboBtnPause->addItem(QIcon(QPixmap(":/psxButtons/l1")),""); @@ -490,7 +490,7 @@ QLabel *lblBtn9 = new QLabel(tr("Unknown (9)")); lblBtn9->setAlignment(Qt::AlignRight); comboBtn9 = new QComboBox; - //comboBtn9->setMinimumSize(52,32); + comboBtn9->setIconSize(QSize(fontMetrics().height(), fontMetrics().height()));; comboBtn9->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); comboBtn9->addItem(QIcon(QPixmap(":/psxButtons/r2")),""); comboBtn9->addItem(QIcon(QPixmap(":/psxButtons/l1")),""); @@ -514,7 +514,7 @@ QLabel *lblBtn10 = new QLabel(tr("Unknown(10)")); lblBtn10->setAlignment(Qt::AlignRight); comboBtn10 = new QComboBox; - //comboBtn10->setMinimumSize(52,32); + comboBtn10->setIconSize(QSize(fontMetrics().height(), fontMetrics().height()));; comboBtn10->addItem(QIcon(QPixmap(":/psxButtons/l2")),""); comboBtn10->addItem(QIcon(QPixmap(":/psxButtons/r2")),""); comboBtn10->addItem(QIcon(QPixmap(":/psxButtons/l1")),""); diff -Nru blackchocobo-1.9.900/lang/bchoco_de.ts blackchocobo-1.9.910/lang/bchoco_de.ts --- blackchocobo-1.9.900/lang/bchoco_de.ts 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/lang/bchoco_de.ts 2018-12-29 20:35:46.000000000 +0000 @@ -1,6 +1,6 @@ - + About @@ -60,34 +60,6 @@ Neueste Features - New: Scaling support for HiDpi - - - - New: Psv Signing Place Keys in Options - - - - New: Save/Restore Geometry for MainWindow and Options - - - - New: Auto guess Slot location for VMC formats. - - - - Fixed: Menu Editor Backward Columns - - - - New: Achievement Editor. - - - - FF7tk: LocationViewer Contains Field Items (Finished!) - - - Credits Credits @@ -203,6 +175,38 @@ Using Qt: %1 Mit Qt: %1 + + New: Further Improve HiDpi + + + + Fixed: Track hex Editor's cursor on tab change. + + + + ff7tk: Fixed Loading Psv file crashes host + + + + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/12 + + + + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/17 + + + + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/37 + + + + ff7tk: Fixed Chocobo pCount / Personality layout was overlapping Speed Notes. + + + + ff7tk: Chocobo name not showing place holder text at right times + + Achievement_Names @@ -2288,6 +2292,14 @@ Cauldron Kessel + + Final Heaven (+other stuff?) + + + + Elemental(+other stuff?) + + ItemList @@ -5432,7 +5444,7 @@ Runs "Runs"- you mean the amount of flees? - Fluchten + Fluchten Gil @@ -5868,7 +5880,7 @@ Number Steps - Anzahl der Schritte + Anzahl der Schritte Y: @@ -5948,7 +5960,7 @@ Team Avalanche Has Run To Hideout - Team Avalanche ist zum Versteck gerannt + Team Avalanche ist zum Versteck gerannt Can Show Pillar Pan Video @@ -5977,7 +5989,7 @@ Trigger Game Over (countdown timer out) - Löse Game Over aus (Countdown wurde erreicht) + Löse Game Over aus (Countdown wurde erreicht) Post Electrical Effect MD8_3 @@ -6007,31 +6019,31 @@ Sector 5 - Sektor 5 + Sektor 5 Talked with Sick Man - Mit krankem Mann geredet + Mit krankem Mann geredet Aeris Talked About Sick Man - Aeris hat über kranken Mann geredet + Aeris hat über kranken Mann geredet cb_s5_1 - cb_s5_1 + cb_s5_1 cb_s5_2 - cb_s5_2 + cb_s5_2 cb_s5_5 - cb_s5_5 + cb_s5_5 Jesse Has Been Unstuck - Jesse wurde befreit + Jesse wurde befreit Talked to Biggs @@ -6039,11 +6051,11 @@ Talked to Jesse Before Looking At Map - Mit Jesse geredet bevor Karte angeschaut + Mit Jesse geredet bevor Karte angeschaut After Aeris Church Scene - Nach Aeris Kirchen Szene + Nach Aeris Kirchen Szene Sector 7 - Slums Progress @@ -6139,7 +6151,7 @@ SnowBoard Mini Game - Snowboard Mini-Spiel + Snowboard Mini-Spiel Beginner Course @@ -6431,7 +6443,7 @@ Team Avalanche had meeting after Bombing Mission - Team Avalanche hatte Sitzung nach Mission Bombardierung + Team Avalanche hatte Sitzung nach Mission Bombardierung Cait Sith and Vincent should not be enabled if they are disabled in the Party tab. @@ -6741,7 +6753,51 @@ G-Bike High Score - G-Bike High Score + G-Bike High Score + + + Escapes + + + + Jessie Has Been Unstuck + + + + Trigger Game Over (countdown reached 0) + + + + Talked to Jessie Before Looking At Map + + + + Avalanche had meeting after Bombing Mission + + + + Avalanche Has Run To Hideout + + + + Ho&ur + + + + Number of Steps + + + + Snowboard Mini Game + + + + G-Bi&ke High Score + + + + Played piano durring flashback + diff -Nru blackchocobo-1.9.900/lang/bchoco_en.ts blackchocobo-1.9.910/lang/bchoco_en.ts --- blackchocobo-1.9.900/lang/bchoco_en.ts 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/lang/bchoco_en.ts 2018-12-29 20:35:46.000000000 +0000 @@ -48,34 +48,6 @@ - New: Scaling support for HiDpi - - - - New: Psv Signing Place Keys in Options - - - - New: Save/Restore Geometry for MainWindow and Options - - - - New: Auto guess Slot location for VMC formats. - - - - Fixed: Menu Editor Backward Columns - - - - New: Achievement Editor. - - - - FF7tk: LocationViewer Contains Field Items (Finished!) - - - Credits @@ -191,6 +163,38 @@ Using Qt: %1 + + New: Further Improve HiDpi + + + + Fixed: Track hex Editor's cursor on tab change. + + + + ff7tk: Fixed Loading Psv file crashes host + + + + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/12 + + + + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/17 + + + + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/37 + + + + ff7tk: Fixed Chocobo pCount / Personality layout was overlapping Speed Notes. + + + + ff7tk: Chocobo name not showing place holder text at right times + + Achievement_Names @@ -2273,6 +2277,14 @@ Cauldron + + Final Heaven (+other stuff?) + + + + Elemental(+other stuff?) + + ItemList @@ -5414,10 +5426,6 @@ - Runs - - - Gil @@ -5839,10 +5847,6 @@ - Number Steps - - - Y: @@ -5919,10 +5923,6 @@ - Team Avalanche Has Run To Hideout - - - Can Show Pillar Pan Video @@ -5947,10 +5947,6 @@ - Trigger Game Over (countdown timer out) - - - Post Electrical Effect MD8_3 @@ -5973,46 +5969,10 @@ - Sector 5 - - - - Talked with Sick Man - - - - Aeris Talked About Sick Man - - - - cb_s5_1 - - - - cb_s5_2 - - - - cb_s5_5 - - - - Jesse Has Been Unstuck - - - Talked to Biggs - Talked to Jesse Before Looking At Map - - - - After Aeris Church Scene - - - Sector 7 - Slums Progress @@ -6103,10 +6063,6 @@ - SnowBoard Mini Game - - - Beginner Course @@ -6399,10 +6355,6 @@ - Team Avalanche had meeting after Bombing Mission - - - Cait Sith and Vincent should not be enabled if they are disabled in the Party tab. @@ -6699,7 +6651,47 @@ - G-Bike High Score + Escapes + + + + Jessie Has Been Unstuck + + + + Trigger Game Over (countdown reached 0) + + + + Talked to Jessie Before Looking At Map + + + + Avalanche had meeting after Bombing Mission + + + + Avalanche Has Run To Hideout + + + + Ho&ur + + + + Number of Steps + + + + Snowboard Mini Game + + + + G-Bi&ke High Score + + + + Played piano durring flashback diff -Nru blackchocobo-1.9.900/lang/bchoco_es.ts blackchocobo-1.9.910/lang/bchoco_es.ts --- blackchocobo-1.9.900/lang/bchoco_es.ts 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/lang/bchoco_es.ts 2018-12-29 20:35:46.000000000 +0000 @@ -1,6 +1,6 @@ - + About @@ -61,31 +61,31 @@ New: Scaling support for HiDpi - Nuevo: Soporte para escalar en HiDpi + Nuevo: Soporte para escalar en HiDpi New: Psv Signing Place Keys in Options - Nuevo: Claves para firmas de PSV en Opciones + Nuevo: Claves para firmas de PSV en Opciones New: Save/Restore Geometry for MainWindow and Options - Nuevo: Guardar/Recuperar Geometría para MainWindow y Opciones + Nuevo: Guardar/Recuperar Geometría para MainWindow y Opciones New: Auto guess Slot location for VMC formats. - Nuevo: Localización de ranura de manera predictiva para los formatos VMC. + Nuevo: Localización de ranura de manera predictiva para los formatos VMC. Fixed: Menu Editor Backward Columns - Corrección: Editor de menú - Columnas atrasadas + Corrección: Editor de menú - Columnas atrasadas New: Achievement Editor. - Corrección: Editor de Logros. + Corrección: Editor de Logros. FF7tk: LocationViewer Contains Field Items (Finished!) - FF7tk: LocationViewer Contiene los Elementos de Campo (Terminado!) + FF7tk: LocationViewer Contiene los Elementos de Campo (Terminado!) Credits @@ -203,6 +203,38 @@ Using Qt: %1 Usando Qt: %1 + + New: Further Improve HiDpi + + + + Fixed: Track hex Editor's cursor on tab change. + + + + ff7tk: Fixed Loading Psv file crashes host + + + + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/12 + + + + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/17 + + + + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/37 + + + + ff7tk: Fixed Chocobo pCount / Personality layout was overlapping Speed Notes. + + + + ff7tk: Chocobo name not showing place holder text at right times + + Achievement_Names @@ -2322,6 +2354,14 @@ Cauldron Caldera + + Final Heaven (+other stuff?) + + + + Elemental(+other stuff?) + + ItemList @@ -5462,7 +5502,7 @@ Runs - Huídas + Huídas Gil @@ -5900,7 +5940,7 @@ Number Steps - Número de pasos + Número de pasos Y: @@ -5980,7 +6020,7 @@ Team Avalanche Has Run To Hideout - Avalancha huye al escondite + Avalancha huye al escondite Can Show Pillar Pan Video @@ -6008,7 +6048,7 @@ Trigger Game Over (countdown timer out) - Activar Game Over (reloj de cuenta atrás) + Activar Game Over (reloj de cuenta atrás) Post Electrical Effect MD8_3 @@ -6036,31 +6076,31 @@ Sector 5 - Sector 5 + Sector 5 Talked with Sick Man - Hablar con hombre enfermo + Hablar con hombre enfermo Aeris Talked About Sick Man - Aeris habla sobre el hombre enfermo + Aeris habla sobre el hombre enfermo cb_s5_1 - cb_s5_1 + cb_s5_1 cb_s5_2 - cb_s5_2 + cb_s5_2 cb_s5_5 - cb_s5_5 + cb_s5_5 Jesse Has Been Unstuck - Jesse se ha desenganchado + Jesse se ha desenganchado Talked to Biggs @@ -6068,11 +6108,11 @@ Talked to Jesse Before Looking At Map - Hablar con Jesse antes de mirar al mapa + Hablar con Jesse antes de mirar al mapa After Aeris Church Scene - Después de la escena de la iglesia de Aeris + Después de la escena de la iglesia de Aeris Sector 7 - Slums Progress @@ -6168,7 +6208,7 @@ SnowBoard Mini Game - Mini Juego de Snowboard + Mini Juego de Snowboard Beginner Course @@ -6460,7 +6500,7 @@ Team Avalanche had meeting after Bombing Mission - Avalancha tuvo la reunión despues de la 'Bombing mission' + Avalancha tuvo la reunión despues de la 'Bombing mission' Cait Sith and Vincent should not be enabled if they are disabled in the Party tab. @@ -6768,7 +6808,47 @@ - G-Bike High Score + Escapes + + + + Jessie Has Been Unstuck + + + + Trigger Game Over (countdown reached 0) + + + + Talked to Jessie Before Looking At Map + + + + Avalanche had meeting after Bombing Mission + + + + Avalanche Has Run To Hideout + + + + Ho&ur + + + + Number of Steps + + + + Snowboard Mini Game + + + + G-Bi&ke High Score + + + + Played piano durring flashback diff -Nru blackchocobo-1.9.900/lang/bchoco_fr.ts blackchocobo-1.9.910/lang/bchoco_fr.ts --- blackchocobo-1.9.900/lang/bchoco_fr.ts 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/lang/bchoco_fr.ts 2018-12-29 20:35:46.000000000 +0000 @@ -1,6 +1,6 @@ - + About @@ -61,31 +61,31 @@ New: Scaling support for HiDpi - Nouveau : support de la mise à l'échelle pour écran HiDPI + Nouveau : support de la mise à l'échelle pour écran HiDPI New: Psv Signing Place Keys in Options - Nouveau : Gestion des clés de signature PSV dans les options + Nouveau : Gestion des clés de signature PSV dans les options New: Save/Restore Geometry for MainWindow and Options - Nouveau : Sauvegarder/restaurer la géométrie des fenêtres principale et options + Nouveau : Sauvegarder/restaurer la géométrie des fenêtres principale et options New: Auto guess Slot location for VMC formats. - Nouveau : Deviner automatiquement l'emplacement pour les formats VMC. + Nouveau : Deviner automatiquement l'emplacement pour les formats VMC. Fixed: Menu Editor Backward Columns - Corrigé : Colonnes arrières de l'éditeur de menu + Corrigé : Colonnes arrières de l'éditeur de menu New: Achievement Editor. - Nouveau : éditeur de succès. + Nouveau : éditeur de succès. FF7tk: LocationViewer Contains Field Items (Finished!) - FF7tk : Le visualisateur de lieux contient les écrans (terminé !) + FF7tk : Le visualisateur de lieux contient les écrans (terminé !) Credits @@ -203,6 +203,38 @@ Using Qt: %1 Version de Qt : %1 + + New: Further Improve HiDpi + + + + Fixed: Track hex Editor's cursor on tab change. + + + + ff7tk: Fixed Loading Psv file crashes host + + + + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/12 + + + + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/17 + + + + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/37 + + + + ff7tk: Fixed Chocobo pCount / Personality layout was overlapping Speed Notes. + + + + ff7tk: Chocobo name not showing place holder text at right times + + Achievement_Names @@ -2287,6 +2319,14 @@ Cauldron Chaudron + + Final Heaven (+other stuff?) + + + + Elemental(+other stuff?) + + ItemList @@ -5426,7 +5466,7 @@ Runs - Fuites + Fuites Gil @@ -5864,7 +5904,7 @@ Number Steps - Nombre de pas + Nombre de pas Y: @@ -5944,7 +5984,7 @@ Team Avalanche Has Run To Hideout - AVALANCHE s'est dirigée vers la planque + AVALANCHE s'est dirigée vers la planque Can Show Pillar Pan Video @@ -5972,7 +6012,7 @@ Trigger Game Over (countdown timer out) - Activer la Fin de Partie à 00:00 + Activer la Fin de Partie à 00:00 Post Electrical Effect MD8_3 @@ -6000,31 +6040,31 @@ Sector 5 - Secteur 5 + Secteur 5 Talked with Sick Man - Parlé avec l'homme malade + Parlé avec l'homme malade Aeris Talked About Sick Man - Aéris vous a parlé de l'homme malade + Aéris vous a parlé de l'homme malade cb_s5_1 - cb_s5_1 + cb_s5_1 cb_s5_2 - cb_s5_2 + cb_s5_2 cb_s5_5 - cb_s5_5 + cb_s5_5 Jesse Has Been Unstuck - Jambe de Jesse décoincée + Jambe de Jesse décoincée Talked to Biggs @@ -6032,11 +6072,11 @@ Talked to Jesse Before Looking At Map - Parler à Jesse avant de regarder la carte + Parler à Jesse avant de regarder la carte After Aeris Church Scene - Passé la scène de l'église d'Aéris + Passé la scène de l'église d'Aéris Sector 7 - Slums Progress @@ -6132,7 +6172,7 @@ SnowBoard Mini Game - Mini jeu de snowboard + Mini jeu de snowboard Beginner Course @@ -6424,7 +6464,7 @@ Team Avalanche had meeting after Bombing Mission - L'équipe d'AVALANCHE a fait une réunion après la première mission + L'équipe d'AVALANCHE a fait une réunion après la première mission Cait Sith and Vincent should not be enabled if they are disabled in the Party tab. @@ -6736,7 +6776,51 @@ G-Bike High Score - Meilleur score G-Bike + Meilleur score G-Bike + + + Escapes + Fuites + + + Jessie Has Been Unstuck + Jambe de Jesse décoincée + + + Trigger Game Over (countdown reached 0) + Activer la Fin de Partie à 00:00 + + + Talked to Jessie Before Looking At Map + Parler à Jesse avant de regarder la carte + + + Avalanche had meeting after Bombing Mission + L'équipe d'AVALANCHE a fait une réunion après la première mission + + + Avalanche Has Run To Hideout + AVALANCHE s'est dirigée vers la planque + + + Ho&ur + + + + Number of Steps + + + + Snowboard Mini Game + + + + G-Bi&ke High Score + + + + Played piano durring flashback + diff -Nru blackchocobo-1.9.900/lang/bchoco_ja.ts blackchocobo-1.9.910/lang/bchoco_ja.ts --- blackchocobo-1.9.900/lang/bchoco_ja.ts 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/lang/bchoco_ja.ts 2018-12-29 20:35:46.000000000 +0000 @@ -1,6 +1,6 @@ - + About @@ -57,31 +57,31 @@ New: Scaling support for HiDpi - 新規:HiDpiのサポートをスケーリング + 新規:HiDpiのサポートをスケーリング New: Psv Signing Place Keys in Options - 新規:PSVはオプションに置きキーの署名 + 新規:PSVはオプションに置きキーの署名 New: Save/Restore Geometry for MainWindow and Options - 新規:/保存メインウィンドウとオプションのためのジオメトリを復元します + 新規:/保存メインウィンドウとオプションのためのジオメトリを復元します New: Auto guess Slot location for VMC formats. - 新:VMCフォーマットの自動推測スロットの場所。 + 新:VMCフォーマットの自動推測スロットの場所。 Fixed: Menu Editor Backward Columns - 修正:メニューエディタの下位列 + 修正:メニューエディタの下位列 New: Achievement Editor. - 新:達成エディタ。 + 新:達成エディタ。 FF7tk: LocationViewer Contains Field Items (Finished!) - FF7tkは:LocationViewerは、フィールド項目が含まれ(完成を!) + FF7tkは:LocationViewerは、フィールド項目が含まれ(完成を!) Credits @@ -201,6 +201,38 @@ Using Qt: %1 QTを使用します:%1 + + New: Further Improve HiDpi + + + + Fixed: Track hex Editor's cursor on tab change. + + + + ff7tk: Fixed Loading Psv file crashes host + + + + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/12 + + + + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/17 + + + + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/37 + + + + ff7tk: Fixed Chocobo pCount / Personality layout was overlapping Speed Notes. + + + + ff7tk: Chocobo name not showing place holder text at right times + + Achievement_Names @@ -2284,6 +2316,14 @@ Cauldron 魔女の大釜 + + Final Heaven (+other stuff?) + + + + Elemental(+other stuff?) + + ItemList @@ -4434,7 +4474,7 @@ Mideel,Clinic Riped from SLPS-01057-60 - ミディール 治療所 + ミディール 治療所 Sector 6 @@ -5501,7 +5541,7 @@ Runs - 逃走回数 + 逃走回数 Gil @@ -5935,7 +5975,7 @@ Number Steps - フィールドの総歩数 + フィールドの総歩数 Y: @@ -6015,7 +6055,7 @@ Team Avalanche Has Run To Hideout - アバランチ チームがアジトへ向かう + アバランチ チームがアジトへ向かう Can Show Pillar Pan Video @@ -6043,7 +6083,7 @@ Trigger Game Over (countdown timer out) - ゲーム オーバー トリガー (カウントダウン タイマー) + ゲーム オーバー トリガー (カウントダウン タイマー) Post Electrical Effect MD8_3 @@ -6071,31 +6111,31 @@ Sector 5 - 5番街 + 5番街 Talked with Sick Man - 土管の病人と会話 + 土管の病人と会話 Aeris Talked About Sick Man - エアリスの病人に関する話を聞く + エアリスの病人に関する話を聞く cb_s5_1 - cb_s5_1 + cb_s5_1 cb_s5_2 - cb_s5_2 + cb_s5_2 cb_s5_5 - cb_s5_5 + cb_s5_5 Jesse Has Been Unstuck - ジェシーを助ける + ジェシーを助ける Talked to Biggs @@ -6103,11 +6143,11 @@ Talked to Jesse Before Looking At Map - ジェシーと会話してマップを見る + ジェシーと会話してマップを見る After Aeris Church Scene - エアリスとの教会イベント完了 + エアリスとの教会イベント完了 Sector 7 - Slums Progress @@ -6204,7 +6244,7 @@ SnowBoard Mini Game - スノーボードのミニゲーム + スノーボードのミニゲーム Beginner Course @@ -6497,7 +6537,7 @@ Team Avalanche had meeting after Bombing Mission - チーム雪崩は、ミッションを爆撃した後にミーティングを行いました + チーム雪崩は、ミッションを爆撃した後にミーティングを行いました Cait Sith and Vincent should not be enabled if they are disabled in the Party tab. @@ -6806,7 +6846,47 @@ - G-Bike High Score + Escapes + + + + Jessie Has Been Unstuck + + + + Trigger Game Over (countdown reached 0) + + + + Talked to Jessie Before Looking At Map + + + + Avalanche had meeting after Bombing Mission + + + + Avalanche Has Run To Hideout + + + + Ho&ur + + + + Number of Steps + + + + Snowboard Mini Game + + + + G-Bi&ke High Score + + + + Played piano durring flashback @@ -8676,27 +8756,27 @@ Restore,Attack,Indirect - 回復 攻撃 間接 + 回復 攻撃 間接 Restore,Indirect,Attack - 回復 間接 攻撃 + 回復 間接 攻撃 Attack,Indirect,Restore - 攻撃 間接 回復 + 攻撃 間接 回復 Attack,Restore,Indirect - 攻撃 回復 間接 + 攻撃 回復 間接 Indirect,Restore,Attack - 間接 回復 攻撃 + 間接 回復 攻撃 Indirect,Attack,Restore - 間接 攻撃 回復 + 間接 攻撃 回復 Cursor Type @@ -8740,11 +8820,11 @@ Fast - 速い  + 速い  Slow -  遅い +  遅い Battle Message Speed: diff -Nru blackchocobo-1.9.900/lang/bchoco_re.ts blackchocobo-1.9.910/lang/bchoco_re.ts --- blackchocobo-1.9.900/lang/bchoco_re.ts 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/lang/bchoco_re.ts 2018-12-29 20:35:46.000000000 +0000 @@ -57,182 +57,187 @@ - New: Scaling support for HiDpi + New: Further Improve HiDpi - New: Psv Signing Place Keys in Options + Fixed: Track hex Editor's cursor on tab change. - New: Save/Restore Geometry for MainWindow and Options + ff7tk: Fixed Loading Psv file crashes host - New: Auto guess Slot location for VMC formats. + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/12 - Fixed: Menu Editor Backward Columns + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/17 - New: Achievement Editor. + ff7tk: Fixed https://github.com/sithlord48/ff7tk/issues/37 - FF7tk: LocationViewer Contains Field Items (Finished!) + ff7tk: Fixed Chocobo pCount / Personality layout was overlapping Speed Notes. - + + ff7tk: Chocobo name not showing place holder text at right times + + + + Credits - + Giving Credit Where Credit is Due - + Programmers - + Almost All code and GUI design; - + Various code help/debug; Windows QA - + Psx Icon Class & PC string convertor for japanese - + Bug Testers - + Main Bug Tester, for win/gnome + ingame - + Early Win32 Tester - - + + Mac Os Tester - + Windows Tester - + Translators - + Spanish Translation: - + French Translation: - + Japanese Translation: - + German Translation: - + Icons Used In this Program - + Buff Icons (and one or two more) by - + Thanks - + A Big Thank You To: - + Thank you for providing the source to Jenova. This program uses modified versions of Jenova's savefile struct and Item/Materia lists. Access to its source code saved a lot of time during the early stages of development. - + Thank you for all of your help with Black Chocobo. Translating, bug testing, helping with finding data in the savemap, theme testing, etc. You've done a lot to help. - + Thank you for the old checksum program - + Thank you for helping me see the light of stupid errors. - + Thank you for providing a better understanding of Qt's functions when the help files failed. - + Cause she's just awesome! - + Close - + Version: %1 - + Using Qt: %1 @@ -459,13 +464,13 @@ - + Fury Anger - + Sadness @@ -606,342 +611,340 @@ - + -NONE- - + Elemental Effects Force Effects - + Status Effects - + Weapon - + Armor - - - + + + Accessory - + Status Info - + Equipment - - + + Next: %1 - + Young Cloud - + Sephiroth - - - - - AP:x%1 - - - - - - Str:+%1 + + + + AP:x%1 - Vit:+%1 + Str:+%1 - Dex:+%1 - Agi:+%1 + Vit:+%1 + - Spi:+%1 - Int:+%1 + Dex:+%1 + Agi:+%1 - Mag:+%1 - + Spi:+%1 + Int:+%1 - Lck:+%1 + Mag:+%1 - Hp:+%1% + Lck:+%1 + Hp:+%1% + + + + + + Mp:+%1% - + Restoration - + Fire Flame - + Cold - + Lightning - + Earth - + Wind - + Water - + Gravity Gravity - + Holy - - + + Poison - + Cut - + Shoot - + Punch - + Hit - + Absorb: - + Nullify: - + Halve: - + Attack: - + Death - + Slow-Numb Gradual-Petrif. - + D.Sentence - + Paralysis - + Petrify Petrification - + Silence - + Sleep - + Confusion - + Berserk - + Frog - + Mini Minimum - + Darkness - + Haste - + Slow - + Stop - + Barrier - + M.Barrier Magic-Barrier - + Reflect - + Shield - - + + Regen Regenerate - + Protect: - + Remove: - + Inflict: - + OnBattle: - - @@ -956,6 +959,8 @@ + + -Empty- @@ -1306,147 +1311,147 @@ ChocoboEditor - + Unable To Mate - + Stamina - + Run Speed - + Sprint Speed - + Acceleration - + Races Won - + Cooperation - + pCount - + Intelligence - + Personality - + Choco Billy's Rating: - + Name - + Empty - + Wonderful - + Great - + Good - + Fair - + Average - + Poor - + Bad - + Terrible - + Male %1 - + Female %1 - + Yellow - + Green - + Blue - + Black - + Gold - + Speed Values Are The Raw Values The km/h speeds are calculated while playing @@ -1708,13 +1713,13 @@ [Fire] - [Flame] + [Fire] [Ice] - [Cold] + @@ -1769,7 +1774,7 @@ - + Hi-Potion High Potion @@ -1785,15 +1790,15 @@ - - - + - - + + + + Potion @@ -1804,12 +1809,12 @@ - - - - - - + + + + + + Ether @@ -1822,18 +1827,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + Elixir @@ -1844,13 +1849,13 @@ - - - - + + + - - + + + Mind Source @@ -1867,7 +1872,7 @@ - + Phoenix Down Phoenix Tail @@ -1915,8 +1920,8 @@ - - + + X-Potion @@ -1926,16 +1931,16 @@ - - - + + + Turbo Ether Ether Turbo - - + + Vaccine @@ -1947,9 +1952,9 @@ - - - + + + Speed Source @@ -1962,13 +1967,13 @@ - + Luck Source - + Remedy Panacea @@ -2005,8 +2010,8 @@ - - + + Enemy Skill @@ -2017,11 +2022,11 @@ - - - - - + + + + + Magic Source @@ -2030,7 +2035,7 @@ - + All @@ -2057,7 +2062,7 @@ - + HP Absorb @@ -2123,16 +2128,16 @@ - - - - - - - - - - + + + + + + + + + + Megalixir Last Elixir @@ -2198,152 +2203,162 @@ + Final Heaven (+other stuff?) + + + + + Elemental(+other stuff?) + + + + Enhance Sword - + Fire Armlet Inferno Bracelet - + Javelin - - + + Ribbon - + Catastrophe - - - - + + + + Hero Drink - + Neo Bahamut - + Poison Ring - + MP Turbo - + Poison - + Bolt Armlet Thunder Bracelet - + HypnoCrown Hypno Crown - + Kujata - + Destruct Extinguish - + Odin - - + + Counter Command Counter - + Magic Plus - + Steal - + Twin Viper - + Silver M-phone Silver Megaphone - + Enemy Launcher - + Buntline - + Aurora Armlet Aurora Bracelet - + Viper Halberd She Mao - + Rune Blade - + Plus Barrette Platinum Barrette - + Powersoul Oversoul - + Sniper CR - + Elemental Force @@ -2667,365 +2682,365 @@ - - - - - + + + + - - + + + Power Source - + Water Ring - + Typhon - + Supershot ST Highbrow ST - + Slash-All - + Minerva Band Minerva Bracelet - + Apocalypse - + Spring Gun Clip Spriggan Clip - + Mop - + KeyItem: Key To Sector 5 KeyItem: District 5 Gate Key - + KeyItem: Leviathan Scales KeyItem: Scales of Levathan - + KeyItem: Huge Materia:Rocket - - - + + + Tent - + Long Range - + Titan - + Comet - + Deathblow - + Hades Hades - + Outsider - + Escort Guard - + Conformer Eternal Nemesis - + Spirit Lance Longinus - + Heaven's Cloud Ama no Murakumo - - - - - - - - + + + + + + + + Guard Source - - + + Mystile Mystère - + Tetra Elemental - + White M-phone White Megaphone - + Drill Arm - + Yoshiyuki Mutsunokami Yoshiyuki - + Venus Gospel - + Save Crystal - + Peacemaker - + Fourth Bracelet Force Bracelet - + Double Cut Consecutive Cut - + Highwind - + Show Underwater Show Diving - + Show Master Command - + Show Master Magic - + Show Master Summon - + Show Gold Chocobo - + Morph - + Luck Plus - + Princess Guard - + Trumpet Shell Triton Trumpet - + Bahamut - + Trident - + Rocket Punch - + Silver Rifle BB Gun - + Motor Drive - + Fire Ring - + Purchased The House - + W Machine Gun Machine Gun - + Transform - - + + 1/35 soldier 1:35 Soldier - + Steal-As-Well Added Steal - + Dragoon Lance - + W-Item Double Item - + Max Ray Maximum Ray - + Aegis Armlet Aegis Bracelet - + Scimitar Qing Long - + Battle Trumpet - + Leviathan - + Oritsuru Orizuru - + Starlight Phone Starlight Megaphone - + Missing Score - + Shield - + W-Magic Double Magic - + Imperial Guard - + Contain Forbidden @@ -3033,13 +3048,13 @@ ItemList - - + + -------EMPTY-------- - + -------BAD ID------- @@ -3291,7 +3306,7 @@ ItemSelector - + Empty Item @@ -4039,7 +4054,7 @@ Items - + Ether @@ -4277,7 +4292,7 @@ Holy Torch - Holy Touch + @@ -4317,7 +4332,7 @@ 8-inch Cannon - 203mm Shells + 203mm Shell @@ -4472,7 +4487,7 @@ Tissue - Pocket Tissue + Pocket Tissues @@ -4517,7 +4532,7 @@ 1/35 soldier - 1:35 Solider + 1:35 Soldier @@ -4844,7 +4859,7 @@ Silver Barrette - + @@ -5059,7 +5074,7 @@ Wind Slash - + Kazekiri @@ -5561,7 +5576,7 @@ - + Location Name @@ -5591,42 +5606,42 @@ - + MapID: - + LocID: - + X: - + Y: - + T: - + D: - + Save &Location Changes - + Field Items @@ -7310,81 +7325,81 @@ MainWindow - - - - - + + + + + Black Chocobo - + Party - + In Party - + Money - + Gil - + GP - - + + Battles - - Runs - - - - + Click On A Char To edit ===========> - + Selected Character Max Stats/Weapons/Materia - + Items - + Inventory - + Add Max Of All Items - + Clear All Items + + Escapes + + + Turtle Paradise Flyers Collected @@ -7417,7 +7432,7 @@ - + Materia @@ -7428,7 +7443,7 @@ - + AP @@ -7458,603 +7473,586 @@ - + Visible On World Map - - + + Buggy - + Tiny bronco - - + + Highwind - + Wild chocobo - + Yellow chocobo - + Green chocobo - + Blue chocobo - + Black chocobo - + Gold chocobo - + Party leader - - - - - - - + + + + + + + Y: - - - - - - + + + + + + angle - + Tiny Bronco / Chocobo - - - - + + + + id - + Buggy / Highwind - + None - - + + Sub - - + + Wild Chocobo - + Diamond / Ultimate / Ruby Weapon - + sliders show - + Party Leader - + TinyBronco/Chocobo - + Buggy/Highwind - + Diamond / Ultimate / Ruby Weapon - + Game Progress - + Global Progress - + Main Progression - + Disc # - + Event Progress - + Bombing Mission Progress - + Bombing Mission Start Flag - + Elevator Door Open - + Elevator On 2nd Floor - + 1st Door Open - + 2nd Door Opened - + Post Pan NMKIN_5 - + The Bomb Was Set - Jesse Has Been Unstuck - Jessie Has Been Unstuck - - - - Trigger Game Over (countdown timer out) - + Jessie Has Been Unstuck - + Escape From Reactor - + Post Pan MD8_2 - + Post Electrical Effect MD8_3 - + Midgar Train Flags - + Talked to Biggs - + Talked to Wedge Twice - Talked to Jesse Before Looking At Map - Talked to Jessie Before Looking At Map + Talked to Jessie Before Looking At Map - + Played Video on Train? - + Sector 7 Trainstation District 7 Trainstation - - Team Avalanche had meeting after Bombing Mission - - - - + Talked To Trainman 3 times - + Pair At Station agree - + Set To Reactor 5 Mode - + Sector 7 Pillar District 7 Pillar - - Team Avalanche Has Run To Hideout - - - - + Can Show Pillar Pan Video - + Barret called us Barrett called us - + Post Pillar Pan Video - + Talked To soldier two times - + Sector 7 - Slums Progress District 7 - Slums Progress - + Initial Settings - + Destroy the Sector 5 Reactor Destroy the District 5 Reactor - + The Plate is Falling - Sector 5 - District 5 + District 5 - Talked with Sick Man - Talked with Scruff Man + Talked with Scruff Man - Aeris Talked About Sick Man - Aerith Talked About Sick Man + Aerith Talked About Sick Man - After Aeris Church Scene - After Aerith Church Scene + After Aerith Church Scene - + Unknowns / Unused - + DonProgress - - cb_s5_1 - + + Set Replay Mission below to set the game back to that mission. This will automatically set your save location and disc # as well as Quest Progression vars. DO NOT OVERWRITE YOUR CURRENT SAVE when using this feature; I cannot promise that you will be able to play from any replay until the end of the game, or that any given replay will work in your save. This feature is still under development. + - - cb_s5_2 - + + Apply Selected Replay + - - cb_s5_5 - + + Ho&ur + - - Set Replay Mission below to set the game back to that mission. This will automatically set your save location and disc # as well as Quest Progression vars. DO NOT OVERWRITE YOUR CURRENT SAVE when using this feature; I cannot promise that you will be able to play from any replay until the end of the game, or that any given replay will work in your save. This feature is still under development. + + Unlocked Vincent - - Apply Selected Replay + + Unlocked Yuffie - - Unlocked Vincent + + Number of Steps - - Unlocked Yuffie + + Snowboard Mini Game + + + + + G-Bi&ke High Score - + Have Won the Submarine Game - + He&lp - + &View - + &Language - + &Slot Region - + Sa&ve As - + &About - + &Show Selection Dialog - + &Previous Slot - + &Next Slot - + &More Options... - + Uk &English (PAL) - + &German (PAL) - + &Spanish (PAL) - + &Japanese (NTSC-J) - + Japanese (NTSC-J) - + &International (NTSC-J) - + International (NTSC-J) - + New &Game+ - + &Calculate Stats - + &Reload - + &French (PAL) - + &Create Cloud Save Folder - + Open Achievement &File - + Replay Mission - + Bombing Mission - + The Church In The Slums - + Cloud's Flashback - + The Date Scene - + Aeris Death Aerith's Death - + Other - + Time Played - - + Hour - - + + Min - - + + Sec - + Love Points - + Beat Ruby Weapon - + Beat Emerald Weapon - + Can Fight Mystery Ninja in Forests Can Fight Mysterious Ninja in Forests - + Have Seen Pandora's Box Have Seen Enigma @@ -8074,48 +8072,48 @@ - + Countdown Timer - + Fort Condor - + Funds - + Record - + / - + Cait Sith and Vincent should not be enabled if they are disabled in the Party tab. - + Materia Stolen By Yuffie - + Clear All Stolen Materia - - + + <html><head/><body><p>Resets When you Pass thru Battle Square's Door Set Location To &quot;Arena Lobby&quot; so you can spend @@ -8123,362 +8121,377 @@ - + + Jessie Has Been Unstuck + + + + + Trigger Game Over (countdown reached 0) + + + + + Talked to Jessie Before Looking At Map + + + + + Avalanche had meeting after Bombing Mission + + + + + Avalanche Has Run To Hideout + + + + Save Point Location In North Crater - + Region String - + S01 - + S02 - + S03 - + S04 - + S05 - + S06 - + S07 - + S08 - + S09 - + S10 - + S11 - + S12 - + S13 - + S14 - + S15 - - SnowBoard Mini Game - - - - + Beginner Course - - - + + + Time: - - - + + + : - - - + + + . - - - + + + Score: - - - + + + Points - + Expert Course - + Crazy Course - + Coaster Shooter High Scores - + 1st - + 2nd - + 3rd - + Battle Points - + Right click on map to easily set an item's location. - + ChurchProgress - - Number Steps - - - - - G-Bike High Score - - - - + Hex Editor - + Playstation Save Info - + PsxName: - - + + TextLabel - + No Description Text - + Show: - + PSX Save Data - + Test Data - + Misc - + Battle Love Points - + Ultimate Weapons Hp - + + Played piano durring flashback + + + + When Box is Partally Checked ("-") it will trigger showing that tutorial - + Tutorials Seen - + Controling the Sub - + Saving on the World Map Saving on the World Map - + Map Id: - + X: - + Z: - + Unknown Vars - + Unknown Var: - - + + -None- - + z_41 - + z_42 - + z_43 - + z_44 - + z_45 - + z_46 - - + + # - - + + Hex - - + + Dec - - + + Bin - + <------Left Table------ Select Unknown Var To View Table Entries are Editable - + ------Right Table------> Select A Slot To Compare Table is Read Only @@ -8486,533 +8499,533 @@ - + Compare To Slot - + &File - + &Options - + &Edit - + &Quit - + &Open - + Ctrl+O - + &Copy Current Slot - + &Paste Slot - + Clea&r Slot - + Advanced Mode - + &Us English (NTSC-U) - + Spanish (PAL) - + &New Game - + E&xport Current Character - + I&mport Current Character - + &Save - + &Import To Current Slot - - - + + + -Empty- - + Chocobo - + Game Options - + TRANSLATE TO YOUR LANGUAGE NAME ReTranslation - + Unsaved Changes - + Save Changes to the File: %1 - - + + Open Final Fantasy 7 Save - - + + Cannot read file %1: %2. - + Load Failed - + Failed to Load File - - + + Known FF7 Save Types (*.ff7 *-S* *.psv *.vmp *.vgs *.mem *.gme *.mcr *.mcd *.mci *.mc *.ddf *.ps *.psm *.VM1 *.bin *.srm);;PC FF7 SaveGame (*.ff7);;Raw PSX FF7 SaveGame (*-S*);;MC SaveGame (*.mcr *.mcd *.mci *.mc *.ddf *.ps *.psm *.VM1 *.bin *.srm);;PSV SaveGame (*.psv);;PSP/PsVita SaveGame (*.vmp);;VGS SaveGame(*.vgs *.mem);;Dex-Drive SaveGame(*.gme);;All Files(*) - + Imported Slot:%2 from %1 -> Slot:%3 - + Select FF7 Character Stat File - - + + FF7 Character Stat File(*.char) - + %1: %2 is Not a FF7 Character Stat File. - + Save FF7 Character File - + Character Export Successful - + Character Export Failed - - + + PSP/PsVita Save Notice - - + + PSV Save Notice - + FF7 PC (*.ff7) - + Raw PSX Save(*FF7-S*) - + Virtual Memory Card(*.mcr *.mcd *.mci *.mc *.ddf *.ps *.psm *.VM1 *.bin *.srm) - + Virtual Game Station(*.vgs *.mem) - + DEX (*.gme) - + PSV (*.psv) - + PSP (*.vmp) - + Imported %1 -> Slot:%2 - + Error Loading File %1 - - + + This File Does Not Have An Updated Signature Because of this your PSP/PsVita will reject this save as corrupted This is normal please see the User Guide for more information. - - + + Black Chocobo Will Attempt to Sign your Save using the keys provided in the options Dialog. ps3Key: %1 ps3Seed: %2 - + Export Successful - + Export Failed - + PSV Export Attempted - + PSV Exports Are Not Allowed. - + VMP Export Attempted - + VMP Exports Are Not Allowed. - + Save Error - + Failed to save file %1 - - + + Builtin Data - + New Game Created - Using: %1 - + New Game Plus Created - Using: %1 - + Select Achievement File - + Dat File (*.dat); - + Language Changed - + You must restart for the language to change. - + Current Slot:%1 - - + + Would you like to correct the play time? - + In this region the game runs 60hz - + PAL -> NTSC Conversion - + In this region the game runs 50hz - + NTSC -> PAL Conversion - - - + + + Master - - + + ===Empty Slot=== - + Mid-Linked Block - + End Of Linked Data - + (Deleted) - + Game Uses %1 Save Block - + s Next Data Chunk @ Slot:%1 - + Next Data Chunk @ Slot:%1 - + All Materia Added! - + Set Save Location: %1 - + Replay the bombing mission from right after you get off the train. - + This Will Copy Cloud as is to young cloud (caitsith's slot). Sephiroth's stats will come directly from the Default Save. Be Sure to back up your CaitSith and Vincent if you want to use them again - - - - - + + + + + Progression Reset Complete - - + + &Place Leader - - + + Place &Tiny Bronco/Chocobo - - + + Place &Buggy/Highwind - - + + Place &Sub - - + + Place &Wild Chocobo - - + + Place &Diamond/Ultimate/Ruby Weapon - + Turtle Paradise - + KeyItem - + Meeting Aeris Meeting Aerith - + Replay the Date Scene, Your Location will be set To The Ropeway Station Talk to man by the Tram to start event. If Your Looking for a special Date be sure to set your love points too. - + Replay the death of Aeris.This option Will remove Aeris from your PHS Replay the death of Aerith.This option Will remove Aerith from your PHS - + INFO ON CURRENTLY SELECTED REPLAY MISSION - + DON'T USE - + All Items Added - + Do You Want To Also Replace %1's Equipment and Materia? - + Unknown Id in Buggy/Highwind Location @@ -9020,73 +9033,73 @@ MateriaEditor - + Clear - + Master - - + + Skills - + Stat Changes - + Delete - + Copy - + Paste - + Added Effect - + All Materia - + Magic - + Summon - + Independent - + Support - + Command @@ -9268,7 +9281,7 @@ Added Cut - + Added Attack @@ -9303,7 +9316,7 @@ Deathblow - + Death Blow @@ -9328,12 +9341,12 @@ Fire - Flame + Flame Ice - Cold + @@ -9398,7 +9411,7 @@ Comet - + Meteorite @@ -9438,7 +9451,7 @@ Choco/Mog - Chocobo & Moguri + Chocoboi @@ -9721,7 +9734,7 @@ Pre-emptive +12% - + @@ -9796,7 +9809,7 @@ Slash-All - + Strike All @@ -9806,12 +9819,12 @@ 2x-Cut - 2x Cut + 2x Atk 4x-Cut - 4x Cut + 4x Atk @@ -9976,17 +9989,17 @@ Elemental 50% - + Property 50% Elemental 100% - + Property 100% Elemental 200% - + Property 200% @@ -10046,7 +10059,7 @@ Added Cut - + Added Attack @@ -10101,7 +10114,7 @@ Coin - Coins + @@ -10206,7 +10219,7 @@ Regen (30mp) - Re-gen (30mp) + @@ -10331,7 +10344,7 @@ Comet (70mp) - Meteorite (70mp) + Comet (70mp) @@ -10411,27 +10424,27 @@ Choco/Mog x1 (14mp) - Chocobo & Moguri x1 (14mp) + Chocobo x1 (14mp) Choco/Mog x2 (14mp) - Chocobo & Moguri x2 (14mp) + Chocobo x2 (14mp) Choco/Mog x3 (14mp) - Chocobo & Moguri x3 (14mp) + Chocobo x3 (14mp) Choco/Mog x4 (14mp) - Chocobo & Moguri x4 (14mp) + Chocobo x4 (14mp) Choco/Mog x5 (14mp) - Chocobo & Moguri x5 (14mp) + Chocobo x5 (14mp) @@ -11200,37 +11213,37 @@ - + Path For Emulator Memory Cards - + Path For PC (.ff7) Saves - + Path For Character Stat Files - + Override Builtin New Game Data - + Use Only Raw Psx Files - + Reset to Default - + Editor Options @@ -11240,57 +11253,57 @@ - + Editable Combo for Materia and Items - + CharEditor - Advanced Mode - + Chocobo Manager - Show Pcount / Personality - + Field Location - Show Map/X/Y/T/D - + World Map Viewer- Show int SpinBoxes for Leader ID and buggy ID - + Game Progress - Show Untested - + Options - Always Show Controller Mapping - + Enable Experimental TestData - + Scale Widgets by: - + Signing Keys: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -11299,7 +11312,7 @@ - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -11308,47 +11321,47 @@ - + Input Key in HEX ex( 00010203AABF ) - + Input Seed in Hex ex( 00010203AABF ) - + Close - + Signing is disabled! Build with OpenSSL support to enable - + Select A Directory To Save FF7 PC Saves - + Select A Directory To Save mcd/mcr saves - + Select A Directory To Load FF7 PC Saves From - + Select A Default Save Game (Must Be Raw PSX) - + Select A Location To Save Character Stat Files diff -Nru blackchocobo-1.9.900/main.cpp blackchocobo-1.9.910/main.cpp --- blackchocobo-1.9.900/main.cpp 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/main.cpp 2018-12-29 20:35:46.000000000 +0000 @@ -14,19 +14,8 @@ // GNU General Public License for more details. // /****************************************************************************/ #include "qglobal.h" -#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) - #include - #ifdef Q_OS_MAC - #include - #endif -#else - #include - #ifdef Q_OS_MAC - #include - #include - #endif -#endif +#include #include #include #include @@ -62,10 +51,7 @@ QApplication a(argc, argv); a.setApplicationName("Black Chocobo"); QSettings * settings; - #ifdef Q_OS_MAC - if(QT_VERSION < 0x50000){a.setStyle("Plastique");} - else{a.setStyle(QStyleFactory::create("fusion"));} - #endif + a.setApplicationVersion(Version); #ifdef STATIC @@ -74,6 +60,7 @@ if(QFile(QString(QCoreApplication::applicationDirPath() + QDir::separator() + "settings.ini")).exists()) { + settings= new QSettings(QCoreApplication::applicationDirPath() +"/" + "settings.ini",QSettings::IniFormat); } else @@ -106,7 +93,6 @@ } } a.installTranslator(&translator); - //FF7Save* ff7=new FF7Save; //main ff7 data qsrand(QTime::currentTime().msec()); MainWindow w(0,settings); if(argc ==2){w.loadFileFull(QString(argv[1]),0);}// if command is run w/ a filename after it , load that file. diff -Nru blackchocobo-1.9.900/mainwindow.cpp blackchocobo-1.9.910/mainwindow.cpp --- blackchocobo-1.9.900/mainwindow.cpp 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/mainwindow.cpp 2018-12-29 20:35:46.000000000 +0000 @@ -1,5 +1,5 @@ /****************************************************************************/ -// copyright 2010-2016 Chris Rizzitello // +// copyright 2010-2018 Chris Rizzitello // // // // This file is part of Black Chocobo. // // // @@ -22,23 +22,30 @@ MainWindow::MainWindow(QWidget *parent,QSettings *configdata) :QMainWindow(parent),ui(new Ui::MainWindow) { -// qDebug() <desktop()->physicalDpiX()),QString::number(qApp->desktop()->physicalDpiY())); -// qDebug() <desktop()->logicalDpiX()),QString::number(qApp->desktop()->logicalDpiY())); + if (configdata->value("scale").isNull()) { + double scale = qApp->desktop()->logicalDpiX()/72.0f; + if (scale < 1) { + scale = 1; + } + configdata->setValue("scale",scale); + } - if(configdata->value("scale").isNull()){configdata->setValue("scale",qApp->desktop()->logicalDpiX()/96);} - scale = configdata->value("scale").toReal(); + scale = configdata->value("scale").toReal(); this->setAcceptDrops(true); //Get Font Info Before Setting up the GUI! settings =configdata; ui->setupUi(this); + setStyleSheet(QString("QCheckBox::indicator{width: %1px; height: %1px; padding: -%2px;}\nQListWidget::indicator{width: %1px; height: %1px; padding: -%2px}").arg(fontMetrics().height()).arg(2 *scale)); ui->frame_status->setFixedHeight(fontMetrics().height()+2); + ui->tbl_materia->setIconSize(QSize(fontMetrics().height(),fontMetrics().height())); _init=true; ff7 = new FF7Save; load=true; curchar =0; mslotsel=-1; s=0; + hexCursorPos=0; buffer_materia.id=FF7Materia::EmptyId; for(int i=0;i<4;i++){buffer_materia.ap[i]=0xFF;} //empty buffer incase init_display(); @@ -46,6 +53,7 @@ init_settings(); init_connections(); on_actionNew_Game_triggered(); + ui->btn_cloud->clicked(); ff7->setFileModified(false,0); } void MainWindow::init_display() @@ -153,6 +161,7 @@ materia_editor = new MateriaEditor(scale,this); materia_editor->setStarsSize(48*scale); + //ui->tbl_materia->setFixedWidth(this->fontMetrics().width(QChar('W'))*20); QVBoxLayout *materia_editor_layout = new QVBoxLayout(); mat_spacer = new QSpacerItem(0,0,QSizePolicy::Preferred,QSizePolicy::MinimumExpanding); materia_editor_layout->addWidget(materia_editor); @@ -179,12 +188,10 @@ hexEditor->setFont(this->font()); #endif hexEditor->setReadOnly(false); - //hexEditor->setFont(this->font()); QVBoxLayout *hexLayout = new QVBoxLayout; hexLayout->setContentsMargins(0,0,0,0); hexLayout->addWidget(hexEditor); ui->group_hexedit->setLayout(hexLayout); - //ui->psxExtras->setVisible(false); locationViewer = new LocationViewer(scale); locationViewer->setTranslationBaseFile(settings->value("langPath").toString() +"/"+ "lang/bchoco_"); @@ -229,7 +236,7 @@ QString tabStyle = QString("::tab:hover{background-color:rgba(%1, %2, %3, 128);}").arg(QString::number(this->palette().highlight().color().red()),QString::number(this->palette().highlight().color().green()),QString::number(this->palette().highlight().color().blue())); - char_editor->setToolBoxStyle(tabStyle); + char_editor->setToolBoxStyle(tabStyle); ui->locationToolBox->setStyleSheet(tabStyle); ui->slide_world_y->setStyleSheet(QString("::handle{image: url(:/icon/prev);}")); ui->slide_world_x->setStyleSheet(QString("::handle{image: url(:/icon/slider_up);}")); @@ -358,8 +365,6 @@ connect(phsList,SIGNAL(visibleToggled(int,bool)),this,SLOT(phsList_box_visible_toggled(int,bool))); connect(menuList,SIGNAL(visibleToggled(int,bool)),this,SLOT(menuList_box_visible_toggled(int,bool))); connect(menuList,SIGNAL(lockedToggled(int,bool)),this,SLOT(menuList_box_locked_toggled(int,bool))); - //HexEditor. -// connect(hexEditor,SIGNAL(dataChanged()),this,SLOT(hexEditorChanged())); } void MainWindow::init_settings() { @@ -497,6 +502,8 @@ } else{/*UNKNOWN FILETYPE*/} + hexEditor->setCursorPosition(0); + hexCursorPos=0; } /*~~~~~~~~~~~~~~~~~IMPORT PSX~~~~~~~~~~~~~~~~~~*/ void MainWindow::on_actionImport_Slot_From_File_triggered() @@ -674,7 +681,7 @@ void MainWindow::on_actionClear_Slot_triggered(){ff7->clearSlot(s); guirefresh(0);} void MainWindow::on_actionPrevious_Slot_triggered(){if(ff7->type()==""){return;}else{if (s > 0) {s--; guirefresh(0);}}} void MainWindow::on_actionNext_Slot_triggered(){if(ff7->type()==""){return;}else{if (s<14){s++; guirefresh(0);}}} -void MainWindow::on_actionAbout_triggered(){About adialog(0,settings); adialog.exec();} +void MainWindow::on_actionAbout_triggered(){About adialog(this,settings); adialog.exec();} void MainWindow::on_actionCopy_Slot_triggered(){ff7->copySlot(s);} void MainWindow::on_actionPaste_Slot_triggered(){ff7->pasteSlot(s); guirefresh(0);} void MainWindow::on_actionShow_Options_triggered() @@ -1057,7 +1064,7 @@ { load=true; QTableWidgetItem *newItem; - int j= ui->tbl_materia->currentRow(); + int j= std::max(0, ui->tbl_materia->currentRow()); ui->tbl_materia->reset(); ui->tbl_materia->clearContents(); ui->tbl_materia->setColumnWidth(0,(ui->tbl_materia->width()*.65)); @@ -1067,30 +1074,27 @@ for(int mat=0;mat<200;mat++)// partys materias { ui->tbl_materia->setRowHeight(mat,fontMetrics().height()+9); - //ui->tbl_materia->setIconSize(QSize(24*scale,24*scale)); qint32 current_ap= ff7->partyMateriaAp(s,mat); quint8 current_id= ff7->partyMateriaId(s,mat); QString ap; - if(current_id == FF7Materia::EnemySkill) + newItem = new QTableWidgetItem(QIcon(QPixmap::fromImage(Materias.image(current_id).scaledToHeight(fontMetrics().height(), Qt::SmoothTransformation))), Materias.name(current_id), 0); + ui->tbl_materia->setItem(mat,0,newItem); + + if(current_id == FF7Materia::EnemySkill) { - newItem = new QTableWidgetItem(Materias.icon(current_id),Materias.name(current_id),0); - ui->tbl_materia->setItem(mat,0,newItem); if (current_ap == FF7Materia::MaxMateriaAp){newItem =new QTableWidgetItem(tr("Master"));ui->tbl_materia->setItem(mat,1,newItem);} else{newItem =new QTableWidgetItem(QString(""),0);ui->tbl_materia->setItem(mat,1,newItem);} } else if(current_id==FF7Materia::MasterCommand || current_id==FF7Materia::MasterMagic || current_id==FF7Materia::MasterSummon || current_id==FF7Materia::Underwater) { - newItem = new QTableWidgetItem(Materias.icon(current_id),Materias.name(current_id),0); - ui->tbl_materia->setItem(mat,0,newItem); - newItem =new QTableWidgetItem(QString(""),0);ui->tbl_materia->setItem(mat,1,newItem); + newItem =new QTableWidgetItem(QString(""),0); + ui->tbl_materia->setItem(mat,1,newItem); } else if (current_id !=FF7Materia::EmptyId) { - newItem = new QTableWidgetItem(Materias.icon(current_id),Materias.name(current_id),0); - ui->tbl_materia->setItem(mat,0,newItem); - if (current_ap == FF7Materia::MaxMateriaAp){newItem =new QTableWidgetItem(tr("Master"));ui->tbl_materia->setItem(mat,1,newItem);} + if (current_ap == FF7Materia::MaxMateriaAp){newItem =new QTableWidgetItem(tr("Master"));ui->tbl_materia->setItem(mat,1,newItem);} else{newItem =new QTableWidgetItem(ap.setNum(current_ap));ui->tbl_materia->setItem(mat,1,newItem);} } else @@ -1154,7 +1158,9 @@ else{on_actionOpen_Save_File_triggered();} break; } - } + } else { + guirefresh(0); + } } void MainWindow::othersUpdate() { @@ -1255,6 +1261,7 @@ ui->sb_BikeHighScore->setValue(ff7->bikeHighScore(s)); ui->sb_BattlePoints->setValue(ff7->battlePoints(s)); + ui->cb_FlashbackPiano->setChecked(ff7->playedPianoOnFlashback(s)); load=false; } void MainWindow::update_hexEditor_PSXInfo(void) @@ -1285,6 +1292,7 @@ void MainWindow::on_tabWidget_currentChanged(int index) {//Update the shown tab. load =true; + hexCursorPos=hexEditor->cursorPosition(); switch (index) { case 0://Party Tab @@ -1376,26 +1384,29 @@ void MainWindow::hexTabUpdate(int viewMode) { ui->psxExtras->setVisible(false); + ui->boxHexData->setVisible(false); disconnect(hexEditor,SIGNAL(dataChanged()),this,SLOT(hexEditorChanged())); - if(ff7->type()=="PC" || ff7->type() =="") - { + if(ff7->type()=="PC" || ff7->type() =="") { hexEditor->setData(ff7->slotFF7Data(s)); - ui->psxExtras->setVisible(false); - } - else - { + } else { ui->psxExtras->setVisible(true); update_hexEditor_PSXInfo(); - switch(viewMode) - { - case 0: - hexEditor->setData(ff7->slotPsxRawData(s)); - break; - case 1: - hexEditor->setData(ff7->slotFF7Data(s)); - break; - } + if(!ff7->isFF7(s)) { + ui->boxHexData->setVisible(true); + switch(viewMode) + { + case 0: + hexEditor->setData(ff7->slotPsxRawData(s)); + break; + case 1: + hexEditor->setData(ff7->slotFF7Data(s)); + break; + } + } else { + hexEditor->setData(ff7->slotPsxRawData(s)); + } } + hexEditor->setCursorPosition(hexCursorPos); connect(hexEditor,SIGNAL(dataChanged()),this,SLOT(hexEditorChanged())); } void MainWindow::setControllerMappingVisible(bool Visible) @@ -1523,13 +1534,6 @@ ui->cb_s7ts_7->setChecked((ff7->unknown(s,26).at(8) & (1<<6))); ui->cb_s7ts_8->setChecked((ff7->unknown(s,26).at(8) & (1<<7))); - ui->cb_s5_1->setChecked((ff7->unknown(s,23).at(26) & (1<<0))); - ui->cb_s5_2->setChecked((ff7->unknown(s,23).at(26) & (1<<1))); - ui->cb_s5_3->setChecked((ff7->unknown(s,23).at(26) & (1<<2))); - ui->cb_s5_4->setChecked((ff7->unknown(s,23).at(26) & (1<<3))); - ui->cb_s5_5->setChecked((ff7->unknown(s,23).at(26) & (1<<4))); - ui->cb_s5_8->setChecked((ff7->unknown(s,23).at(26) & (1<<7))); - //When using A char for comparison to an int value such as below be sure to static_cast the value //to avoid possible build warning and failed run time check due to possible return of signed char and int >127 @@ -1675,7 +1679,7 @@ void MainWindow::on_sb_steps_valueChanged(int value){if(!load){ff7->setSteps(s,value);}} /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Item Tab~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ -void MainWindow::on_sb_gil_valueChanged(int value){if(!load){ff7->setGil(s,value);}} +void MainWindow::on_sb_gil_valueChanged(double value){if(!load){ff7->setGil(s,value);}} void MainWindow::on_sb_gp_valueChanged(int value){if(!load){ ff7->setGp(s,value);}} void MainWindow::on_sb_battles_valueChanged(int value){if(!load){ ff7->setBattles(s,value);}} void MainWindow::on_sb_runs_valueChanged(int value){if(!load){ ff7->setRuns(s,value);}} @@ -1944,60 +1948,6 @@ ff7->setUnknown(s,26,temp); }} -void MainWindow::on_cb_s5_1_toggled(bool checked) -{if(!load){ - QByteArray temp = ff7->unknown(s,23); char t=temp.at(26); - if(checked){t |= (1<<0);} - else{t &= ~(1<<0);} - temp[26]=t; - ff7->setUnknown(s,23,temp); -}} - -void MainWindow::on_cb_s5_2_toggled(bool checked) -{if(!load){ - QByteArray temp = ff7->unknown(s,23); char t=temp.at(26); - if(checked){t |= (1<<1);} - else{t &= ~(1<<1);} - temp[26]=t; - ff7->setUnknown(s,23,temp); -}} - -void MainWindow::on_cb_s5_3_toggled(bool checked) -{if(!load){ - QByteArray temp = ff7->unknown(s,23); char t=temp.at(26); - if(checked){t |= (1<<2);} - else{t &= ~(1<<2);} - temp[26]=t; - ff7->setUnknown(s,23,temp); -}} - -void MainWindow::on_cb_s5_4_toggled(bool checked) -{if(!load){ - QByteArray temp = ff7->unknown(s,23); char t=temp.at(26); - if(checked){t |= (1<<3);} - else{t &= ~(1<<3);} - temp[26]=t; - ff7->setUnknown(s,23,temp); -}} - -void MainWindow::on_cb_s5_5_toggled(bool checked) -{if(!load){ - QByteArray temp = ff7->unknown(s,23); char t=temp.at(26); - if(checked){t |= (1<<4);} - else{t &= ~(1<<4);} - temp[26]=t; - ff7->setUnknown(s,23,temp); -}} - -void MainWindow::on_cb_s5_8_toggled(bool checked) -{if(!load){ - QByteArray temp = ff7->unknown(s,23); char t=temp.at(26); - if(checked){t |= (1<<7);} - else{t &= ~(1<<7);} - temp[26]=t; - ff7->setUnknown(s,23,temp); -}} - void MainWindow::on_cb_bombing_int_stateChanged(int checked){if(!load){ff7->setStartBombingMission(s,checked);}} void MainWindow::on_cb_replay_currentIndexChanged(int index) @@ -2046,8 +1996,6 @@ ff7->setMidgarTrainFlags(s,0); ui->cb_bombing_int->setChecked(Qt::Checked); ui->combo_s7_slums->setCurrentIndex(1); - ui->cb_s5_5->setChecked(Qt::Unchecked);//show aeris on roof of church durring script - ui->cb_s5_8->setChecked(Qt::Unchecked);//not after church scene. ui->sb_turkschurch->setValue(0); // reset turks. locationViewer->setMapId(1); locationViewer->setLocationId(116); @@ -2067,8 +2015,6 @@ ff7->setBmProgress2(s,198); ff7->setBmProgress3(s,3); ui->cb_bombing_int->setChecked(Qt::Unchecked); - ui->cb_s5_5->setChecked(Qt::Unchecked);//show aeris on roof of church durring script - ui->cb_s5_8->setChecked(Qt::Unchecked);//not after church scene. locationViewer->setMapId(1); locationViewer->setLocationId(183); if(!locationViewer->locationChangesSaved()) @@ -3170,3 +3116,4 @@ } void MainWindow::on_linePsxDesc_textChanged(const QString &arg1){if(!load){ff7->setPsxDesc(arg1,s); update_hexEditor_PSXInfo();}} +void MainWindow::on_cb_FlashbackPiano_toggled(bool checked){if(!load){ff7->setPlayedPianoOnFlashback(s,checked);}} diff -Nru blackchocobo-1.9.900/mainwindow.h blackchocobo-1.9.910/mainwindow.h --- blackchocobo-1.9.900/mainwindow.h 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/mainwindow.h 2018-12-29 20:35:46.000000000 +0000 @@ -75,6 +75,7 @@ private: Ui::MainWindow *ui; qreal scale; + qint64 hexCursorPos; bool skip_slot_mask; bool _init; //set true then false after a file load. bool load; // are we loading data? if so don't save it to the file. @@ -86,7 +87,7 @@ FF7Item Items; //FF7Item Static Data FF7Materia Materias;//FF7Materia Static Data. FF7Location Locations; // FF7 Location Data - MATERIA buffer_materia; // buffer for a materia + materia buffer_materia; // buffer for a materia //ITEM buffer_item; // for use later int curchar; //keeps track of current character displayed int mslotsel; //keeps track of materia slot on char selected @@ -182,7 +183,7 @@ void on_btn_vincent_clicked(); void on_btn_cid_clicked(); /*PARTY TAB*/ - void on_sb_gil_valueChanged(int); + void on_sb_gil_valueChanged(double); void on_sb_gp_valueChanged(int); void on_sb_battles_valueChanged(int); void on_sb_runs_valueChanged(int); @@ -348,13 +349,6 @@ void on_cb_s7ts_7_toggled(bool checked); void on_cb_s7ts_8_toggled(bool checked); - void on_cb_s5_1_toggled(bool checked); - void on_cb_s5_2_toggled(bool checked); - void on_cb_s5_3_toggled(bool checked); - void on_cb_s5_4_toggled(bool checked); - void on_cb_s5_5_toggled(bool checked); - void on_cb_s5_8_toggled(bool checked); - // game options tab void setDialogColorUL(QColor color); @@ -524,5 +518,6 @@ void on_btnReplay_clicked(); void on_linePsxDesc_textChanged(const QString &arg1); + void on_cb_FlashbackPiano_toggled(bool checked); }; #endif // MAINWINDOW_H diff -Nru blackchocobo-1.9.900/mainwindow.ui blackchocobo-1.9.910/mainwindow.ui --- blackchocobo-1.9.900/mainwindow.ui 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/mainwindow.ui 2018-12-29 20:35:46.000000000 +0000 @@ -18,22 +18,7 @@ :/icon/bchoco:/icon/bchoco - - - 3 - - - 3 - - - 3 - - - 3 - - - 3 - + @@ -640,7 +625,7 @@ - + Qt::LeftToRight @@ -656,8 +641,11 @@ QAbstractSpinBox::CorrectToNearestValue + + 0 + - 2147483647 + 4294967295.000000000000000 @@ -785,7 +773,7 @@ - Runs + Escapes @@ -1091,8 +1079,8 @@ 0 0 - 763 - 470 + 0 + 0 @@ -1135,8 +1123,8 @@ 0 0 - 791 - 476 + 938 + 521 @@ -1165,17 +1153,11 @@ - + 0 0 - - - 310 - 0 - - Qt::NoContextMenu @@ -1185,6 +1167,9 @@ Qt::ScrollBarAlwaysOff + + true + @@ -1194,18 +1179,6 @@ 615 - - - 0 - 0 - - - - - 300 - 0 - - 3 @@ -1224,12 +1197,6 @@ - - - 300 - 16777215 - - Visible On World Map @@ -1441,12 +1408,6 @@ - - - 300 - 16777215 - - Party leader @@ -1632,12 +1593,6 @@ - - - 300 - 16777215 - - Tiny Bronco / Chocobo @@ -1839,12 +1794,6 @@ - - - 300 - 16777215 - - Buggy / Highwind @@ -2063,12 +2012,6 @@ - - - 300 - 16777215 - - Sub @@ -2270,12 +2213,6 @@ - - - 300 - 16777215 - - Wild Chocobo @@ -2477,12 +2414,6 @@ - - - 300 - 16777215 - - Diamond / Ultimate / Ruby Weapon @@ -3054,8 +2985,8 @@ 0 0 - 388 - 1974 + 594 + 3028 @@ -3141,14 +3072,14 @@ - Jesse Has Been Unstuck + Jessie Has Been Unstuck - Trigger Game Over (countdown timer out) + Trigger Game Over (countdown reached 0) @@ -3213,7 +3144,7 @@ - Talked to Jesse Before Looking At Map + Talked to Jessie Before Looking At Map @@ -3242,7 +3173,7 @@ - Team Avalanche had meeting after Bombing Mission + Avalanche had meeting after Bombing Mission @@ -3285,7 +3216,7 @@ - Team Avalanche Has Run To Hideout + Avalanche Has Run To Hideout @@ -3360,42 +3291,6 @@ - - - Sector 5 - - - - 3 - - - 3 - - - - - Talked with Sick Man - - - - - - - Aeris Talked About Sick Man - - - - - - - After Aeris Church Scene - - - - - - - Unknowns / Unused @@ -3614,27 +3509,6 @@ - - - - cb_s5_1 - - - - - - - cb_s5_2 - - - - - - - cb_s5_5 - - - @@ -4336,7 +4210,7 @@ - Number Steps + Number of Steps @@ -4739,7 +4613,7 @@ - SnowBoard Mini Game + Snowboard Mini Game @@ -5720,6 +5594,171 @@ + + + + 0 + 0 + + + + QFrame::NoFrame + + + QFrame::Plain + + + + + + Playstation Save Info + + + false + + + + 0 + + + 0 + + + 3 + + + 0 + + + 3 + + + + + PsxName: + + + Qt::AlignCenter + + + + + + + 3 + + + + + + 64 + 64 + + + + + 64 + 64 + + + + TextLabel + + + + + + + TextLabel + + + + + + + + + + 0 + 0 + + + + 60 + + + false + + + No Description Text + + + + + + + + + + + + + 75 + 16777215 + + + + Show: + + + + + + + + 0 + 0 + + + + + 150 + 0 + + + + + 16777215 + 16777215 + + + + true + + + + PSX Save Data + + + + + FF7 Save Data + + + + + + + + + + + + + + + + QFrame::NoFrame @@ -5762,187 +5801,6 @@ - - - - - 0 - 0 - - - - QFrame::NoFrame - - - QFrame::Plain - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Playstation Save Info - - - false - - - - 0 - - - 0 - - - 3 - - - 0 - - - 3 - - - - - PsxName: - - - Qt::AlignCenter - - - - - - - 3 - - - - - - 64 - 64 - - - - - 64 - 64 - - - - TextLabel - - - - - - - TextLabel - - - - - - - - - - 0 - 0 - - - - 60 - - - false - - - No Description Text - - - - - - - - - - - - - - - - 75 - 16777215 - - - - Show: - - - - - - - - 0 - 0 - - - - - 150 - 0 - - - - - 16777215 - 16777215 - - - - true - - - - PSX Save Data - - - - - FF7 Save Data - - - - - - - - - - - - - - - @@ -5992,19 +5850,7 @@ Misc - - - 3 - - - 3 - - - 3 - - - 3 - + @@ -6160,6 +6006,13 @@ + + + Played piano durring flashback + + + + When Box is Partally Checked ("-") it will @@ -7188,8 +7041,8 @@ 0 0 - 773 - 26 + 1306 + 42 @@ -7726,8 +7579,8 @@ sb_timer_time_sec - + diff -Nru blackchocobo-1.9.900/options.cpp blackchocobo-1.9.910/options.cpp --- blackchocobo-1.9.900/options.cpp 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/options.cpp 2018-12-29 20:35:46.000000000 +0000 @@ -1,5 +1,5 @@ /****************************************************************************/ -// copyright 2010-2016 Chris Rizzitello // +// copyright 2010-2018 Chris Rizzitello // // // // This file is part of Black Chocobo. // // // @@ -14,6 +14,7 @@ // GNU General Public License for more details. // /****************************************************************************/ +#include #include "options.h" #include "ui_options.h" @@ -22,13 +23,14 @@ ui(new Ui::Options) { ui->setupUi(this); + ui->pushButton->setIcon(QIcon::fromTheme("window-close", style()->standardIcon(QStyle::SP_DialogCloseButton))); load=false; //Disable the defaut_save line and selector button unless override is checked ui->line_default_save->setVisible(false); ui->btn_set_default_save->setVisible(false); ui->reset_default_save_location->setVisible(false); //Hide the ps3 signing area if not built with openssl support. - #if(OPENSSL==0) + #if(!OPENSSL) ui->groupBox_3->setTitle(tr("Signing is disabled! Build with OpenSSL support to enable")); #endif settings = config_data; diff -Nru blackchocobo-1.9.900/options.ui blackchocobo-1.9.910/options.ui --- blackchocobo-1.9.900/options.ui 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/options.ui 2018-12-29 20:35:46.000000000 +0000 @@ -9,8 +9,8 @@ 0 0 - 485 - 605 + 771 + 982 @@ -59,15 +59,30 @@ + + + 0 + 0 + + - 24 - 24 + 32 + 48 + + + + + 32 + 33 ... + + false + @@ -92,8 +107,8 @@ - 24 - 24 + 32 + 48 @@ -119,8 +134,8 @@ - 24 - 24 + 32 + 48 @@ -146,8 +161,8 @@ - 24 - 24 + 32 + 48 @@ -183,6 +198,9 @@ + + + Editable Combo for Materia and Items @@ -248,12 +266,6 @@ - - - 16777215 - 24 - - Override Builtin New Game Data @@ -270,8 +282,8 @@ - 24 - 24 + 32 + 48 @@ -283,8 +295,8 @@ - 24 - 24 + 32 + 48 diff -Nru blackchocobo-1.9.900/.travis.yml blackchocobo-1.9.910/.travis.yml --- blackchocobo-1.9.900/.travis.yml 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/.travis.yml 2018-12-29 20:35:46.000000000 +0000 @@ -1,3 +1,4 @@ +language: cpp sudo: required dist: trusty @@ -19,25 +20,51 @@ compiler: gcc before_script: -- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y; fi -- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get update; fi -- if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then sudo apt-get -y install qt5-default qttools5-dev-tools libssl-dev; fi -- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update > /dev/null; fi -- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install qt5; fi -- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install openssl; fi -- if [ "$TRAVIS_OS_NAME" == "osx" ]; then chmod -R 755 /usr/local/opt/qt5/*; fi -- if [ "$TRAVIS_OS_NAME" == "osx" ]; then export QTDIR="/usr/local/opt/qt5"; fi -- if [ "$TRAVIS_OS_NAME" == "osx" ]; then export PATH="$QTDIR/bin:$PATH"; fi -- $CXX --version - - -script: -- mkdir build_blackchocobo -- cd build_blackchocobo -- qmake ../Black_Chocobo.pro -- make -j2 - -language: cpp +- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then + sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y; + sudo add-apt-repository ppa:beineri/opt-qt-5.10.1-trusty -y; + sudo apt-get update -qq; + sudo apt-get -y install build-essential qt5-default qt510tools qt510base g++-4.8 libssl-dev zsync; + fi + +#MAC OS +- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then + brew update > /dev/null; + brew install qt5; + chmod -R 755 /usr/local/opt/qt5/*; + export QTDIR="/usr/local/opt/qt5"; + export PATH="/usr/local/opt/openssl/bin:$PATH"; + export PATH="$QTDIR/bin:$PATH"; + fi +script: +- if [ "$TRAVIS_OS_NAME" = "linux" ]; then + source /opt/qt*/bin/qt*-env.sh; + qmake "DEFINES+=OPENSSL=1" "LIBS+=-lcrypto" Black_Chocobo.pro; + make -j2; + make INSTALL_ROOT=appdir install; find appdir/; + mv appdir/usr/share/blackchocobo/lang appdir/usr/bin/lang; + rm -rf appdir/usr/share/blackchocobo appdir/usr/share/menu; + wget -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"; + chmod a+x linuxdeployqt*.AppImage; + unset QTDIR; unset QT_PLUGIN_PATH; unset LD_LIBRARY_PATH; + ./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -bundle-non-qt-libs; + ./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -appimage; + fi +- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then + export LIBRARY_PATH=/usr/local/opt/openssl/lib; + qmake "DEFINES+=OPENSSL=1" "LIBS+=-lcrypto" "INCLUDEPATH+=/usr/local/opt/openssl/include" qmake Black_Chocobo.pro; + make -j2; + mkdir -p Black_Chocobo.app/Contents/MacOS/lang; + mv lang/*.qm Black_Chocobo.app/Contents/MacOS/lang/; + macdeployqt Black_Chocobo.app/ -dmg; + fi +after_success: +- wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh +- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then + find ./appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq ; + bash ./upload.sh Black_Chocobo*.AppImage*; + fi +- if [ "$TRAVIS_OS_NAME" = "osx" ]; then bash ./upload.sh Black_Chocobo*.dmg*; fi env: global: @@ -50,7 +77,7 @@ project: name: "sithlord48/blackchocobo" description: "Final Fantasy VII Save Editor" - notification_email: sithlord48@gmail.com + notication_email: sithlord48@gmail.com build_command_prepend: "qmake Black_Chocobo.pro" build_command: "make -j 4" branch_pattern: coverity_scan diff -Nru blackchocobo-1.9.900/version.h blackchocobo-1.9.910/version.h --- blackchocobo-1.9.900/version.h 2016-06-05 13:17:57.000000000 +0000 +++ blackchocobo-1.9.910/version.h 2018-12-29 20:35:46.000000000 +0000 @@ -20,7 +20,7 @@ #define VER_MAJOR 1 #define VER_MINOR 9 -#define VER_SP 90 +#define VER_SP 91 #ifdef SVNVERSION #define VER_BUILDNR SVNVERSION #else