Merge pull request #63 from yenatch/map-editor-saving

map_editor: allow saving new maps + save file dialog
This commit is contained in:
Bryan Bishop 2013-12-29 01:18:49 -08:00
commit 074e47aeea
2 changed files with 10 additions and 2 deletions

View File

@ -1566,11 +1566,16 @@ def export_lz_to_png(filename):
"""
assert filename[-3:] == ".lz"
lz_data = open(filename, "rb").read()
bpp = Decompressed(lz_data).output
bpp_filename = filename.replace(".lz", ".2bpp")
to_file(bpp_filename, bpp)
export_2bpp_to_png(bpp_filename)
# touch the lz file so it doesn't get remade
os.utime(filename, None)
def dump_tileset_pngs():
"""
Convert .lz format tilesets into .png format tilesets.

View File

@ -15,6 +15,7 @@ from Tkinter import (
X,
TclError,
)
import tkFileDialog
from ttk import (
Frame,
@ -178,7 +179,8 @@ class Application(Frame):
def new_map(self):
self.map_name = None
self.init_map()
self.map.blockdata = [self.paint_tile] * 20 * 20
self.map.blockdata_filename = os.path.join(self.config.map_dir, 'newmap.blk')
self.map.blockdata = bytearray([self.paint_tile] * 20 * 20)
self.map.width = 20
self.map.height = 20
self.draw_map()
@ -193,7 +195,8 @@ class Application(Frame):
def save_map(self):
if hasattr(self, 'map'):
if self.map.blockdata_filename:
with open(self.map.blockdata_filename, 'wb') as save:
filename = tkFileDialog.asksaveasfilename(initialfile=self.map.blockdata_filename)
with open(filename, 'wb') as save:
save.write(self.map.blockdata)
self.log.info('blockdata saved as {}'.format(self.map.blockdata_filename))
else: