Skip to content

Feature: DB/build change tracking, configurable palette overrides, and README overhaul - #3

Open
chrismac39 wants to merge 7 commits into
gregates:mainlinefrom
chrismac39:feat/readme-and-version-tracking
Open

Feature: DB/build change tracking, configurable palette overrides, and README overhaul#3
chrismac39 wants to merge 7 commits into
gregates:mainlinefrom
chrismac39:feat/readme-and-version-tracking

Conversation

@chrismac39

Copy link
Copy Markdown

Feature: DB/build change tracking, configurable palette overrides, and README overhaul

Summary

This PR expands gdse in three major areas:

  1. Version/freshness tracking
  • Adds DB hash tracking across runs.
  • Writes run history entries to gdse-db-hash.txt.
  • Includes Steam buildid (from appmanifest_219990.acf) and detected patch markers where available.
  • Surfaces last/current change summary before running recolor.
  1. Palette customization and UX flow
  • Adds configurable palette overrides via gdse-palette.txt.
  • Adds optional --palette-file <path> support.
  • Supports partial overrides with fallback to defaults for unspecified keys.
  • Adds interactive prompts:
    • choose default palette vs custom file
    • confirm run with [Y/N] after change summary
  • Incorporates non-damage/class-related color behavior updates and tuned defaults for readability on dark tooltips.
  1. Documentation overhaul
  • Reworks README with clearer setup and usage guidance.
  • Adds clickable section index and visual section separators.
  • Clarifies Windows/Linux testing context.
  • Documents hash/build/patch tracking behavior.
  • Documents palette keys, defaults, and one-line override usage examples.
  • Cleans up inconsistent wording/typos and outdated flag references.

Why

  • Reduce manual update pain after game patches.
  • Make color tuning user-configurable without code changes.
  • Improve first-run experience and confidence with explicit prompts/summaries.
  • Make setup and customization significantly easier for less technical users.

Key implementation notes

  • New module: src/user_palette.rs for palette parsing/validation/loading.
  • Hash/build plumbing in src/db.rs and src/main.rs.
  • Recolor/property logic updates in src/colorize.rs, src/property.rs, src/color.rs, and src/palette.rs.
  • Dependency updates in Cargo.toml / Cargo.lock (including hashing/time support).

Files changed

  • Cargo.toml
  • Cargo.lock
  • README.md
  • src/color.rs
  • src/colorize.rs
  • src/db.rs
  • src/main.rs
  • src/palette.rs
  • src/property.rs
  • src/user_palette.rs (new)

Validation

  • Verified build/check flow during development (cargo check).
  • Verified runtime behavior with interactive prompts and generated outputs.
  • In-game visual checks performed for palette readability and non-damage defaults.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants