Skip to content

Commit 1c252ba

Browse files
authored
Merge pull request #87 from swiftly-solution/beta
Beta Version v0.2.38
2 parents 41cd10e + 499f391 commit 1c252ba

File tree

175 files changed

+26758
-1153
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

175 files changed

+26758
-1153
lines changed

ACKNOWLEDGEMENTS.md

Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
# Acknowledgements
2+
3+
Here is a list of all the sources from where we've taken code initially for any feature.
4+
5+
## CS2Fixes
6+
7+
We've cherrypicked ServerSideClient from this repository.
8+
CS2Fixes is and will always be a great repository for RE stuff in CS2.
9+
10+
```
11+
/**
12+
* =============================================================================
13+
* CS2Fixes
14+
* Copyright (C) 2023-2025 Source2ZE
15+
* =============================================================================
16+
*
17+
* This program is free software; you can redistribute it and/or modify it under
18+
* the terms of the GNU General Public License, version 3.0, as published by the
19+
* Free Software Foundation.
20+
*
21+
* This program is distributed in the hope that it will be useful, but WITHOUT
22+
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
23+
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
24+
* details.
25+
*/
26+
```
27+
28+
## CounterStrikeSharp
29+
30+
We've inspired the feature VoiceManager with the one from CounterStrikeSharp.
31+
32+
```
33+
/*
34+
* CounterStrikeSharp is free software: you can redistribute it and/or modify
35+
* it under the terms of the GNU General Public License as published by
36+
* the Free Software Foundation, either version 3 of the License, or
37+
* (at your option) any later version.
38+
*
39+
* CounterStrikeSharp is distributed in the hope that it will be useful,
40+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
41+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
42+
* GNU General Public License for more details.
43+
*/
44+
```
45+
46+
## HL2SDK
47+
48+
HL2SDK is a repository maintained by [AlliedModders](https://github.com/alliedmodders/hl2sdk).
49+
We've initially cherrypicked essential files for [S2SDK](https://github.com/swiftly-solution/s2sdk).
50+
51+
## Metamod:Source
52+
53+
We've taken from Metamod:Source the way how our SwiftlyS2-Loader should work.
54+
55+
```
56+
The software is Copyright (C) 2004-2008, Metamod:Source Development Team.
57+
58+
Metamod:Source is distributed under the "zLib/libpng" license, which is reproduced
59+
below:
60+
61+
-----------------------------------------------------------------------------
62+
63+
This software is provided "as-is", without any express or implied warranty.
64+
In no event will the authors be held liable for any damages arising from
65+
the use of this software.
66+
67+
Permission is granted to anyone to use this software for any purpose,
68+
including commercial applications, and to alter it and redistribute it
69+
freely, subject to the following restrictions:
70+
71+
1. The origin of this software must not be misrepresented; you must not
72+
claim that you wrote the original software. If you use this software in
73+
a product, an acknowledgment in the product documentation would be
74+
appreciated but is not required.
75+
76+
2. Altered source versions must be plainly marked as such, and must not
77+
be misrepresented as being the original software.
78+
79+
3. This notice may not be removed or altered from any source distribution.
80+
81+
-----------------------------------------------------------------------------
82+
83+
The zLib/libpng license has been approved by the "Open Source Initiative"
84+
organization.
85+
```
86+
87+
## Nlohmann/json
88+
89+
JSON library used in Native side.
90+
91+
```
92+
MIT License
93+
94+
Copyright (c) 2013-2025 Niels Lohmann
95+
96+
Permission is hereby granted, free of charge, to any person obtaining a copy
97+
of this software and associated documentation files (the "Software"), to deal
98+
in the Software without restriction, including without limitation the rights
99+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
100+
copies of the Software, and to permit persons to whom the Software is
101+
furnished to do so, subject to the following conditions:
102+
103+
The above copyright notice and this permission notice shall be included in all
104+
copies or substantial portions of the Software.
105+
106+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
107+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
108+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
109+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
110+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
111+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
112+
SOFTWARE.
113+
```
114+
115+
## Safetyhook
116+
117+
Hooking Library used in SwiftlyS2
118+
119+
```
120+
Boost Software License - Version 1.0 - August 17th, 2003
121+
122+
Permission is hereby granted, free of charge, to any person or organization
123+
obtaining a copy of the software and accompanying documentation covered by
124+
this license (the "Software") to use, reproduce, display, distribute,
125+
execute, and transmit the Software, and to prepare derivative works of the
126+
Software, and to permit third-parties to whom the Software is furnished to
127+
do so, all subject to the following:
128+
129+
The copyright notices in the Software and this entire statement, including
130+
the above license grant, this restriction and the following disclaimer,
131+
must be included in all copies of the Software, in whole or in part, and
132+
all derivative works of the Software, unless such copies or derivative
133+
works are solely in the form of machine-executable object code generated by
134+
a source language processor.
135+
136+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
137+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
138+
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
139+
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
140+
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
141+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
142+
DEALINGS IN THE SOFTWARE.
143+
```
144+
145+
## SteamWorks.NET
146+
147+
We've taken the SteamWorks API Generator and modified some of the files.
148+
149+
```
150+
The MIT License (MIT)
151+
152+
Copyright (c) 2013-2022 Riley Labrecque
153+
154+
Permission is hereby granted, free of charge, to any person obtaining a copy
155+
of this software and associated documentation files (the "Software"), to deal
156+
in the Software without restriction, including without limitation the rights
157+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
158+
copies of the Software, and to permit persons to whom the Software is
159+
furnished to do so, subject to the following conditions:
160+
161+
The above copyright notice and this permission notice shall be included in
162+
all copies or substantial portions of the Software.
163+
164+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
165+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
166+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
167+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
168+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
169+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
170+
THE SOFTWARE.
171+
```
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) 2013-2022 Riley Labrecque
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
13+
all 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
21+
THE SOFTWARE.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Steamworks.NET CodeGen
2+
======================
3+
4+
This is special sauce that generates the autogen/ and types/ directories.
5+
6+
It uses [SteamworksParser](https://github.com/rlabrecque/SteamworksParser) to parse the Steamworks C++ header files, then converts them to C#.
7+
8+
Usage
9+
-----
10+
11+
1. If necessary update the files in `steam/`
12+
2. Open a command prompt to the CodeGen directory. (The script must be run from this directory or the relative paths will be broken.)
13+
3. Run `python3 Steamworks.NET_CodeGen.py`, preferably on a linux based OS to generate proper line endings. (I use WSL for this.)
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
from SteamworksParser import steamworksparser
2+
from src import interfaces
3+
from src import constants
4+
from src import enums
5+
from src import structs
6+
from src import typedefs
7+
8+
def main():
9+
steam_path = "../../vendor/s2sdk/public/steam/"
10+
11+
steamworksparser.Settings.fake_gameserver_interfaces = True
12+
___parser = steamworksparser.parse(steam_path)
13+
14+
interfaces.main(___parser)
15+
constants.main(___parser)
16+
enums.main(___parser)
17+
structs.main(___parser)
18+
typedefs.main(___parser)
19+
20+
if __name__ == "__main__":
21+
main()
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.pyc
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) 2015-2021 Riley Labrecque
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
13+
all 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
21+
THE SOFTWARE.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# SteamworksParser
2+
3+
This is a simple parser for the [Steamworks](https://partner.steamgames.com/) header files.
4+
5+
SteamworksParser is used to generate the [Steamworks.NET](https://github.com/rlabrecque/Steamworks.NET) bindings via [Steamworks.NET-CodeGen](https://github.com/rlabrecque/Steamworks.NET-CodeGen).
6+
7+
You might be wondering why not just use something like libclang to parse the C++. The primary reason was that I wanted to retain comments and formating information.
8+
9+
## Usage Example
10+
11+
Pull this package into your project folder.
12+
13+
```python
14+
import sys
15+
from SteamworksParser import steamworksparser
16+
17+
def main():
18+
if len(sys.argv) != 2:
19+
print('Usage: test.py <path/to/steamworks_sdk/sdk/public/steam/>')
20+
return
21+
22+
steamworksparser.Settings.warn_utf8bom = True
23+
steamworksparser.Settings.warn_includeguardname = True
24+
steamworksparser.Settings.warn_spacing = True
25+
parser = steamworksparser.parse(sys.argv[1])
26+
27+
with open('test.json', 'w') as out:
28+
out.write('{\n')
29+
30+
out.write(' "typedefs":[\n')
31+
for typedef in parser.typedefs:
32+
out.write(' {\n')
33+
out.write(' "typedef":"' + typedef.name + '",\n')
34+
out.write(' "type":"' + typedef.type + '"\n')
35+
out.write(' },\n')
36+
37+
38+
if __name__ == '__main__':
39+
main()
40+
```

generator/steamworks_generator/SteamworksParser/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)