Skip to content

Implement a system to handle different versions of library data #48

@monkeyman192

Description

@monkeyman192

For games or binaries which receive even occasional updates, it can be hard to keep a library which would use pyMHF up to date.
Games which also may have a "classic version" (or versions) and a more recent version also may need mutliple versions of a library to support multiple versions.

Currently a library which is written using pyMHF is written for a single version of the executable it is targeting.

To support multiple versions we would need to do the following things:

  1. Add a --version command possibly to allow switching or support other functionalities.
  2. Implement some way of indicating what version of the exe the library supports. Likely solution for this is to hash the exe with SHA1 hashing algorithm and then compare this to some lookup.
  3. The hash lookup/mapping would need to be "ordered" in some way so that if a new hash is found, we would likely assume that this is a newer version of the exe than the latest unless otherwise specified.
  4. The following objects/info would need to support versioning:
    a) Offsets
    b) func_defs
    c) patterns
    d) struct definitions

Note: This issue is a WIP/dumping ground for me to put ideas relating to this issue...

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions