Skip to main content

Python tools for working with Star Citizen data files.

Project description

Python API for interactive with the data files in Star Citizen.

Hey! Listen!

This tool is in very early development. The CLI is a WIP and may not be completely plumbed up yet. If you’d like to help out and know Python, try out the API a little bit and see if you run into errors parsing files! We’re also at the stage that feature/usability feedback would be much appreciated.

Features

  • cli interface

  • TODO

CLI Examples

usage: scdt [-h] [--verbose] [--stderr] [--command-timeout COMMAND_TIMEOUT] [command] ...

positional arguments:
  [command]             Subcommand to run, if missing the interactive mode is started instead.
    cryxml-to-json      Convert a CryXML file to JSON
    cryxml-to-xml       Convert a CryXML file to xml
    unforge             Convert a DataForge file to a readable format
    unp4k               Extract files from a P4K file
    actionmap           Dumps the default profile action map (keybinds) as JSON

API Examples

Read a DataForge database (.dcb)

from scdatatools.forge import DataCoreBinary
dcb = DataCoreBinary('research/Game.dcb.3.9.1-ptu.5229583')
jav_records = dcb.search_filename('*javelin.xml')
print(dcb.dump_record_json(jav_records[-1]))

Use the StarCitizen class:

from scdatatools.sc import StarCitizen
sc = StarCitizen('D:/Path/To/LIVE')
sc.p4k.search('idris')
sc.datacore.records[0]
Made By the Star Citizen Community

This project is not endorsed by or affiliated with the Cloud Imperium or Roberts Space Industries group of companies. All game content and materials are copyright Cloud Imperium Rights LLC and Cloud Imperium Rights Ltd.. Star Citizen®, Squadron 42®, Roberts Space Industries®, and Cloud Imperium® are registered trademarks of Cloud Imperium Rights LLC. All rights reserved.

History

1.0.3 (2022-04-09)

  • Export converter options naming standardization

  • New material name normalization. All material names in mtl have spaces converted to underscores as the Blender DAE importer does not handle material names with spaces. This happens during any export as long as cryxml conversion is enabled

  • Fix cdf/chr files that have attachment points without geometry

  • Improvements and fixes to the hardsurface normals and emissions

  • Improved action map exports

  • 3.17 lighting fixes

1.0.2 (2022-03-23)

  • Many shader, texture and material enhancements and fixes in Blender importer

  • Added sentry error reporting context generation. This is used by StarFab, scdatatools does not do sentry reporting directly on it’s own

  • Added Model Asset Extractor “converter” that will automatically select the associated mtl and textures for each model in the extraction task. Not recommended while extracting the entire p4k as this will just increase the overhead

1.0.1 (2022-02-02)

  • Fixed issue when the primary part of a model was missing (cgam, but no cga)

  • Fixed an issue in texture extraction when _not_ converting or un-splitting textures

  • Improved Blender compatability checking and Blender version handling

  • Support for Blender 3.0

1.0.0 (2022-01-18)

  • First major version

  • Texture conversion utilities

  • Improved CLI commands

  • Refactored and improved Star Engine format handling

  • Star Citizen Blueprint (scbp) system

  • Plugin framework

  • Blender add-on supporting scbp imports

  • Audio (wwise) system handling

  • P4K converters to enable auto-conversion of proprietary formats during export (textures, models, etc.)

  • Prefab Library Manager

  • Object Container Manager

  • Material Library processor (mtl)

  • Launcher utilities to auto-discover installed SC versions

0.1.7 (2021-04-02)

  • Added Datacore v5 support

0.1.6 (2020-12-30)

  • Moved to GitLab

  • Updated docs

  • Improved filename searches in P4Ks

  • Dataforge records can now be outputed to xml as well

  • Improved pretty printing of XML output

0.1.5 (2020-12-9)

  • Improved path and error handling

0.1.3 (2020-12-06)

  • Added SC profile dumping (actionmaps)

  • New StarCitizen class convenience wrapper around the installation dir

  • Support for looking up localization strings

  • Dataforge fixes

0.1.2 (2020-05-20)

  • Initial commit

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scdatatools-1.0.3.tar.gz (549.8 kB view details)

Uploaded Source

Built Distribution

scdatatools-1.0.3-py2.py3-none-any.whl (502.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file scdatatools-1.0.3.tar.gz.

File metadata

  • Download URL: scdatatools-1.0.3.tar.gz
  • Upload date:
  • Size: 549.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.2

File hashes

Hashes for scdatatools-1.0.3.tar.gz
Algorithm Hash digest
SHA256 ffb087c52778eac6e983b277a1e299f03302756ba788c982d9377857f3cfa121
MD5 bafca154dc8381905b1383b297000111
BLAKE2b-256 3dd5646d1505bba50943b61c56b1493d191d41b66036184ddf64f66d914e8ab3

See more details on using hashes here.

File details

Details for the file scdatatools-1.0.3-py2.py3-none-any.whl.

File metadata

  • Download URL: scdatatools-1.0.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 502.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.2

File hashes

Hashes for scdatatools-1.0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2cb76bcc31276318bde165d8cef3948a5db462b039bcad410032fe4322c1724c
MD5 8ed4879c629e8df4b392e7c175e28562
BLAKE2b-256 a60e644b400b6bc6379991b308e82d8dc1ca8211f95537b9bab7f7811f16b0da

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page