Code Monkey home page Code Monkey logo

tweditorenhanced's Introduction

TWEditor - Version 3.0.1

Overview

TWEditor allows you to modify save games created by The Witcher. You can modify the attributes and abilities of the player character (Geralt). You can also unpack all of the files in the save, manually modify one or more of the files, and then repack the save. Note that you can not add files to the save or delete files from the save.

The 'Stats' tab allows you to modify selected fields in the save game such as experience, orens and talents. The modified values will be written when the file is saved. Whether or not the changes are accepted when the save is loaded depends on the game engine.

The 'Attributes' tab allows you to modify Strength, Dexterity, Stamina and Intelligence selections.

The 'Signs' tab allows you to modify Aard, Igni, Quen, Axii and Yrden selections.

The 'Styles' tab allows you to modify Steel Sword and Silver Sword selections.

The 'Equipment' tab allows you to modify Geralt's equipped items and trophy.

The 'Inventory' tab allows you to modify Geralt's inventory.

The 'Quests' tab shows the game quests (Started, Completed, Failed and Not Started). The 'Examine' button will display a description of the current quest stage (if the stage has a description).

The 'Difficulty' tab allows you to modify difficulty level.

Installation

This version of the save game editor assumes you have installed the Enhanced Edition of The Witcher. Using this version of the editor with the original version of The Witcher can result in inventory errors.

To install this utility, place the TWEditor.jar file into a directory of your choice. To run the utility, create a program shortcut and specify

javaw -Xmx256m -jar TWEditor.jar

as the program to run. Set the Start Directory to the directory where you extracted the jar file. A sample program shortcut is included. The -Xmx256m argument specifies the maximum heap size in megabytes (the example specifies a heap of 256Mb). You can increase the size if you run out of space processing very large saves. Note that Windows will start swapping if the Java heap size exceeds the amount of available storage and this will significantly impact performance. The java virtual machine will fail to start if the requested heap size is too large.

The Sun Java 1.8 runtime is required. You can download JRE 1.8 from http://java.com/download/index.jsp. If you are unsure what version of Java is installed on your system, open a command prompt window and enter java -version.

The game install directory is located by scanning the Windows registry. If this scan fails or if the game files are located in a different directory, you can specify the game install directory when starting the editor. This is done by specifying -DTW.install.path="" on the java command line where is the directory containing dialog.tlk. For example, if the game files are located in C:\Games\The Witcher and the editor is installed in C:\Games, the shortcut would look like this:

javaw -DTW.install.path="C:\Games\The Witcher" -jar TWEditor.jar

Don't forget to put double quotes around the path name.

The language identifier is determined by scanning the windows registry. If this scan fails or you want to use a different language, you can specify the language identifier when starting the editor. This is done by specifying -DTW.language=n on the java command line where 'n' is the language identifier for the associated .tlk file. For example, US English would be specified as:

javaw -DTW.language=3 -jar TWEditor.jar

The game data directory is assumed to be The Witcher in the user documents folder (My Documents on an English-language system). If the save games are located in another directory, you can specify the game data directory when starting the editor. This is done by specifying -DTW.data.path="<path>" on the java command line where is directory containing the game data. For example, if the user login is Ronald Hoffman, the normal game data directory would be C:\Documents and Settings\Ronald Hoffman\My Documents\The Witcher.

The Java runtime will sometimes throws a null pointer exception when adding the shell folders to the file chooser dialog (JFileChooser). If this happens, you can disable the shell folders by specifying -DUseShellFolder=0 on the java command line.

ScripterRon - [email protected]


Version 1.0:

Initial release.

Version 1.1:

Add inventory support (add/remove/examine)

Version 1.2:

An open input stream was causing the save to intermittently fail.

The game mnemonic for the Axii sign is 'Axi' and not 'Axii'. This caused failures when editing the Axii sign.

Version 1.3:

Open saves created on a Russian system.

Add 'Quests' tab.

Version 1.4:

Use the maximum stack size when adding an item to the inventory.

Version 1.5:

Fix null pointer exception when modifying a sign and no signs have been learned yet.

Version 2.0:

Support multiple installed languages.

Add the ability to repack a save file.

Support for the expanded inventory management scheme implemented in the Enhanced Edition.

Version 2.1:

Support equipped items.

Version 2.2:

Difficulty support.

Version 3.0.1

Provide a JAR and DMG file

tweditorenhanced's People

Contributors

boazy avatar doofmars avatar louisvh avatar pl-zerocool 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

Watchers

 avatar  avatar  avatar  avatar

tweditorenhanced's Issues

NPE With adoptOpenJDK

upon trying to launch the jar with AdoptOpenJDK the program crashes with a Null Pointer Exception even when compiled from source with AdoptOpenJDK.
but runs fine from oracle's JRE even though I compiled it with AdoptOpenJDK
AdoptOpenJDK found here https://adoptopenjdk.net/
error

Error: Could not find or load main class (with Java.exe)

First off, a lot of thanks for this code / your work.

Using: TWEditor 3.0.1, Windows 10, jre1.8.0_261

Running TWEditorEnhanced-3.0.1.jar with javaw.exe, I got nothing, no errors. It seemed like it didn't do anything.
With java.exe, I got:
Error: Could not find or load main class TWEditorEnhanced-3.0.1.jar

I found an old version. Extracted (7-Zip) MANIFEST.MF.
And added:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: 1.6.0-b105 (Sun Microsystems Inc.)
Main-Class: TWEditor/Main

to MANIFEST.MF in TWEditorEnhanced-3.0.1.jar (using 7-Zip), that only had:
Manifest-Version: 1.0

And when I ran it, it gave errors (file locations, language) that were easily fixed and it worked.

Not needed: Renamed TWEditorEnhanced-3.0.1.jar to TWEditor.jar

Your instructions are for older version of your editor broe ! !

My "javaw.exe" Directory: C:\Program Files\Java\jdk-15.0.1\bin\javaw.exe
Screenshot (81)

My Games Directory: D:\Games\The Witcher - Enhanced Edition - Director's Cut
Screenshot (75)

My Game's Save Directory: C:\Users\being\Documents\The Witcher
Screenshot (76)
Screenshot (77)

Your Version 3.0.1 zip contains (before unzipping):
Screenshot (78)

Your Version 3.0.1 zip contains (after unzipping):
Screenshot (80)_LI

FINALLY, I tried making something as:

"C:\Program Files\Java\jdk-15.0.1\bin\javaw.exe" -DTW.language=3 -jar -DTW.install.path="C:\Users\being\Documents\The Witcher" -Xmx256m -jar "D:\Games\The Witcher - Enhanced Edition - Director's Cut\TWEditorEnhanced-3.0.1\lib\TWEditorEnhanced-3.0.1.jar"

and

"C:\Program Files\Java\jdk-15.0.1\bin\javaw.exe" -DTW.language=3 -jar -DTW.install.path="D:\Games\The Witcher - Enhanced Edition - Director's Cut" -Xmx256m -jar "D:\Games\The Witcher - Enhanced Edition - Director's Cut\TWEditorEnhanced-3.0.1\lib\TWEditorEnhanced-3.0.1.jar"

and set this as target in the properties of "TWEditorEnhanced-3.0.1.jar" which is located in "<unzipped folder of your editor>/lib/TWEditorEnhanced-3.0.1.jar" and run the program by double clicking "TWEditorEnhanced-3.0.1.jar". BUT NOTHING HAPPENED.

"Hey brother, I assume you know that users of this editor are mostly non-programmers.
And your installation instructions are for old version of your editor AS THERE IS NO SHORTCUT IN YOUR ZIP's SUBFOLDERS.
So, I request you to kindly change the README.md FOR LATEST VERSION OF YOUR EDITOR or explain here as I've mentioned all necessary PATHS with SCREENSHOTS.
I'd really help a lot. Please have mercy on non-programmers or non-technicals.
Thank you brother.
Peace."

TWEditor.DBException: Database header is too short

Happens when opening a save file:

Save file structure is not valid

TWEditor.DBException: Database header is too short

TWEditor.ResourceDatabase.load(ResourceDatabase.java:50)
TWeditor.LoadFile.run(LoadFile.java:93)

Thank you

I almost needed to restart chapter 2. Took a couple of googles to give these sources. Needed to tweak some paths but I'm on my way to chapter 3!

Great work, much appreciated!

What's the Project Encode?

I tried to build the Project in UTF-8 but failed like this:
*\Main.java:3: ����: OSEnvironment���ڲ�ר�� API, ���ܻ���δ�����а���ɾ��
import sun.misc.OSEnvironment;
^

Did I got the Encoding Problem?

Multiple compile erros when running gradlew build

gradlew build returns:

Task :compileJava FAILED
src\main\java\ResourceDatabase.java:47: error: unclosed character literal
byte[] header = new byte[' '];

src\main\java\ResourceDatabase.java:47: error: illegal character: '\u00a0'
byte[] header = new byte[' '];

src\main\java\ResourceDatabase.java:47: error: unclosed character literal
byte[] header = new byte[' '];

src\main\java\ResourceDatabase.java:90: error: unclosed character literal
byte[] buffer = new byte['€'];

src\main\java\ResourceDatabase.java:90: error: ';' expected
byte[] buffer = new byte['€'];

src\main\java\ResourceDatabase.java:90: error: unclosed character literal
byte[] buffer = new byte['€'];

src\main\java\ResourceDatabase.java:187: error: unclosed character literal
byte[] header = new byte[' '];

src\main\java\ResourceDatabase.java:187: error: illegal character: '\u00a0'
byte[] header = new byte[' '];

src\main\java\ResourceDatabase.java:187: error: unclosed character literal
byte[] header = new byte[' '];

src\main\java\ResourceDatabase.java:190: error: unclosed character literal
byte[] buffer = new byte['€'];

src\main\java\ResourceDatabase.java:190: error: ';' expected
byte[] buffer = new byte['€'];

src\main\java\ResourceDatabase.java:190: error: unclosed character literal
byte[] buffer = new byte['€'];

Incompatible on Windows 11 and Linux in Wine

When starting the program, you cannot progress past the language selection box, which is just empty. Trying to manually select the language seen in the readme instructions gives a "Language not found. Dialog file dialog_3.tlk does not exist" error. In either case the program then closes, complaining that no language has been selected.

MacOS - stream "The Witcher"

You able to download dmg from release. Then you need do such steps:

  1. install java
  2. download/install WTEditorEnhanced
  3. run WTEditorEnhanced. You possible have an error something with dialog
    Here you have 2 flow:
    3.1 Create simbolic link sudo ln -sfn "/Users/{username}/Library/Application Support/Steam/steamapps/common/The Witcher Enhanced Edition" "/Applications/The Witcher.app/Contents/Resources/drive_c/Program Files/The Witcher"
    3.2 clone repository, install java specific version according to https://docs.gradle.org/7.2/userguide/compatibility.html, but you will possible have another error (depend on how you install JDK or JDE).
    and do your things.
    Thx for reading.

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.