sourcepp 2024.11.5.dev1__tar.gz → 2024.11.5.dev2__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.
@@ -34,6 +34,7 @@ include(FetchContent)
34
34
  FetchContent_Declare(
35
35
  sourcepp
36
36
  GIT_REPOSITORY "https://github.com/craftablescience/sourcepp.git"
37
- GIT_TAG "origin/main")
37
+ GIT_TAG "97e58f89567a1a7ae2c43aa3b011e67604500af3")
38
38
  set(SOURCEPP_BUILD_PYTHON_WRAPPERS ON CACHE INTERNAL "" FORCE)
39
+ set(SOURCEPP_PYTHON_VERSION "2024.11.5dev2")
39
40
  FetchContent_MakeAvailable(sourcepp)
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Laura Lewis
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sourcepp
3
- Version: 2024.11.5.dev1
3
+ Version: 2024.11.5.dev2
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>
@@ -0,0 +1,323 @@
1
+ <div>
2
+ <img align="left" width="101px" src="https://github.com/craftablescience/sourcepp/blob/main/branding/logo.png?raw=true" alt="The Source Pretty Parsers logo. A printer-esque device is scanning a page with hex codes and printing a picture of Cordon Freeman." />
3
+ <h1>Source Pretty Parsers</h1>
4
+ </div>
5
+
6
+ ![Build Status](https://img.shields.io/github/actions/workflow/status/craftablescience/sourcepp/build.yml?label=Build&logo=github&logoColor=%23FFFFFF)
7
+ ![License](https://img.shields.io/github/license/craftablescience/sourcepp?label=License&logo=libreofficewriter&logoColor=%23FFFFFF)
8
+ ![Discord](https://img.shields.io/discord/678074864346857482?label=Discord&logo=Discord&logoColor=%23FFFFFF)
9
+ ![Ko-fi](https://img.shields.io/badge/donate-006dae?label=Ko-fi&logo=ko-fi)
10
+
11
+ Several modern C++20 libraries for sanely parsing Valve formats, rolled into one big repository.
12
+
13
+ ## Included Libraries
14
+
15
+ <table>
16
+ <tr>
17
+ <th>Name</th>
18
+ <th>Supports</th>
19
+ <th>Read</th>
20
+ <th>Write</th>
21
+ <th>Wrappers</th>
22
+ </tr>
23
+ <tr><!-- empty row to disable github striped bg color --></tr>
24
+ <tr>
25
+ <td rowspan="1"><code>bsppp</code><sup>*</sup></td>
26
+ <td><a href="https://developer.valvesoftware.com/wiki/BSP_(Source)">BSP</a> v17-27</td>
27
+ <td align="center">✅</td>
28
+ <td align="center">✅</td>
29
+ <td rowspan="1" align="center"></td>
30
+ </tr>
31
+ <tr><!-- empty row to disable github striped bg color --></tr>
32
+ <tr>
33
+ <td rowspan="1"><code>dmxpp</code><sup>*</sup></td>
34
+ <td><a href="https://developer.valvesoftware.com/wiki/DMX">DMX</a> Binary v1-5</td>
35
+ <td align="center">✅</td>
36
+ <td align="center">❌</td>
37
+ <td rowspan="1" align="center"></td>
38
+ </tr>
39
+ <tr><!-- empty row to disable github striped bg color --></tr>
40
+ <tr>
41
+ <td rowspan="3"><code>gamepp</code></td>
42
+ <td>Get Source engine instance window title/position/size</td>
43
+ <td align="center">✅</td>
44
+ <td align="center">❌</td>
45
+ <td rowspan="3" align="center">C<br>Python</td>
46
+ </tr>
47
+ <tr><!-- empty row to disable github striped bg color --></tr>
48
+ <tr>
49
+ <td>Run commands in a Source engine instance remotely</td>
50
+ <td align="center">❌</td>
51
+ <td align="center">✅</td>
52
+ </tr>
53
+ <tr><!-- empty row to disable github striped bg color --></tr>
54
+ <tr>
55
+ <td rowspan="1"><code>kvpp</code></td>
56
+ <td><a href="https://developer.valvesoftware.com/wiki/KeyValues">KeyValues</a> Text v1<sup>&dagger;</sup></td>
57
+ <td align="center">✅</td>
58
+ <td align="center">✅</td>
59
+ <td rowspan="1" align="center"></td>
60
+ </tr>
61
+ <tr><!-- empty row to disable github striped bg color --></tr>
62
+ <tr>
63
+ <td rowspan="5"><code>mdlpp</code><sup>*</sup></td>
64
+ <td><a href="https://developer.valvesoftware.com/wiki/MDL_(Source)">MDL</a> v44-49</td>
65
+ <td align="center">✅</td>
66
+ <td align="center">❌</td>
67
+ <td rowspan="5" align="center"></td>
68
+ </tr>
69
+ <tr><!-- empty row to disable github striped bg color --></tr>
70
+ <tr>
71
+ <td><a href="https://developer.valvesoftware.com/wiki/VTX">VTX</a> v7</td>
72
+ <td align="center">✅</td>
73
+ <td align="center">❌</td>
74
+ </tr>
75
+ <tr><!-- empty row to disable github striped bg color --></tr>
76
+ <tr>
77
+ <td><a href="https://developer.valvesoftware.com/wiki/VVD">VVD</a> v4</td>
78
+ <td align="center">✅</td>
79
+ <td align="center">❌</td>
80
+ </tr>
81
+ <tr><!-- empty row to disable github striped bg color --></tr>
82
+ <tr>
83
+ <td rowspan="3"><code>steampp</code></td>
84
+ <td>Find Steam install folder</td>
85
+ <td align="center">✅</td>
86
+ <td align="center">-</td>
87
+ <td rowspan="3" align="center">C<br>Python</td>
88
+ </tr>
89
+ <tr><!-- empty row to disable github striped bg color --></tr>
90
+ <tr>
91
+ <td>Find installed Steam games</td>
92
+ <td align="center">✅</td>
93
+ <td align="center">-</td>
94
+ </tr>
95
+ <tr><!-- empty row to disable github striped bg color --></tr>
96
+ <tr>
97
+ <td rowspan="3"><code>toolpp</code></td>
98
+ <td>
99
+ <a href="https://developer.valvesoftware.com/wiki/FGD">FGD (Source 1)</a>
100
+ <br> &bull; <a href="https://ficool2.github.io/HammerPlusPlus-Website">Hammer++</a> modifications
101
+ <br> &bull; <a href="https://stratasource.org">Strata Source</a> modifications
102
+ </td>
103
+ <td align="center">✅</td>
104
+ <td align="center">✅</td>
105
+ <td rowspan="3" align="center"></td>
106
+ </tr>
107
+ <tr><!-- empty row to disable github striped bg color --></tr>
108
+ <tr>
109
+ <td>
110
+ <a href="https://developer.valvesoftware.com/wiki/Command_Sequences">WC</a> (CmdSeq) v0.1-0.2
111
+ <br> &bull; <a href="https://stratasource.org">Strata Source</a> modifications
112
+ </td>
113
+ <td align="center">✅</td>
114
+ <td align="center">✅</td>
115
+ </tr>
116
+ <tr><!-- empty row to disable github striped bg color --></tr>
117
+ <tr>
118
+ <td rowspan="3"><code>vcryptpp</code></td>
119
+ <td><a href="https://developer.valvesoftware.com/wiki/VICE">VICE</a> encrypted files</td>
120
+ <td align="center">✅</td>
121
+ <td align="center">✅</td>
122
+ <td rowspan="3" align="center">C<br>C#<br>Python</td>
123
+ </tr>
124
+ <tr><!-- empty row to disable github striped bg color --></tr>
125
+ <tr>
126
+ <td><a href="https://developer.valvesoftware.com/wiki/Vfont">VFONT</a> encrypted fonts</td>
127
+ <td align="center">✅</td>
128
+ <td align="center">❌</td>
129
+ </tr>
130
+ <tr><!-- empty row to disable github striped bg color --></tr>
131
+ <tr>
132
+ <td rowspan="25"><code>vpkpp</code></td>
133
+ <td><a href="https://developer.valvesoftware.com/wiki/Bonus_Maps">BMZ</a></td>
134
+ <td align="center">✅</td>
135
+ <td align="center">✅</td>
136
+ <td rowspan="25" align="center">C<br>C#</td>
137
+ </tr>
138
+ <tr><!-- empty row to disable github striped bg color --></tr>
139
+ <tr>
140
+ <td><a href="https://developer.valvesoftware.com/wiki/BSP_(Source)">BSP</a> v17-27</td>
141
+ <td align="center">✅</td>
142
+ <td align="center">✅</td>
143
+ </tr>
144
+ <tr><!-- empty row to disable github striped bg color --></tr>
145
+ <tr>
146
+ <td>FPX v10 (Tactical Intervention)</td>
147
+ <td align="center">✅</td>
148
+ <td align="center">✅</td>
149
+ </tr>
150
+ <tr><!-- empty row to disable github striped bg color --></tr>
151
+ <tr>
152
+ <td><a href="https://developer.valvesoftware.com/wiki/GCF_archive">GCF</a> v6</td>
153
+ <td align="center">✅</td>
154
+ <td align="center">❌</td>
155
+ </tr>
156
+ <tr><!-- empty row to disable github striped bg color --></tr>
157
+ <tr>
158
+ <td>GMA v1-3 (Garry's Mod)</td>
159
+ <td align="center">✅</td>
160
+ <td align="center">✅</td>
161
+ </tr>
162
+ <tr><!-- empty row to disable github striped bg color --></tr>
163
+ <tr>
164
+ <td><a href="https://quakewiki.org/wiki/.pak">PAK</a> (Quake, WON Half-Life)</td>
165
+ <td align="center">✅</td>
166
+ <td align="center">✅</td>
167
+ </tr>
168
+ <tr><!-- empty row to disable github striped bg color --></tr>
169
+ <tr>
170
+ <td><a href="https://docs.godotengine.org/en/stable/tutorials/export/exporting_pcks.html">PCK</a> v1-2 (Godot Engine)</td>
171
+ <td align="center">✅</td>
172
+ <td align="center">✅</td>
173
+ </tr>
174
+ <tr><!-- empty row to disable github striped bg color --></tr>
175
+ <tr>
176
+ <td><a href="https://doomwiki.org/wiki/PK3">PK3</a> (Quake III)</td>
177
+ <td align="center">✅</td>
178
+ <td align="center">✅</td>
179
+ </tr>
180
+ <tr><!-- empty row to disable github striped bg color --></tr>
181
+ <tr>
182
+ <td><a href="https://doomwiki.org/wiki/PK4">PK4</a> (Quake IV, Doom 3)</td>
183
+ <td align="center">✅</td>
184
+ <td align="center">✅</td>
185
+ </tr>
186
+ <tr><!-- empty row to disable github striped bg color --></tr>
187
+ <tr>
188
+ <td>
189
+ <a href="https://developer.valvesoftware.com/wiki/VPK">VPK</a> pre-v1, v1-2, v54
190
+ <br> &bull; <a href="https://www.counter-strike.net/cs2">Counter-Strike: 2</a> modifications
191
+ <br> &bull; <a href="https://clientmod.ru">Counter-Strike: Source ClientMod</a> modifications
192
+ </td>
193
+ <td align="center">✅</td>
194
+ <td align="center">✅</td>
195
+ </tr>
196
+ <tr><!-- empty row to disable github striped bg color --></tr>
197
+ <tr>
198
+ <td>VPK (Vampire: The Masquerade - Bloodlines)</td>
199
+ <td align="center">✅</td>
200
+ <td align="center">✅</td>
201
+ </tr>
202
+ <tr><!-- empty row to disable github striped bg color --></tr>
203
+ <tr>
204
+ <td>WAD v3</td>
205
+ <td align="center">✅</td>
206
+ <td align="center">✅</td>
207
+ </tr>
208
+ <tr><!-- empty row to disable github striped bg color --></tr>
209
+ <tr>
210
+ <td>ZIP</td>
211
+ <td align="center">✅</td>
212
+ <td align="center">✅</td>
213
+ </tr>
214
+ <tr><!-- empty row to disable github striped bg color --></tr>
215
+ <tr>
216
+ <td rowspan="23"><code>vtfpp</code></td>
217
+ <td><a href="https://en.wikipedia.org/wiki/BMP_file_format">BMP</a></td>
218
+ <td align="center">✅</td>
219
+ <td align="center">✅</td>
220
+ <td rowspan="23" align="center">Python</td>
221
+ </tr>
222
+ <tr><!-- empty row to disable github striped bg color --></tr>
223
+ <tr>
224
+ <td><a href="https://openexr.com">EXR</a> v1</td>
225
+ <td align="center">✅</td>
226
+ <td align="center">✅</td>
227
+ </tr>
228
+ <tr><!-- empty row to disable github striped bg color --></tr>
229
+ <tr>
230
+ <td><a href="https://en.wikipedia.org/wiki/GIF">GIF</a></td>
231
+ <td align="center">✅</td>
232
+ <td align="center">❌</td>
233
+ </tr>
234
+ <tr><!-- empty row to disable github striped bg color --></tr>
235
+ <tr>
236
+ <td><a href="https://en.wikipedia.org/wiki/RGBE_image_format">HDR</a></td>
237
+ <td align="center">✅</td>
238
+ <td align="center">✅</td>
239
+ </tr>
240
+ <tr><!-- empty row to disable github striped bg color --></tr>
241
+ <tr>
242
+ <td><a href="https://en.wikipedia.org/wiki/JPEG">JPEG</a></td>
243
+ <td align="center">✅</td>
244
+ <td align="center">✅</td>
245
+ </tr>
246
+ <tr><!-- empty row to disable github striped bg color --></tr>
247
+ <tr>
248
+ <td>PIC</td>
249
+ <td align="center">✅</td>
250
+ <td align="center">❌</td>
251
+ </tr>
252
+ <tr><!-- empty row to disable github striped bg color --></tr>
253
+ <tr>
254
+ <td><a href="https://en.wikipedia.org/wiki/PNG">PNG</a></td>
255
+ <td align="center">✅</td>
256
+ <td align="center">✅</td>
257
+ </tr>
258
+ <tr><!-- empty row to disable github striped bg color --></tr>
259
+ <tr>
260
+ <td><a href="https://netpbm.sourceforge.net/doc/pnm.html">PNM</a> (PGM, PPM)</td>
261
+ <td align="center">✅</td>
262
+ <td align="center">❌</td>
263
+ </tr>
264
+ <tr><!-- empty row to disable github striped bg color --></tr>
265
+ <tr>
266
+ <td><a href="https://developer.valvesoftware.com/wiki/PPL">PPL</a> v0</td>
267
+ <td align="center">✅</td>
268
+ <td align="center">✅</td>
269
+ </tr>
270
+ <tr><!-- empty row to disable github striped bg color --></tr>
271
+ <tr>
272
+ <td><a href="https://www.adobe.com/creativecloud/file-types/image/raster/psd-file.html">PSD</a></td>
273
+ <td align="center">✅</td>
274
+ <td align="center">❌</td>
275
+ </tr>
276
+ <tr><!-- empty row to disable github striped bg color --></tr>
277
+ <tr>
278
+ <td><a href="https://en.wikipedia.org/wiki/Truevision_TGA">TGA</a></td>
279
+ <td align="center">✅</td>
280
+ <td align="center">✅</td>
281
+ </tr>
282
+ <tr><!-- empty row to disable github striped bg color --></tr>
283
+ <tr>
284
+ <td>
285
+ <a href="https://developer.valvesoftware.com/wiki/VTF_(Valve_Texture_Format)">VTF</a> v7.0-7.6
286
+ <br> &bull; <a href="https://stratasource.org">Strata Source</a> modifications
287
+ </td>
288
+ <td align="center">✅</td>
289
+ <td align="center">✅</td>
290
+ </tr>
291
+ </table>
292
+
293
+ (\*) These libraries are incomplete and still in development. Their interfaces are unstable and will likely change in the future.
294
+ Libraries not starred should be considered stable, and their existing interfaces will not change much if at all. Note that wrappers
295
+ only exist for stable libraries.
296
+
297
+ (&dagger;) Many text-based formats in Source are close to (if not identical to) KeyValues v1, such as [VMT](https://developer.valvesoftware.com/wiki/VMT) and [VMF](https://developer.valvesoftware.com/wiki/VMF_(Valve_Map_Format)).
298
+
299
+ ## Wrappers
300
+
301
+ Wrappers for libraries considered complete exist for C, C#, and/or Python, depending on the library. The Python wrappers can be
302
+ found on PyPI in the `sourcepp` package.
303
+
304
+ ## Special Thanks
305
+
306
+ - `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.
307
+ - `vpkpp`'s GCF parser was contributed by [@bt](https://github.com/caatge) and [@ymgve](https://github.com/ymgve).
308
+ - `vpkpp`'s WAD3 parser was contributed by [@ozxybox](https://github.com/ozxybox).
309
+ - `vtfpp`'s write support is based on work by [@Trico Everfire](https://github.com/Trico-Everfire).
310
+
311
+ ## Gallery
312
+
313
+ A list of projects using the `sourcepp` parser set. If you'd like to see your project here, make a PR!
314
+
315
+ - [VPKEdit](https://github.com/craftablescience/VPKEdit): An open source MIT-licensed tool that can create, extract from,
316
+ preview the contents of and write to several pack file formats. A CLI application is bundled with the program which replicates
317
+ the functionality of Valve's `vpk.exe`.
318
+ - [GodotSource](https://github.com/craftablescience/godotsource): A work-in-progress set of bindings to connect the `sourcepp`
319
+ libraries to Godot. Allows GDScript to work with the libraries, and allows Godot to directly load Source engine assets from
320
+ a user project or from installed Source games.
321
+ - [Verifier](https://github.com/StrataSource/verifier): A small program that can build an index of a game's files, and validate
322
+ existing files based on that index. Think Steam's "Verify integrity of game files" option, but without actually overwriting any
323
+ files. `sourcepp` is used to parse Steam depot configs, as well as enable indexing the contents of VPKs.
@@ -0,0 +1,391 @@
1
+ --------------- BufferStream ---------------
2
+
3
+ MIT License
4
+
5
+ Copyright (c) 2023 Laura Lewis
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ of this software and associated documentation files (the "Software"), to deal
9
+ in the Software without restriction, including without limitation the rights
10
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ copies of the Software, and to permit persons to whom the Software is
12
+ furnished to do so, subject to the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included in all
15
+ copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ SOFTWARE.
24
+
25
+
26
+ --------------- Compressonator ---------------
27
+
28
+ Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
29
+
30
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
31
+ this software and associated documentation files (the "Software"), to deal in
32
+ the Software without restriction, including without limitation the rights to
33
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
34
+ of the Software, and to permit persons to whom the Software is furnished to do
35
+ so, subject to the following conditions:
36
+
37
+ The above copyright notice and this permission notice shall be included in all
38
+ copies or substantial portions of the Software.
39
+
40
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
41
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
42
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
43
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
44
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
45
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
46
+ SOFTWARE.
47
+
48
+
49
+ --------------- Crypto++ ---------------
50
+
51
+ BSD 3-Clause License
52
+
53
+ Copyright (c) 2018, The Authors.
54
+ All rights reserved.
55
+
56
+ Redistribution and use in source and binary forms, with or without
57
+ modification, are permitted provided that the following conditions are met:
58
+
59
+ * Redistributions of source code must retain the above copyright notice, this
60
+ list of conditions and the following disclaimer.
61
+
62
+ * Redistributions in binary form must reproduce the above copyright notice,
63
+ this list of conditions and the following disclaimer in the documentation
64
+ and/or other materials provided with the distribution.
65
+
66
+ * Neither the name of the copyright holder nor the names of its
67
+ contributors may be used to endorse or promote products derived from
68
+ this software without specific prior written permission.
69
+
70
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
71
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
72
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
73
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
74
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
75
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
76
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
77
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
78
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
79
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
80
+
81
+
82
+ --------------- half ---------------
83
+
84
+ The MIT License
85
+
86
+ Copyright (c) 2012-2021 Christian Rau
87
+
88
+ Permission is hereby granted, free of charge, to any person obtaining a copy
89
+ of this software and associated documentation files (the "Software"), to deal
90
+ in the Software without restriction, including without limitation the rights
91
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
92
+ copies of the Software, and to permit persons to whom the Software is
93
+ furnished to do so, subject to the following conditions:
94
+
95
+ The above copyright notice and this permission notice shall be included in
96
+ all copies or substantial portions of the Software.
97
+
98
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
99
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
100
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
101
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
102
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
103
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
104
+ THE SOFTWARE.
105
+
106
+
107
+ --------------- hat-trie ---------------
108
+
109
+ MIT License
110
+
111
+ Copyright (c) 2017 Thibaut Goetghebuer-Planchon <tessil@gmx.com>
112
+
113
+ Permission is hereby granted, free of charge, to any person obtaining a copy
114
+ of this software and associated documentation files (the "Software"), to deal
115
+ in the Software without restriction, including without limitation the rights
116
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
117
+ copies of the Software, and to permit persons to whom the Software is
118
+ furnished to do so, subject to the following conditions:
119
+
120
+ The above copyright notice and this permission notice shall be included in all
121
+ copies or substantial portions of the Software.
122
+
123
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
124
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
125
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
126
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
127
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
128
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
129
+ SOFTWARE.
130
+
131
+
132
+ --------------- liblzma ---------------
133
+
134
+ Permission to use, copy, modify, and/or distribute this
135
+ software for any purpose with or without fee is hereby granted.
136
+
137
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
138
+ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
139
+ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
140
+ THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
141
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
142
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
143
+ NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
144
+ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
145
+
146
+
147
+ --------------- OpenEXR ---------------
148
+
149
+ Copyright (c) 2002, Industrial Light & Magic, a division of Lucas Digital Ltd. LLC.
150
+ All rights reserved.
151
+
152
+ Redistribution and use in source and binary forms, with or without
153
+ modification, are permitted provided that the following conditions are met:
154
+
155
+ * Redistributions of source code must retain the above copyright notice, this
156
+ list of conditions and the following disclaimer.
157
+
158
+ * Redistributions in binary form must reproduce the above copyright notice,
159
+ this list of conditions and the following disclaimer in the documentation
160
+ and/or other materials provided with the distribution.
161
+
162
+ * Neither the name of the copyright holder nor the names of its
163
+ contributors may be used to endorse or promote products derived from
164
+ this software without specific prior written permission.
165
+
166
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
167
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
168
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
169
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
170
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
171
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
172
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
173
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
174
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
175
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
176
+
177
+
178
+ --------------- miniz ---------------
179
+
180
+ Copyright 2013-2014 RAD Game Tools and Valve Software
181
+ Copyright 2010-2014 Rich Geldreich and Tenacious Software LLC
182
+
183
+ All Rights Reserved.
184
+
185
+ Permission is hereby granted, free of charge, to any person obtaining a copy
186
+ of this software and associated documentation files (the "Software"), to deal
187
+ in the Software without restriction, including without limitation the rights
188
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
189
+ copies of the Software, and to permit persons to whom the Software is
190
+ furnished to do so, subject to the following conditions:
191
+
192
+ The above copyright notice and this permission notice shall be included in
193
+ all copies or substantial portions of the Software.
194
+
195
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
196
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
197
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
198
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
199
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
200
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
201
+ THE SOFTWARE.
202
+
203
+
204
+ --------------- minizip-ng ---------------
205
+
206
+ Condition of use and distribution are the same as zlib:
207
+
208
+ This software is provided 'as-is', without any express or implied
209
+ warranty. In no event will the authors be held liable for any damages
210
+ arising from the use of this software.
211
+
212
+ Permission is granted to anyone to use this software for any purpose,
213
+ including commercial applications, and to alter it and redistribute it
214
+ freely, subject to the following restrictions:
215
+
216
+ 1. The origin of this software must not be misrepresented; you must not
217
+ claim that you wrote the original software. If you use this software
218
+ in a product, an acknowledgement in the product documentation would be
219
+ appreciated but is not required.
220
+ 2. Altered source versions must be plainly marked as such, and must not be
221
+ misrepresented as being the original software.
222
+ 3. This notice may not be removed or altered from any source distribution.
223
+
224
+
225
+ --------------- nanobind ---------------
226
+
227
+ Copyright (c) 2022 Wenzel Jakob <wenzel.jakob@epfl.ch>.
228
+ All rights reserved.
229
+
230
+ Redistribution and use in source and binary forms, with or without
231
+ modification, are permitted provided that the following conditions are met:
232
+
233
+ * Redistributions of source code must retain the above copyright notice, this
234
+ list of conditions and the following disclaimer.
235
+
236
+ * Redistributions in binary form must reproduce the above copyright notice,
237
+ this list of conditions and the following disclaimer in the documentation
238
+ and/or other materials provided with the distribution.
239
+
240
+ * Neither the name of the copyright holder nor the names of its
241
+ contributors may be used to endorse or promote products derived from
242
+ this software without specific prior written permission.
243
+
244
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
245
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
246
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
247
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
248
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
249
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
250
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
251
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
252
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
253
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
254
+
255
+
256
+ --------------- stb ---------------
257
+
258
+ Copyright (c) 2017 Sean Barrett
259
+
260
+ Permission is hereby granted, free of charge, to any person obtaining a copy
261
+ of this software and associated documentation files (the "Software"), to deal
262
+ in the Software without restriction, including without limitation the rights
263
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
264
+ copies of the Software, and to permit persons to whom the Software is
265
+ furnished to do so, subject to the following conditions:
266
+
267
+ The above copyright notice and this permission notice shall be included in
268
+ all copies or substantial portions of the Software.
269
+
270
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
271
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
272
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
273
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
274
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
275
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
276
+ THE SOFTWARE.
277
+
278
+
279
+ ------------ SteamAppPathProvider ------------
280
+
281
+ MIT License
282
+
283
+ Copyright (c) 2022 Trico Everfire
284
+
285
+ Permission is hereby granted, free of charge, to any person obtaining a copy
286
+ of this software and associated documentation files (the "Software"), to deal
287
+ in the Software without restriction, including without limitation the rights
288
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
289
+ copies of the Software, and to permit persons to whom the Software is
290
+ furnished to do so, subject to the following conditions:
291
+
292
+ The above copyright notice and this permission notice shall be included in
293
+ all copies or substantial portions of the Software.
294
+
295
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
296
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
297
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
298
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
299
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
300
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
301
+ THE SOFTWARE.
302
+
303
+
304
+ --------------- TinyEXR ---------------
305
+
306
+ Copyright (c) 2014 - 2021, Syoyo Fujita and many contributors.
307
+ All rights reserved.
308
+
309
+ Redistribution and use in source and binary forms, with or without
310
+ modification, are permitted provided that the following conditions are met:
311
+
312
+ * Redistributions of source code must retain the above copyright notice, this
313
+ list of conditions and the following disclaimer.
314
+
315
+ * Redistributions in binary form must reproduce the above copyright notice,
316
+ this list of conditions and the following disclaimer in the documentation
317
+ and/or other materials provided with the distribution.
318
+
319
+ * Neither the name of the copyright holder nor the names of its
320
+ contributors may be used to endorse or promote products derived from
321
+ this software without specific prior written permission.
322
+
323
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
324
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
325
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
326
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
327
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
328
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
329
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
330
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
331
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
332
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
333
+
334
+
335
+ --------------- zlib ---------------
336
+
337
+ (C) 1995-2024 Jean-loup Gailly and Mark Adler
338
+
339
+ This software is provided 'as-is', without any express or implied
340
+ warranty. In no event will the authors be held liable for any damages
341
+ arising from the use of this software.
342
+
343
+ Permission is granted to anyone to use this software for any purpose,
344
+ including commercial applications, and to alter it and redistribute it
345
+ freely, subject to the following restrictions:
346
+
347
+ 1. The origin of this software must not be misrepresented; you must not
348
+ claim that you wrote the original software. If you use this software
349
+ in a product, an acknowledgment in the product documentation would be
350
+ appreciated but is not required.
351
+ 2. Altered source versions must be plainly marked as such, and must not be
352
+ misrepresented as being the original software.
353
+ 3. This notice may not be removed or altered from any source distribution.
354
+
355
+ Jean-loup Gailly Mark Adler
356
+ jloup@gzip.org madler@alumni.caltech.edu
357
+
358
+
359
+ --------------- zstd ---------------
360
+
361
+ BSD License
362
+
363
+ For Zstandard software
364
+
365
+ Copyright (c) Meta Platforms, Inc. and affiliates.
366
+ All rights reserved.
367
+
368
+ Redistribution and use in source and binary forms, with or without modification,
369
+ are permitted provided that the following conditions are met:
370
+
371
+ * Redistributions of source code must retain the above copyright notice, this
372
+ list of conditions and the following disclaimer.
373
+
374
+ * Redistributions in binary form must reproduce the above copyright notice,
375
+ this list of conditions and the following disclaimer in the documentation
376
+ and/or other materials provided with the distribution.
377
+
378
+ * Neither the name Facebook, nor Meta, nor the names of its contributors may
379
+ be used to endorse or promote products derived from this software without
380
+ specific prior written permission.
381
+
382
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
383
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
384
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
385
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
386
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
387
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
388
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
389
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
390
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
391
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -5,11 +5,11 @@ build-backend = "scikit_build_core.build"
5
5
 
6
6
  [project]
7
7
  name = "sourcepp"
8
- version = "2024.11.5dev1" # change __init__.py when this is updated
8
+ version = "2024.11.5dev2"
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."
12
- readme = "../../README.md"
12
+ readme = "README.md"
13
13
  requires-python = ">=3.9"
14
14
  classifiers = [
15
15
  "License :: OSI Approved :: MIT License",
@@ -33,8 +33,9 @@ minimum-version = "build-system.requires"
33
33
  build-dir = "build/{wheel_tag}"
34
34
  build.targets = ["sourcepp_python_all"]
35
35
  sdist.reproducible = true
36
+ sdist.exclude = ["cfg/*"]
36
37
  wheel.py-api = "cp312"
37
- wheel.license-files = ["../../LICENSE", "../../THIRDPARTY_LEGAL_NOTICES.txt"]
38
+ wheel.license-files = ["LICENSE", "THIRDPARTY_LEGAL_NOTICES.txt"]
38
39
  build.verbose = true
39
40
  logging.level = "INFO"
40
41
 
@@ -1,5 +1,5 @@
1
1
  from ._sourcepp_impl import __doc__, gamepp, sourcepp, steampp, vcryptpp, vtfpp
2
2
 
3
3
  __author__ = "craftablescience"
4
- __version__ = "2024.11.5dev1" # change pyproject.toml version when this is updated
4
+ __version__ = "2024.11.5dev2"
5
5
  __all__ = ['__author__', '__doc__', '__version__', 'gamepp', 'sourcepp', 'steampp', 'vcryptpp', 'vtfpp']
@@ -1,9 +0,0 @@
1
- # Keep most Python-specific stuff in the root .gitignore
2
- # because scikit-build-core will use it to ignore everything
3
- # you want to ship!!!!!!!! This took like an hour to figure
4
- # out, thanks folks :D
5
-
6
- # Anyway
7
-
8
- dist/
9
- wheelhouse/