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.

Warning

This tool suite is in it’s very early stages and will change often.

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.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.

Files for scdatatools, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size scdatatools-1.0.0.tar.gz (542.0 kB) File type Source Python version None Upload date Hashes View
Filename, size scdatatools-1.0.0-py2.py3-none-any.whl (493.1 kB) File type Wheel Python version py2.py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page