mirror of
https://github.com/DarklightGames/io_scene_psk_psa.git
synced 2024-11-30 17:34:28 +01:00
44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
|
from typing import List
|
||
|
from ..data import *
|
||
|
|
||
|
class Psa(object):
|
||
|
|
||
|
class Bone(Structure):
|
||
|
_fields_ = [
|
||
|
('name', c_char * 64),
|
||
|
('flags', c_int32),
|
||
|
('children_count', c_int32),
|
||
|
('parent_index', c_int32),
|
||
|
('rotation', Quaternion),
|
||
|
('location', Vector3),
|
||
|
('padding', c_char * 16)
|
||
|
]
|
||
|
|
||
|
class Sequence(Structure):
|
||
|
_fields_ = [
|
||
|
('name', c_char * 64),
|
||
|
('group', c_char * 64),
|
||
|
('bone_count', c_int32),
|
||
|
('root_include', c_int32),
|
||
|
('compression_style', c_int32),
|
||
|
('key_quotum', c_int32), # what the fuck is a quotum
|
||
|
('key_reduction', c_float),
|
||
|
('track_time', c_float),
|
||
|
('fps', c_float),
|
||
|
('start_bone', c_int32),
|
||
|
('frame_start_index', c_int32),
|
||
|
('frame_count', c_int32)
|
||
|
]
|
||
|
|
||
|
class Key(Structure):
|
||
|
_fields_ = [
|
||
|
('location', Vector3),
|
||
|
('rotation', Quaternion),
|
||
|
('time', c_float)
|
||
|
]
|
||
|
|
||
|
def __init__(self):
|
||
|
self.bones: List[Psa.Bone] = []
|
||
|
self.sequences: List[Psa.Sequence] = []
|
||
|
self.keys: List[Psa.Key] = []
|