Skip to content

Releases: EchoTools/evrFileTools

v2.1.0

14 Mar 19:24
7d64bc9

Choose a tag to compare

v2.1.0

New Texture Format Support

Based on work by @heisthecat31 (PR #5), cleaned up and tested:

  • R8_UNORM — Grayscale textures
  • R8G8B8A8 — Uncompressed RGBA (sRGB and linear)
  • B8G8R8A8 — Uncompressed BGRA (sRGB and Typeless)
  • R11G11B10_FLOAT — Packed HDR float format

Fixes

  • RGB565 bit expansion — Fixed rounding errors in BC1/BC3 color decoding (bit-replication instead of lossy multiply-divide)
  • sRGB interpolation — BC1/BC3 now interpolate in linear space for sRGB variants, producing correct colors
  • NRGBA output — Decoded textures now use non-premultiplied alpha (image.NRGBA), which is correct for texture data

Install

go install github.com/EchoTools/evrFileTools/cmd/texconv@v2.1.0

v2.0.0

14 Mar 18:16
eb6824f

Choose a tag to compare

v2.0.0

Breaking Changes

  • Extract output format changed: Extracted files now include format extensions (.dds, .ogg, .bin, etc.) based on magic-byte detection
  • Sidecar extension changed: Sidecar metadata files now use .evrmeta instead of .meta to avoid collision with TextureMetadata assets
  • Scanner parsing fixed: File/type symbols are now parsed as hexadecimal (was incorrectly base-10), which changes how the scanner interprets directory names

New Features

  • Lossless codec pipeline: DDS headers are automatically added/stripped during extract/pack for seamless round-trips
  • Patch mode (-mode patch): Replace individual files in EVR packages without full rebuild
  • Search mode (-mode search): Find assets by symbol hash, type, or filename pattern
  • Audio detection (pkg/audio): Format detection and metadata parsing for OGG, WAV, MP3, FLAC
  • Sidecar metadata: .evrmeta JSON files preserve symbol IDs through friendly-named extraction for deterministic repackaging
  • Named extraction: -wordlist flag maps hex symbols to human-readable filenames
  • Batch extraction (batchextract): Parallel extraction of all packages with worker pool
  • Wordlist builder (buildwordlist): Harvest 52K+ symbol names from evr-reconstruction data

Bug Fixes

  • Fix scanner base-10 parsing of hex symbol filenames
  • Fix scanner failing on filenames with extensions
  • Fix .meta sidecar extension collision with TypeTextureMetadata
  • Fix TypeName formatting negative int64 values with wrong hex output
  • Fix PatchFile not shifting FrameIndex for other entries after frame insertion (data corruption)
  • Fix duplicate WAV/RIFF magic signatures in analyze mode
  • Remove dead test assertion in SNSMessageHash test
  • Remove unused magicReadSize constant, bytesToFloat32 function, custom max helper
  • Add missing error check for f.Seek in texconv DDS decode
  • Validate -algo flag in symhash (was silently falling through on typos)
  • Remove unused -filter flag from batchextract
  • Validate -workers flag in batchextract

Install

go install github.com/EchoTools/evrFileTools/cmd/evrtools@v2.0.0
go install github.com/EchoTools/evrFileTools/cmd/texconv@v2.0.0
go install github.com/EchoTools/evrFileTools/cmd/symhash@v2.0.0
go install github.com/EchoTools/evrFileTools/cmd/batchextract@v2.0.0
go install github.com/EchoTools/evrFileTools/cmd/buildwordlist@v2.0.0
go install github.com/EchoTools/evrFileTools/cmd/showtints@v2.0.0

v1.0.0

14 Mar 18:07

Choose a tag to compare

v1.0.0 - First stable release

CLI Tools

  • evrtools - Extract, build, analyze, diff, and inventory EVR packages
  • texconv - DDS <-> PNG texture conversion with BC1/BC3 compression
  • showtints - Tint color display and CSS export
  • symhash - EVR symbol hash computation and reverse-lookup

Packages

  • pkg/manifest - Manifest parsing, package extraction, building
  • pkg/archive - ZSTD archive format
  • pkg/hash - CSymbol64Hash and SNSMessageHash algorithms
  • pkg/naming - Type symbol mappings and asset name resolution
  • pkg/texture - Texture metadata and DDS conversion
  • pkg/audio - Audio format detection
  • pkg/tint - Tint color parsing and CSS export
  • pkg/asset - Asset reference structures

Project

  • Semver versioning and conventional commits (see CONTRIBUTING.md)
  • MIT License
  • Go 1.26.1
  • Comprehensive test suite

Install

go install github.com/EchoTools/evrFileTools/cmd/evrtools@v1.0.0
go install github.com/EchoTools/evrFileTools/cmd/texconv@v1.0.0
go install github.com/EchoTools/evrFileTools/cmd/showtints@v1.0.0
go install github.com/EchoTools/evrFileTools/cmd/symhash@v1.0.0

v0.2.0

14 Mar 17:00
7cce570

Choose a tag to compare

What's New

New: Symbol hash tool (symhash)

  • CSymbol64Hash and SNSMessageHash implementations in pkg/hash
  • CLI tool for computing hashes and reverse-looking-up symbol names against wordlists

New: Analysis modes for evrtools

  • inventory mode — scan extracted packages, summarize file counts and sizes by type
  • analyze mode — magic-byte format detection and Shannon entropy analysis for unknown file types
  • diff mode — compare two manifests and report added/removed/modified files

Improvements

  • New pkg/naming package with type symbol mappings, categories, and file extensions
  • -verbose flag for detailed output in analysis modes

Full Changelog

0.1.1...v0.2.0

0.1.1

18 Nov 18:50

Choose a tag to compare

Updated logging, added output folder restrictions & argument to ignore said restrictions.

v0.1.0

05 Aug 00:06

Choose a tag to compare

v0.1.0 Pre-release
Pre-release
Correctly discard FrameContents entries in Sor-...