47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
'''
|
|
UI functionality for the msh2text dialog.
|
|
'''
|
|
xsi = Application
|
|
import msh2
|
|
reload(msh2)
|
|
import msh2_unpack
|
|
reload(msh2_unpack)
|
|
import os
|
|
|
|
TXTPATH = 'C:\\SWBF2_ModTools\\data_TST\\Worlds\\TST\\msh\\test\\abc.txt'
|
|
MSHPATH = 'C:\\SWBF2_ModTools\\data_TST\\Worlds\\TST\\msh\\nab2_prop_fountain.msh'
|
|
USE_HARD_PATHS = False
|
|
|
|
|
|
def get_paths():
|
|
params = PPG.Inspected(0).Parameters
|
|
if USE_HARD_PATHS or params('dev').Value:
|
|
return MSHPATH, TXTPATH
|
|
return params('mshpath').Value, params('txtpath').Value
|
|
|
|
|
|
def msh2txt_OnClicked():
|
|
mshpath, txtpath = get_paths()
|
|
if not mshpath or not txtpath:
|
|
return
|
|
unpacker = msh2_unpack.MSHUnpack(mshpath)
|
|
msh = unpacker.unpack()
|
|
if PPG.Inspected(0).Parameters('segmented').Value is True:
|
|
msh.save_segmented_json(os.path.dirname(txtpath), os.path.basename(txtpath.split('.')[0]))
|
|
else:
|
|
msh.save_json(txtpath)
|
|
|
|
|
|
def txt2msh_OnClicked():
|
|
mshpath, txtpath = get_paths()
|
|
if not mshpath or not txtpath:
|
|
return
|
|
if PPG.Inspected(0).Parameters('segmented').Value is True:
|
|
msh = msh2.Msh.load_segmented_json(os.path.dirname(txtpath), os.path.basename(txtpath.split('.')[0]))
|
|
else:
|
|
msh = msh2.Msh.load_json(txtpath)
|
|
if PPG.Inspected(0).Parameters('dev').Value:
|
|
msh.save(mshpath + '.msh')
|
|
else:
|
|
msh.save(mshpath)
|