-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtm_import.py
More file actions
101 lines (74 loc) · 2.13 KB
/
tm_import.py
File metadata and controls
101 lines (74 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!BPY
"""
Name: 'AA The Movies Mesh (.msh)...'
Blender: 245
Group: 'Import'
Tooltip: 'Import MSH File from The Movies. (.msh)'
"""
__author__ = ["Nick Hudson"]
__url__ = ("http://dcmodding.com/main")
__version__ = "0.01"
__bpydoc__ = """\
"""
# Import modules
import Blender
from Blender import Window
import struct, os, math
from tm_structlib import TMMesh
class Fileinfo(object):
_filename = ''
_filepath = ''
_filebase = ''
_basename = ''
_basedir = ''
_imagedir = ''
def __init__(self):
self._filename = ""
def __init__(self, filename):
self._filename = filename
self.load_info()
def load_info(self):
self._filepath = os.path.dirname(self._filename)
self._filebase = os.path.basename(self._filename)
self._basename = os.path.splitext(self._filebase)[0]
self._basedir = os.path.split(self._filepath)[0]
self._imagedir = os.path.join(self._basedir, "textures")
def getFilename(self):
return self._filename
def getFilepath(self):
return self._filepath
def getFilebase(self):
return self._filebase
def getBasename(self):
return self._basename
def getBasedir(self):
return self._basedir
def getImagedir(self):
return self._imagedir
def load_msh (filename):
''' load_msh :
trigger the mesh file load in the tm_mesh class, so
that we can get the file we are opening into the
proper format, and then trigger the tm_mesh->blender
conversion.
'''
start_time = Blender.sys.time()
print '>>'
# If we are in edit mode, get out of it.
#---------------------------------------
in_editmode = Window.EditMode()
if in_editmode:
Window.EditMode(0)
fileinfo = Fileinfo(filename)
# Create the Mesh
msh_file = TMMesh()
msh_file.loadFromFile(fileinfo)
msh_file.saveToBlender()
# If we were in edit mode, resume
#--------------------------------
if in_editmode:
Window.EditMode(1)
print 'finished importing: "%s" in %.4f sec.' % (filename, (Blender.sys.time()-start_time))
def my_callback(filename):
load_msh(filename)
Blender.Window.FileSelector(my_callback, "Import The Movies Mesh", '*.msh')