turbine-lib 0.1.5__tar.gz → 0.1.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/PKG-INFO +1 -1
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/pyproject.toml +1 -1
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/datexportapi.py +5 -5
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/datfile.py +9 -1
- turbine_lib-0.1.7/turbine_lib/jpgsubfile.py +35 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/subfile.py +1 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib.egg-info/PKG-INFO +1 -1
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib.egg-info/SOURCES.txt +1 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/README.md +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/setup.cfg +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/__init__.py +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/binarydata.py +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/database.py +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/ddssubfile.py +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/font_convert.py +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/fontsubfile.py +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/libs/datexport.dll +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/libs/msvcp71.dll +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/libs/msvcp90.dll +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/libs/msvcr71.dll +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/libs/zlib1T.dll +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/subfiledata.py +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/textsubfile.py +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/textutils.py +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib/utils.py +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib.egg-info/dependency_links.txt +0 -0
- {turbine_lib-0.1.5 → turbine_lib-0.1.7}/turbine_lib.egg-info/top_level.txt +0 -0
|
@@ -72,13 +72,13 @@ class DatExportApi:
|
|
|
72
72
|
# GetSubfileData
|
|
73
73
|
self.get_subfile_data_func = self.datexport_dll.GetSubfileData
|
|
74
74
|
self.get_subfile_data_func.argtypes = [
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
ctypes.c_int32, # handle
|
|
76
|
+
ctypes.c_int32, # file_id
|
|
77
77
|
ctypes.c_void_p, # buffer for storing data
|
|
78
|
-
|
|
79
|
-
ctypes.POINTER(
|
|
78
|
+
ctypes.c_int32, # 0
|
|
79
|
+
ctypes.POINTER(ctypes.c_int32) # version
|
|
80
80
|
]
|
|
81
|
-
self.get_subfile_data_func.restype =
|
|
81
|
+
self.get_subfile_data_func.restype = ctypes.c_int32
|
|
82
82
|
|
|
83
83
|
# CloseDatFile
|
|
84
84
|
self.close_dat_file_func = self.datexport_dll.CloseDatFile
|
|
@@ -5,6 +5,7 @@ from turbine_lib.database import Database
|
|
|
5
5
|
from turbine_lib.datexportapi import DatExportApi
|
|
6
6
|
from turbine_lib.ddssubfile import DDSSubfile
|
|
7
7
|
from turbine_lib.fontsubfile import SubfileFONT
|
|
8
|
+
from turbine_lib.jpgsubfile import SubfileJPG
|
|
8
9
|
from turbine_lib.subfile import string_from_file_type, file_type_from_file_contents, FILE_TYPE, Subfile
|
|
9
10
|
from turbine_lib.subfiledata import SubfileData
|
|
10
11
|
from turbine_lib.textsubfile import TextSubfile
|
|
@@ -243,7 +244,9 @@ class DatFile:
|
|
|
243
244
|
version = 0
|
|
244
245
|
size, version = self.api_.get_subfile_data(
|
|
245
246
|
self.file_handle_, file_id, self.export_data_buf_.data(), version)
|
|
246
|
-
|
|
247
|
+
if size <= 0:
|
|
248
|
+
print(f"File size error: {file_id}")
|
|
249
|
+
return
|
|
247
250
|
data = self.export_data_buf_.cut_data(0, size)
|
|
248
251
|
file_result = self.build_for_export(file_id, data)
|
|
249
252
|
|
|
@@ -286,6 +289,9 @@ class DatFile:
|
|
|
286
289
|
elif ext == ".dds":
|
|
287
290
|
for_import = DDSSubfile.build_for_import(old_data, outer_data)
|
|
288
291
|
return for_import
|
|
292
|
+
elif ext == ".jpg":
|
|
293
|
+
for_import = SubfileJPG.build_for_import(old_data, outer_data)
|
|
294
|
+
return for_import
|
|
289
295
|
elif ext == ".fontbin":
|
|
290
296
|
for_import = SubfileFONT.build_for_import(old_data, outer_data)
|
|
291
297
|
return for_import
|
|
@@ -334,6 +340,8 @@ class DatFile:
|
|
|
334
340
|
result = DDSSubfile.build_for_export(inner_data)
|
|
335
341
|
elif file_type == FILE_TYPE.FONT:
|
|
336
342
|
result = SubfileFONT.build_for_export(inner_data)
|
|
343
|
+
elif file_type == FILE_TYPE.JPG:
|
|
344
|
+
result = SubfileJPG.build_for_export(inner_data)
|
|
337
345
|
# Add other file types as needed
|
|
338
346
|
else:
|
|
339
347
|
# Default implementation for unknown types
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
from turbine_lib.binarydata import BinaryData
|
|
2
|
+
from turbine_lib.subfile import Subfile
|
|
3
|
+
from turbine_lib.subfiledata import SubfileData
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class JPG:
|
|
7
|
+
"""Marker class for JPG file type"""
|
|
8
|
+
pass
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class SubfileJPG(Subfile):
|
|
12
|
+
"""Python translation of the C++ Subfile<JPG> template specialization"""
|
|
13
|
+
|
|
14
|
+
@staticmethod
|
|
15
|
+
def build_for_export(file_data):
|
|
16
|
+
"""
|
|
17
|
+
Build data for export from JPG file
|
|
18
|
+
:param file_data: BinaryData with file data
|
|
19
|
+
:return: SubfileData with processed data
|
|
20
|
+
"""
|
|
21
|
+
result = SubfileData()
|
|
22
|
+
result.binary_data = file_data.cut_data(24)
|
|
23
|
+
result.options["ext"] = ".jpg"
|
|
24
|
+
return result
|
|
25
|
+
|
|
26
|
+
@staticmethod
|
|
27
|
+
def build_for_import(old_data, data):
|
|
28
|
+
"""
|
|
29
|
+
Build data for import to JPG file
|
|
30
|
+
:param old_data: BinaryData with old data
|
|
31
|
+
:param data: SubfileData with new data
|
|
32
|
+
:return: BinaryData with processed data
|
|
33
|
+
"""
|
|
34
|
+
file_size = BinaryData.from_number(4, data.binary_data.size())
|
|
35
|
+
return old_data.cut_data(0, 20) + file_size + data.binary_data
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|