rubymarshal is a library that decodes files in the Ruby marshal format (like .rxdata files). Not all features of the format are currently supported.
Parsing standard Ruby marshal files:
import rubymarshal
with open(filename, "rb") as f:
reader = rubymarshal.Reader(f)
data = reader.read()Parsing .rxdata files:
import rubymarshal
from rubymarshal import rmxptypes # Adds support for RPG Maker XP types
with open("System.rxdata", "rb") as f:
reader = rubymarshal.Reader(f)
data = reader.read()
print(data)
# #<RPG::System:0x01234567>Used for reading ruby marshal files. Methods:
Creates a new Reader object. Arguments:
| Name | Description |
|---|---|
| stream | The file from which the data will be read. |
Reads next object in the file. This method usually needs to be called only once.
A string read from a ruby marshal file. NOTE: This object doesn't support most str methods! Methods:
Convert this object into a string.
A class that represents a ruby object. You can access its attributes like any other python object. Methods:
Returns all attributes of the object.
A Ruby symbol. Methods:
Returns the symbol as a string, without the : character at the beginning.
Exception that is thrown when the reader encounters a decoding error.
Exception that is thrown when the reader encounters a decoding error.
Exception that is thrown when the reader encounters a decoding error.
Exception that is thrown when the reader encounters a decoding error.
Exception that is thrown when the reader encounters a decoding error.
Exception that is thrown when the reader encounters a decoding error.
An RGSS Tone object.
Attributes:
| Name | Description |
|---|---|
| r | Red |
| g | Green |
| b | Blue |
| g | Gray |
An RGSS Color object.
Attributes:
| Name | Description |
|---|---|
| r | Red |
| g | Green |
| b | Blue |
| a | Alpha |
An RGSS Table object, usually used for map data.
Attributes:
| Name | Description |
|---|---|
| w | Width |
| h | Height |
| d | Depth |
Methods:
Gets an integer at [*xyz].
Sets an integer at [*xyz].