sourcepp 2024.12.31.dev1__tar.gz → 2025.1.21.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-2024.12.31.dev1 → sourcepp-2025.1.21.dev1}/CMakeLists.txt +2 -2
- {sourcepp-2024.12.31.dev1 → sourcepp-2025.1.21.dev1}/PKG-INFO +28 -7
- {sourcepp-2024.12.31.dev1 → sourcepp-2025.1.21.dev1}/README.md +27 -6
- {sourcepp-2024.12.31.dev1 → sourcepp-2025.1.21.dev1}/pyproject.toml +1 -1
- {sourcepp-2024.12.31.dev1 → sourcepp-2025.1.21.dev1}/src/sourcepp/__init__.py +1 -1
- {sourcepp-2024.12.31.dev1 → sourcepp-2025.1.21.dev1}/src/steampp.h +1 -0
- {sourcepp-2024.12.31.dev1 → sourcepp-2025.1.21.dev1}/src/toolpp.h +2 -1
- {sourcepp-2024.12.31.dev1 → sourcepp-2025.1.21.dev1}/LICENSE +0 -0
- {sourcepp-2024.12.31.dev1 → sourcepp-2025.1.21.dev1}/THIRDPARTY_LEGAL_NOTICES.txt +0 -0
- {sourcepp-2024.12.31.dev1 → sourcepp-2025.1.21.dev1}/cfg/CMakeLists.txt +0 -0
- {sourcepp-2024.12.31.dev1 → sourcepp-2025.1.21.dev1}/cfg/pyproject.toml +0 -0
- {sourcepp-2024.12.31.dev1 → sourcepp-2025.1.21.dev1}/src/gamepp.h +0 -0
- {sourcepp-2024.12.31.dev1 → sourcepp-2025.1.21.dev1}/src/sourcepp.cpp +0 -0
- {sourcepp-2024.12.31.dev1 → sourcepp-2025.1.21.dev1}/src/sourcepp.h +0 -0
- {sourcepp-2024.12.31.dev1 → sourcepp-2025.1.21.dev1}/src/vcryptpp.h +0 -0
- {sourcepp-2024.12.31.dev1 → sourcepp-2025.1.21.dev1}/src/vtfpp.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_PYTHON_VERSION "
|
|
33
|
+
set(SOURCEPP_PYTHON_VERSION "2025.01.21dev1")
|
|
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 "81455be38118e737d14766e7fcb28d775e5849bc")
|
|
45
45
|
FetchContent_MakeAvailable(sourcepp)
|
|
46
46
|
endif()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sourcepp
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2025.1.21.dev1
|
|
4
4
|
Summary: Several modern C++20 libraries for sanely parsing Valve formats.
|
|
5
5
|
Home-page: https://github.com/craftablescience/sourcepp
|
|
6
6
|
Author-Email: craftablescience <lauralewisdev@gmail.com>
|
|
@@ -60,6 +60,14 @@ Several modern C++20 libraries for sanely parsing Valve formats, rolled into one
|
|
|
60
60
|
<td rowspan="1" align="center"></td>
|
|
61
61
|
</tr>
|
|
62
62
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
63
|
+
<tr>
|
|
64
|
+
<td rowspan="1"><code>fspp</code><sup>*</sup></td>
|
|
65
|
+
<td>(WIP) Source 1 filesystem accessor</td>
|
|
66
|
+
<td align="center">✅</td>
|
|
67
|
+
<td align="center">✅</td>
|
|
68
|
+
<td rowspan="1" align="center"></td>
|
|
69
|
+
</tr>
|
|
70
|
+
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
63
71
|
<tr>
|
|
64
72
|
<td rowspan="3"><code>gamepp</code></td>
|
|
65
73
|
<td>Get Source engine instance window title/position/size</td>
|
|
@@ -120,6 +128,7 @@ Several modern C++20 libraries for sanely parsing Valve formats, rolled into one
|
|
|
120
128
|
<td rowspan="3"><code>toolpp</code></td>
|
|
121
129
|
<td>
|
|
122
130
|
<a href="https://developer.valvesoftware.com/wiki/FGD">FGD (Source 1)</a>
|
|
131
|
+
<br> • <a href="https://jack.hlfx.ru/en">J.A.C.K.</a> modifications
|
|
123
132
|
<br> • <a href="https://ficool2.github.io/HammerPlusPlus-Website">Hammer++</a> modifications
|
|
124
133
|
<br> • <a href="https://stratasource.org">Strata Source</a> modifications
|
|
125
134
|
</td>
|
|
@@ -152,15 +161,15 @@ Several modern C++20 libraries for sanely parsing Valve formats, rolled into one
|
|
|
152
161
|
</tr>
|
|
153
162
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
154
163
|
<tr>
|
|
155
|
-
<td rowspan="
|
|
156
|
-
<td
|
|
164
|
+
<td rowspan="29"><code>vpkpp</code></td>
|
|
165
|
+
<td>007 v1.1, v1.3 (007 - Nightfire)</td>
|
|
157
166
|
<td align="center">✅</td>
|
|
158
|
-
<td align="center"
|
|
159
|
-
<td rowspan="
|
|
167
|
+
<td align="center">❌</td>
|
|
168
|
+
<td rowspan="29" align="center">C<br>C#</td>
|
|
160
169
|
</tr>
|
|
161
170
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
162
171
|
<tr>
|
|
163
|
-
<td><a href="https://developer.valvesoftware.com/wiki/
|
|
172
|
+
<td><a href="https://developer.valvesoftware.com/wiki/Bonus_Maps">BMZ</a></td>
|
|
164
173
|
<td align="center">✅</td>
|
|
165
174
|
<td align="center">✅</td>
|
|
166
175
|
</tr>
|
|
@@ -183,6 +192,12 @@ Several modern C++20 libraries for sanely parsing Valve formats, rolled into one
|
|
|
183
192
|
<td align="center">✅</td>
|
|
184
193
|
</tr>
|
|
185
194
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
195
|
+
<tr>
|
|
196
|
+
<td>OL (Worldcraft Object Library)</td>
|
|
197
|
+
<td align="center">✅</td>
|
|
198
|
+
<td align="center">❌</td>
|
|
199
|
+
</tr>
|
|
200
|
+
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
186
201
|
<tr>
|
|
187
202
|
<td>ORE (Narbacular Drop)</td>
|
|
188
203
|
<td align="center">✅</td>
|
|
@@ -190,7 +205,10 @@ Several modern C++20 libraries for sanely parsing Valve formats, rolled into one
|
|
|
190
205
|
</tr>
|
|
191
206
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
192
207
|
<tr>
|
|
193
|
-
<td
|
|
208
|
+
<td>
|
|
209
|
+
<a href="https://quakewiki.org/wiki/.pak">PAK</a> (Quake, WON Half-Life)
|
|
210
|
+
<br> • <a href="https://store.steampowered.com/app/824600/HROT">HROT</a> modifications
|
|
211
|
+
</td>
|
|
194
212
|
<td align="center">✅</td>
|
|
195
213
|
<td align="center">✅</td>
|
|
196
214
|
</tr>
|
|
@@ -344,8 +362,11 @@ found on PyPI in the [sourcepp](https://pypi.org/project/sourcepp) package.
|
|
|
344
362
|
|
|
345
363
|
## Special Thanks
|
|
346
364
|
|
|
365
|
+
- `bsppp` partial library redesign, lump compression and game lump parsing/writing support contributed by [@Tholp](https://github.com/Tholp1).
|
|
347
366
|
- `steampp` is based on the [SteamAppPathProvider](https://github.com/Trico-Everfire/SteamAppPathProvider) library by [@Trico Everfire](https://github.com/Trico-Everfire) and [Momentum Mod](https://momentum-mod.org) contributors.
|
|
367
|
+
- `vpkpp`'s 007 parser is based on [reverse-engineering work](https://raw.githubusercontent.com/SmileyAG/dumpster/refs/heads/src_jb007nightfirepc_alurazoe/file_format_analysis.txt) by Alhexx.
|
|
348
368
|
- `vpkpp`'s GCF parser was contributed by [@bt](https://github.com/caatge) and [@ymgve](https://github.com/ymgve).
|
|
369
|
+
- `vpkpp`'s OL parser is based on [reverse-engineering work](https://github.com/erysdren/scratch/blob/main/kaitai/worldcraft_ol.ksy) by [@erysdren](https://github.com/erysdren).
|
|
349
370
|
- `vpkpp`'s ORE parser is based on [reverse-engineering work](https://github.com/erysdren/narbacular-drop-tools) by [@erysdren](https://github.com/erysdren).
|
|
350
371
|
- `vpkpp`'s WAD3 parser/writer was contributed by [@ozxybox](https://github.com/ozxybox).
|
|
351
372
|
- `vtfpp`'s SHT parser/writer was contributed by [@Trico Everfire](https://github.com/Trico-Everfire).
|
|
@@ -37,6 +37,14 @@ Several modern C++20 libraries for sanely parsing Valve formats, rolled into one
|
|
|
37
37
|
<td rowspan="1" align="center"></td>
|
|
38
38
|
</tr>
|
|
39
39
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
40
|
+
<tr>
|
|
41
|
+
<td rowspan="1"><code>fspp</code><sup>*</sup></td>
|
|
42
|
+
<td>(WIP) Source 1 filesystem accessor</td>
|
|
43
|
+
<td align="center">✅</td>
|
|
44
|
+
<td align="center">✅</td>
|
|
45
|
+
<td rowspan="1" align="center"></td>
|
|
46
|
+
</tr>
|
|
47
|
+
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
40
48
|
<tr>
|
|
41
49
|
<td rowspan="3"><code>gamepp</code></td>
|
|
42
50
|
<td>Get Source engine instance window title/position/size</td>
|
|
@@ -97,6 +105,7 @@ Several modern C++20 libraries for sanely parsing Valve formats, rolled into one
|
|
|
97
105
|
<td rowspan="3"><code>toolpp</code></td>
|
|
98
106
|
<td>
|
|
99
107
|
<a href="https://developer.valvesoftware.com/wiki/FGD">FGD (Source 1)</a>
|
|
108
|
+
<br> • <a href="https://jack.hlfx.ru/en">J.A.C.K.</a> modifications
|
|
100
109
|
<br> • <a href="https://ficool2.github.io/HammerPlusPlus-Website">Hammer++</a> modifications
|
|
101
110
|
<br> • <a href="https://stratasource.org">Strata Source</a> modifications
|
|
102
111
|
</td>
|
|
@@ -129,15 +138,15 @@ Several modern C++20 libraries for sanely parsing Valve formats, rolled into one
|
|
|
129
138
|
</tr>
|
|
130
139
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
131
140
|
<tr>
|
|
132
|
-
<td rowspan="
|
|
133
|
-
<td
|
|
141
|
+
<td rowspan="29"><code>vpkpp</code></td>
|
|
142
|
+
<td>007 v1.1, v1.3 (007 - Nightfire)</td>
|
|
134
143
|
<td align="center">✅</td>
|
|
135
|
-
<td align="center"
|
|
136
|
-
<td rowspan="
|
|
144
|
+
<td align="center">❌</td>
|
|
145
|
+
<td rowspan="29" align="center">C<br>C#</td>
|
|
137
146
|
</tr>
|
|
138
147
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
139
148
|
<tr>
|
|
140
|
-
<td><a href="https://developer.valvesoftware.com/wiki/
|
|
149
|
+
<td><a href="https://developer.valvesoftware.com/wiki/Bonus_Maps">BMZ</a></td>
|
|
141
150
|
<td align="center">✅</td>
|
|
142
151
|
<td align="center">✅</td>
|
|
143
152
|
</tr>
|
|
@@ -160,6 +169,12 @@ Several modern C++20 libraries for sanely parsing Valve formats, rolled into one
|
|
|
160
169
|
<td align="center">✅</td>
|
|
161
170
|
</tr>
|
|
162
171
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
172
|
+
<tr>
|
|
173
|
+
<td>OL (Worldcraft Object Library)</td>
|
|
174
|
+
<td align="center">✅</td>
|
|
175
|
+
<td align="center">❌</td>
|
|
176
|
+
</tr>
|
|
177
|
+
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
163
178
|
<tr>
|
|
164
179
|
<td>ORE (Narbacular Drop)</td>
|
|
165
180
|
<td align="center">✅</td>
|
|
@@ -167,7 +182,10 @@ Several modern C++20 libraries for sanely parsing Valve formats, rolled into one
|
|
|
167
182
|
</tr>
|
|
168
183
|
<tr><!-- empty row to disable github striped bg color --></tr>
|
|
169
184
|
<tr>
|
|
170
|
-
<td
|
|
185
|
+
<td>
|
|
186
|
+
<a href="https://quakewiki.org/wiki/.pak">PAK</a> (Quake, WON Half-Life)
|
|
187
|
+
<br> • <a href="https://store.steampowered.com/app/824600/HROT">HROT</a> modifications
|
|
188
|
+
</td>
|
|
171
189
|
<td align="center">✅</td>
|
|
172
190
|
<td align="center">✅</td>
|
|
173
191
|
</tr>
|
|
@@ -321,8 +339,11 @@ found on PyPI in the [sourcepp](https://pypi.org/project/sourcepp) package.
|
|
|
321
339
|
|
|
322
340
|
## Special Thanks
|
|
323
341
|
|
|
342
|
+
- `bsppp` partial library redesign, lump compression and game lump parsing/writing support contributed by [@Tholp](https://github.com/Tholp1).
|
|
324
343
|
- `steampp` is based on the [SteamAppPathProvider](https://github.com/Trico-Everfire/SteamAppPathProvider) library by [@Trico Everfire](https://github.com/Trico-Everfire) and [Momentum Mod](https://momentum-mod.org) contributors.
|
|
344
|
+
- `vpkpp`'s 007 parser is based on [reverse-engineering work](https://raw.githubusercontent.com/SmileyAG/dumpster/refs/heads/src_jb007nightfirepc_alurazoe/file_format_analysis.txt) by Alhexx.
|
|
325
345
|
- `vpkpp`'s GCF parser was contributed by [@bt](https://github.com/caatge) and [@ymgve](https://github.com/ymgve).
|
|
346
|
+
- `vpkpp`'s OL parser is based on [reverse-engineering work](https://github.com/erysdren/scratch/blob/main/kaitai/worldcraft_ol.ksy) by [@erysdren](https://github.com/erysdren).
|
|
326
347
|
- `vpkpp`'s ORE parser is based on [reverse-engineering work](https://github.com/erysdren/narbacular-drop-tools) by [@erysdren](https://github.com/erysdren).
|
|
327
348
|
- `vpkpp`'s WAD3 parser/writer was contributed by [@ozxybox](https://github.com/ozxybox).
|
|
328
349
|
- `vtfpp`'s SHT parser/writer was contributed by [@Trico Everfire](https://github.com/Trico-Everfire).
|
|
@@ -5,7 +5,7 @@ build-backend = "scikit_build_core.build"
|
|
|
5
5
|
|
|
6
6
|
[project]
|
|
7
7
|
name = "sourcepp"
|
|
8
|
-
version = "
|
|
8
|
+
version = "2025.01.21dev1"
|
|
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__, gamepp, sourcepp, steampp, toolpp, vcryptpp, vtfpp
|
|
2
2
|
|
|
3
3
|
__author__ = "craftablescience"
|
|
4
|
-
__version__ = "
|
|
4
|
+
__version__ = "2025.01.21dev1"
|
|
5
5
|
__all__ = ['__author__', '__doc__', '__version__', 'gamepp', 'sourcepp', 'steampp', 'toolpp', 'vcryptpp', 'vtfpp']
|
|
@@ -28,6 +28,7 @@ inline void register_python(py::module_& m) {
|
|
|
28
28
|
.def("get_app_logo_path", &Steam::getAppLogoPath, py::arg("appID"))
|
|
29
29
|
.def("get_app_box_art_path", &Steam::getAppBoxArtPath, py::arg("appID"))
|
|
30
30
|
.def("get_app_store_art_path", &Steam::getAppStoreArtPath, py::arg("appID"))
|
|
31
|
+
.def("is_app_using_goldsrc_engine", &Steam::isAppUsingGoldSrcEngine, py::arg("appID"))
|
|
31
32
|
.def("is_app_using_source_engine", &Steam::isAppUsingSourceEngine, py::arg("appID"))
|
|
32
33
|
.def("is_app_using_source_2_engine", &Steam::isAppUsingSource2Engine, py::arg("appID"))
|
|
33
34
|
.def("__bool__", &Steam::operator bool, py::is_operator());
|
|
@@ -120,6 +120,7 @@ inline void register_python(py::module_& m) {
|
|
|
120
120
|
.def_ro("class_type", &FGD::Entity::classType)
|
|
121
121
|
.def_ro("class_properties", &FGD::Entity::classProperties)
|
|
122
122
|
.def_ro("description", &FGD::Entity::description)
|
|
123
|
+
.def_ro("docs_url", &FGD::Entity::docsURL)
|
|
123
124
|
.def_ro("fields", &FGD::Entity::fields)
|
|
124
125
|
.def_ro("fields_with_choices", &FGD::Entity::fieldsWithChoices)
|
|
125
126
|
.def_ro("fields_with_flags", &FGD::Entity::fieldsWithFlags)
|
|
@@ -172,7 +173,7 @@ inline void register_python(py::module_& m) {
|
|
|
172
173
|
.def("map_size", &FGDWriter::mapSize, py::arg("map_size"), py::rv_policy::reference)
|
|
173
174
|
.def("material_exclusion_dirs", &FGDWriter::materialExclusionDirs, py::arg("material_exclusion_dirs"), py::rv_policy::reference)
|
|
174
175
|
.def("begin_auto_visgroup", &FGDWriter::beginAutoVisGroup, py::arg("parent_name"))
|
|
175
|
-
.def("begin_entity", &FGDWriter::beginEntity, py::arg("class_type"), py::arg("class_properties"), py::arg("name"), py::arg("description") = "")
|
|
176
|
+
.def("begin_entity", &FGDWriter::beginEntity, py::arg("class_type"), py::arg("class_properties"), py::arg("name"), py::arg("description") = "", py::arg("docs_url") = "")
|
|
176
177
|
.def("bake", [](const FGDWriter& self) {
|
|
177
178
|
const auto d = self.bake();
|
|
178
179
|
return py::bytes{d.data(), d.size()};
|
|
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
|