Skip to content

Releases: dimspell/extractor

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 23 Jun 07:45

Highlights

  • Hex Editor overhaul — minimap, byte entropy, pattern annotations, pane grid, text editing, copy/paste, export
  • Map Editor improvements — draw items, collision display, NPC waypoints, monster mapping, dialog flow
  • Editor system consolidation — standard editors replace custom per-type code; 60% less boilerplate
  • Event Script parser — full parser with fixture round-trip tests

New Features

Hex Editor

  • Minimap with caching and batch-rendered same-color pixel rows
  • Byte entropy visualization band (toggleable via settings)
  • Pattern annotations with color-coded groups (zebra-like, nybble, alternate)
  • Pane grid layout with resizable panes and focus highlighting
  • Text editing mode (write text instead of just hex)
  • Copy/paste support with clipboard integration
  • Export to TXT file with preview and config dialog
  • Column headers, selection range band, address/decimal toggle in gutter
  • Lua script engine fixes

Map Editor

  • Render and save DrawItems on the map
  • Collision display as diamond-shaped overlay
  • NPC waypoint arrows with numbered labels
  • Event/collision editing on any tile (including empty tiles)
  • Monster mapping through map editor
  • NPC selection with dialog flow integration
  • Composite item rendering for DrawItem
  • Transparent/solid rendering mode toggle (CLI)

Modding Pipeline

  • Field change recording with debounced pending edits
  • Binary diff patching (bsdiff)
  • Conflict detection with per-field override resolution
  • Mod manifest and changelog generation
  • Mod packaging with Zip

Event Script Parser

  • Complete .scr event script parser
  • Support for appending/deleting entries
  • RecordPatcher integration for modding

Editor System

  • StandardEditor<T> generic replaces 8 custom editors
  • EditorRegistry consolidates all editor state lifecycle
  • define_standard_editor! macro reduces per-editor boilerplate
  • Spreadsheet-only view for all editors (no more dual list/spreadsheet)
  • Auto-load catalogs for restored tabs on startup
  • Missing enum variant (no-item) added for ref editors
  • Pick lists with proper value display for monster_ref and extra_ref

CLI

  • New CLI flags for map rendering (transparent/solid mode)
  • map tiles command improvements
  • Normalized database and sprite saving

Refactoring & Cleanup

  • Migrated all INI/DB editors to proc-macro-derived Extractor + RecordPatcher
  • Consolidated spreadsheet handler macros into one
  • Removed dead code (CLI tools, legacy editor views, unused messages)
  • Ensured that dispel-gui config moved to ~/.config/dispel-gui/
  • Editor state methods moved from AppState to EditorRegistry
  • File tree scanning made async with debounced search
  • Cache-aware search replaced with nucleo-matcher
  • Unit tests moved out of production files into tests/ directories
  • Duplicated tests removed

Testing

  • Added numerous tests (integration and unit) to verify it the app works correctly

Dependencies

  • New: nucleo-matcher 0.3 (replaces custom cache-aware search)
  • New: mlua for custom hex editor encoders
  • Various dependency upgrades

Stats

  • 377 files changed, +41,917 / -16,838 lines
  • 172 commits on staging since v0.7.1
  • 0 compiler warnings, 0 clippy warnings

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 17 May 14:52

What's Changed

  • Implemented the "Export to JSON" option from the file tree context menu.
  • Reorganised the unit test code from production files.
  • Removed duplicated function, which was a dead-code to handle the spreadsheet messages.

Full Changelog: v0.7.0...v0.7.1

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 17 May 14:50

What's Changed

  • Add a simple Event Script editor (#3)

Full Changelog: v0.6.5...v0.7.0

v0.6.5

Choose a tag to compare

@github-actions github-actions released this 17 May 12:56

What's Changed

  • Improve the undo/redo (#9)
  • Horizontal scroll with a shift pressed in a spreadsheet view (#10)
  • Fix the horizontal scrolling for the hex editor (#11)

Full Changelog: v0.6.4...v0.6.5

v0.6.4

Choose a tag to compare

@github-actions github-actions released this 17 May 11:16
  • Numerous QoL improvements to the Hex Editor (#7).
  • Updated the MiscItem.db parser to decode the last 20 bytes of each entry.
  • Added a release script.

Full Changelog: v0.6.3...v0.6.4

v0.6.3

Choose a tag to compare

@github-actions github-actions released this 14 May 18:01
  • Add possibility to open any file using the hex editor. (#6)

Full Changelog: v0.6.2...v0.6.3

v0.6.2

Choose a tag to compare

@github-actions github-actions released this 14 May 15:20
  • Improve its editing capabilities of the ChData.db file, after its better recognition (#4).

Full Changelog: v0.6.1...v0.6.2

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 14 May 14:38
  • Refactored the context menu to support native OS interface. Updated UI elements, including added dividers and disabled entries. #5

Full Changelog: v0.6.0...v0.6.1

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 14 May 13:47
  • Implements the Hex Editor as a default editor for yet unrecognised files. (#2)
  • Adds the Mod Manager tool, which helps to manage the mods - by recording the changes and applying them without wory - you may revert them anytime to vanilla! (#2)

Full Changelog: v0.5.4...v0.6.0

v0.5.4

Choose a tag to compare

@github-actions github-actions released this 07 May 12:51
  • Refactored the codebase by removing dead/unused code.
  • Unified naming convention for DialogueParagraph.
  • Reorganized the directory structure for improved navigation.

Full Changelog: v0.5.3...v0.5.4