forked from K0lb3/UnityPy
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathVideoClip.py
More file actions
44 lines (39 loc) · 1.79 KB
/
Copy pathVideoClip.py
File metadata and controls
44 lines (39 loc) · 1.79 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
from .NamedObject import NamedObject
from ..helpers.ResourceReader import get_resource_data
from .PPtr import PPtr
class VideoClip(NamedObject):
def __init__(self, reader):
super().__init__(reader=reader)
self.m_OriginalPath = reader.read_aligned_string()
self.m_ProxyWidth = reader.read_u_int()
self.m_ProxyHeight = reader.read_u_int()
self.Width = reader.read_u_int()
self.Height = reader.read_u_int()
if self.version >= (2017, 2): # 2017.2 and up
self.m_PixelAspecRatioNum = reader.read_u_int()
self.m_PixelAspecRatioDen = reader.read_u_int()
self.m_FrameRate = reader.read_double()
self.m_FrameCount = reader.read_u_long()
self.m_Format = reader.read_int()
self.m_AudioChannelCount = reader.read_u_short_array()
reader.align_stream()
self.m_AudioSampleRate = reader.read_u_int_array()
self.m_AudioLanguage = reader.read_string_array()
if self.version >= (2020,): # 2020.1 and up
m_VideoShadersSize = reader.read_int()
self.m_VideoShaders = [
PPtr(reader) for _ in range(m_VideoShadersSize)
]
# m_ExternalResources = new StreamedResource(reader)
self.source = reader.read_aligned_string()
self.offset = reader.read_u_long()
self.size = reader.read_u_long()
self.m_HasSplitAlpha = reader.read_boolean()
if self.version >= (2020,): # 2020.1 and up
self.m_sRGB = reader.read_boolean()
if self.source:
self.m_VideoData = get_resource_data(
self.source, self.assets_file, self.offset, self.size)
else:
self.reader.Position = self.data_offset
self.m_VideoData = self.reader.read_bytes(self.size)