Skip to main content

Reclaimer

PyPI version GitHub version

What is this repository for?

  • Reclaimer is a library of supyr_struct structure descriptors and tag definitions for creating and modifying data files for video games utilizing the Blam engine. These descriptors and definitions are currently limited to Halo 1(xbox, custom edition, and the community made "open sauce" variant) with some support for Stubbs the Zombie. There are plans to branch into Halo 2, though for now the "he2k" sub-module is just a placeholder. Some of the tag definitions have an accompanying object class with methods for manipulating the tag(recalculating inertial matrices in physics tags for example).

Installing

First install any version of Python 3(The newest version is recommended).

There are two ways to install reclaimer from this point:

  • Open a command prompt and execute pip install reclaimer

or

  • Extract a copy of the repository into a directory titled "reclaimer".
  • Move the file "setup.py" into the directory containing "reclaimer".
  • Open a command prompt, navigate to the directory containing setup.py, and execute:python setup.py install
  • During install, python should try to download and install supyr_struct. If it fails to, you must install that as well.

Once the install finishes, reclaimer should be ready to use.

There are currently no test cases, but you should be able to directly import any tag definition from the python interpreter, build it, give it a filepath, and serialize it as shown below:

>>> from reclaimer.hek.defs.pphy import pphy_def
>>> asdf = pphy_def.build()
>>> print(asdf)
[ Container, entries:2, pphy
    [ Struct, size:64, entries:6, blam_header
        [ UEnum32, offset:36, size:4, tag_class, 1886414969
             point_physics ]
        [ UInt32, offset:40, size:4, base_address, 1299151482 ]
        [ UInt32, offset:44, size:4, header_size, 64 ]
        [ UInt16, offset:56, size:2, version, 1 ]
        [ UInt16, offset:58, size:2, unknown, 255 ]
        [ UEnum32, offset:60, size:4, engine_id, 1651269997
             halo_1 ]
        ]
    [ Struct, size:64, entries:9, tagdata
        [ Bool32, offset:0, size:4, flags, 0
            ]
        [ FlFloat, offset:4, size:4, wind_coefficient, 0.0 ]
        [ FlFloat, offset:8, size:4, wind_sine_modifier, 0.0 ]
        [ FlFloat, offset:12, size:4, z_translation_rate, 0.0 ]
        [ Float, offset:32, size:4, density, 0.0 ]
        [ Float, offset:36, size:4, air_friction, 0.0 ]
        [ Float, offset:40, size:4, water_friction, 0.0 ]
        [ Float, offset:44, size:4, surface_friction, 0.0 ]
        [ Float, offset:48, size:4, elasticity, 0.0 ]
        ]
    ]
>>> asdf.data.serialize()
bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00pphyMozz\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\xffblam
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00')

Release files for reclaimer 2.11.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for reclaimer 2.11.2
File Size Uploaded
reclaimer-2.11.2.tar.gz 511.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for reclaimer 2.11.2
File
reclaimer-2.11.2-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
reclaimer-2.11.2-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details
reclaimer-2.11.2-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
reclaimer-2.11.2-cp38-cp38-win32.whl CPython 3.8 CPython 3.8 Windows x86-32 Details
reclaimer-2.11.2-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
reclaimer-2.11.2-cp37-cp37m-win32.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-32 Details
reclaimer-2.11.2-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
reclaimer-2.11.2-cp36-cp36m-win32.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-32 Details

Total release size: 7.9 MB

Release files / reclaimer-2.11.2.tar.gz

Download URL reclaimer-2.11.2.tar.gz
Size 511.5 kB
Tags Source
SHA-256 checksum
How to use checksums
49cd905ea799b04a14913276225a807ac6ffda40fb442edf69ce0594d011973e
BLAKE2b-256 checksum
How to use checksums
bc4e78470d2183fc84bb67623ebe5bc55503b28eb0472d94f29158dc8b0b9bc6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.7

Release files / reclaimer-2.11.2-cp39-cp39-win_amd64.whl

Download URL reclaimer-2.11.2-cp39-cp39-win_amd64.whl
Size 925.7 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
e1c209aed4fadd29a8246dc7a44476c045ef156ec075fa65b7dd3ecb9abfa86d
BLAKE2b-256 checksum
How to use checksums
4516ed5a4876602e1c45c7ba1d84347a2a5af08e990f9cf338bf0b275d420c3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.7

Release files / reclaimer-2.11.2-cp39-cp39-win32.whl

Download URL reclaimer-2.11.2-cp39-cp39-win32.whl
Size 924.0 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
e723d69e51bf611ae24df18dcdaaedfc94438ac0efd6f9ffa52a42921ee89d5a
BLAKE2b-256 checksum
How to use checksums
731705f883458d268b5b06ac5adf110a4eac46078248aaf3acbb2c8c44df806d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.7

Release files / reclaimer-2.11.2-cp38-cp38-win_amd64.whl

Download URL reclaimer-2.11.2-cp38-cp38-win_amd64.whl
Size 925.7 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
cf98b8543a4690320992504d9a2139ce68a4a8d3c1cde684e5cbd1e054d563f4
BLAKE2b-256 checksum
How to use checksums
75d6b9c0a5056fd67c7bd93cc0a4410b61145db8f679934fbd66bbc2359509b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.7

Release files / reclaimer-2.11.2-cp38-cp38-win32.whl

Download URL reclaimer-2.11.2-cp38-cp38-win32.whl
Size 924.0 kB
Tags CPython 3.8 Windows x86-32
SHA-256 checksum
How to use checksums
41ced10653ea22ad2f7d6aeb9ad66fc9fb364f72983f491c71ad739579822226
BLAKE2b-256 checksum
How to use checksums
99e148c9879a5cac3e118e0cfd3c82278a0fe0b4990c11b419307bc6a41a4533
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.7

Release files / reclaimer-2.11.2-cp37-cp37m-win_amd64.whl

Download URL reclaimer-2.11.2-cp37-cp37m-win_amd64.whl
Size 925.7 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
c101f8605995e4756f2ee29dd4ce60c1c29e8809828f0d58f713105e13ed46fd
BLAKE2b-256 checksum
How to use checksums
0e652e20a0a6a57fc6285f84a7da12e8b42d1d31667fb1364f446b985caea227
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.7

Release files / reclaimer-2.11.2-cp37-cp37m-win32.whl

Download URL reclaimer-2.11.2-cp37-cp37m-win32.whl
Size 924.0 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
a6858badf794a4956ced3615e483a07217ca8d2adb177659038b7df1bbe3e94d
BLAKE2b-256 checksum
How to use checksums
9409f9e8c90c83809e32afffcba677095e6f2c8d59b94e4ebf170682c97372b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.7

Release files / reclaimer-2.11.2-cp36-cp36m-win_amd64.whl

Download URL reclaimer-2.11.2-cp36-cp36m-win_amd64.whl
Size 925.7 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
ae2cb5326b3589c2215ae6ca98f71bef2530fb77758f849ec755ec0c241f58d6
BLAKE2b-256 checksum
How to use checksums
bf768d2067a69947c5ccd9511d7655ef503c279965c740448b2b001f65ab9554
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.7

Release files / reclaimer-2.11.2-cp36-cp36m-win32.whl

Download URL reclaimer-2.11.2-cp36-cp36m-win32.whl
Size 924.0 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
85188023cfeef5f43010d2a87e7d1cfdfb8220f9b68c7be69cdd4c7331f81c28
BLAKE2b-256 checksum
How to use checksums
b0bc89f4414ad93b31a09b056af6d5435960a3b4a7c4f92cfbfe2b689791c2cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.7

Release history Release notifications | RSS feed

This release

2.11.2 This release

9 release files

2.11.1

9 release files

2.10.0

9 release files

2.9.14

9 release files

2.9.10

9 release files

2.9.9

7 release files

2.9.8

7 release files

2.9.7

7 release files

2.9.6

7 release files

2.9.5

7 release files

2.9.4

7 release files

2.9.3

7 release files

2.9.2

7 release files

2.9.1

7 release files

2.9.0

7 release files

2.8.0

7 release files

2.7.3

7 release files

2.7.2

7 release files

2.7.1

7 release files

2.7.0

7 release files

2.6.1

1 release file

2.6.0

1 release file

2.5.0

2 release files

2.4.4

2 release files

2.4.3

2 release files

2.4.2

2 release files

2.4.1

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.6

2 release files

2.2.5

2 release files

2.2.4

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.0

2 release files

2.1.9

2 release files

2.1.8

2 release files

2.1.7

2 release files

2.1.6

2 release files

2.1.5

2 release files

2.1.4

2 release files

2.1.2

2 release files

2.1.0

2 release files

2.0.9

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.9.9

2 release files

1.9.8

2 release files

1.9.6

2 release files

1.9.5

2 release files

1.9.4

2 release files

1.9.3

2 release files

1.9.2

2 release files

1.9.1

2 release files

1.9.0

2 release files

1.8.8

2 release files

1.8.6

2 release files

1.8.5

2 release files

1.8.4

2 release files

1.8.3

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.7

2 release files

1.7.5

2 release files

1.7.4

2 release files

1.7.3

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.6.9

2 release files

1.6.8

2 release files

1.6.6

2 release files

1.6.5

2 release files

1.6.4

2 release files

1.6.3

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.9

2 release files

1.5.8

2 release files

1.5.7

2 release files

1.5.6

2 release files

1.5.5

2 release files

1.5.2

2 release files

1.5.0

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.9

2 release files

1.3.8

2 release files

1.3.7

2 release files

1.3.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page