sourcepp 2025.6.21.dev2__tar.gz → 2025.7.11.dev1__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.
- {sourcepp-2025.6.21.dev2 → sourcepp-2025.7.11.dev1}/CMakeLists.txt +2 -2
- {sourcepp-2025.6.21.dev2 → sourcepp-2025.7.11.dev1}/PKG-INFO +18 -6
- {sourcepp-2025.6.21.dev2 → sourcepp-2025.7.11.dev1}/README.md +17 -5
- {sourcepp-2025.6.21.dev2 → sourcepp-2025.7.11.dev1}/pyproject.toml +1 -1
- {sourcepp-2025.6.21.dev2 → sourcepp-2025.7.11.dev1}/src/sourcepp/__init__.py +1 -1
- {sourcepp-2025.6.21.dev2 → sourcepp-2025.7.11.dev1}/src/steampp.h +1 -0
- {sourcepp-2025.6.21.dev2 → sourcepp-2025.7.11.dev1}/src/vtfpp.h +11 -10
- {sourcepp-2025.6.21.dev2 → sourcepp-2025.7.11.dev1}/LICENSE +0 -0
- {sourcepp-2025.6.21.dev2 → sourcepp-2025.7.11.dev1}/THIRDPARTY_LEGAL_NOTICES.txt +0 -0
- {sourcepp-2025.6.21.dev2 → sourcepp-2025.7.11.dev1}/cfg/CMakeLists.txt +0 -0
- {sourcepp-2025.6.21.dev2 → sourcepp-2025.7.11.dev1}/cfg/pyproject.toml +0 -0
- {sourcepp-2025.6.21.dev2 → sourcepp-2025.7.11.dev1}/src/bsppp.h +0 -0
- {sourcepp-2025.6.21.dev2 → sourcepp-2025.7.11.dev1}/src/gamepp.h +0 -0
- {sourcepp-2025.6.21.dev2 → sourcepp-2025.7.11.dev1}/src/sourcepp.cpp +0 -0
- {sourcepp-2025.6.21.dev2 → sourcepp-2025.7.11.dev1}/src/sourcepp.h +0 -0
- {sourcepp-2025.6.21.dev2 → sourcepp-2025.7.11.dev1}/src/toolpp.h +0 -0
- {sourcepp-2025.6.21.dev2 → sourcepp-2025.7.11.dev1}/src/vcryptpp.h +0 -0
|
@@ -30,7 +30,7 @@ endif()
|
|
|
30
30
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
31
31
|
|
|
32
32
|
set(SOURCEPP_BUILD_PYTHON_WRAPPERS ON CACHE INTERNAL "" FORCE)
|
|
33
|
-
set(SOURCEPP_VERSION "2025.
|
|
33
|
+
set(SOURCEPP_VERSION "2025.07.11dev1")
|
|
34
34
|
|
|
35
35
|
# As weird as this looks, this is necessary for sdist wheel
|
|
36
36
|
set(SOURCEPP_PYTHON_IS_SUBDIR OFF)
|
|
@@ -41,6 +41,6 @@ else()
|
|
|
41
41
|
FetchContent_Declare(
|
|
42
42
|
sourcepp
|
|
43
43
|
GIT_REPOSITORY "https://github.com/craftablescience/sourcepp.git"
|
|
44
|
-
GIT_TAG "
|
|
44
|
+
GIT_TAG "7ced3fc716d226bcf819aaec97ec8ac2ae7c8406")
|
|
45
45
|
FetchContent_MakeAvailable(sourcepp)
|
|
46
46
|
endif()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sourcepp
|
|
3
|
-
Version: 2025.
|
|
3
|
+
Version: 2025.7.11.dev1
|
|
4
4
|
Summary: Several modern C++20 libraries for sanely parsing Valve formats.
|
|
5
5
|
Author-Email: craftablescience <lauralewisdev@gmail.com>
|
|
6
6
|
Maintainer-Email: craftablescience <lauralewisdev@gmail.com>
|
|
@@ -89,11 +89,17 @@ Several modern C++20 libraries for sanely parsing Valve formats, rolled into one
|
|
|
89
89
|
</tr>
|
|
90
90
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
91
91
|
<tr>
|
|
92
|
-
<td rowspan="
|
|
93
|
-
<td><a href="https://developer.valvesoftware.com/wiki/KeyValues">KeyValues</a> Text
|
|
92
|
+
<td rowspan="3"><code>kvpp</code></td>
|
|
93
|
+
<td><a href="https://developer.valvesoftware.com/wiki/KeyValues">KeyValues</a> v1 Text<sup>†</sup></td>
|
|
94
|
+
<td align="center">✅</td>
|
|
95
|
+
<td align="center">✅</td>
|
|
96
|
+
<td rowspan="3" align="center"></td>
|
|
97
|
+
</tr>
|
|
98
|
+
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
99
|
+
<tr>
|
|
100
|
+
<td><a href="https://developer.valvesoftware.com/wiki/KeyValues">KeyValues</a> v1 Binary</td>
|
|
94
101
|
<td align="center">✅</td>
|
|
95
102
|
<td align="center">✅</td>
|
|
96
|
-
<td rowspan="1" align="center"></td>
|
|
97
103
|
</tr>
|
|
98
104
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
99
105
|
<tr>
|
|
@@ -131,11 +137,11 @@ Several modern C++20 libraries for sanely parsing Valve formats, rolled into one
|
|
|
131
137
|
</tr>
|
|
132
138
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
133
139
|
<tr>
|
|
134
|
-
<td rowspan="
|
|
140
|
+
<td rowspan="5"><code>steampp</code></td>
|
|
135
141
|
<td>Find Steam install folder</td>
|
|
136
142
|
<td align="center">✅</td>
|
|
137
143
|
<td align="center">-</td>
|
|
138
|
-
<td rowspan="
|
|
144
|
+
<td rowspan="5" align="center">C<br>Python</td>
|
|
139
145
|
</tr>
|
|
140
146
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
141
147
|
<tr>
|
|
@@ -144,6 +150,12 @@ Several modern C++20 libraries for sanely parsing Valve formats, rolled into one
|
|
|
144
150
|
<td align="center">-</td>
|
|
145
151
|
</tr>
|
|
146
152
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
153
|
+
<tr>
|
|
154
|
+
<td>Find Steam game library assets</td>
|
|
155
|
+
<td align="center">✅</td>
|
|
156
|
+
<td align="center">-</td>
|
|
157
|
+
</tr>
|
|
158
|
+
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
147
159
|
<tr>
|
|
148
160
|
<td rowspan="3"><code>toolpp</code></td>
|
|
149
161
|
<td>
|
|
@@ -67,11 +67,17 @@ Several modern C++20 libraries for sanely parsing Valve formats, rolled into one
|
|
|
67
67
|
</tr>
|
|
68
68
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
69
69
|
<tr>
|
|
70
|
-
<td rowspan="
|
|
71
|
-
<td><a href="https://developer.valvesoftware.com/wiki/KeyValues">KeyValues</a> Text
|
|
70
|
+
<td rowspan="3"><code>kvpp</code></td>
|
|
71
|
+
<td><a href="https://developer.valvesoftware.com/wiki/KeyValues">KeyValues</a> v1 Text<sup>†</sup></td>
|
|
72
|
+
<td align="center">✅</td>
|
|
73
|
+
<td align="center">✅</td>
|
|
74
|
+
<td rowspan="3" align="center"></td>
|
|
75
|
+
</tr>
|
|
76
|
+
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
77
|
+
<tr>
|
|
78
|
+
<td><a href="https://developer.valvesoftware.com/wiki/KeyValues">KeyValues</a> v1 Binary</td>
|
|
72
79
|
<td align="center">✅</td>
|
|
73
80
|
<td align="center">✅</td>
|
|
74
|
-
<td rowspan="1" align="center"></td>
|
|
75
81
|
</tr>
|
|
76
82
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
77
83
|
<tr>
|
|
@@ -109,11 +115,11 @@ Several modern C++20 libraries for sanely parsing Valve formats, rolled into one
|
|
|
109
115
|
</tr>
|
|
110
116
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
111
117
|
<tr>
|
|
112
|
-
<td rowspan="
|
|
118
|
+
<td rowspan="5"><code>steampp</code></td>
|
|
113
119
|
<td>Find Steam install folder</td>
|
|
114
120
|
<td align="center">✅</td>
|
|
115
121
|
<td align="center">-</td>
|
|
116
|
-
<td rowspan="
|
|
122
|
+
<td rowspan="5" align="center">C<br>Python</td>
|
|
117
123
|
</tr>
|
|
118
124
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
119
125
|
<tr>
|
|
@@ -122,6 +128,12 @@ Several modern C++20 libraries for sanely parsing Valve formats, rolled into one
|
|
|
122
128
|
<td align="center">-</td>
|
|
123
129
|
</tr>
|
|
124
130
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
131
|
+
<tr>
|
|
132
|
+
<td>Find Steam game library assets</td>
|
|
133
|
+
<td align="center">✅</td>
|
|
134
|
+
<td align="center">-</td>
|
|
135
|
+
</tr>
|
|
136
|
+
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
125
137
|
<tr>
|
|
126
138
|
<td rowspan="3"><code>toolpp</code></td>
|
|
127
139
|
<td>
|
|
@@ -5,7 +5,7 @@ build-backend = "scikit_build_core.build"
|
|
|
5
5
|
|
|
6
6
|
[project]
|
|
7
7
|
name = "sourcepp"
|
|
8
|
-
version = "2025.
|
|
8
|
+
version = "2025.07.11dev1"
|
|
9
9
|
authors = [{ name = "craftablescience", email = "lauralewisdev@gmail.com" }]
|
|
10
10
|
maintainers = [{ name = "craftablescience", email = "lauralewisdev@gmail.com" }]
|
|
11
11
|
description = "Several modern C++20 libraries for sanely parsing Valve formats."
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from ._sourcepp_impl import __doc__, bsppp, gamepp, sourcepp, steampp, toolpp, vcryptpp, vtfpp
|
|
2
2
|
|
|
3
3
|
__author__ = "craftablescience"
|
|
4
|
-
__version__ = "2025.
|
|
4
|
+
__version__ = "2025.07.11dev1"
|
|
5
5
|
__all__ = ['__author__', '__doc__', '__version__', 'bsppp', 'gamepp', 'sourcepp', 'steampp', 'toolpp', 'vcryptpp', 'vtfpp']
|
|
@@ -26,6 +26,7 @@ inline void register_python(py::module_& m) {
|
|
|
26
26
|
.def("get_app_install_dir", &Steam::getAppInstallDir, py::arg("appID"))
|
|
27
27
|
.def("get_app_icon_path", &Steam::getAppIconPath, py::arg("appID"))
|
|
28
28
|
.def("get_app_logo_path", &Steam::getAppLogoPath, py::arg("appID"))
|
|
29
|
+
.def("get_app_hero_path", &Steam::getAppHeroPath, py::arg("appID"))
|
|
29
30
|
.def("get_app_box_art_path", &Steam::getAppBoxArtPath, py::arg("appID"))
|
|
30
31
|
.def("get_app_store_art_path", &Steam::getAppStoreArtPath, py::arg("appID"))
|
|
31
32
|
.def("is_app_using_goldsrc_engine", &Steam::isAppUsingGoldSrcEngine, py::arg("appID"))
|
|
@@ -22,9 +22,10 @@ inline void register_python(py::module_& m) {
|
|
|
22
22
|
auto cHOTRect = py::class_<HOT::Rect>(cHOT, "Rect");
|
|
23
23
|
|
|
24
24
|
py::enum_<HOT::Rect::Flags>(cHOTRect, "Flags", py::is_flag())
|
|
25
|
-
.value("NONE",
|
|
26
|
-
.value("
|
|
27
|
-
.value("
|
|
25
|
+
.value("NONE", HOT::Rect::FLAG_NONE)
|
|
26
|
+
.value("RANDOM_ROTATION", HOT::Rect::FLAG_RANDOM_ROTATION)
|
|
27
|
+
.value("RANDOM_REFLECTION", HOT::Rect::FLAG_RANDOM_REFLECTION)
|
|
28
|
+
.value("IS_ALTERNATE", HOT::Rect::FLAG_IS_ALTERNATE)
|
|
28
29
|
.export_values();
|
|
29
30
|
|
|
30
31
|
cHOTRect
|
|
@@ -374,14 +375,14 @@ inline void register_python(py::module_& m) {
|
|
|
374
375
|
py::enum_<Resource::Type>(cResource, "Type")
|
|
375
376
|
.value("UNKNOWN", Resource::TYPE_UNKNOWN)
|
|
376
377
|
.value("THUMBNAIL_DATA", Resource::TYPE_THUMBNAIL_DATA)
|
|
377
|
-
.value("IMAGE_DATA", Resource::TYPE_IMAGE_DATA)
|
|
378
378
|
.value("PARTICLE_SHEET_DATA", Resource::TYPE_PARTICLE_SHEET_DATA)
|
|
379
|
+
.value("HOTSPOT_DATA", Resource::TYPE_HOTSPOT_DATA)
|
|
380
|
+
.value("IMAGE_DATA", Resource::TYPE_IMAGE_DATA)
|
|
381
|
+
.value("EXTENDED_FLAGS", Resource::TYPE_EXTENDED_FLAGS)
|
|
379
382
|
.value("CRC", Resource::TYPE_CRC)
|
|
383
|
+
.value("AUX_COMPRESSION", Resource::TYPE_AUX_COMPRESSION)
|
|
380
384
|
.value("LOD_CONTROL_INFO", Resource::TYPE_LOD_CONTROL_INFO)
|
|
381
|
-
.value("EXTENDED_FLAGS", Resource::TYPE_EXTENDED_FLAGS)
|
|
382
385
|
.value("KEYVALUES_DATA", Resource::TYPE_KEYVALUES_DATA)
|
|
383
|
-
.value("HOTSPOT_DATA", Resource::TYPE_HOTSPOT_DATA)
|
|
384
|
-
.value("AUX_COMPRESSION", Resource::TYPE_AUX_COMPRESSION)
|
|
385
386
|
.export_values();
|
|
386
387
|
|
|
387
388
|
py::enum_<Resource::Flags>(cResource, "Flags", py::is_flag())
|
|
@@ -390,7 +391,7 @@ inline void register_python(py::module_& m) {
|
|
|
390
391
|
.export_values();
|
|
391
392
|
|
|
392
393
|
cResource
|
|
393
|
-
.def_static("get_order",
|
|
394
|
+
.def_static("get_order", [] { return Resource::getOrder(); })
|
|
394
395
|
.def_ro("type", &Resource::type)
|
|
395
396
|
.def_ro("flags", &Resource::flags)
|
|
396
397
|
.def("get_data_as_particle_sheet", &Resource::getDataAsParticleSheet)
|
|
@@ -580,8 +581,8 @@ inline void register_python(py::module_& m) {
|
|
|
580
581
|
.def("remove_extended_flags_resource", &VTF::removeExtendedFlagsResource)
|
|
581
582
|
.def("set_keyvalues_data_resource", &VTF::setKeyValuesDataResource, py::arg("value"))
|
|
582
583
|
.def("remove_keyvalues_data_resource", &VTF::removeKeyValuesDataResource)
|
|
583
|
-
.def("
|
|
584
|
-
.def("
|
|
584
|
+
.def("set_hotspot_data_resource", &VTF::setHotspotDataResource, py::arg("value"))
|
|
585
|
+
.def("remove_hotspot_data_resource", &VTF::removeHotspotDataResource)
|
|
585
586
|
.def_prop_rw("compression_level", &VTF::getCompressionLevel, &VTF::setCompressionLevel)
|
|
586
587
|
.def_prop_rw("compression_method", &VTF::getCompressionMethod, &VTF::setCompressionMethod)
|
|
587
588
|
.def("has_image_data", &VTF::hasImageData)
|
|
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
|