# cryobf
![coverage](https://gitlab.com/Menschel/cryobf/badges/master/coverage.svg)
![pipeline](https://gitlab.com/Menschel/cryobf/badges/master/pipeline.svg)
[Documentation](https://menschel.gitlab.io/cryobf/)
A python 3 unpacker for .bf files , proprietary format made by Cryo Interactive in the late 90's.
# Description
Create an unpacker utility for this format as a pre step for SCUMMVM integration.
# Usage
This utility copy's a shell executable to your local bin folder, so you can call it directly.
```
$ cryobf -h
usage: cryobf [-h] [-l] [-e] [-o OUTPUT_BASE_DIR] file
positional arguments:
file A .bf file or a directory with .bf files.
optional arguments:
-h, --help show this help message and exit
-l A flag to list the contents of FILE.
-e A flag to extract the contents of FILE.
-o OUTPUT_BASE_DIR The output base directory where to extract to, defaults
to current working directory.
```
# Listing contents
```
$ cryobf -l Return\ to\ Mysterious\ Island/datas/cd1/loc_GE_cmn.bf
{'BDi_01.ogg': {'offset': 32, 'rel_path': 'OGG/BDi_01.ogg', 'size': 60930},
'BDi_02.ogg': {'offset': 60962, 'rel_path': 'OGG/BDi_02.ogg', 'size': 112499},
'BDi_06.ogg': {'offset': 173461, 'rel_path': 'OGG/BDi_06.ogg', 'size': 57828},
'BDi_07.ogg': {'offset': 231289, 'rel_path': 'OGG/BDi_07.ogg', 'size': 61101},
'BDi_08.ogg': {'offset': 292390, 'rel_path': 'OGG/BDi_08.ogg', 'size': 24178},
'BDi_09.ogg': {'offset': 316568, 'rel_path': 'OGG/BDi_09.ogg', 'size': 86662},
'BDp_06.ogg': {'offset': 403230, 'rel_path': 'OGG/BDp_06.ogg', 'size': 83541},
```
# Extracting contents
```
$ cryobf Return\ to\ Mysterious\ Island/datas/cd1/loc_GE_cmn.bf -e -o /tmp
Writing /tmp/OGG/BDi_01.ogg - Wrote 60930 bytes
Writing /tmp/OGG/BDi_02.ogg - Wrote 112499 bytes
Writing /tmp/OGG/BDi_06.ogg - Wrote 57828 bytes
Writing /tmp/OGG/BDi_07.ogg - Wrote 61101 bytes
Writing /tmp/OGG/BDi_08.ogg - Wrote 24178 bytes
```
# Deprecation of PyPi Packages
Packages on PyPi are no longer updated due to attempts of the Python Software Foundation to enforce new rules and basically flush out
developers who do not consent.
Recent packages can be installed directly from git, i.e.
```pip install git+https://gitlab.com/menschel/cryobf.git --upgrade```
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/menschel/cryobf",
"name": "cryobf",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "",
"keywords": "",
"author": "Patrick Menschel",
"author_email": "Patrick Menschel <menschel.p@posteo.de>",
"download_url": "https://files.pythonhosted.org/packages/0a/df/741a2679826d7d4425ccbc58a81aa9745e9a0e739e1408cd4d0ea8d2acf0/cryobf-0.1.1.tar.gz",
"platform": null,
"description": "# cryobf\n\n![coverage](https://gitlab.com/Menschel/cryobf/badges/master/coverage.svg)\n![pipeline](https://gitlab.com/Menschel/cryobf/badges/master/pipeline.svg)\n\n[Documentation](https://menschel.gitlab.io/cryobf/)\n\n\nA python 3 unpacker for .bf files , proprietary format made by Cryo Interactive in the late 90's.\n\n# Description\n\nCreate an unpacker utility for this format as a pre step for SCUMMVM integration.\n\n# Usage\n\nThis utility copy's a shell executable to your local bin folder, so you can call it directly.\n```\n$ cryobf -h\nusage: cryobf [-h] [-l] [-e] [-o OUTPUT_BASE_DIR] file\n\npositional arguments:\n file A .bf file or a directory with .bf files.\n\noptional arguments:\n -h, --help show this help message and exit\n -l A flag to list the contents of FILE.\n -e A flag to extract the contents of FILE.\n -o OUTPUT_BASE_DIR The output base directory where to extract to, defaults\n to current working directory.\n```\n\n# Listing contents\n\n```\n$ cryobf -l Return\\ to\\ Mysterious\\ Island/datas/cd1/loc_GE_cmn.bf \n{'BDi_01.ogg': {'offset': 32, 'rel_path': 'OGG/BDi_01.ogg', 'size': 60930},\n 'BDi_02.ogg': {'offset': 60962, 'rel_path': 'OGG/BDi_02.ogg', 'size': 112499},\n 'BDi_06.ogg': {'offset': 173461, 'rel_path': 'OGG/BDi_06.ogg', 'size': 57828},\n 'BDi_07.ogg': {'offset': 231289, 'rel_path': 'OGG/BDi_07.ogg', 'size': 61101},\n 'BDi_08.ogg': {'offset': 292390, 'rel_path': 'OGG/BDi_08.ogg', 'size': 24178},\n 'BDi_09.ogg': {'offset': 316568, 'rel_path': 'OGG/BDi_09.ogg', 'size': 86662},\n 'BDp_06.ogg': {'offset': 403230, 'rel_path': 'OGG/BDp_06.ogg', 'size': 83541},\n```\n\n# Extracting contents\n```\n$ cryobf Return\\ to\\ Mysterious\\ Island/datas/cd1/loc_GE_cmn.bf -e -o /tmp\nWriting /tmp/OGG/BDi_01.ogg - Wrote 60930 bytes\nWriting /tmp/OGG/BDi_02.ogg - Wrote 112499 bytes\nWriting /tmp/OGG/BDi_06.ogg - Wrote 57828 bytes\nWriting /tmp/OGG/BDi_07.ogg - Wrote 61101 bytes\nWriting /tmp/OGG/BDi_08.ogg - Wrote 24178 bytes\n```\n\n# Deprecation of PyPi Packages\nPackages on PyPi are no longer updated due to attempts of the Python Software Foundation to enforce new rules and basically flush out \ndevelopers who do not consent. \nRecent packages can be installed directly from git, i.e. \n```pip install git+https://gitlab.com/menschel/cryobf.git --upgrade```\n",
"bugtrack_url": null,
"license": "",
"summary": "A python 3 unpacker for .bf files.",
"version": "0.1.1",
"project_urls": {
"Bug Tracker": "https://gitlab.com/menschel/cryobf/issues",
"Homepage": "https://gitlab.com/menschel/cryobf"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0adf741a2679826d7d4425ccbc58a81aa9745e9a0e739e1408cd4d0ea8d2acf0",
"md5": "27ea1ffc079691b7fa86058d4f13341d",
"sha256": "97827079370cb67c2bd35a29b2ddad18817644930e5299227612fcfcceff4373"
},
"downloads": -1,
"filename": "cryobf-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "27ea1ffc079691b7fa86058d4f13341d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 19618,
"upload_time": "2023-12-06T21:10:04",
"upload_time_iso_8601": "2023-12-06T21:10:04.740084Z",
"url": "https://files.pythonhosted.org/packages/0a/df/741a2679826d7d4425ccbc58a81aa9745e9a0e739e1408cd4d0ea8d2acf0/cryobf-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-06 21:10:04",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "menschel",
"gitlab_project": "cryobf",
"lcname": "cryobf"
}