Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chronicon Save Editor

A Java Swing desktop application for editing save files from the ARPG Chronicon by Bjorn Larsson. Contains full game data for version 1.54.0 embedded — 570 enchants, 908 items, and 47 artifacts.


Features

  • Open and edit any Chronicon .char save file
  • Item list colour-coded by quality tier (common, magic, rare, legendary)
  • Four-tab detail view per item: Stats, Enchants, Sockets, All Fields
  • Enchant picker with all 570 enchants from the game database, including max values
  • Human-readable labels for every save field
  • Quick-edit buttons for common operations
  • Automatic .bak backup on first save
  • Timestamped manual backup option
  • Raw JSON viewer for the underlying save file
  • No external dependencies — single JAR, runs on any platform with Java 11+

Screenshots

Item list and stats

Item list showing quality tier colouring and stat panel

Enchant editor

Enchant tab with slot breakdown and enchant picker dropdown

Socket viewer

Socket tab showing gem slots, type, and value columns

All fields view

All Fields tab showing every raw save key with human-readable description

In-game Screenshots

Ingame-1

Ingame-2

Ingame-2


Requirements

  • Java 11 or newer
  • Chronicon save files (.char) from version 1.54.0 or compatible

If you do not have Java installed, download it from Adoptium.


Running the editor

With the pre-built JAR

Download ChronicnEditor.jar from the releases page and run:

java -jar ChronicnEditor-v2.0.0.jar

Or pass a save file path directly as an argument:

java -jar ChronicnEditor-v2.0.0.jar "C:\Users\YourName\AppData\Roaming\Chronicon\character.char"

Save file locations

Platform Default path
Windows %APPDATA%\Chronicon\
macOS ~/Library/Application Support/Chronicon/
Linux ~/.config/unity3d/Bjorn Larsson/Chronicon/

Building from source

The project has no runtime dependencies. You can compile with plain javac or with Maven.

With javac

javac --release 11 \
  src/main/java/com/chronicon/editor/SimpleJson.java \
  src/main/java/com/chronicon/editor/CharFile.java \
  src/main/java/com/chronicon/editor/GameData.java \
  src/main/java/com/chronicon/editor/SaveEditor.java \
  -d out

jar cfe ChronicnEditor.jar com.chronicon.editor.SaveEditor -C out .

With Maven

mvn package

The output JAR will be at target/ChronicnEditor.jar.


Project structure

src/main/java/com/chronicon/editor/
    SimpleJson.java    Minimal flat JSON parser for the .char container format
    CharFile.java      Binary parser and writer for the .char save format
    GameData.java      Embedded game database (enchants, items, artifacts) v1.54.0
    SaveEditor.java    Swing UI

Save file format

The .char file is a flat JSON object. Each key maps to a hex-encoded binary blob representing one game subsystem.

{
  "i":  "<hex>",   // inventory
  "e":  "<hex>",   // equipped items
  "b":  "<hex>",   // bags
  "s":  "<hex>",   // skills
  "st": "<hex>",   // stats
  ...
}

Each binary blob decodes as follows.

Section header (16 bytes)

Offset Size Description
0 4 Total size counter (u32 LE)
4 4 Item count (u32 LE)
8 4 Unknown field 1 (u32 LE)
12 4 Unknown field 2 (u32 LE)

Per-item layout

Each item slot is stored as a u32 length prefix followed by an ASCII hex string representing the item binary. Between items (not after the last) there is a 16-byte separator: 8 bytes (f64 slot identifier) + 4 bytes (category marker) + 4 bytes (sentinel = 1).

Item binary

Offset Size Description
0 4 Header A (u32 LE)
4 4 Field count (u32 LE)
8+ variable Field records

Field record

Size Description
4 Sentinel = 1 (u32 LE)
4 Key length (u32 LE)
key_len Key string (UTF-8)
4 Value type: 0 = f64, 1 = string (u32 LE)
8 or variable Value: f64 LE for type 0, or u32 length + UTF-8 bytes for type 1

Item fields reference

Core stats

Field Description
name Item name (string)
id Base item ID, maps to the item database
type Item slot type
class Class restriction
level Required level
quality 0 = common, 1 = magic, 2 = rare, 3 = legendary
score Overall item score
hp Health bonus
mp Mana bonus
dmg Damage bonus
crit Critical hit chance
attackspeed Attack speed modifier

Enchant slots

Each item can have up to 10 enchant slots, indexed 0 through 9.

Field Description
enchant0 ... enchant9 Enchant ID stored as f64
enchant_value0 ... enchant_value9 Enchant value
enchant_solid0 ... enchant_solid9 Non-zero if the slot is locked
enchant_rune0 ... enchant_rune9 Rune slot

Socket slots

Field Description
socket_gem0 ... socket_gem5 Gem ID (-4 = empty)
socket_type0 ... socket_type5 Socket type
socket_val0 ... socket_val5 Socket value

Enchant tiers

Tier Label
epic Unique or set enchant
major Primary combat stat
minor Secondary utility stat

The embedded game data includes all tier-specific value ranges. The enchant picker shows the maximum possible value for each enchant at the highest item tier.


Quick-edit operations

Button Effect
Max Stats Sets hp, mp, dmg, crit, attackspeed, score to maximum safe values
Quality 3 Sets quality to 3 (legendary)
Max Level Sets level to 100
Clear Enchants Zeros all enchant IDs and values
Max Enchants Reads the current enchant ID in each slot and sets its value to the game-data maximum

Safety

The editor modifies only the item sections (i, e, b, e1inv, e1art, wp). The stats section (st) and all other binary blobs are passed through unchanged. This avoids corrupting internal engine state that uses a different serialization layout.

A .bak copy of the original file is created automatically the first time you save. Additional timestamped backups can be created at any time using the Backup button.


Compatibility

Tested against save files from Chronicon 1.54.0. The file format has been stable across several minor versions. If a field is not present in an older save, it is skipped rather than written.


Acknowledgements

This save file editor uses game data (enchants, items, artifacts, and more) from the Chronicon 1.54.0 community data exports. Huge thanks to Bjorn Larsson, the developer of Chronicon, for making these data exports available and enabling community tools like this. Thanks also to the amazing Chronicon community.

This is an unofficial fan-made tool to help players those who have lost their save files to get back to their former glory.


License

MIT

About

This is an unofficial fan-made tool to help players those who have lost their save files to get back to their former glory.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages