Skip to content

v0.0.5

Choose a tag to compare

@CarlosNatanael CarlosNatanael released this 15 Jan 14:47
· 48 commits to main since this release

Added

  • Command Line Interface: Added pycheevos-import command for quick access to the importer tools from any directory.
  • Smart Importer: Introduced a unified import flow (Option 3) that downloads notes and generates achievement scripts using variable names (e.g., health == 0x04) instead of raw addresses.
    • Automatic mapping of Code Notes to Python variables.
    • Integer constants in generated scripts now use Hexadecimal formatting (e.g., 0x10) for better readability.
  • Rich Presence Improvements:
    • add_lookup: Now supports tuples/lists as keys (e.g., {(1, 2): "Level A"}).
    • add_display: Now supports ConditionList and complex logic chains (joined automatically by _).
    • save(): Added method to save Rich Presence scripts independently of the Achievement Set.
    • f-strings: Enabled f-string formatting for memory objects (e.g., f"Score: @VALUE({mem_score})") by implementing __str__ and __repr__.
  • Core Safety: Added safe modifier methods (delta, prior, bcd, invert) to ConstantValue. This prevents crashes in generated scripts when modifiers are applied to constant numbers (e.g., value(0).delta()).

Changed

  • Refactor: Unified ConditionList logic into core/condition.py, resolving circular dependency issues between value.py and condition.py.
  • Importer Output: Generated scripts now save to the user's current working directory (os.getcwd()) instead of the library installation folder.
  • Dependency: Updated project.scripts in pyproject.toml to expose the CLI tool.