Skip to content

Instantly share code, notes, and snippets.

@daeken
Last active October 25, 2015 07:55
Show Gist options
  • Save daeken/6b9c37b51ffe1f739339 to your computer and use it in GitHub Desktop.
Save daeken/6b9c37b51ffe1f739339 to your computer and use it in GitHub Desktop.
import sys
from Struct import *
import struct
@Struct
def Frame():
mins, maxs = vec3, vec3
local_origin = vec3
radius = float
name = string(16)
@Struct
def Tag():
name = string(64)
origin = vec3
axis = float[9]
@Struct
def Shader():
name = string(64)
index = uint32
@Struct
def Triangle():
indices = int32[3]
@Struct
def TexCoord():
st = float[2]
@Struct
def Vertex():
coord = int16[3]
normal = uint8[2]
@Struct
def Surface(self):
magic = string(4)
name = string(64)
flags = int32
num_frames, num_shaders, num_verts, num_triangles = uint32[4]
ofs_triangles, ofs_shaders, ofs_st, ofs_xyznormal, ofs_end = uint32[5]
with struct_seek(self.ofs_shaders, STRUCT_RELATIVE):
shaders = Shader()[self.num_shaders]
with struct_seek(self.ofs_triangles, STRUCT_RELATIVE):
triangle = Triangle()[self.num_triangles]
with struct_seek(self.ofs_st, STRUCT_RELATIVE):
texcoords = TexCoord()[self.num_verts]
with struct_seek(self.ofs_xyznormal, STRUCT_RELATIVE):
vertices = Vertex()[self.num_verts]
@Struct
def Header(self):
magic = string(4)
version = int32
name = string(64)
flags = int32
num_frames, num_tags, num_surfaces, num_skins = uint32[4]
ofs_frames, ofs_tags, ofs_surfaces, ofs_eof = uint32[4]
with struct_seek(self.ofs_frames, STRUCT_RELATIVE):
frames = Frame()[self.num_frames]
with struct_seek(self.ofs_tags, STRUCT_RELATIVE):
tags = Tag()[self.num_tags]
with struct_seek(self.ofs_surfaces, STRUCT_RELATIVE):
surfaces = Surface()[self.num_surfaces]
def main(fn, ofn):
fp = file(fn, 'rb')
header = Header(fp)
print header
if __name__=='__main__':
main(*sys.argv[1:])
Header(
magic='IDP3',
version=15,
name='',
flags=0,
num_frames=1,
num_tags=0,
num_surfaces=1,
num_skins=0,
ofs_frames=108,
ofs_tags=164,
ofs_surfaces=164,
ofs_eof=5892,
frames=[Frame(mins=[-4.380366802215576, -4.0489115715026855, -1.6040892601013184], maxs=[5.101879119873047, 4.0489115715026855, 7.445829391479492], local_origin=[0.0, 0.0, 0.0], radius=9.892584800720215, name='frame_1')],
tags=[],
surfaces=[Surface(magic='IDP3', name='h_head', flags=0, num_frames=1, num_shaders=1, num_verts=140, num_triangles=276, ofs_triangles=108, ofs_shaders=3420, ofs_st=3488, ofs_xyznormal=4608, ofs_end=5728, shaders=[Shader(name='E:\\projects\\oa\\baseq3\\models\\players\\doom\\lambert2SG', index=0)], triangle=[Triangle(indices=[0, 2, 1]), Triangle(indices=[3, 1, 2]), Triangle(indices=[0, 4, 2]), Triangle(indices=[5, 2, 4]), Triangle(indices=[6, 8, 7]), Triangle(indices=[7, 8, 9]), Triangle(indices=[4, 11, 10]), Triangle(indices=[11, 12, 10]), Triangle(indices=[13, 15, 14]), Triangle(indices=[14, 15, 16]), Triangle(indices=[17, 19, 18]), Triangle(indices=[20, 18, 19]), Triangle(indices=[21, 23, 22]), Triangle(indices=[23, 24, 22]), Triangle(indices=[25, 27, 26]), Triangle(indices=[26, 27, 28]), Triangle(indices=[29, 31, 30]), Triangle(indices=[30, 31, 32]), Triangle(indices=[33, 35, 34]), Triangle(indices=[34, 35, 36]), Triangle(indices=[37, 39, 38]), Triangle(indices=[39, 34, 38]), Triangle(indices=[40, 38, 34]), Triangle(indices=[41, 43, 42]), Triangle(indices=[42, 43, 26]), Triangle(indices=[44, 46, 45]), Triangle(indices=[45, 46, 47]), Triangle(indices=[47, 46, 19]), Triangle(indices=[19, 46, 48]), Triangle(indices=[1, 3, 49]), Triangle(indices=[49, 3, 36]), Triangle(indices=[3, 40, 36]), Triangle(indices=[36, 40, 34]), Triangle(indices=[5, 50, 2]), Triangle(indices=[51, 52, 50]), Triangle(indices=[50, 52, 2]), Triangle(indices=[40, 3, 52]), Triangle(indices=[52, 3, 2]), Triangle(indices=[8, 1, 9]), Triangle(indices=[9, 1, 49]), Triangle(indices=[11, 4, 53]), Triangle(indices=[4, 0, 53]), Triangle(indices=[53, 0, 8]), Triangle(indices=[8, 0, 1]), Triangle(indices=[53, 54, 11]), Triangle(indices=[11, 54, 55]), Triangle(indices=[54, 53, 6]), Triangle(indices=[53, 8, 6]), Triangle(indices=[12, 56, 10]), Triangle(indices=[56, 57, 10]), Triangle(indices=[15, 58, 56]), Triangle(indices=[56, 58, 57]), Triangle(indices=[56, 12, 59]), Triangle(indices=[59, 12, 60]), Triangle(indices=[16, 15, 59]), Triangle(indices=[59, 15, 56]), Triangle(indices=[12, 11, 60]), Triangle(indices=[60, 11, 55]), Triangle(indices=[15, 13, 58]), Triangle(indices=[58, 13, 48]), Triangle(indices=[19, 48, 20]), Triangle(indices=[48, 13, 20]), Triangle(indices=[14, 61, 13]), Triangle(indices=[20, 13, 61]), Triangle(indices=[18, 22, 17]), Triangle(indices=[17, 22, 62]), Triangle(indices=[63, 21, 18]), Triangle(indices=[22, 18, 21]), Triangle(indices=[61, 63, 20]), Triangle(indices=[63, 18, 20]), Triangle(indices=[22, 24, 62]), Triangle(indices=[62, 24, 43]), Triangle(indices=[24, 25, 43]), Triangle(indices=[43, 25, 26]), Triangle(indices=[23, 64, 24]), Triangle(indices=[25, 24, 64]), Triangle(indices=[32, 65, 27]), Triangle(indices=[28, 27, 65]), Triangle(indices=[30, 32, 66]), Triangle(indices=[32, 27, 66]), Triangle(indices=[66, 27, 64]), Triangle(indices=[64, 27, 25]), Triangle(indices=[31, 39, 32]), Triangle(indices=[32, 39, 65]), Triangle(indices=[34, 39, 33]), Triangle(indices=[39, 31, 33]), Triangle(indices=[29, 67, 31]), Triangle(indices=[33, 31, 67]), Triangle(indices=[35, 9, 36]), Triangle(indices=[36, 9, 49]), Triangle(indices=[68, 7, 35]), Triangle(indices=[9, 35, 7]), Triangle(indices=[67, 68, 33]), Triangle(indices=[68, 35, 33]), Triangle(indices=[39, 37, 65]), Triangle(indices=[65, 37, 28]), Triangle(indices=[37, 69, 28]), Triangle(indices=[28, 69, 26]), Triangle(indices=[26, 69, 42]), Triangle(indices=[70, 72, 71]), Triangle(indices=[73, 71, 72]), Triangle(indices=[74, 75, 71]), Triangle(indices=[71, 75, 70]), Triangle(indices=[75, 74, 76]), Triangle(indices=[74, 77, 76]), Triangle(indices=[43, 41, 62]), Triangle(indices=[62, 41, 17]), Triangle(indices=[47, 19, 41]), Triangle(indices=[17, 41, 19]), Triangle(indices=[51, 47, 78]), Triangle(indices=[47, 41, 78]), Triangle(indices=[78, 41, 42]), Triangle(indices=[57, 46, 10]), Triangle(indices=[44, 10, 46]), Triangle(indices=[46, 57, 48]), Triangle(indices=[48, 57, 58]), Triangle(indices=[4, 10, 5]), Triangle(indices=[10, 44, 5]), Triangle(indices=[45, 50, 44]), Triangle(indices=[44, 50, 5]), Triangle(indices=[47, 51, 45]), Triangle(indices=[50, 45, 51]), Triangle(indices=[42, 72, 78]), Triangle(indices=[78, 72, 70]), Triangle(indices=[78, 70, 51]), Triangle(indices=[51, 70, 75]), Triangle(indices=[52, 51, 76]), Triangle(indices=[51, 75, 76]), Triangle(indices=[40, 52, 77]), Triangle(indices=[52, 76, 77]), Triangle(indices=[40, 77, 38]), Triangle(indices=[38, 77, 74]), Triangle(indices=[38, 74, 37]), Triangle(indices=[37, 74, 71]), Triangle(indices=[69, 37, 73]), Triangle(indices=[37, 71, 73]), Triangle(indices=[42, 69, 72]), Triangle(indices=[69, 73, 72]), Triangle(indices=[79, 81, 80]), Triangle(indices=[82, 80, 81]), Triangle(indices=[79, 80, 83]), Triangle(indices=[84, 83, 80]), Triangle(indices=[6, 7, 85]), Triangle(indices=[85, 7, 86]), Triangle(indices=[83, 88, 87]), Triangle(indices=[87, 88, 89]), Triangle(indices=[90, 14, 91]), Triangle(indices=[14, 16, 91]), Triangle(indices=[92, 94, 93]), Triangle(indices=[95, 93, 94]), Triangle(indices=[21, 96, 23]), Triangle(indices=[23, 96, 97]), Triangle(indices=[98, 100, 99]), Triangle(indices=[99, 100, 101]), Triangle(indices=[29, 30, 102]), Triangle(indices=[102, 30, 103]), Triangle(indices=[104, 106, 105]), Triangle(indices=[105, 106, 107]), Triangle(indices=[108, 110, 109]), Triangle(indices=[109, 110, 106]), Triangle(indices=[111, 106, 110]), Triangle(indices=[112, 114, 113]), Triangle(indices=[114, 100, 113]), Triangle(indices=[115, 117, 116]), Triangle(indices=[117, 118, 116]), Triangle(indices=[118, 93, 116]), Triangle(indices=[116, 93, 119]), Triangle(indices=[81, 120, 82]), Triangle(indices=[82, 120, 107]), Triangle(indices=[82, 107, 111]), Triangle(indices=[107, 106, 111]), Triangle(indices=[84, 80, 121]), Triangle(indices=[122, 121, 123]), Triangle(indices=[121, 80, 123]), Triangle(indices=[111, 123, 82]), Triangle(indices=[82, 123, 80]), Triangle(indices=[85, 86, 81]), Triangle(indices=[86, 120, 81]), Triangle(indices=[87, 124, 83]), Triangle(indices=[83, 124, 79]), Triangle(indices=[124, 85, 79]), Triangle(indices=[85, 81, 79]), Triangle(indices=[124, 87, 54]), Triangle(indices=[54, 87, 55]), Triangle(indices=[54, 6, 124]), Triangle(indices=[124, 6, 85]), Triangle(indices=[89, 88, 125]), Triangle(indices=[125, 88, 126]), Triangle(indices=[91, 125, 127]), Triangle(indices=[127, 125, 126]), Triangle(indices=[125, 59, 89]), Triangle(indices=[59, 60, 89]), Triangle(indices=[16, 59, 91]), Triangle(indices=[91, 59, 125]), Triangle(indices=[89, 60, 87]), Triangle(indices=[60, 55, 87]), Triangle(indices=[91, 127, 90]), Triangle(indices=[90, 127, 119]), Triangle(indices=[93, 95, 119]), Triangle(indices=[119, 95, 90]), Triangle(indices=[14, 90, 61]), Triangle(indices=[95, 61, 90]), Triangle(indices=[94, 92, 96]), Triangle(indices=[92, 128, 96]), Triangle(indices=[63, 94, 21]), Triangle(indices=[96, 21, 94]), Triangle(indices=[61, 95, 63]), Triangle(indices=[63, 95, 94]), Triangle(indices=[96, 128, 97]), Triangle(indices=[97, 128, 113]), Triangle(indices=[97, 113, 98]), Triangle(indices=[113, 100, 98]), Triangle(indices=[23, 97, 64]), Triangle(indices=[98, 64, 97]), Triangle(indices=[103, 99, 129]), Triangle(indices=[101, 129, 99]), Triangle(indices=[30, 66, 103]), Triangle(indices=[103, 66, 99]), Triangle(indices=[66, 64, 99]), Triangle(indices=[99, 64, 98]), Triangle(indices=[102, 103, 109]), Triangle(indices=[103, 129, 109]), Triangle(indices=[102, 109, 104]), Triangle(indices=[109, 106, 104]), Triangle(indices=[29, 102, 67]), Triangle(indices=[104, 67, 102]), Triangle(indices=[105, 107, 86]), Triangle(indices=[107, 120, 86]), Triangle(indices=[68, 105, 7]), Triangle(indices=[86, 7, 105]), Triangle(indices=[67, 104, 68]), Triangle(indices=[68, 104, 105]), Triangle(indices=[109, 129, 108]), Triangle(indices=[108, 129, 101]), Triangle(indices=[108, 101, 130]), Triangle(indices=[101, 100, 130]), Triangle(indices=[130, 100, 114]), Triangle(indices=[131, 133, 132]), Triangle(indices=[133, 134, 132]), Triangle(indices=[135, 131, 136]), Triangle(indices=[131, 132, 136]), Triangle(indices=[136, 137, 135]), Triangle(indices=[135, 137, 138]), Triangle(indices=[113, 128, 112]), Triangle(indices=[112, 128, 92]), Triangle(indices=[118, 112, 93]), Triangle(indices=[92, 93, 112]), Triangle(indices=[122, 139, 118]), Triangle(indices=[118, 139, 112]), Triangle(indices=[112, 139, 114]), Triangle(indices=[126, 88, 116]), Triangle(indices=[115, 116, 88]), Triangle(indices=[116, 119, 126]), Triangle(indices=[119, 127, 126]), Triangle(indices=[83, 84, 88]), Triangle(indices=[88, 84, 115]), Triangle(indices=[117, 115, 121]), Triangle(indices=[121, 115, 84]), Triangle(indices=[118, 117, 122]), Triangle(indices=[121, 122, 117]), Triangle(indices=[114, 139, 134]), Triangle(indices=[134, 139, 132]), Triangle(indices=[139, 122, 132]), Triangle(indices=[132, 122, 136]), Triangle(indices=[123, 137, 122]), Triangle(indices=[122, 137, 136]), Triangle(indices=[111, 138, 123]), Triangle(indices=[123, 138, 137]), Triangle(indices=[111, 110, 138]), Triangle(indices=[138, 110, 135]), Triangle(indices=[110, 108, 135]), Triangle(indices=[135, 108, 131]), Triangle(indices=[130, 133, 108]), Triangle(indices=[108, 133, 131]), Triangle(indices=[114, 134, 130]), Triangle(indices=[130, 134, 133])], texcoords=[TexCoord(st=[0.12127500027418137, 0.18338602781295776]), TexCoord(st=[0.1163569986820221, 0.21349602937698364]), TexCoord(st=[0.18749700486660004, 0.1882460117340088]), TexCoord(st=[0.1788329929113388, 0.21631497144699097]), TexCoord(st=[0.14486199617385864, 0.17137998342514038]), TexCoord(st=[0.18739399313926697, 0.17393898963928223]), TexCoord(st=[0.02740900032222271, 0.21741098165512085]), TexCoord(st=[0.04426699876785278, 0.2936199903488159]), TexCoord(st=[0.0799420028924942, 0.2127860188484192]), TexCoord(st=[0.09237600117921829, 0.26825499534606934]), TexCoord(st=[0.17054800689220428, 0.12724798917770386]), TexCoord(st=[0.11032900214195251, 0.14831501245498657]), TexCoord(st=[0.13642600178718567, 0.11153602600097656]), TexCoord(st=[0.2486020028591156, 0.05501902103424072]), TexCoord(st=[0.2406969964504242, 0.007611989974975586]), TexCoord(st=[0.18734699487686157, 0.06375998258590698]), TexCoord(st=[0.16187100112438202, 0.022221028804779053]), TexCoord(st=[0.3301120102405548, 0.11460000276565552]), TexCoord(st=[0.3522520065307617, 0.07922202348709106]), TexCoord(st=[0.28571000695228577, 0.10063201189041138]), TexCoord(st=[0.29999300837516785, 0.06476700305938721]), TexCoord(st=[0.45120400190353394, 0.0803220272064209]), TexCoord(st=[0.40295401215553284, 0.10701102018356323]), TexCoord(st=[0.4694939851760864, 0.15047502517700195]), TexCoord(st=[0.41769900918006897, 0.1591539978981018]), TexCoord(st=[0.411206990480423, 0.2037619948387146]), TexCoord(st=[0.3605490028858185, 0.1970900297164917]), TexCoord(st=[0.39925599098205566, 0.2500839829444885]), TexCoord(st=[0.3511289954185486, 0.23568397760391235]), TexCoord(st=[0.28237301111221313, 0.32731401920318604]), TexCoord(st=[0.3916899859905243, 0.326977014541626]), TexCoord(st=[0.27043798565864563, 0.3042899966239929]), TexCoord(st=[0.35954898595809937, 0.29520100355148315]), TexCoord(st=[0.2033880054950714, 0.30016398429870605]), TexCoord(st=[0.21839100122451782, 0.2573850154876709]), TexCoord(st=[0.1403769999742508, 0.29157400131225586]), TexCoord(st=[0.1633799970149994, 0.25633400678634644]), TexCoord(st=[0.29227399826049805, 0.23144197463989258]), TexCoord(st=[0.25546300411224365, 0.23809599876403809]), TexCoord(st=[0.27240198850631714, 0.26070499420166016]), TexCoord(st=[0.2270369976758957, 0.22605401277542114]), TexCoord(st=[0.3136320114135742, 0.15613901615142822]), TexCoord(st=[0.31070101261138916, 0.18868297338485718]), TexCoord(st=[0.3672890067100525, 0.16066902875900269]), TexCoord(st=[0.20159800350666046, 0.1420530080795288]), TexCoord(st=[0.2210649996995926, 0.1417509913444519]), TexCoord(st=[0.20972700417041779, 0.12805801630020142]), TexCoord(st=[0.2642880082130432, 0.14588499069213867]), TexCoord(st=[0.24117200076580048, 0.09047102928161621]), TexCoord(st=[0.1153239980340004, 0.2539939880371094]), TexCoord(st=[0.2047329992055893, 0.17822200059890747]), TexCoord(st=[0.2447340041399002, 0.1799899935722351]), TexCoord(st=[0.22219599783420563, 0.20193302631378174]), TexCoord(st=[0.09304399788379669, 0.17348897457122803]), TexCoord(st=[0.040098000317811966, 0.15756499767303467]), TexCoord(st=[0.08789899945259094, 0.14064902067184448]), TexCoord(st=[0.14659999310970306, 0.09787899255752563]), TexCoord(st=[0.17505599558353424, 0.11352497339248657]), TexCoord(st=[0.20173099637031555, 0.08890300989151001]), TexCoord(st=[0.10434699803590775, 0.07245498895645142]), TexCoord(st=[0.10923600196838379, 0.09660601615905762]), TexCoord(st=[0.31511300802230835, 0.018024027347564697]), TexCoord(st=[0.370402991771698, 0.12434399127960205]), TexCoord(st=[0.38659799098968506, 0.04199701547622681]), TexCoord(st=[0.4642930030822754, 0.21287202835083008]), TexCoord(st=[0.33240601420402527, 0.2644299864768982]), TexCoord(st=[0.4438430070877075, 0.27585697174072266]), TexCoord(st=[0.19214099645614624, 0.32730698585510254]), TexCoord(st=[0.10724200308322906, 0.3267260193824768]), TexCoord(st=[0.3155750036239624, 0.21102100610733032]), TexCoord(st=[0.27760300040245056, 0.18732202053070068]), TexCoord(st=[0.2832129895687103, 0.22081398963928223]), TexCoord(st=[0.2961300015449524, 0.19547098875045776]), TexCoord(st=[0.29858699440956116, 0.20855998992919922]), TexCoord(st=[0.25930899381637573, 0.22554099559783936]), TexCoord(st=[0.25339600443840027, 0.1906599998474121]), TexCoord(st=[0.23876500129699707, 0.20423001050949097]), TexCoord(st=[0.24170200526714325, 0.218874990940094]), TexCoord(st=[0.2814440131187439, 0.17488402128219604]), TexCoord(st=[0.12127500027418137, 0.18338602781295776]), TexCoord(st=[0.18749700486660004, 0.1882460117340088]), TexCoord(st=[0.1163569986820221, 0.21349602937698364]), TexCoord(st=[0.1788329929113388, 0.21631497144699097]), TexCoord(st=[0.14486199617385864, 0.17137998342514038]), TexCoord(st=[0.18739399313926697, 0.17393898963928223]), TexCoord(st=[0.0799420028924942, 0.2127860188484192]), TexCoord(st=[0.09237600117921829, 0.26825499534606934]), TexCoord(st=[0.11032900214195251, 0.14831501245498657]), TexCoord(st=[0.17054800689220428, 0.12724798917770386]), TexCoord(st=[0.13642600178718567, 0.11153602600097656]), TexCoord(st=[0.2486020028591156, 0.05501902103424072]), TexCoord(st=[0.18734699487686157, 0.06375998258590698]), TexCoord(st=[0.3301120102405548, 0.11460000276565552]), TexCoord(st=[0.28571000695228577, 0.10063201189041138]), TexCoord(st=[0.3522520065307617, 0.07922202348709106]), TexCoord(st=[0.29999300837516785, 0.06476700305938721]), TexCoord(st=[0.40295401215553284, 0.10701102018356323]), TexCoord(st=[0.41769900918006897, 0.1591539978981018]), TexCoord(st=[0.411206990480423, 0.2037619948387146]), TexCoord(st=[0.39925599098205566, 0.2500839829444885]), TexCoord(st=[0.3605490028858185, 0.1970900297164917]), TexCoord(st=[0.3511289954185486, 0.23568397760391235]), TexCoord(st=[0.27043798565864563, 0.3042899966239929]), TexCoord(st=[0.35954898595809937, 0.29520100355148315]), TexCoord(st=[0.2033880054950714, 0.30016398429870605]), TexCoord(st=[0.1403769999742508, 0.29157400131225586]), TexCoord(st=[0.21839100122451782, 0.2573850154876709]), TexCoord(st=[0.1633799970149994, 0.25633400678634644]), TexCoord(st=[0.29227399826049805, 0.23144197463989258]), TexCoord(st=[0.27240198850631714, 0.26070499420166016]), TexCoord(st=[0.25546300411224365, 0.23809599876403809]), TexCoord(st=[0.2270369976758957, 0.22605401277542114]), TexCoord(st=[0.3136320114135742, 0.15613901615142822]), TexCoord(st=[0.3672890067100525, 0.16066902875900269]), TexCoord(st=[0.31070101261138916, 0.18868297338485718]), TexCoord(st=[0.20159800350666046, 0.1420530080795288]), TexCoord(st=[0.20972700417041779, 0.12805801630020142]), TexCoord(st=[0.2210649996995926, 0.1417509913444519]), TexCoord(st=[0.2642880082130432, 0.14588499069213867]), TexCoord(st=[0.24117200076580048, 0.09047102928161621]), TexCoord(st=[0.1153239980340004, 0.2539939880371094]), TexCoord(st=[0.2047329992055893, 0.17822200059890747]), TexCoord(st=[0.2447340041399002, 0.1799899935722351]), TexCoord(st=[0.22219599783420563, 0.20193302631378174]), TexCoord(st=[0.09304399788379669, 0.17348897457122803]), TexCoord(st=[0.14659999310970306, 0.09787899255752563]), TexCoord(st=[0.17505599558353424, 0.11352497339248657]), TexCoord(st=[0.20173099637031555, 0.08890300989151001]), TexCoord(st=[0.370402991771698, 0.12434399127960205]), TexCoord(st=[0.33240601420402527, 0.2644299864768982]), TexCoord(st=[0.3155750036239624, 0.21102100610733032]), TexCoord(st=[0.2832129895687103, 0.22081398963928223]), TexCoord(st=[0.27760300040245056, 0.18732202053070068]), TexCoord(st=[0.29858699440956116, 0.20855998992919922]), TexCoord(st=[0.2961300015449524, 0.19547098875045776]), TexCoord(st=[0.25930899381637573, 0.22554099559783936]), TexCoord(st=[0.25339600443840027, 0.1906599998474121]), TexCoord(st=[0.23876500129699707, 0.20423001050949097]), TexCoord(st=[0.24170200526714325, 0.218874990940094]), TexCoord(st=[0.2814440131187439, 0.17488402128219604])], vertices=[Vertex(coord=[285, 150, 132], normal=[50, 29]), Vertex(coord=[270, 145, 50], normal=[75, 34]), Vertex(coord=[150, 208, 140], normal=[52, 45]), Vertex(coord=[151, 201, 65], normal=[74, 52]), Vertex(coord=[229, 147, 154], normal=[35, 33]), Vertex(coord=[147, 182, 168], normal=[50, 37]), Vertex(coord=[320, 0, 35], normal=[71, 0]), Vertex(coord=[267, 0, -77], normal=[99, 0]), Vertex(coord=[303, 81, 46], normal=[74, 14]), Vertex(coord=[251, 78, -61], normal=[95, 27]), Vertex(coord=[207, 140, 264], normal=[74, 29]), Vertex(coord=[256, 61, 178], normal=[44, 12]), Vertex(coord=[242, 70, 264], normal=[74, 11]), Vertex(coord=[99, 90, 444], normal=[18, 30]), Vertex(coord=[108, 0, 459], normal=[16, 0]), Vertex(coord=[200, 82, 388], normal=[32, 14]), Vertex(coord=[211, 0, 401], normal=[31, 0]), Vertex(coord=[-89, 167, 399], normal=[36, 77]), Vertex(coord=[-94, 91, 454], normal=[18, 82]), Vertex(coord=[9, 179, 412], normal=[38, 64]), Vertex(coord=[3, 98, 458], normal=[14, 58]), Vertex(coord=[-210, 0, 439], normal=[22, 129]), Vertex(coord=[-196, 83, 424], normal=[33, 101]), Vertex(coord=[-263, 0, 336], normal=[48, 129]), Vertex(coord=[-248, 84, 325], normal=[51, 109]), Vertex(coord=[-262, 89, 233], normal=[60, 107]), Vertex(coord=[-201, 167, 221], normal=[63, 91]), Vertex(coord=[-260, 82, 135], normal=[70, 109]), Vertex(coord=[-200, 156, 127], normal=[70, 89]), Vertex(coord=[-79, 0, -48], normal=[113, 129]), Vertex(coord=[-227, 0, 13], normal=[101, 129]), Vertex(coord=[-68, 83, -36], normal=[109, 100]), Vertex(coord=[-212, 78, 23], normal=[93, 108]), Vertex(coord=[43, 91, -72], normal=[111, 87]), Vertex(coord=[40, 190, -18], normal=[90, 67]), Vertex(coord=[154, 83, -86], normal=[110, 53]), Vertex(coord=[147, 158, -30], normal=[91, 53]), Vertex(coord=[-89, 198, 98], normal=[85, 91]), Vertex(coord=[-18, 203, 55], normal=[92, 73]), Vertex(coord=[-67, 178, 14], normal=[92, 80]), Vertex(coord=[47, 214, 63], normal=[83, 55]), Vertex(coord=[-89, 208, 295], normal=[53, 73]), Vertex(coord=[-107, 214, 213], normal=[53, 83]), Vertex(coord=[-190, 160, 310], normal=[54, 90]), Vertex(coord=[141, 176, 256], normal=[72, 37]), Vertex(coord=[113, 203, 269], normal=[67, 48]), Vertex(coord=[152, 203, 292], normal=[69, 48]), Vertex(coord=[21, 220, 290], normal=[57, 62]), Vertex(coord=[109, 166, 402], normal=[34, 44]), Vertex(coord=[235, 123, -40], normal=[87, 42]), Vertex(coord=[121, 211, 172], normal=[56, 41]), Vertex(coord=[39, 231, 190], normal=[50, 48]), Vertex(coord=[73, 226, 121], normal=[68, 45]), Vertex(coord=[308, 85, 138], normal=[44, 13]), Vertex(coord=[326, 0, 134], normal=[38, 0]), Vertex(coord=[267, 0, 182], normal=[42, 0]), Vertex(coord=[259, 82, 296], normal=[64, 14]), Vertex(coord=[226, 149, 293], normal=[62, 31]), Vertex(coord=[185, 139, 369], normal=[37, 27]), Vertex(coord=[271, 0, 297], normal=[62, 0]), Vertex(coord=[254, 0, 261], normal=[65, 0]), Vertex(coord=[1, 0, 476], normal=[3, 0]), Vertex(coord=[-167, 139, 391], normal=[44, 88]), Vertex(coord=[-106, 0, 470], normal=[5, 129]), Vertex(coord=[-280, 0, 236], normal=[61, 129]), Vertex(coord=[-181, 153, 45], normal=[80, 90]), Vertex(coord=[-276, 0, 128], normal=[75, 129]), Vertex(coord=[44, 0, -87], normal=[117, 129]), Vertex(coord=[167, 0, -102], normal=[127, 0]), Vertex(coord=[-128, 203, 162], normal=[67, 94]), Vertex(coord=[-39, 255, 202], normal=[45, 62]), Vertex(coord=[-79, 234, 103], normal=[78, 79]), Vertex(coord=[-93, 246, 191], normal=[50, 84]), Vertex(coord=[-109, 237, 152], normal=[74, 99]), Vertex(coord=[-25, 237, 71], normal=[88, 77]), Vertex(coord=[18, 259, 174], normal=[58, 58]), Vertex(coord=[44, 255, 121], normal=[64, 47]), Vertex(coord=[24, 246, 77], normal=[91, 48]), Vertex(coord=[-36, 226, 227], normal=[43, 68]), Vertex(coord=[285, -150, 132], normal=[50, 227]), Vertex(coord=[150, -208, 140], normal=[52, 211]), Vertex(coord=[270, -145, 50], normal=[75, 222]), Vertex(coord=[151, -201, 65], normal=[74, 204]), Vertex(coord=[229, -147, 154], normal=[35, 223]), Vertex(coord=[147, -182, 168], normal=[50, 219]), Vertex(coord=[303, -81, 46], normal=[74, 242]), Vertex(coord=[251, -78, -61], normal=[95, 229]), Vertex(coord=[256, -61, 178], normal=[44, 244]), Vertex(coord=[207, -140, 264], normal=[74, 227]), Vertex(coord=[242, -70, 264], normal=[74, 245]), Vertex(coord=[99, -90, 444], normal=[18, 226]), Vertex(coord=[200, -82, 388], normal=[32, 242]), Vertex(coord=[-89, -167, 399], normal=[36, 179]), Vertex(coord=[9, -179, 412], normal=[38, 192]), Vertex(coord=[-94, -91, 454], normal=[18, 174]), Vertex(coord=[3, -98, 458], normal=[14, 198]), Vertex(coord=[-196, -83, 424], normal=[33, 155]), Vertex(coord=[-248, -84, 325], normal=[51, 147]), Vertex(coord=[-262, -89, 233], normal=[60, 149]), Vertex(coord=[-260, -82, 135], normal=[70, 147]), Vertex(coord=[-201, -167, 221], normal=[63, 165]), Vertex(coord=[-200, -156, 127], normal=[70, 167]), Vertex(coord=[-68, -83, -36], normal=[109, 156]), Vertex(coord=[-212, -78, 23], normal=[93, 148]), Vertex(coord=[43, -91, -72], normal=[111, 169]), Vertex(coord=[154, -83, -86], normal=[110, 203]), Vertex(coord=[40, -190, -18], normal=[90, 189]), Vertex(coord=[147, -158, -30], normal=[91, 203]), Vertex(coord=[-89, -198, 98], normal=[85, 165]), Vertex(coord=[-67, -178, 14], normal=[92, 176]), Vertex(coord=[-18, -203, 55], normal=[92, 183]), Vertex(coord=[47, -214, 63], normal=[83, 201]), Vertex(coord=[-89, -208, 295], normal=[53, 183]), Vertex(coord=[-190, -160, 310], normal=[54, 166]), Vertex(coord=[-107, -214, 213], normal=[53, 173]), Vertex(coord=[141, -176, 256], normal=[72, 219]), Vertex(coord=[152, -203, 292], normal=[69, 208]), Vertex(coord=[113, -203, 269], normal=[67, 208]), Vertex(coord=[21, -220, 290], normal=[57, 194]), Vertex(coord=[109, -166, 402], normal=[34, 212]), Vertex(coord=[235, -123, -40], normal=[87, 214]), Vertex(coord=[121, -211, 172], normal=[56, 215]), Vertex(coord=[39, -231, 190], normal=[50, 208]), Vertex(coord=[73, -226, 121], normal=[68, 211]), Vertex(coord=[308, -85, 138], normal=[44, 243]), Vertex(coord=[259, -82, 296], normal=[64, 242]), Vertex(coord=[226, -149, 293], normal=[62, 225]), Vertex(coord=[185, -139, 369], normal=[37, 229]), Vertex(coord=[-167, -139, 391], normal=[44, 168]), Vertex(coord=[-181, -153, 45], normal=[80, 166]), Vertex(coord=[-128, -203, 162], normal=[67, 162]), Vertex(coord=[-79, -234, 103], normal=[80, 174]), Vertex(coord=[-39, -255, 202], normal=[50, 192]), Vertex(coord=[-109, -237, 152], normal=[74, 164]), Vertex(coord=[-93, -246, 191], normal=[46, 168]), Vertex(coord=[-25, -237, 71], normal=[88, 179]), Vertex(coord=[18, -259, 174], normal=[58, 198]), Vertex(coord=[44, -255, 121], normal=[64, 209]), Vertex(coord=[24, -246, 77], normal=[91, 208]), Vertex(coord=[-36, -226, 227], normal=[43, 188])])]
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment