Giter Site home page Giter Site logo

epinter / tqrespec Goto Github PK

View Code? Open in Web Editor NEW
97.0 5.0 10.0 11.17 MB

TQRespec - The respec tool for Titan Quest game

Home Page: https://steamcommunity.com/sharedfiles/filedetails/?id=1262483108

License: GNU General Public License v3.0

Java 97.65% CSS 2.35%
tqrespec titan-quest respec java javafx javafx-application javafx-desktop-apps immortal-throne anniversary-edition ragnarok

tqrespec's Introduction

TQ Respec

Steam Latest Release Downloads Release Date Steam views License Quality Gate Status

Introduction

TQRespec is a tool for Titan Quest game that helps you to change your character at any time. While this tool permits you make changes not available in game, cheating features are not available.

Download

You can download TQRespec from the releases page, here. There's no installation, just extract and run.

Requirements

This software requires Microsoft Windows (64-bit recommended). You don't need to have java or any other software installed, but if you have problems like missing dlls, check if you have Microsoft Visual C++ Redist 2015-2022 installed.

How to use

Before you start

Keep in mind that this software make modifications to your save game (more specifically the file Player.chr). You shouldn't modify your characters while the game is running, you can corrupt your save game. YOU SHOULD ALWAYS KEEP A FULL BACKUP OF YOUR SAVE GAME FOLDER (Documents/My Games/Titan Quest - Immortal Throne).

Screenshots

  • Attributes

    TQRespec Screenshot 1

  • Remove Skills and masteries

    TQRespec Screenshot 2

  • Copy, Backup, Convert and JSON export

    TQRespec Screenshot 3

  • Characters list and export CSV

    TQRespec Screenshot 4

  • Characters Archive and Unarchive (archive to hide character in game)

    TQRespec Screenshot 5

Running without the game installed

This application uses game data. If you want to run it on a PC that doesn't have the game installed, make sure you have a 'gamedata' directory with Database and Text resources inside it. The structure should look like this:

TQRespec/app
TQRespec/runtime
TQRespec/TQRespec.exe
TQRespec/gamedata/Database/database.arz
TQRespec/gamedata/Text/Text_BR.arc
TQRespec/gamedata/Text/Text_CH.arc
TQRespec/gamedata/Text/Text_CZ.arc
TQRespec/gamedata/Text/Text_DE.arc
TQRespec/gamedata/Text/Text_EN.arc
TQRespec/gamedata/Text/Text_ES.arc
TQRespec/gamedata/Text/Text_FR.arc
TQRespec/gamedata/Text/Text_IT.arc
TQRespec/gamedata/Text/Text_JA.arc
TQRespec/gamedata/Text/Text_KO.arc
TQRespec/gamedata/Text/Text_PL.arc
TQRespec/gamedata/Text/Text_RU.arc
TQRespec/gamedata/Text/Text_UK.arc

Where Database and Text folders (with its contents) are copied from the game. The savegame needs to be at the same location as the game uses (Documents/My Games/...).

Use it!

Select the character you want to change. Now you can see some information like Class and Difficulty, and start to change your savegame.

Attributes

There are five attributes available to change (Health, Energy, Strength, Intelligence, Dexterity). When you decrease an attribute, you will see the number in "Available Points" increasing, and when you increase an attribute the points are automatically got from "Available Points". The number that increases in each of the attribute fields follows in game rules. In fact, you can't give more points to your character, just redistribute. So no cheat.

Skills

Now if you change to Skills tab, you will see two lists with the skills of your character. Below these lists, there are two buttons for each. The first button "Reclaim All Skills Points" will remove all points allocated on skills on that mastery and make the points available to use in game. The button "Mastery" permits you to reduce the mastery level to 1 or remove the mastery completely.

If you have a mastery on level 24 and 7 skills with points allocated, you can click on "Reclaim All Skills Points" to have the points from the 7 skills back to you. Then you click on "Mastery / Reclaim" to have 23 points back from the mastery, so you will have the mastery with just 1 point allocated, or you can click on "Mastery / Remove" to have all 24 points from mastery.

Characters list and stats

When you click on the button near the character selection list, you will be able to see a table with all your characters, with attributes and stats. There's also an option to export the table to CSV. To Archive or Unarchive a character, right click on the row and select the option desired. When the archive is done, the character directory is moved from "SaveData/Main/_charactername" to "SaveData/Main/ArchivedCharacters/_charactername", hiding it from the game. Unarchive moves the character back to default directory.

Android support

Characters from "Titan Quest: Legendary Edition" are supported, can be respeced or copied/converted. TQRespec is unable to access the savegames directly on mobile, so you will always have to copy from mobile and copy again to device when finished. The savegame directory can be copied from Android device to savedata directory in the same directory as TQRespec.exe, the structure is like this:

TQRespec/app
TQRespec/runtime
TQRespec/savedata/__save1
TQRespec/savedata/_CharacterFromWindowsVersion
TQRespec/TQRespec.exe

The characters are normally stored at Android/data/com.hg.titanquestedition/files/Preferences/SaveData/Main. The name of each savegame is "__save" and followed by a number, this number is the saveId. Please don't ask about savegame access on mobile phones, there's nothing that can be done on TQRespec. The security features being implemented in mobile operating systems are limiting user access more than before.

IMPORTANT: The game files (database and text) are ALWAYS needed. See above "Running without the game installed" to know where to copy the files. At this moment, the Android version is compatible with PC version. While (AT THIS MOMENT) there's no problem using a database from one platform on a savegame from another, we don't know when the compatibility will break. So is recommended to use Android database/text with Android savegame, and Windows database/text with Windows savegame. TQRespec will not block using PC files with mobile savegame, but will alert. And will block the usage of mobile database with PC savegames. After the release of Eternal Embers on PC and not on mobile, the character's copy will still work, but if you copy a character with skills from Eternal Embers the result is uncertain. The stash (additional storage) will not be supported, conversion and copy of mobile savegames completely ignores the stash. All items stored in the character are kept.

The old mobile version of the game will not be supported.

IOS support

Users of the IOS version of the game reported it works like Android. The savegame is located in TitanQuest, inside iCloud.

Copy your character

If you want to change the name of you character, in the Misc tab you can type the new name in the "New character" text field, select the target platform then click on "Copy" button. A new character will be created, with progress, inventory with all items, attributes, skills, etc...

There are three targets available for selection: Windows, Android and Backup:

  • The Windows target will make the new savegame compatible with Windows version of TQ, converting if necessary (when you are copying a mobile savegame to windows).
  • The Android target will make a zip file with the savegame prepared to run on Android device, converted if necessary. Differently from Windows version, the savegame directory is different from player name inside the game. TQRespec generates a random number for the save-id, although very unlikely it's not impossible a save-id generated is already present on your device, if this happens you can just copy again. Some data is not copied, see "Android Support" for details.
  • The Backup target will make a zip file with the savegame. If you type a new name, it will be renamed before save. In the case of a mobile savegame, the save-id will be changed before save too.

Saving and backup

After you finish, you can click on Save. At this moment, TQRespec will make a backup of the file "Player.chr" inside a .zip in the folder "Titan Quest - Immortal Throne/SaveData/TQRespec Backup". The file "Player.chr" is where the games saves everything about the character, except the progress, transfer area and storage.

Multi-language support

All the languages available in-game are supported. Some interface strings can't be reused, so you will see some strings in your language and others in english if nobody contributed with a translation for your language. See Translators for a list of languages.

Project and source code

TQRespec is developed in Java language, using OpenJFX to provide graphical user interface, and a few more other open source dependencies. The current version is built using OpenJDK 17. The software was made to work in Microsoft Windows operating system, since the game runs only in Windows. But because Java is multi-platform, this project is prepared to allow you to develop and test under Linux. To do so, you will need to have this structure inside the project (./gamedata):

gamedata/SaveData/Main/_savegame/Player.chr
gamedata/Database/database.arz
gamedata/Text/Text_EN.arc

Building

Before building it, you need to have OpenJFX(JavaFX) SDK inside the ./sdk subdirectory. A repository with the needed files can be found here. Just clone it inside sdk directory.

With JDK installed, you can build executing the 'clean' and 'build' gradle tasks with the command:

gradlew clean
gradlew build

Running the development version

With this repository and openjfx-sdk properly in place, you can run with:

gradlew run

Troubleshooting

Startup

This software can fail to start if the game is not detected. Game is detected searching for Uninstall information from Windows, and data from your Steam installation. If you can't start, get the error message inside the "Show details" and open an issue. Or maybe you can find some help in the discussion at Steam Guides. If your game path is not detected, you still can run TQRespec copying the game data, to do so follow the instructions Running without the game installed.

TQRespec uses the Java Preferences API to store the last detected game path. If you have problem to launch TQRespec, you can try to delete everything inside this key of Windows registry: "Computer\HKEY_CURRENT_USER\SOFTWARE\JavaSoft\Prefs\br\com\pinter\tqrespec", be very careful when dealing with the registry.

Errors and reporting

If you see an error popup while using TQRespec, click on "Show details" and copy the complete error message (called java Exception). With this exception, a developer can find exactly where the code failed. If the software is crashing and you don't get an error message, or is crashing during startup, go to Windows Explorer and find the log file called tqrespec.log inside the directory %TEMP%. The %TEMP% is the windows temporary directory for you user.

Debug log

If you need debug logs, you need to run the application with command line parameters: The number is the level of debugging, from 1 to 9:

Lower level of debugging messages sent to log:

TQRespec.exe --debug=1

More debug for GUI and player save parsing, and basic level for database parsing:

TQRespec.exe --debug=3

Higher level of debug for GUI, player save and database parsing.

TQRespec.exe --debug=5

Higher level of debug for the application and all libraries:

TQRespec.exe --debug=9

Contribution

Translators

  • Portuguese Brazil (pt-BR): Emerson Pinter
  • Russian (ru): Evgeniy Chefranov (titanquest.org.ua)
  • Ukrainian (uk): Evgeniy Chefranov (titanquest.org.ua)
  • Italian (it): Loris Gabriele
  • French (fr): Etienne Lamoureux

Note

Contributions are always welcome. They will be accepted or rejected depending on the scope and predefined objectives of the project. Look at the open issues and milestones to know how you can help. Feel free to open an issue and suggest a feature you want to see available.

Thanks

THQ and Iron Lore for creation of this game that we love since 2006, and THQ Nordic for all the content and improvements

Jetbrains for their amazing IDE!

tqrespec's People

Contributors

chefranov avatar epinter avatar etiennelamoureux avatar pyr0x1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tqrespec's Issues

Suggestion

hello can you make a 32 bit version for windows becouse i have 32 bit pc system i would upgrade to 64 bit but idk how to and i dont want to risk losing all my files so i really found this program usefull but now im sad that i cant use it ;-;

Italian translation

Hi, could an italian translation be usefeul? Let me know and I can start working on it.

Question about running on diff PCs

is there a way to run this on another system and copy the saves over to that one and respec? I tried but it couldnt find the saves and i dont know how to tell it to point to a location, i put it in the same directory tree that it is supposed to be in on the w7 pc on my w10 pc

Doesnt work at all

Doesnt even open, says its not made for my OS, how about make it operable on any OS people use and not just 10, make an update for win 7

Run on Steam Deck?

Would you be able to make a Steam Deck compatible version? Or provide tips on how to run it on the Steam Deck? (Arch Linux based) It looks like this is written in Java, so could I manually run a .jar file maybe?

Add option to change character gender

Would be cool to have a feature in TQ Respec to change the gender of the character in the save, so if its a Male character, change to female or vice versa. Would help when sharing saves and changing gender to fit your playstyle while still being able to share saves

Crash trying to detect game path

TQRespec crashes trying to detect game path:

com.sun.jna.platform.win32.Win32Exception: The system cannot find the file specified.
at com.sun.jna.platform.win32.Advapi32Util.registryGetStringValue(Advapi32Util.java:730)
at com.sun.jna.platform.win32.Advapi32Util.registryGetStringValue(Advapi32Util.java:705)
at com.sun.jna.platform.win32.Advapi32Util.registryGetStringValue(Advapi32Util.java:679)
at r.com.pinter.tqrespec/br.com.pinter.tqrespec.tqdata.GameInfo.getGameMicrosoftStorePath(GameInfo.java:205)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.tqdata.GameInfo.detectGamePath(GameInfo.java:270)

Ukrainian translation

Updated Ukrainian translation

#
# Copyright (C) 2021 Emerson Pinter - All Rights Reserved
#

main.translators=Переклад:\nEvgeniy Chefranov\n
main.strength=Сила
main.intelligence=Інтелект
main.dexterity=Спритність
main.health=Здоров`я
main.energy=Енергія
main.savechar=Зберегти
main.copychar=Копія
main.copycharname=Новий персонаж
main.available=Доступні очки
main.labelselectchar=Виберіть вашого персонажа
main.experience=Досвід
main.charlevel=Рівень
main.gold=Золото
main.gender=Стать
main.gender.male=Мужской
main.gender.female=Жіночий
main.savingcharacter=Збереження...
main.backupcharacter=Створення резервної копії...
main.charclass=Клас
main.difficulty=Складність
main.attributesTab=Атрибути
main.skillsTab=Навички
main.gameNotDetected=Гру не виявлено
main.chooseGameDirectory=Будь ласка, виберіть теку, де встановлена гра
about.title=О {0}
about.version=Версія {0}
about.text=Права належать 2021 Емерсон Пінтер \nЦе програмне забезпечення надається як є, немає ніяких гарантій на нього або на доступну або змінену інформацію. Завжди робіть резервну копію перед використанням. Це програмне забезпечення використовує бібліотеки з відкритим вихідним кодом, авторське право на додаткове програмне забезпечення належить відповідних власників.
about.newversion=Доступна нова версія, клікніть тут
alert.saveinprogress_header=Виконується файлова операція.
alert.saveinprogress_content=Виконується файлова операція, будь ласка зачекайте...
alert.savedbackedup_header=Збережено
alert.savedbackedup_content=Персонаж збережений і створена його резервна копія. Відкрийте теку \"{0}\" для перегляду резервної копії.
alert.errorloadingchar_header=Помилка завантаження персонажа
alert.errorloadingchar_content=Помилка читання атрибутів (health={0},energy={1},str={2},int={3},dex={4}). Це може бути через помилку, пошкодженого файлу персонажа або несумісності версії гри.
alert.errorbackup_header=Помилка створення резервної копії
alert.errorbackup_content=Сталася помилка під час створення резервної копії поточного персонажа в теку \"{0}\". Перевірте доступ до теки. Ваш персонаж не був змінений.
alert.errorsaving_header=Помилка збереження персонажа
alert.errorsaving_content=Сталася помилка під час збереження персонажа.
alert.errorcopying_header=Помилка копіювання персонажа
alert.errorcopying_content=Сталася помилка під час копіювання цього персонажа в теку \"{0}\". Перевірте доступ до теки. Ваш персонаж не був змінений.
alert.genderchange_header=Зміна полу
alert.genderchange_content=Колір туніки буде скинуто
difficulty.0=Норма
difficulty.1=Епос
difficulty.2=Легенда
skills.availableSkillPoints=Персонаж має {0} доступних очок навичок
skills.removeSkillsBefore=Вам необхідно відновити очки навичок перед маніпуляцією з майстерністю.
skills.reclaimSkillPoints=Прибрати навички
skills.reclaimMasteryPoints=Відновити {0} очок
skills.removeMastery=Прибрати
skills.masteryButton=Майстерність
alert.errorgamerunning_header=Закрийте гру для використання TQRespec
alert.errorgamerunning_content=Гра запущена, збереження та копіювання недоступно.
alert.changesinvaliddata=Некоректні дані \"{0}\"
alert.missingSkill_header=Навичку не знайдено
alert.missingSkill_content=ПОПЕРЕДЖЕННЯ: Персонаж \"{0}\" має одну або кілька навичок яких немає в базі даних гри. Будь ласка, прочитайте лог \"{1}\" для подробиць.
alert.chooseTQBaseDir_header=Оберіть папку, де знаходиться TQ
alert.chooseTQBaseDir_content=Папка, яку ви вибрали, містить DLC для якого необхідно вибрати папку з основною грою. Виберіть папку, де встановлено основну гру.
characters.title=Персонаж
characters.archive=Архівування
characters.unarchive=Розархівування
characters.explore=Відкрити у провіднику
characters.archivedmessage=Персонаж \"{0} ({1})\" заархівовано.
characters.unarchivedmessage=Персонаж \"{0} ({1})\" розархівований.
characters.store=Сховище
characters.store.MAIN=Основна гра
characters.store.USER=Своя гра
characters.store.ARCHIVEMAIN=Архівований
characters.store.ARCHIVEUSER=Архівований у своїй грі
characters.store.EXTERNAL=Зовнішнє
characters.masteryTitle=Майстерність
characters.attributePoints=Очки атрибутів
characters.skillPoints=Очки навичок
characters.characterName=Ім'я
characters.fileChooserTitle=Оберіть розташування для зберігання csv файлу
characters.exportButton=Експорт CSV
characters.lastTeleport=Останній портал
characters.experienceFromKills=Досвдід від вбивств
characters.healthPotionsUsed=Зілля здоров'я використано
characters.manaPotionsUsed=Зілля енергії використано
characters.numHitsReceived=Шкоди отримано
characters.numHitsInflicted=Шкоди завдано
characters.criticalHitsInflicted=Критичної шкоди завдано
characters.loadingPlaceholder=Завантаження...
main.resetButtonTooltip=Скинути
main.charactersButtonTooltip=Перегляд усіх персонажів
main.mobileSavegameToast_header=Виявлено персонажа для мобільної версії
main.mobileSavegameToast_content=Переконайтеся, що ви використовуєте ігрові файли для мобільної версії або сумісні. Прочитайте README.
main.mobileDatabaseToast_header=Ігрові файли з мобільної версії було виявлено
main.mobileDatabaseToast_content=Були завантажені записи, які знаходяться лише в мобільній базі даних, вам необхідно використовувати версію бази даних для Windows із збереженою грою на Windows. Див. Tqrespec.log та README.
main.miscTab=Інше
main.copyTarget.WINDOWS=Windows
main.copyTarget.MOBILE=Mobile
main.copyTarget.BACKUP=Резерв. копія
main.tooltipCopyTarget=Оберіть призначення для створення копії персонажа, а ім'я персонажа можна ввести в полі нижче. Залиште поле порожнім, щоб зберегти те саме ім'я під час перетворення або експорту.
main.tooltipCopyTarget.WINDOWS=При необхідності персонаж буде перетворено та скопійовано в папку SaveData, щоб бути доступним у грі.
main.tooltipCopyTarget.MOBILE=При необхідності персонаж буде перетворено та зібрано у zip-файл. Цей zip-файл слід вручну розпакувати на мобільний пристрій (в Android, папка Android/data/com.hg.titanquestedition/files/Preferences/SaveData/Main, IOS, iCloud TitanQuest).
main.tooltipCopyTarget.BACKUP=Персонаж буде скопійовано до zip-файлу. Якщо поле "Новий персонаж" буде порожнім, то вибраний персонаж буде скопійовано в zip файл як є, без змін. Якщо ви введете нове ім'я, копія зміниться і персонаж не буде точною резервною копією.
misc.copyTitle=Копіювання персонажа
misc.targetLabel=Платформа
misc.exportJson=Експорт JSON
misc.tooltipExportJson=Експортування головного файлу обраного персонажа (Player.chr) як файл JSON. Може стати в нагоді для аналізу файлу збереження та налагодження.
misc.copyFileChooserTitle=Оберіть назву для нового ZIP файлу
misc.exportJsonFileChooserTitle=Оберіть назву для нового JSON файлу

Russian translation

Hi @epinter! I see you added new functionality and strings. I tried to make a new branch for transaltion but I don't have access. Here is updated file with Russian translation.

# Copyright (C) 2021 Emerson Pinter - All Rights Reserved
#

main.translators=Перевод:\nEvgeniy Chefranov\n
main.strength=Сила
main.intelligence=Интеллект
main.dexterity=Ловкость
main.health=Жизнь
main.energy=Энергия
main.savechar=Сохранить
main.copychar=Копия
main.copycharname=Новый персонаж
main.available=Доступные очки
main.labelselectchar=Выберите вашего персонажа
main.experience=Опыт
main.charlevel=Уровень
main.gold=Золото
main.gender=Пол
main.gender.male=Мужской
main.gender.female=Женский
main.savingcharacter=Сохранение...
main.backupcharacter=Создание резервной копии...
main.charclass=Класс
main.difficulty=Сложность
main.attributesTab=Атрибуты
main.skillsTab=Навыки
main.gameNotDetected=Игра не обнаружена
main.chooseGameDirectory=Пожалуйста, выберите папку, где установлена игра
about.title=О {0}
about.version=Версия {0}
about.text=Права принадлежат 2021 Эмерсон Пинтер\nЭто программное обеспечение предоставляется как есть, нет никаких гарантий на него или на доступную или измененную информацию. Всегда делайте резервную копию перед использованием. Это программное обеспечение использует библиотеки с открытым исходным кодом, авторское право на стороннее программное обеспечение принадлежит их соответствующим владельцам.
about.newversion=Доступна новая версия, кликните здесь
alert.saveinprogress_header=Выполняется файловая операция.
alert.saveinprogress_content=Выполняется файловая операция, пожалуйста подождите...
alert.savedbackedup_header=Сохранено
alert.savedbackedup_content=Персонаж сохранён и создана его резервная копия. Откройте папку \"{0}\" для просмотра резервной копии.
alert.errorloadingchar_header=Ошибка загрузки персонажа
alert.errorloadingchar_content=Ошибка чтения атрибутов (health={0},energy={1},str={2},int={3},dex={4}). Это может быть по причине бага, поврежденного файла персонажа или несовместимости версии игры.
alert.errorbackup_header=Ошибка создания резервной копии
alert.errorbackup_content=Произошла ошибка во время создания резервной копии текущего персонажа в папку \"{0}\". Проверьте доступы к папке. Ваш персонаж не был изменён.
alert.errorsaving_header=Ошибка сохранения персонажа
alert.errorsaving_content=Произошла ошибка во время сохранения персонажа.
alert.errorcopying_header=Ошибка копирования персонажа
alert.errorcopying_content=Произошла ошибка во время копирования текущего персонажа в папку \"{0}\". Проверьте доступы к папке. Ваш персонаж не был изменён.
alert.genderchange_header=Изменение пола
alert.genderchange_content=Раскраска туники будет сброшена
difficulty.0=Норма
difficulty.1=Эпос
difficulty.2=Легенда
skills.availableSkillPoints=Персонаж имеет {0} доступных очков навыков
skills.removeSkillsBefore=Вам необходимо восстановить очки навыка перед манипуляцией с мастерством.
skills.reclaimSkillPoints=Убрать навыки
skills.reclaimMasteryPoints=Восстановить {0} очков
skills.removeMastery=Убрать
skills.masteryButton=Мастерство
alert.errorgamerunning_header=Закройте игру для использования TQRespec
alert.errorgamerunning_content=Игра запущена, сохранение и копирование недоступно.
alert.changesinvaliddata=Некорректные данные \"{0}\"
alert.missingSkill_header=Навык не найден
alert.missingSkill_content=ПРЕДУПРЕЖДЕНИЕ: Персонаж \"{0}\" имеет один или несколько навыков которых нет в базе данных игры. Пожалуйста, прочтите лог \"{1}\" для подробностей.
alert.chooseTQBaseDir_header=Выберите папку где находится TQ
alert.chooseTQBaseDir_content=Папка которую вы выбрали содержит дополнение для которого необходимо выбрать папку с основной игрой. Выберите сейчас папку, где установлена основная игра.
characters.title=Персонажи
characters.masteryTitle=Мастерство
characters.attributePoints=Очки атрибутов
characters.skillPoints=Очки навыков
characters.characterName=Имя
characters.fileChooserTitle=Выберите расположение для сохранения csv файла
characters.exportButton=Экспорт CSV
characters.lastTeleport=Последний портал
characters.experienceFromKills=Опыта от убийств
characters.healthPotionsUsed=Снадобий здоровья использовано
characters.manaPotionsUsed=Снадобий энергии использовано
characters.numHitsReceived=Урона получено
characters.numHitsInflicted=Урона нанесено
characters.criticalHitsInflicted=Критического урона нанесено
characters.loadingPlaceholder=Загрузка...
main.resetButtonTooltip=Сброс
main.charactersButtonTooltip=Просмотр всех персонажей
main.mobileSavegameToast_header=Обнаружен персонаж для мобильной версии
main.mobileSavegameToast_content=Убедитесь, что вы используете игровые файлы для мобильной версии или совместимые. Прочтите README.
main.mobileDatabaseToast_header=Игровые файлы из мобильной версии были обнаружены
main.mobileDatabaseToast_content=Были загружены записи, которые находятся только в мобильной базе данных, вам необходимо использовать версию базы данных для Windows с сохраненной игрой на Windows. См. Tqrespec.log и README.
main.miscTab=Прочее
main.copyTarget.WINDOWS=Windows
main.copyTarget.MOBILE=Mobile
main.copyTarget.BACKUP=Резерв. копия
main.tooltipCopyTarget=Выберите предназначение для создании копии персонажа, имя персонажа можно ввести в поле ниже. Оставьте поле пустым, чтобы сохранить то же имя при преобразовании или экспорте.
main.tooltipCopyTarget.WINDOWS=При необходимости персонаж будет преобразован и скопирован в папку SaveData, чтобы быть доступным в игре.
main.tooltipCopyTarget.MOBILE=При необходимости персонаж будет преобразован и собран в zip-файл. Этот zip-файл следует вручную распаковать на мобильное устройство, (в Android, папка Android/data/com.hg.titanquestedition/files/Preferences/SaveData/Main, в IOS, iCloud TitanQuest).
main.tooltipCopyTarget.BACKUP=Персонаж будет скопирован в zip-файл. Если поле «Новый персонаж» будет пустым, то выбранный персонаж будет скопирован в zip файл как есть, без изменений. Если вы введете новое имя, то копия изменится и персонаж не будет являться точной резервной копией.
misc.copyTitle=Копирование персонажа
misc.targetLabel=Предназначение
misc.exportJson=Экспорт JSON
misc.tooltipExportJson=Экспортирование главного файла выбранного персонажа (Player.chr) как JSON файл. Может пригодиться для анализа файла сохранения и отладки.
misc.copyFileChooserTitle=Выберите название для нового ZIP файла
misc.exportJsonFileChooserTitle=Выберите название для нового JSON файла```


Error loading character

Describe the bug
After selecting my char the following error occurs.

To Reproduce
Steps to reproduce the behavior:

  1. Start TQ Respec
  2. Click on the Character combobox
  3. Select the Character
  4. See error

Expected behavior
The character should be loaded

Error message (detail)
br.com.pinter.tqrespec.core.UnhandledRuntimeException: Error loading character
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.player.Player.loadPlayer(Player.java:106)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.gui.MainController$6.call(MainController.java:374)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.gui.MainController$6.call(MainController.java:371)
at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1426)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: br.com.pinter.tqrespec.save.InvalidVariableException: variable 'buffSkillName' not found for platform 'WINDOWS'
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.player.PlayerFileVariable.valueOf(PlayerFileVariable.java:195)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.player.PlayerParser.getFileVariable(PlayerParser.java:275)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.FileParser.validateBlockType(FileParser.java:246)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.FileParser.parseBlock(FileParser.java:182)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.FileParser.parseAllBlocks(FileParser.java:324)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.FileParser.parse(FileParser.java:112)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.FileParser.load(FileParser.java:145)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.player.Player.loadPlayer(Player.java:96)
... 5 more

TQRespec version (please complete the following information):

  • 0.11.1

Operating System (please complete the following information):

  • Windows 10 64 bit

Game version (please complete the following information):

  • Titan Quest Anniversary Edition 2.10.20820 (Steam)

DLCs installed (please complete the following information):
-Ragnarok?
-Atlantis?

Additional context
Player.zip

How to translate?

Hi! I can translate your app into Russian language. How can I do it?

TQRespec starts but freeze soon after

I've downloaded the latest version of TQRespec, but when I try to run it nothing happens. I'm on Windows 11 and I have the TQ:AE from GOG Anniversary Edition, with Ragnarok and Atlantis DLCs. After I launch TQRespec, when I look in Task Manager, it is listed as a running process and I can End Task it. So, for some reason it is starting but maybe just freezing or something - it never shows any kind of a screen. I also installed the Microsoft Visual C++ Redist 2015-2022 package as well and it seemed to have no effect. Really at a dead-end here. What can i do?

Child process exited with code 2

Describe the bug
When launching TQRespec.exe, I get the error message "Child process exited with code 2". Application does not launch.

TQRespec version (please complete the following information):
-0.12

Operating System (please complete the following information):

  • Windows 11

Game version (please complete the following information):

  • Titan Quest Anniversary 2.10.21415
    Screenshot 2022-12-11 211756

DLCs installed (please complete the following information):
-Ragnarok
-Atlantis
-Eternal Embers

Additional context
I believe TQ Respec was last updated for the previous TQ version.

add support for gog version

Hi, can you add support for the gog version?
"C:\GOG Games\Titan Quest - Anniversary Edition"
save_paths.zip

ERROR:

java.lang.RuntimeException: Error loading database.
	at br.com.pinter.tqrespec/br.com.pinter.tqrespec.tqdata.Db.initialize(Unknown Source)
	at br.com.pinter.tqrespec/br.com.pinter.tqrespec.Main$1.call(Unknown Source)
	at br.com.pinter.tqrespec/br.com.pinter.tqrespec.Main$1.call(Unknown Source)
	at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: Game path not detected
	at br.com.pinter.tqrespec/br.com.pinter.tqrespec.tqdata.GameInfo.getGamePath(Unknown Source)
	... 6 more

Is there a way to remote run Tqrespec?

Since this was poorly created as to not think of 32-bit, is there a way to run this on another system and copy the saves over to that one and respec? I tried but it couldnt find the saves and i dont know how to tell it to point to a location

ArrayIndexOutOfBoundsException

Hi when I run the version 0.7.2 I kept running into the following error:

java.lang.ArrayIndexOutOfBoundsException: Index 30501388 out of bounds for length 76498
at br.com.pinter.tqdatabase/br.com.pinter.tqdatabase.ArzFile.recordMetadataGet(Unknown Source)
at br.com.pinter.tqdatabase/br.com.pinter.tqdatabase.ArzFile.readRecordsTable(Unknown Source)
at br.com.pinter.tqdatabase/br.com.pinter.tqdatabase.ArzFile.(Unknown Source)
at br.com.pinter.tqdatabase/br.com.pinter.tqdatabase.ArzFile.(Unknown Source)
at br.com.pinter.tqdatabase/br.com.pinter.tqdatabase.Database.(Unknown Source)
at br.com.pinter.tqdatabase/br.com.pinter.tqdatabase.Database.(Unknown Source)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.tqdata.Db.initialize(Unknown Source)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.Main$2.call(Unknown Source)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.Main$2.call(Unknown Source)
at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)

I've followed the instruction here https://github.com/epinter/tqrespec#running-without-the-game-installed and placed the "Database" and "Text" folders under a folder "gamedata". What could be the problem?

Thanks in advance :)

TQRespec bug on startup

Hello team,

Describe the bug
TQRespec 10.1 can not start even if I put Dabatase & Text File. It asks to set game path.
When I set game path, I get Java error.

To Reproduce
My case is specific I suppose but please find below steps :

1.- Starting up the .EXE. It requests for game location :

2021-06-09 13_57_26-Window

2.- I define path to the game :

2021-06-09 13_58_03-

3.- It did not succeeded with following Error :

2021-06-09 13_58_19-Window

Expected behavior
A clear and concise description of what you expected to happen.

Error message (detail)

br.com.pinter.tqrespec.core.UnhandledRuntimeException: Error loading database.
	at br.com.pinter.tqrespec/br.com.pinter.tqrespec.tqdata.Db.initialize(Db.java:62)
	at br.com.pinter.tqrespec/br.com.pinter.tqrespec.Main$2.call(Main.java:177)
	at br.com.pinter.tqrespec/br.com.pinter.tqrespec.Main$2.call(Main.java:172)
	at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.lang.Thread.run(Thread.java:831)
Caused by: java.io.FileNotFoundException: Database not found
	at br.com.pinter.tqrespec/br.com.pinter.tqrespec.tqdata.GameInfo.getDatabasePath(GameInfo.java:800)
	at br.com.pinter.tqrespec/br.com.pinter.tqrespec.tqdata.Db.initialize(Db.java:51)
	... 5 more

TQRespec version (please complete the following information):

  • v0.10.1

Operating System (please complete the following information):

  • Windows 20H2 (install yersterday)

Game version (please complete the following information):

  • vTQ AE 2.9

DLCs installed :

  • Ragnarok
  • Atlantis

Additional context
I already suceeded to start the tool. I don't understand why it ask for my game location and why It crash. Also it must be use local Database file & Text but it also crash. Even if the folder "Gamedata" is empty, the application crash.
I cleared my savegame data folder to have a new fresh folder, but nothing works.
I checked for Microsoft Visual Studio as well. No changes.

Any idea ?

Thanks a lot for your help.

Kindly Regards,
Nicolas.

Russian translation

Updated Russian translation

#
# Copyright (C) 2021 Emerson Pinter - All Rights Reserved
#

main.translators=Перевод:\nEvgeniy Chefranov\n
main.strength=Сила
main.intelligence=Интеллект
main.dexterity=Ловкость
main.health=Жизнь
main.energy=Энергия
main.savechar=Сохранить
main.copychar=Копия
main.copycharname=Новый персонаж
main.available=Доступные очки
main.labelselectchar=Выберите вашего персонажа
main.experience=Опыт
main.charlevel=Уровень
main.gold=Золото
main.gender=Пол
main.gender.male=Мужской
main.gender.female=Женский
main.savingcharacter=Сохранение...
main.backupcharacter=Создание резервной копии...
main.charclass=Класс
main.difficulty=Сложность
main.attributesTab=Атрибуты
main.skillsTab=Навыки
main.gameNotDetected=Игра не обнаружена
main.chooseGameDirectory=Пожалуйста, выберите папку, где установлена игра
about.title=О {0}
about.version=Версия {0}
about.text=Права принадлежат 2021 Эмерсон Пинтер\nЭто программное обеспечение предоставляется как есть, нет никаких гарантий на него или на доступную или измененную информацию. Всегда делайте резервную копию перед использованием. Это программное обеспечение использует библиотеки с открытым исходным кодом, авторское право на стороннее программное обеспечение принадлежит их соответствующим владельцам.
about.newversion=Доступна новая версия, кликните здесь
alert.saveinprogress_header=Выполняется файловая операция.
alert.saveinprogress_content=Выполняется файловая операция, пожалуйста подождите...
alert.savedbackedup_header=Сохранено
alert.savedbackedup_content=Персонаж сохранён и создана его резервная копия. Откройте папку \"{0}\" для просмотра резервной копии.
alert.errorloadingchar_header=Ошибка загрузки персонажа
alert.errorloadingchar_content=Ошибка чтения атрибутов (health={0},energy={1},str={2},int={3},dex={4}). Это может быть по причине бага, поврежденного файла персонажа или несовместимости версии игры.
alert.errorbackup_header=Ошибка создания резервной копии
alert.errorbackup_content=Произошла ошибка во время создания резервной копии текущего персонажа в папку \"{0}\". Проверьте доступы к папке. Ваш персонаж не был изменён.
alert.errorsaving_header=Ошибка сохранения персонажа
alert.errorsaving_content=Произошла ошибка во время сохранения персонажа.
alert.errorcopying_header=Ошибка копирования персонажа
alert.errorcopying_content=Произошла ошибка во время копирования текущего персонажа в папку \"{0}\". Проверьте доступы к папке. Ваш персонаж не был изменён.
alert.genderchange_header=Изменение пола
alert.genderchange_content=Раскраска туники будет сброшена
difficulty.0=Норма
difficulty.1=Эпос
difficulty.2=Легенда
skills.availableSkillPoints=Персонаж имеет {0} доступных очков навыков
skills.removeSkillsBefore=Вам необходимо восстановить очки навыка перед манипуляцией с мастерством.
skills.reclaimSkillPoints=Убрать навыки
skills.reclaimMasteryPoints=Восстановить {0} очков
skills.removeMastery=Убрать
skills.masteryButton=Мастерство
alert.errorgamerunning_header=Закройте игру для использования TQRespec
alert.errorgamerunning_content=Игра запущена, сохранение и копирование недоступно.
alert.changesinvaliddata=Некорректные данные \"{0}\"
alert.missingSkill_header=Навык не найден
alert.missingSkill_content=ПРЕДУПРЕЖДЕНИЕ: Персонаж \"{0}\" имеет один или несколько навыков которых нет в базе данных игры. Пожалуйста, прочтите лог \"{1}\" для подробностей.
alert.chooseTQBaseDir_header=Выберите папку где находится TQ
alert.chooseTQBaseDir_content=Папка которую вы выбрали содержит дополнение для которого необходимо выбрать папку с основной игрой. Выберите сейчас папку, где установлена основная игра.
characters.title=Персонажи
characters.archive=Архивирование
characters.unarchive=Разархивирование
characters.explore=Открыть в проводнике
characters.archivedmessage=Персонаж \"{0} ({1})\" заархивирован.
characters.unarchivedmessage=Персонаж \"{0} ({1})\" разархивирован.
characters.store=Хранилище
characters.store.MAIN=Основная игра
characters.store.USER=Своя игра
characters.store.ARCHIVEMAIN=Архивирован
characters.store.ARCHIVEUSER=Архивирован в своей игре
characters.store.EXTERNAL=Внешнее
characters.masteryTitle=Мастерство
characters.attributePoints=Очки атрибутов
characters.skillPoints=Очки навыков
characters.characterName=Имя
characters.fileChooserTitle=Выберите расположение для сохранения csv файла
characters.exportButton=Экспорт CSV
characters.lastTeleport=Последний портал
characters.experienceFromKills=Опыта от убийств
characters.healthPotionsUsed=Снадобий здоровья использовано
characters.manaPotionsUsed=Снадобий энергии использовано
characters.numHitsReceived=Урона получено
characters.numHitsInflicted=Урона нанесено
characters.criticalHitsInflicted=Критического урона нанесено
characters.loadingPlaceholder=Загрузка...
main.resetButtonTooltip=Сброс
main.charactersButtonTooltip=Просмотр всех персонажей
main.mobileSavegameToast_header=Обнаружен персонаж для мобильной версии
main.mobileSavegameToast_content=Убедитесь, что вы используете игровые файлы для мобильной версии или совместимые. Прочтите README.
main.mobileDatabaseToast_header=Игровые файлы из мобильной версии были обнаружены
main.mobileDatabaseToast_content=Были загружены записи, которые находятся только в мобильной базе данных, вам необходимо использовать версию базы данных для Windows с сохраненной игрой на Windows. См. Tqrespec.log и README.
main.miscTab=Прочее
main.copyTarget.WINDOWS=Windows
main.copyTarget.MOBILE=Mobile
main.copyTarget.BACKUP=Резерв. копия
main.tooltipCopyTarget=Выберите предназначение для создании копии персонажа, имя персонажа можно ввести в поле ниже. Оставьте поле пустым, чтобы сохранить то же имя при преобразовании или экспорте.
main.tooltipCopyTarget.WINDOWS=При необходимости персонаж будет преобразован и скопирован в папку SaveData, чтобы быть доступным в игре.
main.tooltipCopyTarget.MOBILE=При необходимости персонаж будет преобразован и собран в zip-файл. Этот zip-файл следует вручную распаковать на мобильное устройство, (в Android, папка Android/data/com.hg.titanquestedition/files/Preferences/SaveData/Main, в IOS, iCloud TitanQuest).
main.tooltipCopyTarget.BACKUP=Персонаж будет скопирован в zip-файл. Если поле «Новый персонаж» будет пустым, то выбранный персонаж будет скопирован в zip файл как есть, без изменений. Если вы введете новое имя, то копия изменится и персонаж не будет являться точной резервной копией.
misc.copyTitle=Копирование персонажа
misc.targetLabel=Платформа
misc.exportJson=Экспорт JSON
misc.tooltipExportJson=Экспортирование главного файла выбранного персонажа (Player.chr) как JSON файл. Может пригодиться для анализа файла сохранения и отладки.
misc.copyFileChooserTitle=Выберите название для нового ZIP файла
misc.exportJsonFileChooserTitle=Выберите название для нового JSON файла

And I have a question. In which case this string characters.store.EXTERNAL=External do you use?

Ukrainian translation

Also updated UA translation:

# Copyright (C) 2021 Emerson Pinter - All Rights Reserved
#

main.translators=Переклад:\nEvgeniy Chefranov\n
main.strength=Сила
main.intelligence=Інтелект
main.dexterity=Спритність
main.health=Здоров`я
main.energy=Енергія
main.savechar=Зберегти
main.copychar=Копія
main.copycharname=Новий персонаж
main.available=Доступні очки
main.labelselectchar=Виберіть вашого персонажа
main.experience=Досвід
main.charlevel=Рівень
main.gold=Золото
main.gender=Стать
main.gender.male=Мужской
main.gender.female=Жіночий
main.savingcharacter=Збереження...
main.backupcharacter=Створення резервної копії...
main.charclass=Клас
main.difficulty=Складність
main.attributesTab=Атрибути
main.skillsTab=Навички
main.gameNotDetected=Гру не виявлено
main.chooseGameDirectory=Будь ласка, виберіть теку, де встановлена гра
about.title=О {0}
about.version=Версія {0}
about.text=Права належать 2021 Емерсон Пінтер \nЦе програмне забезпечення надається як є, немає ніяких гарантій на нього або на доступну або змінену інформацію. Завжди робіть резервну копію перед використанням. Це програмне забезпечення використовує бібліотеки з відкритим вихідним кодом, авторське право на додаткове програмне забезпечення належить відповідних власників.
about.newversion=Доступна нова версія, клікніть тут
alert.saveinprogress_header=Виконується файлова операція.
alert.saveinprogress_content=Виконується файлова операція, будь ласка зачекайте...
alert.savedbackedup_header=Збережено
alert.savedbackedup_content=Персонаж збережений і створена його резервна копія. Відкрийте теку \"{0}\" для перегляду резервної копії.
alert.errorloadingchar_header=Помилка завантаження персонажа
alert.errorloadingchar_content=Помилка читання атрибутів (health={0},energy={1},str={2},int={3},dex={4}). Це може бути через помилку, пошкодженого файлу персонажа або несумісності версії гри.
alert.errorbackup_header=Помилка створення резервної копії
alert.errorbackup_content=Сталася помилка під час створення резервної копії поточного персонажа в теку \"{0}\". Перевірте доступ до теки. Ваш персонаж не був змінений.
alert.errorsaving_header=Помилка збереження персонажа
alert.errorsaving_content=Сталася помилка під час збереження персонажа.
alert.errorcopying_header=Помилка копіювання персонажа
alert.errorcopying_content=Сталася помилка під час копіювання цього персонажа в теку \"{0}\". Перевірте доступ до теки. Ваш персонаж не був змінений.
alert.genderchange_header=Зміна полу
alert.genderchange_content=Колір туніки буде скинуто
difficulty.0=Норма
difficulty.1=Епос
difficulty.2=Легенда
skills.availableSkillPoints=Персонаж має {0} доступних очок навичок
skills.removeSkillsBefore=Вам необхідно відновити очки навичок перед маніпуляцією з майстерністю.
skills.reclaimSkillPoints=Прибрати навички
skills.reclaimMasteryPoints=Відновити {0} очок
skills.removeMastery=Прибрати
skills.masteryButton=Майстерність
alert.errorgamerunning_header=Закрийте гру для використання TQRespec
alert.errorgamerunning_content=Гра запущена, збереження та копіювання недоступно.
alert.changesinvaliddata=Некоректні дані \"{0}\"
alert.missingSkill_header=Навичку не знайдено
alert.missingSkill_content=ПОПЕРЕДЖЕННЯ: Персонаж \"{0}\" має одну або кілька навичок яких немає в базі даних гри. Будь ласка, прочитайте лог \"{1}\" для подробиць.
alert.chooseTQBaseDir_header=Оберіть папку, де знаходиться TQ
alert.chooseTQBaseDir_content=Папка, яку ви вибрали, містить DLC для якого необхідно вибрати папку з основною грою. Виберіть папку, де встановлено основну гру.
characters.title=Персонаж
characters.masteryTitle=Майстерність
characters.attributePoints=Очки атрибутів
characters.skillPoints=Очки навичок
characters.characterName=Ім'я
characters.fileChooserTitle=Оберіть розташування для зберігання csv файлу
characters.exportButton=Експорт CSV
characters.lastTeleport=Останній портал
characters.experienceFromKills=Досвдід від вбивств
characters.healthPotionsUsed=Зілля здоров'я використано
characters.manaPotionsUsed=Зілля енергії використано
characters.numHitsReceived=Шкоди отримано
characters.numHitsInflicted=Шкоди завдано
characters.criticalHitsInflicted=Критичної шкоди завдано
characters.loadingPlaceholder=Завантаження...
main.resetButtonTooltip=Скинути
main.charactersButtonTooltip=Перегляд усіх персонажів
main.mobileSavegameToast_header=Виявлено персонажа для мобільної версії
main.mobileSavegameToast_content=Переконайтеся, що ви використовуєте ігрові файли для мобільної версії або сумісні. Прочитайте README.
main.mobileDatabaseToast_header=Ігрові файли з мобільної версії було виявлено
main.mobileDatabaseToast_content=Були завантажені записи, які знаходяться лише в мобільній базі даних, вам необхідно використовувати версію бази даних для Windows із збереженою грою на Windows. Див. Tqrespec.log та README.
main.miscTab=Інше
main.copyTarget.WINDOWS=Windows
main.copyTarget.MOBILE=Mobile
main.copyTarget.BACKUP=Резерв. копія
main.tooltipCopyTarget=Оберіть призначення для створення копії персонажа, а ім'я персонажа можна ввести в полі нижче. Залиште поле порожнім, щоб зберегти те саме ім'я під час перетворення або експорту.
main.tooltipCopyTarget.WINDOWS=При необхідності персонаж буде перетворено та скопійовано в папку SaveData, щоб бути доступним у грі.
main.tooltipCopyTarget.MOBILE=При необхідності персонаж буде перетворено та зібрано у zip-файл. Цей zip-файл слід вручну розпакувати на мобільний пристрій (в Android, папка Android/data/com.hg.titanquestedition/files/Preferences/SaveData/Main, IOS, iCloud TitanQuest).
main.tooltipCopyTarget.BACKUP=Персонаж буде скопійовано до zip-файлу. Якщо поле "Новий персонаж" буде порожнім, то вибраний персонаж буде скопійовано в zip файл як є, без змін. Якщо ви введете нове ім'я, копія зміниться і персонаж не буде точною резервною копією.
misc.copyTitle=Копіювання персонажа
misc.targetLabel=Призначення
misc.exportJson=Експорт JSON
misc.tooltipExportJson=Експортування головного файлу обраного персонажа (Player.chr) як файл JSON. Може стати в нагоді для аналізу файлу збереження та налагодження.
misc.copyFileChooserTitle=Оберіть назву для нового ZIP файлу
misc.exportJsonFileChooserTitle=Оберіть назву для нового JSON файлу```

Ukrainian translation

Hi! Could you provide actual English strings? I would like to translate into Ukrainian. Before I translated into Russian.

Attribute Respec issue?

When Respeccing Attributes does the app look at the actual attribute points spent or at the total of each stat? I changed my game files to grant a bit more of each stat per point spent and I feel like TQRespec is giving me back more points than I should have.

Where can I get :tqdatabase project ?

include ':tqdatabase'

Caused by: org.gradle.internal.component.NoMatchingConfigurationSelectionException: No matching configuration of project :tqdatabase was found. The consumer was configured to find a runtime of a library compatible with Java 17, packaged as a jar, preferably optimized for standard JVMs, and its dependencies declared externally but: ...

Used Java 17 for project and gradle.

Unhandled exception occurred

Hey, I get an error when I try to load my character into the app.
It states " save.InvalidVariableException: variable 'altMoney' not found for platform 'WINDOWS'

Details:
br.com.pinter.tqrespec.core.UnhandledRuntimeException: Error loading character
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.player.Player.loadPlayer(Player.java:105)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.gui.MainController$6.call(MainController.java:372)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.gui.MainController$6.call(MainController.java:369)
at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1426)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: br.com.pinter.tqrespec.save.InvalidVariableException: variable 'altMoney' not found for platform 'WINDOWS'
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.player.PlayerFileVariable.valueOf(PlayerFileVariable.java:180)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.player.PlayerParser.getFileVariable(PlayerParser.java:270)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.FileParser.validateBlockType(FileParser.java:241)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.FileParser.parseBlock(FileParser.java:181)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.FileParser.parseAllBlocks(FileParser.java:303)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.FileParser.parse(FileParser.java:111)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.FileParser.load(FileParser.java:144)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.player.Player.loadPlayer(Player.java:96)

Can't be sure if I'm going something wrong as I've never used this before.
Thank ya.

Rename Error

Everything else work fine except the rename option.After I save it to new save,can't find it in character selection menu.Open that new save in TQ respec popup 2 error message.

first message:
br.com.pinter.tqrespec.core.UnhandledRuntimeException: Error loading character
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.player.Player.loadPlayer(Player.java:68)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.gui.MainController$10.call(MainController.java:430)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.gui.MainController$10.call(MainController.java:427)
at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: br.com.pinter.tqrespec.core.UnhandledRuntimeException: java.lang.NullPointerException
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.FileParser.parse(FileParser.java:99)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.player.PlayerParser.loadPlayer(PlayerParser.java:167)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.player.Player.loadPlayer(Player.java:61)
... 5 more
Caused by: java.lang.NullPointerException
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.FileParser.prepareBufferForRead(FileParser.java:84)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.player.PlayerParser.fillBuffer(PlayerParser.java:141)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.FileParser.parse(FileParser.java:94)
... 7 more

second message:

java.lang.IllegalArgumentException: Invalid data "myPlayerName"
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.ChangesTable.setString(ChangesTable.java:129)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.save.player.PlayerWriter.copyCurrentSave(PlayerWriter.java:194)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.gui.MainController$4.call(MainController.java:287)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.gui.MainController$4.call(MainController.java:283)
at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.lang.Thread.run(Thread.java:832)

TQRespec version
-0.8.0

Operating System

  • Windows 10

Game version (please complete the following information):***

  • Titan Quest AE v2.9

DLCs installed (please complete the following information):
-Ragnarok
-Atlantis

Error Loading Application

java.lang.NullPointerException
at br.com.pinter.tqdatabase/br.com.pinter.tqdatabase.SkillDAO.lambda$getSkillList$1(Unknown Source)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at br.com.pinter.tqdatabase/br.com.pinter.tqdatabase.SkillDAO.getSkillList(Unknown Source)
at br.com.pinter.tqdatabase/br.com.pinter.tqdatabase.SkillDAO.preload(Unknown Source)
at br.com.pinter.tqdatabase/br.com.pinter.tqdatabase.Skills.preload(Unknown Source)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.Main$2.call(Unknown Source)
at br.com.pinter.tqrespec/br.com.pinter.tqrespec.Main$2.call(Unknown Source)
at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)

OS Windows 10 v1903 and playing the game on Steam.

Change Masteries?

Will you be able to make it so we can reset out masteries back to 0 or none? I would really like to be able to change my mastery choices / change class!

Thanks!

Add Portal enabler in future build

I would want to be able to select portals (or a more simpler option id assume, make it so next time you spawn in the save, you're in helos by the rebirth fountain, this would help make Accomplished heroes more usable for a lot who want to lvl up to 40 but feel undergeared so now u have that option to rush thru normal, how it shouldve been when devs implemented it.

Bug

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Error message (detail)

  • Paste the error message here

TQRespec version (please complete the following information):

  • ?

Operating System (please complete the following information):

  • Windows?

Game version (please complete the following information):

  • Titan Quest?

DLCs installed (please complete the following information):
-Ragnarok?
-Atlantis?

Additional context
Add any other context about the problem here.

Add support to run without game installed

If the game is not installed, the database and text resources should be loaded from a subdirectory called 'gamedata'. The structure should look like this:

TQRespec/app
TQRespec/runtime
TQRespec/gamedata/Database
TQRespec/gamedata/Text
TQRespec/TQRespec.exe

Where Database and Text folders are copied from the game.

The savegame needs to be at the same location as the game uses (Documents/My Games/...).

Latest doesn't work

errortqrespec

I pick my character and it says this, and its ridiculous, I have plenty of memory on my PC, 8gb and i highly doubt a simple java program uses even 1gb if anything, so theres some leak going on that should be fixed

Game installed through Microsoft Store is not detected

Information is needed to support this kind of installation. Probably the game is installed in "WindowsApps", as a package. Information need to make this work:

  • The package name

  • The list of files and directories inside "c:\program files\windowsapps(packagename)"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.