Darksouls Save File Parser for fetching data issues
Project description
Darksouls Save File Parser
==========================
.. image:: https://travis-ci.org/tarvitz/dsfp.svg?branch=master
:target: https://travis-ci.org/tarvitz/dsfp
* DSFP means Darksouls Save File Parser.
* `Dark Souls <http://darksouls.wikia.com/wiki/Dark_Souls>`_ is game of
Namco Bandai with pretty hard to get it finished without being killed.
Lot's of death, fun and broken gamepads/keyboards.
**DSFP** *serves* for getting/fetching your saved characters statistics purposes.
.. contents:: :local:
:depth: 2
Original source
~~~~~~~~~~~~~~~
Original source and some key knowledge were taken from this
`gist <https://gist.github.com/infausto/8382836/>`_.
Common features
~~~~~~~~~~~~~~~
Supports fetching data about character's death, his/her general stats, hp and stamina.
Whole bunch of reversed stats you can see in datasheet document which is placed
`here <docs/datasheet.rst>`_
(*Help for reverse engineering DarkSouls save file is appreciated*).
Installation
~~~~~~~~~~~~
For general installation you would probably need virtual environment with pip
installed:
Python 2.7
``````````
.. code-block:: bash
user@localhost$ virtualenv --no-site-packages venv
user@localhost$ source venv/bin/activate
user@localhost$ pip install -r requirements/base.txt
*optional*
.. code-block:: bash
user@localhost$ pip install -r requirements/docs.txt
Python 3.x
``````````
document build requirements stored in py3.txt
.. code-block:: bash
user@localhost$ virtualenv --no-site-packages venv3
user@localhost$ source venv3/bin/activate
user@localhost$ pip install -r requirements/py3.txt
Dependencies
------------
* python 2.7
* python 3.3
* python 3.4
Tests
~~~~~
Simply run ``python setup.py test`` or
You could run tests via `python -m unittest module` or via `run_tests.sh` script
.. code-block:: bash
user@localhost$ ./run_tests.sh tests.TestDSFPReader
Fast Usage
~~~~~~~~~~
You can parse Dark Souls save files and get data in standard python
dictionary format
.. code-block:: python
>>> import dsfp
>>> ds = dsfp.DSSaveFileParser('saves/DRAKS0005.sl2')
>>> data = ds.get_stats()
>>> data
[{
'attunement': 8, 'body': 0, 'class': 0, 'color': 0, 'deaths': 0,
'dexterity': 13, 'earned': 60, 'endurance': 12, 'face': 0, 'faith': 9,
'gift': 0, 'hairs': 0, 'hp': 594, 'hp2': 594, 'hp_current': 594,
'humanity': 0, 'intelligence': 9, 'level': 4,
'male': False, # False means female
'name': u'TEST_2', 'resistance': 11, 'souls': 60, 'stamina': 95,
'stamina2': 95, 'stamina3': 95, 'strength': 13,
'time': 62, # in seconds
'vitality': 11
}]
Datasheets
~~~~~~~~~~
There's no many information about Dark Souls save file format (as well as the
other games), so there's not much complete around its format.
Some knowledge represented `here <docs/datasheet.rst>`_.
Please notify me here or by email (tarvitz [at] blacklibrary.ru)
if you have something interesting around whole file format.
Documentation
~~~~~~~~~~~~~
Whole bunch of the docs you can read by clicking this link
`dsfp.readthedocs.org <http://dsfp.readthedocs.org>`_
Development
~~~~~~~~~~~
.. note::
Huge buch of data now represented in datasheets are still not covered in
dsfp "api" just cause whole file-format and its datasheet is the main priority.
You can use it for build your own parser or just read some non-random data
from *.sl2 files.
Though dsfp is not complete as it should, please search/read information in
the docs mentioned above.
Roadmap
~~~~~~~
I have no certain roadmap for this project and I inspect the data whenever I want
to do it. In general these moments could be very short/long from time to time. So don't
expect me finishing this work to some certain moment or something clear enough.
Use ``./scripts/watcher.py`` and the other scripts (or may be another methods) to inspect
data you need, contact me if you want to share them and have fun ;).
==========================
.. image:: https://travis-ci.org/tarvitz/dsfp.svg?branch=master
:target: https://travis-ci.org/tarvitz/dsfp
* DSFP means Darksouls Save File Parser.
* `Dark Souls <http://darksouls.wikia.com/wiki/Dark_Souls>`_ is game of
Namco Bandai with pretty hard to get it finished without being killed.
Lot's of death, fun and broken gamepads/keyboards.
**DSFP** *serves* for getting/fetching your saved characters statistics purposes.
.. contents:: :local:
:depth: 2
Original source
~~~~~~~~~~~~~~~
Original source and some key knowledge were taken from this
`gist <https://gist.github.com/infausto/8382836/>`_.
Common features
~~~~~~~~~~~~~~~
Supports fetching data about character's death, his/her general stats, hp and stamina.
Whole bunch of reversed stats you can see in datasheet document which is placed
`here <docs/datasheet.rst>`_
(*Help for reverse engineering DarkSouls save file is appreciated*).
Installation
~~~~~~~~~~~~
For general installation you would probably need virtual environment with pip
installed:
Python 2.7
``````````
.. code-block:: bash
user@localhost$ virtualenv --no-site-packages venv
user@localhost$ source venv/bin/activate
user@localhost$ pip install -r requirements/base.txt
*optional*
.. code-block:: bash
user@localhost$ pip install -r requirements/docs.txt
Python 3.x
``````````
document build requirements stored in py3.txt
.. code-block:: bash
user@localhost$ virtualenv --no-site-packages venv3
user@localhost$ source venv3/bin/activate
user@localhost$ pip install -r requirements/py3.txt
Dependencies
------------
* python 2.7
* python 3.3
* python 3.4
Tests
~~~~~
Simply run ``python setup.py test`` or
You could run tests via `python -m unittest module` or via `run_tests.sh` script
.. code-block:: bash
user@localhost$ ./run_tests.sh tests.TestDSFPReader
Fast Usage
~~~~~~~~~~
You can parse Dark Souls save files and get data in standard python
dictionary format
.. code-block:: python
>>> import dsfp
>>> ds = dsfp.DSSaveFileParser('saves/DRAKS0005.sl2')
>>> data = ds.get_stats()
>>> data
[{
'attunement': 8, 'body': 0, 'class': 0, 'color': 0, 'deaths': 0,
'dexterity': 13, 'earned': 60, 'endurance': 12, 'face': 0, 'faith': 9,
'gift': 0, 'hairs': 0, 'hp': 594, 'hp2': 594, 'hp_current': 594,
'humanity': 0, 'intelligence': 9, 'level': 4,
'male': False, # False means female
'name': u'TEST_2', 'resistance': 11, 'souls': 60, 'stamina': 95,
'stamina2': 95, 'stamina3': 95, 'strength': 13,
'time': 62, # in seconds
'vitality': 11
}]
Datasheets
~~~~~~~~~~
There's no many information about Dark Souls save file format (as well as the
other games), so there's not much complete around its format.
Some knowledge represented `here <docs/datasheet.rst>`_.
Please notify me here or by email (tarvitz [at] blacklibrary.ru)
if you have something interesting around whole file format.
Documentation
~~~~~~~~~~~~~
Whole bunch of the docs you can read by clicking this link
`dsfp.readthedocs.org <http://dsfp.readthedocs.org>`_
Development
~~~~~~~~~~~
.. note::
Huge buch of data now represented in datasheets are still not covered in
dsfp "api" just cause whole file-format and its datasheet is the main priority.
You can use it for build your own parser or just read some non-random data
from *.sl2 files.
Though dsfp is not complete as it should, please search/read information in
the docs mentioned above.
Roadmap
~~~~~~~
I have no certain roadmap for this project and I inspect the data whenever I want
to do it. In general these moments could be very short/long from time to time. So don't
expect me finishing this work to some certain moment or something clear enough.
Use ``./scripts/watcher.py`` and the other scripts (or may be another methods) to inspect
data you need, contact me if you want to share them and have fun ;).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dsfp-0.0.1.tar.gz
(9.8 kB
view details)
File details
Details for the file dsfp-0.0.1.tar.gz
.
File metadata
- Download URL: dsfp-0.0.1.tar.gz
- Upload date:
- Size: 9.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1552920538111211b3d01bc6f22733446608737c4fed01d11508243ba56e773c |
|
MD5 | af4134b9688b83e2eb580e409301a83e |
|
BLAKE2b-256 | 82bbcfde8f5565b53e76686a789192ccfc232d8fd2f09c1f93190a7aa06b543c |