Git Product home page Git Product logo

pyhogg's Introduction

Python tools for working with Cryptic Studios data files

Starting out as a set of tools to work with hogg archives, lets see how far we can go.

Quickstart

Make sure you have pipenv installed, then...

git clone https://github.com/lokkju/pyhogg.git
pipenv install
pipenv run python tool.py --help
pipenv run python tool.py [extract|list] <hogg file>

That's it, folks!

Current status

Hogg Files

  • Lists all files with correct names from ?DataList and DataList Journal
  • Extracts all files or a glob-matched subset

Wtex Files

  • Converts Wtex files to DDS files for editing in GIMP

Data structure definitions

All datastructures (hogg files, datalist, etc) are currently being defined using Kaitai; we then generate python code and wrap it.

If you modify the ksy files, you must regenerate the python code:

kaitai-struct-compiler -t python kaitai/*.ksy

pyhogg's People

Contributors

lokkju avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

kistras

pyhogg's Issues

Fails

Hi, thanks for the tool but extract doesn't work:

pipenv run python tool.py extract data.hogg
extracting data.hogg to ./
Traceback (most recent call last):
  File "tool.py", line 117, in <module>
    cli(obj={})
  File "C:\Users\hello\.virtualenvs\pyhogg-bwBSi8s5\lib\site-packages\click\core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\hello\.virtualenvs\pyhogg-bwBSi8s5\lib\site-packages\click\core.py", line 717, in main
    rv = self.invoke(ctx)
  File "C:\Users\hello\.virtualenvs\pyhogg-bwBSi8s5\lib\site-packages\click\core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\hello\.virtualenvs\pyhogg-bwBSi8s5\lib\site-packages\click\core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\hello\.virtualenvs\pyhogg-bwBSi8s5\lib\site-packages\click\core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "C:\Users\hello\.virtualenvs\pyhogg-bwBSi8s5\lib\site-packages\click\decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "tool.py", line 88, in extract
    with open(fn,'wb') as fo:
OSError: [Errno 22] Invalid argument: './?Datalist'

List does work.

Something wrong with the click library?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.