Mercurial > hg > tilerswift
changeset 125:1117edef8b2b draft default tip
NES_ROM: new `from_json` and `to_json` methods
To allow saving/loading the ROM status.
author | Jordi GutiƩrrez Hermoso <jordigh@octave.org> |
---|---|
date | Wed, 02 Oct 2019 09:15:51 -0400 (2019-10-02) |
parents | a74c65cd0ce3 |
children | |
files | nes.py |
diffstat | 1 files changed, 19 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/nes.py +++ b/nes.py @@ -1,3 +1,4 @@ +import json from zipfile import ZipFile, BadZipFile from PyQt5 import QtGui as QG @@ -102,6 +103,24 @@ self.rotate_tile_data(-1) self.update_tiles() + def to_json(self): + data = { + "initial_position": self.initial_position, + "filename": self.filename, + "tile_palettes": [tile.palette for tile in self.tiles], + } + + return json.dumps(data) + + @classmethod + def from_json(cls, data): + data = json.loads(data) + filename = data['filename'] + palettes = data['tile_palettes'] + initial_position = data['initial_position'] + + return cls(filename=filename, palettes=palettes, initial_position=initial_position) + class Tile(object): """