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.
@@ -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 "2024.12.31dev1")
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 "b42e5e36619cf1b8d48380e8d98865d03bc97200")
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: 2024.12.31.dev1
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> &bull; <a href="https://jack.hlfx.ru/en">J.A.C.K.</a> modifications
123
132
  <br> &bull; <a href="https://ficool2.github.io/HammerPlusPlus-Website">Hammer++</a> modifications
124
133
  <br> &bull; <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="27"><code>vpkpp</code></td>
156
- <td><a href="https://developer.valvesoftware.com/wiki/Bonus_Maps">BMZ</a></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">✅</td>
159
- <td rowspan="27" align="center">C<br>C#</td>
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/BSP_(Source)">BSP</a> v17-27</td>
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><a href="https://quakewiki.org/wiki/.pak">PAK</a> (Quake, WON Half-Life)</td>
208
+ <td>
209
+ <a href="https://quakewiki.org/wiki/.pak">PAK</a> (Quake, WON Half-Life)
210
+ <br> &bull; <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> &bull; <a href="https://jack.hlfx.ru/en">J.A.C.K.</a> modifications
100
109
  <br> &bull; <a href="https://ficool2.github.io/HammerPlusPlus-Website">Hammer++</a> modifications
101
110
  <br> &bull; <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="27"><code>vpkpp</code></td>
133
- <td><a href="https://developer.valvesoftware.com/wiki/Bonus_Maps">BMZ</a></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">✅</td>
136
- <td rowspan="27" align="center">C<br>C#</td>
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/BSP_(Source)">BSP</a> v17-27</td>
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><a href="https://quakewiki.org/wiki/.pak">PAK</a> (Quake, WON Half-Life)</td>
185
+ <td>
186
+ <a href="https://quakewiki.org/wiki/.pak">PAK</a> (Quake, WON Half-Life)
187
+ <br> &bull; <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 = "2024.12.31dev1"
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__ = "2024.12.31dev1"
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()};