mirror of
https://github.com/ValveSoftware/Proton.git
synced 2025-03-13 22:10:26 +03:00
Compare commits
286 Commits
experiment
...
proton_8.0
Author | SHA1 | Date | |
---|---|---|---|
|
761c9783e9 | ||
|
0a19090d66 | ||
|
68cd5ce6a9 | ||
|
3c44ca59da | ||
|
5e6fa08ea8 | ||
|
6acc0f9e12 | ||
|
a092df7ec4 | ||
|
0bcc20cbc1 | ||
|
0e11c03ca0 | ||
|
e6cd3f8ec3 | ||
|
ea08ded0ca | ||
|
c9f5e8ff47 | ||
|
2e817dc4f6 | ||
|
90cc4f1075 | ||
|
d78cb3c0da | ||
|
10f39becdf | ||
|
5bd606ee03 | ||
|
21370a78f4 | ||
|
8eea1df800 | ||
|
c6c9bf0a2a | ||
|
fb588c5389 | ||
|
99009e774c | ||
|
0ab1dd2e70 | ||
|
f3326b23c1 | ||
|
8d989fdd46 | ||
|
4eb7119320 | ||
|
c50718c777 | ||
|
8473c3c7fa | ||
|
640d0b3e1b | ||
|
bd4d03123a | ||
|
cedc2aefff | ||
|
bfbc9b358d | ||
|
c6d562b388 | ||
|
52667847c4 | ||
|
d229821fdf | ||
|
db0991c4ae | ||
|
435b67aaf7 | ||
|
19c0eec97d | ||
|
01c366c0f8 | ||
|
cd727e9c05 | ||
|
2e1a64b18c | ||
|
f50e0b6be5 | ||
|
acc247acda | ||
|
ca8e8f7678 | ||
|
fc5c40db76 | ||
|
dd087f3c03 | ||
|
c0d0b2f295 | ||
|
45dff33596 | ||
|
681524010d | ||
|
87a75415e7 | ||
|
21efd44cf2 | ||
|
818cdb7e79 | ||
|
64465e595f | ||
|
eda653f413 | ||
|
a76c324c30 | ||
|
46304cde3d | ||
|
45039fc24e | ||
|
354a061c16 | ||
|
cdce0cd31a | ||
|
64bf702365 | ||
|
d0d4e32727 | ||
|
d0423e5d84 | ||
|
37b88eb035 | ||
|
48670ca952 | ||
|
81a4743db0 | ||
|
7c21be5c27 | ||
|
37cf4d2086 | ||
|
4f252eaf21 | ||
|
231e7f24d8 | ||
|
7da8928dd9 | ||
|
eaae654042 | ||
|
516f76e446 | ||
|
e8df09e258 | ||
|
8a109013b4 | ||
|
a798b8308f | ||
|
a7bdd61d20 | ||
|
6ed890c9e9 | ||
|
6d51ed29f3 | ||
|
727f81d380 | ||
|
c53ff7a082 | ||
|
9b3457c857 | ||
|
2ac09e541e | ||
|
343ccf211d | ||
|
06156dfe25 | ||
|
996672f057 | ||
|
c32e9213c6 | ||
|
9265ef9dce | ||
|
9a169bd27b | ||
|
40804a61af | ||
|
f55761ca1b | ||
|
67e3444e93 | ||
|
836e4723aa | ||
|
fd3d1bda0c | ||
|
df21891fe0 | ||
|
88a434e1ae | ||
|
55a3d3f165 | ||
|
cdd54b2a25 | ||
|
c444e6fea4 | ||
|
4e483d01d8 | ||
|
6d63c73c54 | ||
|
f0b5a6fe97 | ||
|
785757ec15 | ||
|
78fc6d34c6 | ||
|
3f57a0b71b | ||
|
e488a6cbaf | ||
|
2d00c9df0a | ||
|
2e0a609437 | ||
|
40103342d5 | ||
|
6d2bcbb559 | ||
|
f0064b6799 | ||
|
03550f8d2a | ||
|
5018cb5ab7 | ||
|
de63f8c5f9 | ||
|
311385c0e5 | ||
|
7bd855e054 | ||
|
89e4e160ac | ||
|
2f851ecb82 | ||
|
967b7878e5 | ||
|
33b0da5fb1 | ||
|
ea07c02886 | ||
|
a33bbf115c | ||
|
582047e3be | ||
|
a5a5239c0c | ||
|
49324a57d7 | ||
|
f5da6b1c22 | ||
|
840959f4cf | ||
|
d11d466cb3 | ||
|
b661fabcbd | ||
|
01603fb118 | ||
|
e82bed8475 | ||
|
656f440e94 | ||
|
5ac739906d | ||
|
f679be3cc0 | ||
|
576a839c18 | ||
|
ccb1c5a413 | ||
|
10db41a416 | ||
|
9ec1e2714e | ||
|
1164e4b0b8 | ||
|
9130990527 | ||
|
0b8c0e97b2 | ||
|
f7c895c287 | ||
|
5610e4538f | ||
|
e171c46460 | ||
|
e34482a580 | ||
|
6b4dce48bc | ||
|
c7cb79128e | ||
|
303299793f | ||
|
b59a3040d9 | ||
|
36f8ada2cd | ||
|
b75a61bc1f | ||
|
3d635bd789 | ||
|
a6f3965460 | ||
|
a8eeb1c9ac | ||
|
85ed53c1d8 | ||
|
77fd6c3b2d | ||
|
4378ee718a | ||
|
7e10a41649 | ||
|
5b52756384 | ||
|
8e9e6da034 | ||
|
62174c7c1e | ||
|
692ef0aa1f | ||
|
9f8a37c0c1 | ||
|
08a5f1cd56 | ||
|
2b95bc1771 | ||
|
e60f8c6aac | ||
|
b4bba7eec4 | ||
|
28aeb63901 | ||
|
b2b17774e4 | ||
|
bc63dbbf2a | ||
|
10a240c341 | ||
|
cbf52aaafa | ||
|
84012c12aa | ||
|
929733036f | ||
|
5e90e8283c | ||
|
559e652a45 | ||
|
331c90a874 | ||
|
8decbe981a | ||
|
bd1178a5b3 | ||
|
db3274b1c7 | ||
|
470f3084eb | ||
|
e1d797fd97 | ||
|
09bbd8c0bf | ||
|
e2ab395020 | ||
|
74ae018197 | ||
|
1489a6a8d5 | ||
|
19f18b660e | ||
|
f7a03d620e | ||
|
dc3a951754 | ||
|
f2223c0ba7 | ||
|
89a2dac0b2 | ||
|
f693c48a4c | ||
|
8e67412fcc | ||
|
e2493e2dfd | ||
|
6d138f5e96 | ||
|
eca48bb93f | ||
|
e36a9ba96a | ||
|
9eb5a1753c | ||
|
4db08dc766 | ||
|
b5d58d27ad | ||
|
c04ca71f7a | ||
|
4514ff3eff | ||
|
d8fbadbd2a | ||
|
dd32534265 | ||
|
f9b51bc244 | ||
|
5328d61f5a | ||
|
8959349ac9 | ||
|
175bc06a3f | ||
|
04dfc0937c | ||
|
c04edcea36 | ||
|
79134b581a | ||
|
42e034ece8 | ||
|
618221db82 | ||
|
66e57462c1 | ||
|
9ae252db4f | ||
|
69d6b82e94 | ||
|
30c6b5c41e | ||
|
be25891a0c | ||
|
8d2e85be8c | ||
|
4ee7c0c666 | ||
|
8f0b458bca | ||
|
981ca6febe | ||
|
f3cc9f0610 | ||
|
4221d9ef07 | ||
|
fb9231f0ca | ||
|
1db86a772d | ||
|
d760b63792 | ||
|
f3c98217cc | ||
|
5720dd3e9c | ||
|
7e27da4bc2 | ||
|
7d4ca96ae1 | ||
|
a62a80be58 | ||
|
5e7036d566 | ||
|
bcd3d5218f | ||
|
242d655a0f | ||
|
707741dcc1 | ||
|
79c9b6a15d | ||
|
4cc575b2f4 | ||
|
7785b9ab78 | ||
|
b1852d2e67 | ||
|
6a1714a0d7 | ||
|
0ba9319113 | ||
|
18195c558d | ||
|
ba3d473ec1 | ||
|
be4a80dac6 | ||
|
ade0363654 | ||
|
d141d538bc | ||
|
d957ff7c35 | ||
|
67d504c37e | ||
|
d95c5cc550 | ||
|
28a0276cda | ||
|
6acaf51d6e | ||
|
0a191c5961 | ||
|
112d3635f4 | ||
|
7523181830 | ||
|
db61ec1f1e | ||
|
6ded785ccd | ||
|
05efcef3fa | ||
|
46a427e8d0 | ||
|
fd79f236ca | ||
|
0178b2bc6f | ||
|
3a7e2f03a7 | ||
|
a5d28386b9 | ||
|
fe93b92ddc | ||
|
ff7bfc5595 | ||
|
faf8b2e64d | ||
|
673e1ae43d | ||
|
203580f96f | ||
|
cc8db7609b | ||
|
ced280e888 | ||
|
8909720216 | ||
|
d7452b523f | ||
|
a216f5baa0 | ||
|
94772426ac | ||
|
7e7f6155d3 | ||
|
47ae0819ae | ||
|
8d7d5bb129 | ||
|
7fd1f62249 | ||
|
b538b27fdd | ||
|
5fd2584fa5 | ||
|
43a131b97f | ||
|
d2e7a76010 | ||
|
252e903ff2 | ||
|
b1aea5b33e | ||
|
f8a8301f4c | ||
|
4e20758255 | ||
|
c8486ad372 |
@ -10,7 +10,7 @@ about: Game compatibility issues.
|
|||||||
|
|
||||||
## System Information
|
## System Information
|
||||||
- GPU: <!-- e.g. RX 580 or GTX 970 -->
|
- GPU: <!-- e.g. RX 580 or GTX 970 -->
|
||||||
- Driver/LLVM version: <!-- e.g. Mesa 18.2/7.0.0 or nvidia 396.54 -->
|
- Video driver version: <!-- e.g. Mesa 18.2 or nvidia 396.54 -->
|
||||||
- Kernel version: <!-- e.g. 4.17 -->
|
- Kernel version: <!-- e.g. 4.17 -->
|
||||||
- Link to full system information report as [Gist](https://gist.github.com/):
|
- Link to full system information report as [Gist](https://gist.github.com/):
|
||||||
- Proton version:
|
- Proton version:
|
||||||
@ -39,6 +39,8 @@ attach the generated $HOME/steam-$APPID.log to this issue report as a file.
|
|||||||
4. Please copy it to your clipboard by pressing `Ctrl+A` and then `Ctrl+C`.
|
4. Please copy it to your clipboard by pressing `Ctrl+A` and then `Ctrl+C`.
|
||||||
Then paste it in a [Gist](https://gist.github.com/) and post the link in
|
Then paste it in a [Gist](https://gist.github.com/) and post the link in
|
||||||
this issue.
|
this issue.
|
||||||
5. Please search for open issues and pull requests by the name of the game and
|
5. Also, please copy the contents of `Help` > `Steam Runtime Information` to
|
||||||
|
the gist.
|
||||||
|
6. Please search for open issues and pull requests by the name of the game and
|
||||||
find out whether they are relevant and should be referenced above.
|
find out whether they are relevant and should be referenced above.
|
||||||
-->
|
-->
|
||||||
|
2
.github/ISSUE_TEMPLATE/whitelist-request.md
vendored
2
.github/ISSUE_TEMPLATE/whitelist-request.md
vendored
@ -10,7 +10,7 @@ about: Games tested and found to have no issues.
|
|||||||
|
|
||||||
## System Information
|
## System Information
|
||||||
- GPU: <!-- e.g. RX 580 or GTX 970 -->
|
- GPU: <!-- e.g. RX 580 or GTX 970 -->
|
||||||
- Driver/LLVM version: <!-- e.g. Mesa 18.2/7.0.0 or nvidia 396.54 -->
|
- Video driver version: <!-- e.g. Mesa 18.2 or nvidia 396.54 -->
|
||||||
- Distro version: <!-- e.g. Ubuntu 18.04 -->
|
- Distro version: <!-- e.g. Ubuntu 18.04 -->
|
||||||
- Link to full system information report as [Gist](https://gist.github.com/):
|
- Link to full system information report as [Gist](https://gist.github.com/):
|
||||||
- Proton version:
|
- Proton version:
|
||||||
|
14
.gitmodules
vendored
14
.gitmodules
vendored
@ -13,12 +13,6 @@
|
|||||||
[submodule "gstreamer"]
|
[submodule "gstreamer"]
|
||||||
path = gstreamer
|
path = gstreamer
|
||||||
url = https://github.com/GStreamer/gstreamer.git
|
url = https://github.com/GStreamer/gstreamer.git
|
||||||
[submodule "gst-plugins-base"]
|
|
||||||
path = gst-plugins-base
|
|
||||||
url = https://github.com/GStreamer/gst-plugins-base.git
|
|
||||||
[submodule "gst-plugins-good"]
|
|
||||||
path = gst-plugins-good
|
|
||||||
url = https://github.com/GStreamer/gst-plugins-good.git
|
|
||||||
[submodule "gst-orc"]
|
[submodule "gst-orc"]
|
||||||
path = gst-orc
|
path = gst-orc
|
||||||
url = https://github.com/GStreamer/orc.git
|
url = https://github.com/GStreamer/orc.git
|
||||||
@ -54,4 +48,10 @@
|
|||||||
url = https://github.com/videolan/dav1d.git
|
url = https://github.com/videolan/dav1d.git
|
||||||
[submodule "gst-plugins-rs"]
|
[submodule "gst-plugins-rs"]
|
||||||
path = gst-plugins-rs
|
path = gst-plugins-rs
|
||||||
url = https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
|
url = https://github.com/sdroege/gst-plugin-rs
|
||||||
|
[submodule "graphene"]
|
||||||
|
path = graphene
|
||||||
|
url = https://github.com/ebassi/graphene
|
||||||
|
[submodule "glslang"]
|
||||||
|
path = glslang
|
||||||
|
url = https://github.com/KhronosGroup/glslang
|
||||||
|
2
LICENSE
2
LICENSE
@ -4,7 +4,7 @@ All rights reserved.
|
|||||||
Redistribution and use of Proton in source and binary forms is governed
|
Redistribution and use of Proton in source and binary forms is governed
|
||||||
by a variety of licenses.
|
by a variety of licenses.
|
||||||
|
|
||||||
Refer to the contents of LICENCE.proton for the license for the top
|
Refer to the contents of LICENSE.proton for the license for the top
|
||||||
level contents of the Proton project.
|
level contents of the Proton project.
|
||||||
|
|
||||||
Proton uses a variety of other software, each of which is governed
|
Proton uses a variety of other software, each of which is governed
|
||||||
|
53
Makefile
53
Makefile
@ -57,9 +57,12 @@ ifneq ($(enable_ccache),0)
|
|||||||
CONFIGURE_CMD += --enable-ccache
|
CONFIGURE_CMD += --enable-ccache
|
||||||
endif
|
endif
|
||||||
|
|
||||||
all: help
|
TOPLEVELGOALS := all any clean configure deploy downloads help install module proton protonsdk redist
|
||||||
|
CONTAINERGOALS := $(filter-out $(TOPLEVELGOALS),$(MAKECMDGOALS))
|
||||||
|
CONTAINERGOALS := $(filter-out $(BUILD_ROOT)/%,$(CONTAINERGOALS))
|
||||||
|
|
||||||
.PHONY: help clean configure proton install deploy module protonsdk
|
all: help
|
||||||
|
.PHONY: $(TOPLEVELGOALS)
|
||||||
|
|
||||||
help:
|
help:
|
||||||
@echo "Proton Makefile instructions"
|
@echo "Proton Makefile instructions"
|
||||||
@ -110,7 +113,7 @@ clean:
|
|||||||
rm -rf $(BUILD_DIR)
|
rm -rf $(BUILD_DIR)
|
||||||
|
|
||||||
protonsdk:
|
protonsdk:
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C proton/docker $(UNSTRIPPED) PROTONSDK_VERSION=$(protonsdk_version) proton
|
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C docker $(UNSTRIPPED) PROTONSDK_VERSION=$(protonsdk_version) proton
|
||||||
|
|
||||||
configure: | $(BUILD_DIR)
|
configure: | $(BUILD_DIR)
|
||||||
if [ ! -e $(BUILD_DIR)/Makefile ]; then \
|
if [ ! -e $(BUILD_DIR)/Makefile ]; then \
|
||||||
@ -121,31 +124,23 @@ ifeq ($(protonsdk_version),local)
|
|||||||
configure: protonsdk
|
configure: protonsdk
|
||||||
endif
|
endif
|
||||||
|
|
||||||
downloads: configure
|
proton: configure
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR) downloads
|
|
||||||
|
|
||||||
proton: downloads
|
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) dist && \
|
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) dist && \
|
||||||
echo "Proton built in VM. Use 'install' or 'deploy' targets to retrieve the build."
|
echo "Proton built locally. Use 'install', 'deploy' or 'redist' targets."
|
||||||
|
|
||||||
install-internal: | $(BUILD_ROOT)/compatibilitytools.d/$(_build_name)
|
install: configure
|
||||||
install-internal: downloads
|
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) install
|
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) install
|
||||||
|
|
||||||
install: install-internal
|
|
||||||
mkdir -p $(STEAM_DIR)/compatibilitytools.d/
|
|
||||||
cp -Rf --no-dereference --preserve=mode,links $(BUILD_ROOT)/compatibilitytools.d/$(_build_name) $(STEAM_DIR)/compatibilitytools.d/
|
|
||||||
echo "Proton installed to your local Steam installation"
|
echo "Proton installed to your local Steam installation"
|
||||||
|
|
||||||
redist: | $(BUILD_ROOT)/$(DEPLOY_DIR)
|
redist: | $(BUILD_ROOT)/$(DEPLOY_DIR)
|
||||||
redist: downloads
|
redist: configure
|
||||||
rm -rf $(BUILD_ROOT)/$(DEPLOY_DIR)/* && \
|
rm -rf $(BUILD_ROOT)/$(DEPLOY_DIR)/* && \
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) redist && \
|
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) redist && \
|
||||||
cp -Rf $(BUILD_DIR)/redist/* $(BUILD_ROOT)/$(DEPLOY_DIR) && \
|
cp -Rf $(BUILD_DIR)/redist/* $(BUILD_ROOT)/$(DEPLOY_DIR) && \
|
||||||
echo "Proton build available at $(BUILD_ROOT)/$(DEPLOY_DIR)"
|
echo "Proton build available at $(BUILD_ROOT)/$(DEPLOY_DIR)"
|
||||||
|
|
||||||
deploy: | $(BUILD_ROOT)/$(DEPLOY_DIR)-deploy
|
deploy: | $(BUILD_ROOT)/$(DEPLOY_DIR)-deploy
|
||||||
deploy: downloads
|
deploy: configure
|
||||||
rm -rf $(BUILD_ROOT)/$(DEPLOY_DIR)-deploy/* && \
|
rm -rf $(BUILD_ROOT)/$(DEPLOY_DIR)-deploy/* && \
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) deploy && \
|
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) deploy && \
|
||||||
cp -Rf $(BUILD_DIR)/deploy/* $(BUILD_ROOT)/$(DEPLOY_DIR)-deploy && \
|
cp -Rf $(BUILD_DIR)/deploy/* $(BUILD_ROOT)/$(DEPLOY_DIR)-deploy && \
|
||||||
@ -155,7 +150,7 @@ module: | $(BUILD_ROOT)/$(module)/lib/wine/i386-windows
|
|||||||
module: | $(BUILD_ROOT)/$(module)/lib/wine/i386-unix
|
module: | $(BUILD_ROOT)/$(module)/lib/wine/i386-unix
|
||||||
module: | $(BUILD_ROOT)/$(module)/lib64/wine/x86_64-windows
|
module: | $(BUILD_ROOT)/$(module)/lib64/wine/x86_64-windows
|
||||||
module: | $(BUILD_ROOT)/$(module)/lib64/wine/x86_64-unix
|
module: | $(BUILD_ROOT)/$(module)/lib64/wine/x86_64-unix
|
||||||
module: downloads
|
module: configure
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) module=$(module) module && \
|
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) module=$(module) module && \
|
||||||
cp -f $(BUILD_DIR)/obj-wine32/dlls/$(module)/$(MODULE_PEFILE) $(BUILD_ROOT)/$(module)/lib/wine/i386-windows/ && \
|
cp -f $(BUILD_DIR)/obj-wine32/dlls/$(module)/$(MODULE_PEFILE) $(BUILD_ROOT)/$(module)/lib/wine/i386-windows/ && \
|
||||||
cp -f $(BUILD_DIR)/obj-wine64/dlls/$(module)/$(MODULE_PEFILE) $(BUILD_ROOT)/$(module)/lib64/wine/x86_64-windows/ && \
|
cp -f $(BUILD_DIR)/obj-wine64/dlls/$(module)/$(MODULE_PEFILE) $(BUILD_ROOT)/$(module)/lib64/wine/x86_64-windows/ && \
|
||||||
@ -168,24 +163,24 @@ module: downloads
|
|||||||
cp -f $(BUILD_DIR)/obj-wine64/dlls/$(module)/$(MODULE_SOFILE) $(BUILD_ROOT)/$(module)/lib64/wine/x86_64-unix/; \
|
cp -f $(BUILD_DIR)/obj-wine64/dlls/$(module)/$(MODULE_SOFILE) $(BUILD_ROOT)/$(module)/lib64/wine/x86_64-unix/; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
any $(CONTAINERGOALS): configure
|
||||||
|
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CONTAINERGOALS)
|
||||||
|
|
||||||
dxvk: | $(BUILD_ROOT)/dxvk/lib/wine/dxvk
|
dxvk: | $(BUILD_ROOT)/dxvk/lib/wine/dxvk
|
||||||
dxvk: | $(BUILD_ROOT)/dxvk/lib64/wine/dxvk
|
dxvk: | $(BUILD_ROOT)/dxvk/lib64/wine/dxvk
|
||||||
dxvk: downloads
|
dxvk: any
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) dxvk && \
|
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib/wine/dxvk/*.dll $(BUILD_ROOT)/dxvk/lib/wine/dxvk/ && \
|
cp -f $(BUILD_DIR)/dist/dist/lib/wine/dxvk/*.dll $(BUILD_ROOT)/dxvk/lib/wine/dxvk/ && \
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib64/wine/dxvk/*.dll $(BUILD_ROOT)/dxvk/lib64/wine/dxvk/
|
cp -f $(BUILD_DIR)/dist/dist/lib64/wine/dxvk/*.dll $(BUILD_ROOT)/dxvk/lib64/wine/dxvk/
|
||||||
|
|
||||||
dxvk-nvapi: | $(BUILD_ROOT)/dxvk-nvapi/lib/wine/nvapi
|
dxvk-nvapi: | $(BUILD_ROOT)/dxvk-nvapi/lib/wine/nvapi
|
||||||
dxvk-nvapi: | $(BUILD_ROOT)/dxvk-nvapi/lib64/wine/nvapi
|
dxvk-nvapi: | $(BUILD_ROOT)/dxvk-nvapi/lib64/wine/nvapi
|
||||||
dxvk-nvapi: downloads
|
dxvk-nvapi: any
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) dxvk-nvapi && \
|
|
||||||
cp -f $(BUILD_DIR)/dist/files/lib/wine/nvapi/*.dll $(BUILD_ROOT)/dxvk-nvapi/lib/wine/nvapi/ && \
|
cp -f $(BUILD_DIR)/dist/files/lib/wine/nvapi/*.dll $(BUILD_ROOT)/dxvk-nvapi/lib/wine/nvapi/ && \
|
||||||
cp -f $(BUILD_DIR)/dist/files/lib64/wine/nvapi/*.dll $(BUILD_ROOT)/dxvk-nvapi/lib64/wine/nvapi/
|
cp -f $(BUILD_DIR)/dist/files/lib64/wine/nvapi/*.dll $(BUILD_ROOT)/dxvk-nvapi/lib64/wine/nvapi/
|
||||||
|
|
||||||
vkd3d-proton: | $(BUILD_ROOT)/vkd3d-proton/lib/wine/vkd3d-proton
|
vkd3d-proton: | $(BUILD_ROOT)/vkd3d-proton/lib/wine/vkd3d-proton
|
||||||
vkd3d-proton: | $(BUILD_ROOT)/vkd3d-proton/lib64/wine/vkd3d-proton
|
vkd3d-proton: | $(BUILD_ROOT)/vkd3d-proton/lib64/wine/vkd3d-proton
|
||||||
vkd3d-proton: downloads
|
vkd3d-proton: any
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) vkd3d-proton && \
|
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib/wine/vkd3d-proton/*.dll $(BUILD_ROOT)/vkd3d-proton/lib/wine/vkd3d-proton/ && \
|
cp -f $(BUILD_DIR)/dist/dist/lib/wine/vkd3d-proton/*.dll $(BUILD_ROOT)/vkd3d-proton/lib/wine/vkd3d-proton/ && \
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib64/wine/vkd3d-proton/*.dll $(BUILD_ROOT)/vkd3d-proton/lib64/wine/vkd3d-proton/
|
cp -f $(BUILD_DIR)/dist/dist/lib64/wine/vkd3d-proton/*.dll $(BUILD_ROOT)/vkd3d-proton/lib64/wine/vkd3d-proton/
|
||||||
|
|
||||||
@ -193,8 +188,7 @@ lsteamclient: | $(BUILD_ROOT)/lsteamclient/lib/wine/i386-windows
|
|||||||
lsteamclient: | $(BUILD_ROOT)/lsteamclient/lib/wine/i386-unix
|
lsteamclient: | $(BUILD_ROOT)/lsteamclient/lib/wine/i386-unix
|
||||||
lsteamclient: | $(BUILD_ROOT)/lsteamclient/lib64/wine/x86_64-windows
|
lsteamclient: | $(BUILD_ROOT)/lsteamclient/lib64/wine/x86_64-windows
|
||||||
lsteamclient: | $(BUILD_ROOT)/lsteamclient/lib64/wine/x86_64-unix
|
lsteamclient: | $(BUILD_ROOT)/lsteamclient/lib64/wine/x86_64-unix
|
||||||
lsteamclient: downloads
|
lsteamclient: any
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) lsteamclient && \
|
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib/wine/i386-windows/lsteamclient.dll $(BUILD_ROOT)/lsteamclient/lib/wine/i386-windows/ && \
|
cp -f $(BUILD_DIR)/dist/dist/lib/wine/i386-windows/lsteamclient.dll $(BUILD_ROOT)/lsteamclient/lib/wine/i386-windows/ && \
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib/wine/i386-unix/lsteamclient.dll.so $(BUILD_ROOT)/lsteamclient/lib/wine/i386-unix/ && \
|
cp -f $(BUILD_DIR)/dist/dist/lib/wine/i386-unix/lsteamclient.dll.so $(BUILD_ROOT)/lsteamclient/lib/wine/i386-unix/ && \
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib64/wine/x86_64-windows/lsteamclient.dll $(BUILD_ROOT)/lsteamclient/lib64/wine/x86_64-windows/ && \
|
cp -f $(BUILD_DIR)/dist/dist/lib64/wine/x86_64-windows/lsteamclient.dll $(BUILD_ROOT)/lsteamclient/lib64/wine/x86_64-windows/ && \
|
||||||
@ -204,8 +198,7 @@ vrclient: | $(BUILD_ROOT)/vrclient/lib/wine/i386-windows
|
|||||||
vrclient: | $(BUILD_ROOT)/vrclient/lib/wine/i386-unix
|
vrclient: | $(BUILD_ROOT)/vrclient/lib/wine/i386-unix
|
||||||
vrclient: | $(BUILD_ROOT)/vrclient/lib64/wine/x86_64-windows
|
vrclient: | $(BUILD_ROOT)/vrclient/lib64/wine/x86_64-windows
|
||||||
vrclient: | $(BUILD_ROOT)/vrclient/lib64/wine/x86_64-unix
|
vrclient: | $(BUILD_ROOT)/vrclient/lib64/wine/x86_64-unix
|
||||||
vrclient: downloads
|
vrclient: any
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) vrclient && \
|
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib/wine/i386-windows/vrclient.dll $(BUILD_ROOT)/vrclient/lib/wine/i386-windows/ && \
|
cp -f $(BUILD_DIR)/dist/dist/lib/wine/i386-windows/vrclient.dll $(BUILD_ROOT)/vrclient/lib/wine/i386-windows/ && \
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib/wine/i386-unix/vrclient.dll.so $(BUILD_ROOT)/vrclient/lib/wine/i386-unix/ && \
|
cp -f $(BUILD_DIR)/dist/dist/lib/wine/i386-unix/vrclient.dll.so $(BUILD_ROOT)/vrclient/lib/wine/i386-unix/ && \
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib64/wine/x86_64-windows/vrclient_x64.dll $(BUILD_ROOT)/vrclient/lib64/wine/x86_64-windows/ && \
|
cp -f $(BUILD_DIR)/dist/dist/lib64/wine/x86_64-windows/vrclient_x64.dll $(BUILD_ROOT)/vrclient/lib64/wine/x86_64-windows/ && \
|
||||||
@ -213,8 +206,7 @@ vrclient: downloads
|
|||||||
|
|
||||||
wineopenxr: | $(BUILD_ROOT)/wineopenxr/lib64/wine/x86_64-windows
|
wineopenxr: | $(BUILD_ROOT)/wineopenxr/lib64/wine/x86_64-windows
|
||||||
wineopenxr: | $(BUILD_ROOT)/wineopenxr/lib64/wine/x86_64-unix
|
wineopenxr: | $(BUILD_ROOT)/wineopenxr/lib64/wine/x86_64-unix
|
||||||
wineopenxr: downloads
|
wineopenxr: any
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) wineopenxr && \
|
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib64/wine/x86_64-windows/wineopenxr.dll $(BUILD_ROOT)/wineopenxr/lib64/wine/x86_64-windows/ && \
|
cp -f $(BUILD_DIR)/dist/dist/lib64/wine/x86_64-windows/wineopenxr.dll $(BUILD_ROOT)/wineopenxr/lib64/wine/x86_64-windows/ && \
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib64/wine/x86_64-unix/wineopenxr.dll.so $(BUILD_ROOT)/wineopenxr/lib64/wine/x86_64-unix/
|
cp -f $(BUILD_DIR)/dist/dist/lib64/wine/x86_64-unix/wineopenxr.dll.so $(BUILD_ROOT)/wineopenxr/lib64/wine/x86_64-unix/
|
||||||
|
|
||||||
@ -222,8 +214,7 @@ battleye: | $(BUILD_ROOT)/battleye/v1/lib/wine/i386-windows
|
|||||||
battleye: | $(BUILD_ROOT)/battleye/v1/lib/wine/i386-unix
|
battleye: | $(BUILD_ROOT)/battleye/v1/lib/wine/i386-unix
|
||||||
battleye: | $(BUILD_ROOT)/battleye/v1/lib64/wine/x86_64-windows
|
battleye: | $(BUILD_ROOT)/battleye/v1/lib64/wine/x86_64-windows
|
||||||
battleye: | $(BUILD_ROOT)/battleye/v1/lib64/wine/x86_64-unix
|
battleye: | $(BUILD_ROOT)/battleye/v1/lib64/wine/x86_64-unix
|
||||||
battleye: downloads
|
battleye: any
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) battleye && \
|
|
||||||
cp -f $(BUILD_DIR)/dist-battleye/v1/lib/wine/i386-windows/beclient.dll $(BUILD_ROOT)/battleye/v1/lib/wine/i386-windows/ && \
|
cp -f $(BUILD_DIR)/dist-battleye/v1/lib/wine/i386-windows/beclient.dll $(BUILD_ROOT)/battleye/v1/lib/wine/i386-windows/ && \
|
||||||
cp -f $(BUILD_DIR)/dist-battleye/v1/lib/wine/i386-unix/beclient.dll.so $(BUILD_ROOT)/battleye/v1/lib/wine/i386-unix/ && \
|
cp -f $(BUILD_DIR)/dist-battleye/v1/lib/wine/i386-unix/beclient.dll.so $(BUILD_ROOT)/battleye/v1/lib/wine/i386-unix/ && \
|
||||||
cp -f $(BUILD_DIR)/dist-battleye/v1/lib64/wine/x86_64-windows/beclient_x64.dll $(BUILD_ROOT)/battleye/v1/lib64/wine/x86_64-windows/ && \
|
cp -f $(BUILD_DIR)/dist-battleye/v1/lib64/wine/x86_64-windows/beclient_x64.dll $(BUILD_ROOT)/battleye/v1/lib64/wine/x86_64-windows/ && \
|
||||||
|
966
Makefile.in
966
Makefile.in
File diff suppressed because it is too large
Load Diff
@ -1 +1 @@
|
|||||||
Subproject commit 80adfd9ace05be069bfd3cbfa87a64dbee0d0a02
|
Subproject commit 58a00cf85c39ad5ec4dc43a769624e420c06179a
|
66
README.md
66
README.md
@ -150,6 +150,20 @@ is only useful after building Proton.
|
|||||||
`make dxvk` / `make vkd3d-proton` - rebuild DXVK / vkd3d-proton.
|
`make dxvk` / `make vkd3d-proton` - rebuild DXVK / vkd3d-proton.
|
||||||
|
|
||||||
|
|
||||||
|
### Debug Builds
|
||||||
|
|
||||||
|
To prevent symbol stripping add `UNSTRIPPED_BUILD=1` to the `make`
|
||||||
|
invocation. This should be used only with a clean build directory.
|
||||||
|
|
||||||
|
E.g.:
|
||||||
|
|
||||||
|
```
|
||||||
|
mkdir ../debug-proton-build && cd ../debug-proton-build
|
||||||
|
../proton/configure.sh --enable-ccache --build-name=debug_build
|
||||||
|
make UNSTRIPPED_BUILD=1 install
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
Install Proton locally
|
Install Proton locally
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
@ -191,6 +205,56 @@ version of Proton to other users, you must adhere to the terms of these
|
|||||||
licenses.
|
licenses.
|
||||||
|
|
||||||
|
|
||||||
|
Debugging
|
||||||
|
---------
|
||||||
|
|
||||||
|
Proton builds have their symbols stripped by default. You can switch to
|
||||||
|
"debug" beta branch in Steam (search for Proton in your library,
|
||||||
|
Properties... -> BETAS -> select "debug") or build without stripping (see
|
||||||
|
[Debug Builds section](#debug-builds)).
|
||||||
|
|
||||||
|
The symbols are provided through the accompanying `.debug` files which may
|
||||||
|
need to be explicitly loaded by the debugging tools. For GDB there's a helper
|
||||||
|
script `wine/tools/gdbinit.py` (source it) that provides `load-symbol-files`
|
||||||
|
(or `lsf` for short) command which loads the symbols for all the mapped files.
|
||||||
|
|
||||||
|
|
||||||
|
`compile_commands.json`
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
For use with [clangd](https://clangd.llvm.org/) LSP server and similar tooling.
|
||||||
|
|
||||||
|
Projects built using cmake or meson (e.g. vkd3d-proton) automatically come with
|
||||||
|
`compile_commands.json`. For autotools (e.g. wine) you have to [configure the
|
||||||
|
build](#configuring-the-build) with `--enable-bear` that uses
|
||||||
|
[bear](https://github.com/rizsotto/Bear) to create the compilation database.
|
||||||
|
It's not on by default as it make the build slightly slower.
|
||||||
|
|
||||||
|
The build system collects all the created compile_commands.json files in a
|
||||||
|
build subdirectory named `compile_commands/`.
|
||||||
|
|
||||||
|
The paths are translated to point to the real source (i.e. not the rsynced
|
||||||
|
copy). It still may depend on build directory for things like auto-generated
|
||||||
|
`config.h` though and for wine it may be beneficial to run `tools/make_requests`
|
||||||
|
in you source directories as those changes are not committed.
|
||||||
|
|
||||||
|
You can then configure your editor to use that file for clangd in a few ways:
|
||||||
|
|
||||||
|
1) directly - some editors/plugins allow you to specify the path to `compile_commands.json`
|
||||||
|
2) via `.clangd` file, e.g.
|
||||||
|
```bash
|
||||||
|
cd src/proton/wine/
|
||||||
|
cat > .clangd <<EOF
|
||||||
|
CompileFlags:
|
||||||
|
CompilationDatabase: ../build/current-dev/compile_commands/wine64/
|
||||||
|
EOF
|
||||||
|
```
|
||||||
|
3) by symlinking:
|
||||||
|
```bash
|
||||||
|
ln -s ../build/current-dev/compile_commands/wine64/compile_commands.json .
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
Runtime Config Options
|
Runtime Config Options
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
@ -240,10 +304,12 @@ the Wine prefix. Removing the option will revert to the previous behavior.
|
|||||||
| `vkd3dfl12` | | Force the Direct3D 12 feature level to 12, regardless of driver support. |
|
| `vkd3dfl12` | | Force the Direct3D 12 feature level to 12, regardless of driver support. |
|
||||||
| `vkd3dbindlesstb` | | Put `force_bindless_texel_buffer` into `VKD3D_CONFIG`. |
|
| `vkd3dbindlesstb` | | Put `force_bindless_texel_buffer` into `VKD3D_CONFIG`. |
|
||||||
| `nomfdxgiman` | `WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER` | Enable hack to work around video issues in some games due to incomplete IMFDXGIDeviceManager support. |
|
| `nomfdxgiman` | `WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER` | Enable hack to work around video issues in some games due to incomplete IMFDXGIDeviceManager support. |
|
||||||
|
| `noopwr` | `WINE_DISABLE_VULKAN_OPWR` | Enable hack to disable Vulkan other process window rendering which sometimes causes issues on Wayland due to blit being one frame behind. |
|
||||||
| `hidenvgpu` | `PROTON_HIDE_NVIDIA_GPU` | Force Nvidia GPUs to always be reported as AMD GPUs. Some games require this if they depend on Windows-only Nvidia driver functionality. See also DXVK's nvapiHack config, which only affects reporting from Direct3D. |
|
| `hidenvgpu` | `PROTON_HIDE_NVIDIA_GPU` | Force Nvidia GPUs to always be reported as AMD GPUs. Some games require this if they depend on Windows-only Nvidia driver functionality. See also DXVK's nvapiHack config, which only affects reporting from Direct3D. |
|
||||||
| | `WINE_FULLSCREEN_INTEGER_SCALING` | Enable integer scaling mode, to give sharp pixels when upscaling. |
|
| | `WINE_FULLSCREEN_INTEGER_SCALING` | Enable integer scaling mode, to give sharp pixels when upscaling. |
|
||||||
| `cmdlineappend:` | | Append the string after the colon as an argument to the game command. May be specified more than once. Escape commas and backslashes with a backslash. |
|
| `cmdlineappend:` | | Append the string after the colon as an argument to the game command. May be specified more than once. Escape commas and backslashes with a backslash. |
|
||||||
| `nowritewatch` | `PROTON_NO_WRITE_WATCH` | Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). |
|
| `nowritewatch` | `PROTON_NO_WRITE_WATCH` | Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). |
|
||||||
|
| `nosteamffmpeg` | `PROTON_NO_STEAM_FFMPEG` | Ignore ffmpeg that ships with Steam. Some videos may not play. |
|
||||||
| `seccomp` | `PROTON_USE_SECCOMP` | **Note: Obsoleted in Proton 5.13.** In older versions, enable seccomp-bpf filter to emulate native syscalls, required for some DRM protections to work. |
|
| `seccomp` | `PROTON_USE_SECCOMP` | **Note: Obsoleted in Proton 5.13.** In older versions, enable seccomp-bpf filter to emulate native syscalls, required for some DRM protections to work. |
|
||||||
| `d9vk` | `PROTON_USE_D9VK` | **Note: Obsoleted in Proton 5.0.** In older versions, use Vulkan-based DXVK instead of OpenGL-based wined3d for d3d9. |
|
| `d9vk` | `PROTON_USE_D9VK` | **Note: Obsoleted in Proton 5.0.** In older versions, use Vulkan-based DXVK instead of OpenGL-based wined3d for d3d9. |
|
||||||
|
|
||||||
|
75
configure.sh
75
configure.sh
@ -19,9 +19,9 @@ if [[ $(tput colors 2>/dev/null || echo 0) -gt 0 ]]; then
|
|||||||
COLOR_CLEAR=$'\e[0m'
|
COLOR_CLEAR=$'\e[0m'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sh_quote() {
|
sh_quote() {
|
||||||
local quoted
|
local quoted
|
||||||
quoted="$(printf '%q ' "$@")"; [[ $# -eq 0 ]] || echo "${quoted:0:-1}";
|
quoted="$(printf '%q ' "$@")"; [[ $# -eq 0 ]] || echo "${quoted:0:-1}";
|
||||||
}
|
}
|
||||||
err() { echo >&2 "${COLOR_ERR}!!${COLOR_CLEAR} $*"; }
|
err() { echo >&2 "${COLOR_ERR}!!${COLOR_CLEAR} $*"; }
|
||||||
stat() { echo >&2 "${COLOR_STAT}::${COLOR_CLEAR} $*"; }
|
stat() { echo >&2 "${COLOR_STAT}::${COLOR_CLEAR} $*"; }
|
||||||
@ -50,14 +50,14 @@ CONTAINER_MOUNT_OPTS=""
|
|||||||
|
|
||||||
check_container_engine() {
|
check_container_engine() {
|
||||||
stat "Trying $1."
|
stat "Trying $1."
|
||||||
if ! cmd $1 run --rm $arg_protonsdk_image; then
|
if ! cmd $1 run --rm $2; then
|
||||||
info "$1 is unable to run the container."
|
info "$1 is unable to run the container."
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
touch permission_check
|
touch permission_check
|
||||||
local inner_uid="$($1 run -v "$(pwd):/test$CONTAINER_MOUNT_OPTS" \
|
local inner_uid="$($1 run -v "$(pwd):/test$CONTAINER_MOUNT_OPTS" \
|
||||||
--rm $arg_protonsdk_image \
|
--rm $2 \
|
||||||
stat --format "%u" /test/permission_check 2>&1)"
|
stat --format "%u" /test/permission_check 2>&1)"
|
||||||
rm permission_check
|
rm permission_check
|
||||||
|
|
||||||
@ -94,11 +94,21 @@ function escape_for_make() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function configure() {
|
function configure() {
|
||||||
local steamrt_image="$1"
|
local steamrt_image="$arg_protonsdk_image"
|
||||||
local steamrt_name="$2"
|
|
||||||
local srcdir
|
local srcdir
|
||||||
srcdir="$(dirname "$0")"
|
srcdir="$(dirname "$0")"
|
||||||
|
|
||||||
|
if [[ "$srcdir" = "." ]]; then
|
||||||
|
err "Cannot do a top level in-tree build."
|
||||||
|
die "Create a subdirectory in build/ or outside of the tree and run configure.sh from there."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# nothing specified, getting the default value from the Makefile to test the
|
||||||
|
# container engine
|
||||||
|
if [[ -z $steamrt_image ]]; then
|
||||||
|
steamrt_image="$(sed -n 's/STEAMRT_IMAGE ?= //p' $SRCDIR/Makefile.in)"
|
||||||
|
fi
|
||||||
|
|
||||||
# Build name
|
# Build name
|
||||||
local build_name="$arg_build_name"
|
local build_name="$arg_build_name"
|
||||||
if [[ -n $build_name ]]; then
|
if [[ -n $build_name ]]; then
|
||||||
@ -108,15 +118,7 @@ function configure() {
|
|||||||
info "No build name specified, using default: $build_name"
|
info "No build name specified, using default: $build_name"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dependency_command fontforge
|
|
||||||
dependency_command find "findutils"
|
|
||||||
dependency_command make "GNU Make"
|
dependency_command make "GNU Make"
|
||||||
dependency_command rsync
|
|
||||||
dependency_command wget
|
|
||||||
dependency_command xz
|
|
||||||
dependency_command patch
|
|
||||||
dependency_command git
|
|
||||||
dependency_command python3
|
|
||||||
|
|
||||||
if [ "$MISSING_DEPENDENCIES" -ne 0 ]; then
|
if [ "$MISSING_DEPENDENCIES" -ne 0 ]; then
|
||||||
die "Missing dependencies, cannot continue."
|
die "Missing dependencies, cannot continue."
|
||||||
@ -127,12 +129,12 @@ function configure() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n "$arg_container_engine" ]]; then
|
if [[ -n "$arg_container_engine" ]]; then
|
||||||
check_container_engine "$arg_container_engine" || die "Specified container engine \"$arg_container_engine\" doesn't work"
|
check_container_engine "$arg_container_engine" "$steamrt_image" || die "Specified container engine \"$arg_container_engine\" doesn't work"
|
||||||
else
|
else
|
||||||
stat "Trying to find usable container engine."
|
stat "Trying to find usable container engine."
|
||||||
if check_container_engine docker; then
|
if check_container_engine docker "$steamrt_image"; then
|
||||||
arg_container_engine="docker"
|
arg_container_engine="docker"
|
||||||
elif check_container_engine podman; then
|
elif check_container_engine podman "$steamrt_image"; then
|
||||||
arg_container_engine="podman"
|
arg_container_engine="podman"
|
||||||
else
|
else
|
||||||
die "${arg_container_engine:-Container engine discovery} has failed. Please fix your setup."
|
die "${arg_container_engine:-Container engine discovery} has failed. Please fix your setup."
|
||||||
@ -152,9 +154,10 @@ function configure() {
|
|||||||
echo "SRCDIR := $(escape_for_make "$srcdir")"
|
echo "SRCDIR := $(escape_for_make "$srcdir")"
|
||||||
echo "BUILD_NAME := $(escape_for_make "$build_name")"
|
echo "BUILD_NAME := $(escape_for_make "$build_name")"
|
||||||
|
|
||||||
# SteamRT
|
# SteamRT was specified, baking it into the Makefile
|
||||||
echo "STEAMRT_NAME := $(escape_for_make "$steamrt_name")"
|
if [[ -n $arg_protonsdk_image ]]; then
|
||||||
echo "STEAMRT_IMAGE := $(escape_for_make "$steamrt_image")"
|
echo "STEAMRT_IMAGE := $(escape_for_make "$arg_protonsdk_image")"
|
||||||
|
fi
|
||||||
|
|
||||||
echo "ROOTLESS_CONTAINER := $ROOTLESS_CONTAINER"
|
echo "ROOTLESS_CONTAINER := $ROOTLESS_CONTAINER"
|
||||||
echo "CONTAINER_ENGINE := $arg_container_engine"
|
echo "CONTAINER_ENGINE := $arg_container_engine"
|
||||||
@ -167,6 +170,9 @@ function configure() {
|
|||||||
if [[ -n "$arg_enable_ccache" ]]; then
|
if [[ -n "$arg_enable_ccache" ]]; then
|
||||||
echo "ENABLE_CCACHE := 1"
|
echo "ENABLE_CCACHE := 1"
|
||||||
fi
|
fi
|
||||||
|
if [[ -n "$arg_enable_bear" ]]; then
|
||||||
|
echo "ENABLE_BEAR := 1"
|
||||||
|
fi
|
||||||
|
|
||||||
# Include base
|
# Include base
|
||||||
echo ""
|
echo ""
|
||||||
@ -181,14 +187,13 @@ function configure() {
|
|||||||
# Parse arguments
|
# Parse arguments
|
||||||
#
|
#
|
||||||
|
|
||||||
arg_steamrt="soldier"
|
arg_protonsdk_image=""
|
||||||
arg_protonsdk_image="registry.gitlab.steamos.cloud/proton/soldier/sdk:0.20220119.0-1"
|
|
||||||
arg_no_protonsdk=""
|
|
||||||
arg_build_name=""
|
arg_build_name=""
|
||||||
arg_container_engine=""
|
arg_container_engine=""
|
||||||
arg_docker_opts=""
|
arg_docker_opts=""
|
||||||
arg_relabel_volumes=""
|
arg_relabel_volumes=""
|
||||||
arg_enable_ccache=""
|
arg_enable_ccache=""
|
||||||
|
arg_enable_bear=""
|
||||||
arg_help=""
|
arg_help=""
|
||||||
invalid_args=""
|
invalid_args=""
|
||||||
function parse_args() {
|
function parse_args() {
|
||||||
@ -235,14 +240,11 @@ function parse_args() {
|
|||||||
arg_relabel_volumes="1"
|
arg_relabel_volumes="1"
|
||||||
elif [[ $arg = --enable-ccache ]]; then
|
elif [[ $arg = --enable-ccache ]]; then
|
||||||
arg_enable_ccache="1"
|
arg_enable_ccache="1"
|
||||||
|
elif [[ $arg = --enable-bear ]]; then
|
||||||
|
arg_enable_bear="1"
|
||||||
elif [[ $arg = --proton-sdk-image ]]; then
|
elif [[ $arg = --proton-sdk-image ]]; then
|
||||||
val_used=1
|
val_used=1
|
||||||
arg_protonsdk_image="$val"
|
arg_protonsdk_image="$val"
|
||||||
elif [[ $arg = --steam-runtime ]]; then
|
|
||||||
val_used=1
|
|
||||||
arg_steamrt="$val"
|
|
||||||
elif [[ $arg = --no-proton-sdk ]]; then
|
|
||||||
arg_no_protonsdk=1
|
|
||||||
else
|
else
|
||||||
err "Unrecognized option $arg"
|
err "Unrecognized option $arg"
|
||||||
return 1
|
return 1
|
||||||
@ -277,7 +279,7 @@ function parse_args() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
"$1" "Usage: $0 { --no-proton-sdk | --proton-sdk-image=<image> --steam-runtime=<name> }"
|
"$1" "Usage: $0 { --proton-sdk-image=<image> }"
|
||||||
"$1" " Generate a Makefile for building Proton. May be run from another directory to create"
|
"$1" " Generate a Makefile for building Proton. May be run from another directory to create"
|
||||||
"$1" " out-of-tree build directories (e.g. mkdir mybuild && cd mybuild && ../configure.sh)"
|
"$1" " out-of-tree build directories (e.g. mkdir mybuild && cd mybuild && ../configure.sh)"
|
||||||
"$1" ""
|
"$1" ""
|
||||||
@ -295,6 +297,8 @@ usage() {
|
|||||||
"$1" ""
|
"$1" ""
|
||||||
"$1" " --enable-ccache Mount \$CCACHE_DIR or \$HOME/.ccache inside of the container and use ccache for the build."
|
"$1" " --enable-ccache Mount \$CCACHE_DIR or \$HOME/.ccache inside of the container and use ccache for the build."
|
||||||
"$1" ""
|
"$1" ""
|
||||||
|
"$1" " --enable-bear Invokes make via bear creating compile_commands.json."
|
||||||
|
"$1" ""
|
||||||
"$1" " Steam Runtime"
|
"$1" " Steam Runtime"
|
||||||
"$1" " Proton builds that are to be installed & run under the steam client must be built with"
|
"$1" " Proton builds that are to be installed & run under the steam client must be built with"
|
||||||
"$1" " the Steam Runtime SDK to ensure compatibility. See README.md for more information."
|
"$1" " the Steam Runtime SDK to ensure compatibility. See README.md for more information."
|
||||||
@ -303,21 +307,10 @@ usage() {
|
|||||||
"$1" " for build steps that must be run in an SDK"
|
"$1" " for build steps that must be run in an SDK"
|
||||||
"$1" " environment. See README.md for instructions to"
|
"$1" " environment. See README.md for instructions to"
|
||||||
"$1" " create this image."
|
"$1" " create this image."
|
||||||
"$1" " --steam-runtime=soldier Name of the steam runtime release to build for (soldier, scout)."
|
|
||||||
"$1" ""
|
|
||||||
"$1" " --no-proton-sdk Do not automatically invoke any runtime SDK as part of the build."
|
|
||||||
"$1" " Build steps may still be manually run in a runtime environment."
|
|
||||||
exit 1;
|
exit 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
parse_args "$@" || usage err
|
parse_args "$@" || usage err
|
||||||
[[ -z $arg_help ]] || usage info
|
[[ -z $arg_help ]] || usage info
|
||||||
|
|
||||||
# Sanity check arguments
|
configure
|
||||||
if [[ -n $arg_no_protonsdk && -n $arg_protonsdk_image ]]; then
|
|
||||||
die "Cannot specify --proton-sdk-image as well as --no-proton-sdk"
|
|
||||||
elif [[ -z $arg_no_protonsdk && -z $arg_protonsdk_image ]]; then
|
|
||||||
die "Must specify either --no-proton-sdk or --proton-sdk-image"
|
|
||||||
fi
|
|
||||||
|
|
||||||
configure "$arg_protonsdk_image" "$arg_steamrt"
|
|
||||||
|
2
dav1d
2
dav1d
@ -1 +1 @@
|
|||||||
Subproject commit 7b433e077298d0f4faf8da6d6eb5774e29bffa54
|
Subproject commit 8a6f054ef1e0f7886bc6e53e6be97c427154fe85
|
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import re
|
||||||
|
|
||||||
def file_is_wine_builtin_dll(path):
|
def file_is_wine_builtin_dll(path):
|
||||||
if not os.path.exists(path):
|
if not os.path.exists(path):
|
||||||
@ -71,22 +72,60 @@ def setup_dll_symlinks(default_pfx_dir, dist_dir):
|
|||||||
os.unlink(filename)
|
os.unlink(filename)
|
||||||
make_relative_symlink(target, filename)
|
make_relative_symlink(target, filename)
|
||||||
|
|
||||||
def make_default_pfx(default_pfx_dir, dist_dir, runtime):
|
KEY_RE = re.compile(r'\[(.+)\] ([0-9]+)')
|
||||||
|
VALUE_RE = re.compile(r'"(.*)"="(.+)"')
|
||||||
|
|
||||||
|
def filter_registry(filename):
|
||||||
|
"""Remove registry values that contain a fully qualified path
|
||||||
|
inside some well-known registry keys. These paths are devised on
|
||||||
|
the build machine and it makes no sense to distribute them. Plus,
|
||||||
|
they are known to cause bugs."""
|
||||||
|
|
||||||
|
FILTER_KEYS = [
|
||||||
|
r'Software\\Microsoft\\Windows\\CurrentVersion\\Fonts',
|
||||||
|
r'Software\\Microsoft\\Windows NT\\CurrentVersion\\Fonts',
|
||||||
|
r'Software\\Wine\\Fonts\\External Fonts',
|
||||||
|
]
|
||||||
|
|
||||||
|
filtering = False
|
||||||
|
with open(filename) as fin:
|
||||||
|
with open(filename + '.tmp', 'w') as fout:
|
||||||
|
for line in fin:
|
||||||
|
line = line.strip()
|
||||||
|
|
||||||
|
match = KEY_RE.match(line)
|
||||||
|
if match is not None:
|
||||||
|
fout.write(line + '\n')
|
||||||
|
filtering = match.group(1) in FILTER_KEYS
|
||||||
|
continue
|
||||||
|
|
||||||
|
match = VALUE_RE.match(line)
|
||||||
|
if match is not None:
|
||||||
|
if not filtering or match.group(2)[1:2] != ':':
|
||||||
|
fout.write(line + '\n')
|
||||||
|
continue
|
||||||
|
|
||||||
|
fout.write(line + '\n')
|
||||||
|
|
||||||
|
os.rename(filename + '.tmp', filename)
|
||||||
|
|
||||||
|
#steampipe can't handle filenames with colons, so we remove them here
|
||||||
|
#and restore them in the proton script
|
||||||
|
def fixup_drive_links(default_pfx_dir):
|
||||||
|
for walk_dir, dirs, files in os.walk(os.path.join(default_pfx_dir, "dosdevices")):
|
||||||
|
for dir_ in dirs:
|
||||||
|
if ":" in dir_:
|
||||||
|
os.remove(os.path.join(walk_dir, dir_))
|
||||||
|
|
||||||
|
def make_default_pfx(default_pfx_dir, dist_dir):
|
||||||
local_env = dict(os.environ)
|
local_env = dict(os.environ)
|
||||||
|
|
||||||
ld_path = dist_dir + "/lib64:" + dist_dir + "/lib"
|
ld_path = dist_dir + "/lib64:" + dist_dir + "/lib"
|
||||||
|
|
||||||
if runtime is None:
|
local_env["LD_LIBRARY_PATH"] = ld_path
|
||||||
local_env["LD_LIBRARY_PATH"] = ld_path
|
local_env["WINEPREFIX"] = default_pfx_dir
|
||||||
local_env["WINEPREFIX"] = default_pfx_dir
|
local_env["WINEDEBUG"] = "-all"
|
||||||
local_env["WINEDEBUG"] = "-all"
|
runtime_args = []
|
||||||
runtime_args = []
|
|
||||||
else:
|
|
||||||
#the runtime clears the environment, so we pass it in on the CL via env
|
|
||||||
runtime_args = runtime + ["env",
|
|
||||||
"LD_LIBRARY_PATH=" + ld_path,
|
|
||||||
"WINEPREFIX=" + default_pfx_dir,
|
|
||||||
"WINEDEBUG=-all"]
|
|
||||||
|
|
||||||
subprocess.run(runtime_args + ["/bin/bash", "-c",
|
subprocess.run(runtime_args + ["/bin/bash", "-c",
|
||||||
os.path.join(dist_dir, 'bin', 'wine') + " wineboot && " +
|
os.path.join(dist_dir, 'bin', 'wine') + " wineboot && " +
|
||||||
@ -94,10 +133,11 @@ def make_default_pfx(default_pfx_dir, dist_dir, runtime):
|
|||||||
|
|
||||||
env=local_env, check=True)
|
env=local_env, check=True)
|
||||||
setup_dll_symlinks(default_pfx_dir, dist_dir)
|
setup_dll_symlinks(default_pfx_dir, dist_dir)
|
||||||
|
fixup_drive_links(default_pfx_dir)
|
||||||
|
|
||||||
|
filter_registry(os.path.join(default_pfx_dir, 'user.reg'))
|
||||||
|
filter_registry(os.path.join(default_pfx_dir, 'system.reg'))
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
import sys
|
import sys
|
||||||
if len(sys.argv) > 3:
|
make_default_pfx(sys.argv[1], sys.argv[2])
|
||||||
make_default_pfx(sys.argv[1], sys.argv[2], sys.argv[3:])
|
|
||||||
else:
|
|
||||||
make_default_pfx(sys.argv[1], sys.argv[2], None)
|
|
||||||
|
@ -1,41 +1,44 @@
|
|||||||
STEAMRT_VERSION = 0.20220119.0
|
STEAMRT_VERSION = 0.20230905.59202
|
||||||
STEAMRT_URLBASE = registry.gitlab.steamos.cloud
|
STEAMRT_URLBASE = registry.gitlab.steamos.cloud
|
||||||
|
|
||||||
PROTONSDK_URLBASE = $(STEAMRT_URLBASE)/proton/soldier/sdk
|
PROTONSDK_URLBASE = $(STEAMRT_URLBASE)/proton/sniper/sdk
|
||||||
PROTONSDK_VERSION = $(STEAMRT_VERSION)-0-dev
|
PROTONSDK_VERSION = $(STEAMRT_VERSION)-0-dev
|
||||||
|
|
||||||
# this is just for building toolchain, as we do static builds it should
|
# this is just for building toolchain, as we do static builds it should
|
||||||
# not have any impact on the end result, but changing it will invalidate
|
# not have any impact on the end result, but changing it will invalidate
|
||||||
# docker caches, so we need something that don't change much
|
# docker caches, so we need something that don't change much
|
||||||
BASE_IMAGE_i686 = i386/ubuntu:18.04
|
BASE_IMAGE = $(STEAMRT_URLBASE)/steamrt/sniper/sdk:0.20221017.1
|
||||||
BASE_IMAGE_x86_64 = ubuntu:18.04
|
|
||||||
|
|
||||||
BINUTILS_VERSION = 2.37
|
BINUTILS_VERSION = 2.40
|
||||||
GCC_VERSION = 10.3.0
|
GCC_VERSION = 10.3.0
|
||||||
MINGW_VERSION = 9.0.0
|
MINGW_VERSION = 9.0.0
|
||||||
RUST_VERSION = 1.57.0
|
RUST_VERSION = 1.68.0
|
||||||
|
NINJA_VERSION = 1.11.1
|
||||||
|
|
||||||
SOURCES_URLBASE = https://repo.steampowered.com/proton-sdk
|
SOURCES_URLBASE = https://repo.steampowered.com/proton-sdk
|
||||||
BINUTILS_URLBASE = $(SOURCES_URLBASE)
|
BINUTILS_URLBASE = $(SOURCES_URLBASE)
|
||||||
GCC_URLBASE = $(SOURCES_URLBASE)
|
GCC_URLBASE = $(SOURCES_URLBASE)
|
||||||
MINGW_URLBASE = $(SOURCES_URLBASE)
|
MINGW_URLBASE = $(SOURCES_URLBASE)
|
||||||
RUST_URLBASE = $(SOURCES_URLBASE)
|
RUST_URLBASE = $(SOURCES_URLBASE)
|
||||||
|
NINJA_URLBASE = $(SOURCES_URLBASE)
|
||||||
|
|
||||||
BINUTILS_SOURCE = binutils-$(BINUTILS_VERSION).tar.xz
|
BINUTILS_SOURCE = binutils-$(BINUTILS_VERSION).tar.xz
|
||||||
GCC_SOURCE = gcc-$(GCC_VERSION).tar.xz
|
GCC_SOURCE = gcc-$(GCC_VERSION).tar.xz
|
||||||
MINGW_SOURCE = mingw-w64-v$(MINGW_VERSION).tar.bz2
|
MINGW_SOURCE = mingw-w64-v$(MINGW_VERSION).tar.bz2
|
||||||
RUST_SOURCE_x86_64 = rust-$(RUST_VERSION)-x86_64-unknown-linux-gnu.tar.gz
|
RUST_SOURCE_x86_64 = rust-$(RUST_VERSION)-x86_64-unknown-linux-gnu.tar.gz
|
||||||
RUST_SOURCE_i686 = rust-$(RUST_VERSION)-i686-unknown-linux-gnu.tar.gz
|
RUST_SOURCE_i686 = rust-$(RUST_VERSION)-i686-unknown-linux-gnu.tar.gz
|
||||||
|
NINJA_SOURCE = ninja-build_$(NINJA_VERSION).orig.tar.gz
|
||||||
|
|
||||||
BINUTILS_SHA256 = 820d9724f020a3e69cb337893a0b63c2db161dadcb0e06fc11dc29eb1e84a32c
|
BINUTILS_SHA256 = 0f8a4c272d7f17f369ded10a4aca28b8e304828e95526da482b0ccc4dfc9d8e1
|
||||||
GCC_SHA256 = 64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344
|
GCC_SHA256 = 64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344
|
||||||
MINGW_SHA256 = 1929b94b402f5ff4d7d37a9fe88daa9cc55515a6134805c104d1794ae22a4181
|
MINGW_SHA256 = 1929b94b402f5ff4d7d37a9fe88daa9cc55515a6134805c104d1794ae22a4181
|
||||||
RUST_SHA256_x86_64 = ea0253784b2e5c22659ff148d492a68d2e11da734491714ebc61cc93896efcda
|
RUST_SHA256_x86_64 = 7be1acdac656d0b0b7e909e5c0d4ddf61c755c203ec26ebafbd306322335b361
|
||||||
RUST_SHA256_i686 = 7e4ac8ca2874897099a3ceb89039ceee170f474a98ee247589fd6bca8dda7cfa
|
RUST_SHA256_i686 = dc931adeb2943dcadfbd29546481f0296fcb97a511421053ecae6586a85869b1
|
||||||
|
NINJA_SHA256 = 31747ae633213f1eda3842686f83c2aa1412e0f5691d1c14dbbcc67fe7400cea
|
||||||
|
|
||||||
DOCKER = docker
|
DOCKER = docker
|
||||||
|
|
||||||
%.Dockerfile: %.Dockerfile.in
|
%.Dockerfile: %.Dockerfile.in Makefile
|
||||||
sed -re 's!@PROTONSDK_URLBASE@!$(PROTONSDK_URLBASE)!g' \
|
sed -re 's!@PROTONSDK_URLBASE@!$(PROTONSDK_URLBASE)!g' \
|
||||||
-re 's!@BASE_IMAGE@!$(BASE_IMAGE)!g' \
|
-re 's!@BASE_IMAGE@!$(BASE_IMAGE)!g' \
|
||||||
-re 's!@BINUTILS_VERSION@!$(BINUTILS_VERSION)!g' \
|
-re 's!@BINUTILS_VERSION@!$(BINUTILS_VERSION)!g' \
|
||||||
@ -56,37 +59,43 @@ DOCKER = docker
|
|||||||
-re 's!@RUST_SOURCE_i686@!$(RUST_SOURCE_i686)!g' \
|
-re 's!@RUST_SOURCE_i686@!$(RUST_SOURCE_i686)!g' \
|
||||||
-re 's!@RUST_SHA256_x86_64@!$(RUST_SHA256_x86_64)!g' \
|
-re 's!@RUST_SHA256_x86_64@!$(RUST_SHA256_x86_64)!g' \
|
||||||
-re 's!@RUST_SHA256_i686@!$(RUST_SHA256_i686)!g' \
|
-re 's!@RUST_SHA256_i686@!$(RUST_SHA256_i686)!g' \
|
||||||
|
-re 's!@NINJA_VERSION@!$(NINJA_VERSION)!g' \
|
||||||
|
-re 's!@NINJA_URLBASE@!$(NINJA_URLBASE)!g' \
|
||||||
|
-re 's!@NINJA_SOURCE@!$(NINJA_SOURCE)!g' \
|
||||||
|
-re 's!@NINJA_SHA256@!$(NINJA_SHA256)!g' \
|
||||||
-re 's!@J@!$(shell nproc)!g' \
|
-re 's!@J@!$(shell nproc)!g' \
|
||||||
$< >$@
|
$< >$@
|
||||||
|
|
||||||
%-i686.Dockerfile.in: %.Dockerfile.in
|
%-i686.Dockerfile.in: %.Dockerfile.in
|
||||||
sed -re 's!@ARCH@!i686!g' \
|
sed -re 's!@ARCH@!i686!g' \
|
||||||
|
-re 's!@ARCH_FLAGS@!$(ARCH_FLAGS)!g' \
|
||||||
$< >$@
|
$< >$@
|
||||||
|
|
||||||
%-x86_64.Dockerfile.in: %.Dockerfile.in
|
%-x86_64.Dockerfile.in: %.Dockerfile.in
|
||||||
sed -re 's!@ARCH@!x86_64!g' \
|
sed -re 's!@ARCH@!x86_64!g' \
|
||||||
|
-re 's!@ARCH_FLAGS@!$(ARCH_FLAGS)!g' \
|
||||||
$< >$@
|
$< >$@
|
||||||
|
|
||||||
%-linux-gnu.Dockerfile.in: %.Dockerfile.in
|
%-linux-gnu.Dockerfile.in: %.Dockerfile.in
|
||||||
sed -re 's!@TARGET@!linux-gnu!g' \
|
sed -re 's!@TARGET@!linux-gnu!g' \
|
||||||
|
-re 's!@ARCH_FLAGS@!$(ARCH_FLAGS)!g' \
|
||||||
-re 's!@TARGET_FLAGS@!$(TARGET_FLAGS)!g' \
|
-re 's!@TARGET_FLAGS@!$(TARGET_FLAGS)!g' \
|
||||||
$< >$@
|
$< >$@
|
||||||
|
|
||||||
%-w64-mingw32.Dockerfile.in: %.Dockerfile.in
|
%-w64-mingw32.Dockerfile.in: %.Dockerfile.in
|
||||||
sed -re 's!@TARGET@!w64-mingw32!g' \
|
sed -re 's!@TARGET@!w64-mingw32!g' \
|
||||||
|
-re 's!@ARCH_FLAGS@!$(ARCH_FLAGS)!g' \
|
||||||
-re 's!@TARGET_FLAGS@!$(TARGET_FLAGS)!g' \
|
-re 's!@TARGET_FLAGS@!$(TARGET_FLAGS)!g' \
|
||||||
$< >$@
|
$< >$@
|
||||||
|
|
||||||
define create-build-base-rules
|
define create-build-base-rules
|
||||||
.PHONY: build-base-$(1)
|
.PHONY: build-base-$(1)
|
||||||
all build-base: build-base-$(1)
|
all build-base: build-base-$(1)
|
||||||
build-base-$(1): BASE_IMAGE = $(BASE_IMAGE_$(1))
|
|
||||||
build-base-$(1): build-base-$(1).Dockerfile
|
build-base-$(1): build-base-$(1).Dockerfile
|
||||||
rm -rf build; mkdir -p build
|
|
||||||
$(DOCKER) build -f $$< \
|
$(DOCKER) build -f $$< \
|
||||||
--cache-from=$(PROTONSDK_URLBASE)/build-base-$(1):latest \
|
--cache-from=$(PROTONSDK_URLBASE)/build-base-$(1) \
|
||||||
-t $(PROTONSDK_URLBASE)/build-base-$(1):latest \
|
-t $(PROTONSDK_URLBASE)/build-base-$(1):latest \
|
||||||
build
|
context
|
||||||
pull::
|
pull::
|
||||||
-$(DOCKER) pull $(PROTONSDK_URLBASE)/build-base-$(1):latest
|
-$(DOCKER) pull $(PROTONSDK_URLBASE)/build-base-$(1):latest
|
||||||
push::
|
push::
|
||||||
@ -100,12 +109,11 @@ define create-binutils-rules
|
|||||||
.PHONY: binutils-$(1)-$(2)
|
.PHONY: binutils-$(1)-$(2)
|
||||||
all binutils: binutils-$(1)-$(2)
|
all binutils: binutils-$(1)-$(2)
|
||||||
binutils-$(1)-$(2): binutils-$(1)-$(2).Dockerfile | build-base
|
binutils-$(1)-$(2): binutils-$(1)-$(2).Dockerfile | build-base
|
||||||
rm -rf build; mkdir -p build
|
|
||||||
$(DOCKER) build -f $$< \
|
$(DOCKER) build -f $$< \
|
||||||
--cache-from=$(PROTONSDK_URLBASE)/binutils-$(1)-$(2):$(BINUTILS_VERSION) \
|
--cache-from=$(PROTONSDK_URLBASE)/binutils-$(1)-$(2) \
|
||||||
-t $(PROTONSDK_URLBASE)/binutils-$(1)-$(2):$(BINUTILS_VERSION) \
|
-t $(PROTONSDK_URLBASE)/binutils-$(1)-$(2):$(BINUTILS_VERSION) \
|
||||||
-t $(PROTONSDK_URLBASE)/binutils-$(1)-$(2):latest \
|
-t $(PROTONSDK_URLBASE)/binutils-$(1)-$(2):latest \
|
||||||
build
|
context
|
||||||
pull::
|
pull::
|
||||||
-$(DOCKER) pull $(PROTONSDK_URLBASE)/binutils-$(1)-$(2):$(BINUTILS_VERSION)
|
-$(DOCKER) pull $(PROTONSDK_URLBASE)/binutils-$(1)-$(2):$(BINUTILS_VERSION)
|
||||||
push::
|
push::
|
||||||
@ -118,16 +126,21 @@ $(eval $(call create-binutils-rules,i686,linux-gnu))
|
|||||||
$(eval $(call create-binutils-rules,x86_64,w64-mingw32))
|
$(eval $(call create-binutils-rules,x86_64,w64-mingw32))
|
||||||
$(eval $(call create-binutils-rules,x86_64,linux-gnu))
|
$(eval $(call create-binutils-rules,x86_64,linux-gnu))
|
||||||
|
|
||||||
|
MINGW_ARCH_FLAGS_crt-x86_64 = --disable-lib32 CFLAGS="-mcmodel=small"
|
||||||
|
MINGW_ARCH_FLAGS_crt-i686 = --disable-lib64
|
||||||
|
MINGW_ARCH_FLAGS_pthread-x86_64 = CFLAGS="-mcmodel=small"
|
||||||
|
MINGW_ARCH_FLAGS_pthread-i686 =
|
||||||
|
|
||||||
define create-mingw-rules
|
define create-mingw-rules
|
||||||
.PHONY: mingw-$(2)-$(1)
|
.PHONY: mingw-$(2)-$(1)
|
||||||
all mingw: mingw-$(2)-$(1)
|
all mingw: mingw-$(2)-$(1)
|
||||||
|
mingw-$(2)-$(1): ARCH_FLAGS = $(MINGW_ARCH_FLAGS_$(2)-$(1))
|
||||||
mingw-$(2)-$(1): mingw-$(2)-$(1).Dockerfile | binutils
|
mingw-$(2)-$(1): mingw-$(2)-$(1).Dockerfile | binutils
|
||||||
rm -rf build; mkdir -p build
|
|
||||||
$(DOCKER) build -f $$< \
|
$(DOCKER) build -f $$< \
|
||||||
--cache-from=$(PROTONSDK_URLBASE)/mingw-$(2)-$(1):$(MINGW_VERSION) \
|
--cache-from=$(PROTONSDK_URLBASE)/mingw-$(2)-$(1) \
|
||||||
-t $(PROTONSDK_URLBASE)/mingw-$(2)-$(1):$(MINGW_VERSION) \
|
-t $(PROTONSDK_URLBASE)/mingw-$(2)-$(1):$(MINGW_VERSION) \
|
||||||
-t $(PROTONSDK_URLBASE)/mingw-$(2)-$(1):latest \
|
-t $(PROTONSDK_URLBASE)/mingw-$(2)-$(1):latest \
|
||||||
build
|
context
|
||||||
pull::
|
pull::
|
||||||
-$(DOCKER) pull $(PROTONSDK_URLBASE)/mingw-$(2)-$(1):$(MINGW_VERSION)
|
-$(DOCKER) pull $(PROTONSDK_URLBASE)/mingw-$(2)-$(1):$(MINGW_VERSION)
|
||||||
push::
|
push::
|
||||||
@ -146,20 +159,23 @@ $(eval $(call create-mingw-rules,x86_64,crt))
|
|||||||
$(eval $(call create-mingw-rules,x86_64,pthreads))
|
$(eval $(call create-mingw-rules,x86_64,pthreads))
|
||||||
$(eval $(call create-mingw-rules,x86_64,widl))
|
$(eval $(call create-mingw-rules,x86_64,widl))
|
||||||
|
|
||||||
|
GCC_ARCH_FLAGS_x86_64 = CFLAGS_FOR_TARGET="-mcmodel=small" CXXFLAGS_FOR_TARGET="-mcmodel=small"
|
||||||
|
GCC_ARCH_FLAGS_i686 =
|
||||||
|
|
||||||
GCC_TARGET_FLAGS_w64-mingw32 = --disable-shared
|
GCC_TARGET_FLAGS_w64-mingw32 = --disable-shared
|
||||||
GCC_TARGET_FLAGS_linux-gnu =
|
GCC_TARGET_FLAGS_linux-gnu =
|
||||||
|
|
||||||
define create-gcc-rules
|
define create-gcc-rules
|
||||||
.PHONY: gcc-$(1)-$(2)
|
.PHONY: gcc-$(1)-$(2)
|
||||||
all gcc: gcc-$(1)-$(2)
|
all gcc: gcc-$(1)-$(2)
|
||||||
|
gcc-$(1)-$(2): ARCH_FLAGS = $(GCC_ARCH_FLAGS_$(1))
|
||||||
gcc-$(1)-$(2): TARGET_FLAGS = $(GCC_TARGET_FLAGS_$(2))
|
gcc-$(1)-$(2): TARGET_FLAGS = $(GCC_TARGET_FLAGS_$(2))
|
||||||
gcc-$(1)-$(2): gcc-$(1)-$(2).Dockerfile | mingw
|
gcc-$(1)-$(2): gcc-$(1)-$(2).Dockerfile | mingw
|
||||||
rm -rf build; mkdir -p build
|
|
||||||
$(DOCKER) build -f $$< \
|
$(DOCKER) build -f $$< \
|
||||||
--cache-from=$(PROTONSDK_URLBASE)/gcc-$(1)-$(2):$(GCC_VERSION) \
|
--cache-from=$(PROTONSDK_URLBASE)/gcc-$(1)-$(2) \
|
||||||
-t $(PROTONSDK_URLBASE)/gcc-$(1)-$(2):$(GCC_VERSION) \
|
-t $(PROTONSDK_URLBASE)/gcc-$(1)-$(2):$(GCC_VERSION) \
|
||||||
-t $(PROTONSDK_URLBASE)/gcc-$(1)-$(2):latest \
|
-t $(PROTONSDK_URLBASE)/gcc-$(1)-$(2):latest \
|
||||||
build
|
context
|
||||||
pull::
|
pull::
|
||||||
-$(DOCKER) pull $(PROTONSDK_URLBASE)/gcc-$(1)-$(2):$(GCC_VERSION)
|
-$(DOCKER) pull $(PROTONSDK_URLBASE)/gcc-$(1)-$(2):$(GCC_VERSION)
|
||||||
push::
|
push::
|
||||||
@ -175,14 +191,13 @@ $(eval $(call create-gcc-rules,x86_64,w64-mingw32))
|
|||||||
define create-proton-rules
|
define create-proton-rules
|
||||||
.PHONY: proton
|
.PHONY: proton
|
||||||
all: proton
|
all: proton
|
||||||
proton: BASE_IMAGE = $(STEAMRT_URLBASE)/steamrt/soldier/sdk:$(STEAMRT_VERSION)
|
proton: BASE_IMAGE = $(STEAMRT_URLBASE)/steamrt/sniper/sdk:$(STEAMRT_VERSION)
|
||||||
proton: proton.Dockerfile | gcc
|
proton: proton.Dockerfile | gcc
|
||||||
rm -rf build; mkdir -p build
|
|
||||||
$(DOCKER) build -f $$< \
|
$(DOCKER) build -f $$< \
|
||||||
--cache-from=$(PROTONSDK_URLBASE):$(PROTONSDK_VERSION) \
|
--cache-from=$(PROTONSDK_URLBASE) \
|
||||||
-t $(PROTONSDK_URLBASE):$(PROTONSDK_VERSION) \
|
-t $(PROTONSDK_URLBASE):$(PROTONSDK_VERSION) \
|
||||||
-t $(PROTONSDK_URLBASE):latest \
|
-t $(PROTONSDK_URLBASE):latest \
|
||||||
build
|
context
|
||||||
pull::
|
pull::
|
||||||
-$(DOCKER) pull $(PROTONSDK_URLBASE):$(PROTONSDK_VERSION)
|
-$(DOCKER) pull $(PROTONSDK_URLBASE):$(PROTONSDK_VERSION)
|
||||||
push::
|
push::
|
||||||
@ -198,13 +213,16 @@ sources::
|
|||||||
rm -f $(GCC_SOURCE)
|
rm -f $(GCC_SOURCE)
|
||||||
rm -f $(RUST_SOURCE_x86_64)
|
rm -f $(RUST_SOURCE_x86_64)
|
||||||
rm -f $(RUST_SOURCE_i686)
|
rm -f $(RUST_SOURCE_i686)
|
||||||
|
rm -f $(NINJA_SOURCE)
|
||||||
wget $(BINUTILS_URLBASE)/$(BINUTILS_SOURCE)
|
wget $(BINUTILS_URLBASE)/$(BINUTILS_SOURCE)
|
||||||
wget $(MINGW_URLBASE)/$(MINGW_SOURCE)
|
wget $(MINGW_URLBASE)/$(MINGW_SOURCE)
|
||||||
wget $(GCC_URLBASE)/$(GCC_SOURCE)
|
wget $(GCC_URLBASE)/$(GCC_SOURCE)
|
||||||
wget $(RUST_URLBASE)/$(RUST_SOURCE_x86_64)
|
wget $(RUST_URLBASE)/$(RUST_SOURCE_x86_64)
|
||||||
wget $(RUST_URLBASE)/$(RUST_SOURCE_i686)
|
wget $(RUST_URLBASE)/$(RUST_SOURCE_i686)
|
||||||
|
wget $(NINJA_URLBASE)/$(NINJA_SOURCE)
|
||||||
echo $(BINUTILS_SHA256) $(BINUTILS_SOURCE) | sha256sum -c -
|
echo $(BINUTILS_SHA256) $(BINUTILS_SOURCE) | sha256sum -c -
|
||||||
echo $(MINGW_SHA256) $(MINGW_SOURCE) | sha256sum -c -
|
echo $(MINGW_SHA256) $(MINGW_SOURCE) | sha256sum -c -
|
||||||
echo $(GCC_SHA256) $(GCC_SOURCE) | sha256sum -c -
|
echo $(GCC_SHA256) $(GCC_SOURCE) | sha256sum -c -
|
||||||
echo $(RUST_SHA256_x86_64) $(RUST_SOURCE_x86_64) | sha256sum -c -
|
echo $(RUST_SHA256_x86_64) $(RUST_SOURCE_x86_64) | sha256sum -c -
|
||||||
echo $(RUST_SHA256_i686) $(RUST_SOURCE_i686) | sha256sum -c -
|
echo $(RUST_SHA256_i686) $(RUST_SOURCE_i686) | sha256sum -c -
|
||||||
|
echo $(NINJA_SHA256) $(NINJA_SOURCE) | sha256sum -c -
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Proton (soldier) SDK
|
Proton (sniper) SDK
|
||||||
====================
|
====================
|
||||||
|
|
||||||
These are the build rules that are used to create docker images to build
|
These are the build rules that are used to create docker images to build
|
||||||
Proton. The automated creation of the official images lives in
|
Proton. The automated creation of the official images lives in
|
||||||
<https://gitlab.steamos.cloud/proton/soldier/sdk>, but this can be
|
<https://gitlab.steamos.cloud/proton/sniper/sdk>, but this can be
|
||||||
used to create local images too.
|
used to create local images too.
|
||||||
|
|
||||||
Local usage
|
Local usage
|
||||||
@ -31,11 +31,11 @@ To update the official Proton SDK images:
|
|||||||
commit and push the changes.
|
commit and push the changes.
|
||||||
|
|
||||||
2) Update `.gitlab-ci.yml` in the
|
2) Update `.gitlab-ci.yml` in the
|
||||||
[Proton SDK](https://gitlab.steamos.cloud/proton/soldier/sdk)
|
[Proton SDK](https://gitlab.steamos.cloud/proton/sniper/sdk)
|
||||||
repository to point to the new commit, commit and push to trigger a
|
repository to point to the new commit, commit and push to trigger a
|
||||||
new build of "-dev" images.
|
new build of "-dev" images.
|
||||||
|
|
||||||
3) Once the images are satifying, tag the version in Proton SDK
|
3) Once the images are satisfying, tag the version in Proton SDK
|
||||||
repository and push the tag, this will trigger a new build of the
|
repository and push the tag, this will trigger a new build of the
|
||||||
images and version them with the same tag as the Git tag.
|
images and version them with the same tag as the Git tag.
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ replacements done using `sed`.
|
|||||||
The <https://gitlab.steamos.cloud> CI uses Kaniko instead of Docker,
|
The <https://gitlab.steamos.cloud> CI uses Kaniko instead of Docker,
|
||||||
with a bit of script conversion to generate commands usable there. More
|
with a bit of script conversion to generate commands usable there. More
|
||||||
details are available in
|
details are available in
|
||||||
[Proton SDK](https://gitlab.steamos.cloud/proton/soldier/sdk).
|
[Proton SDK](https://gitlab.steamos.cloud/proton/sniper/sdk).
|
||||||
|
|
||||||
The `build-base` images are there to create a common ground to build the
|
The `build-base` images are there to create a common ground to build the
|
||||||
other elements of the toolchain. They are based on fairly recent (more
|
other elements of the toolchain. They are based on fairly recent (more
|
||||||
|
2156
docker/context/ninja-jobserver-client.patch
Normal file
2156
docker/context/ninja-jobserver-client.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -40,6 +40,7 @@ RUN wget -q @GCC_URLBASE@/@GCC_SOURCE@ \
|
|||||||
--with-system-mpfr \
|
--with-system-mpfr \
|
||||||
--with-system-zlib \
|
--with-system-zlib \
|
||||||
--with-tune=core-avx2 \
|
--with-tune=core-avx2 \
|
||||||
|
@ARCH_FLAGS@ \
|
||||||
MAKEINFO=true \
|
MAKEINFO=true \
|
||||||
&& make --quiet -j@J@ MAKEINFO=true CFLAGS="-static --static" LDFLAGS="-s -static --static" \
|
&& make --quiet -j@J@ MAKEINFO=true CFLAGS="-static --static" LDFLAGS="-s -static --static" \
|
||||||
&& make --quiet -j@J@ MAKEINFO=true CFLAGS="-static --static" LDFLAGS="-s -static --static" install-strip DESTDIR=/opt \
|
&& make --quiet -j@J@ MAKEINFO=true CFLAGS="-static --static" LDFLAGS="-s -static --static" install-strip DESTDIR=/opt \
|
||||||
|
@ -13,7 +13,8 @@ RUN wget -q @MINGW_URLBASE@/@MINGW_SOURCE@ \
|
|||||||
--prefix=/usr/@ARCH@-w64-mingw32/ \
|
--prefix=/usr/@ARCH@-w64-mingw32/ \
|
||||||
--host=@ARCH@-w64-mingw32 \
|
--host=@ARCH@-w64-mingw32 \
|
||||||
--enable-wildcard \
|
--enable-wildcard \
|
||||||
MAKEINFO=true || cat config.log \
|
@ARCH_FLAGS@ \
|
||||||
|
MAKEINFO=true \
|
||||||
&& make --quiet -j@J@ MAKEINFO=true \
|
&& make --quiet -j@J@ MAKEINFO=true \
|
||||||
&& make --quiet -j@J@ MAKEINFO=true install-strip DESTDIR=/opt \
|
&& make --quiet -j@J@ MAKEINFO=true install-strip DESTDIR=/opt \
|
||||||
&& rm -rf /opt/usr/share/doc /opt/usr/share/info /opt/usr/share/man \
|
&& rm -rf /opt/usr/share/doc /opt/usr/share/info /opt/usr/share/man \
|
||||||
|
@ -15,6 +15,7 @@ RUN wget -q @MINGW_URLBASE@/@MINGW_SOURCE@ \
|
|||||||
--prefix=/usr/@ARCH@-w64-mingw32/ \
|
--prefix=/usr/@ARCH@-w64-mingw32/ \
|
||||||
--host=@ARCH@-w64-mingw32 \
|
--host=@ARCH@-w64-mingw32 \
|
||||||
--disable-shared \
|
--disable-shared \
|
||||||
|
@ARCH_FLAGS@ \
|
||||||
MAKEINFO=true \
|
MAKEINFO=true \
|
||||||
&& make --quiet -j@J@ MAKEINFO=true \
|
&& make --quiet -j@J@ MAKEINFO=true \
|
||||||
&& make --quiet -j@J@ MAKEINFO=true install-strip DESTDIR=/opt \
|
&& make --quiet -j@J@ MAKEINFO=true install-strip DESTDIR=/opt \
|
||||||
|
@ -52,10 +52,14 @@ RUN bash -c 'mkdir -p /usr/lib/ccache && ls /usr/bin/{,*-}{cc,c++,gcc,g++}{,-[0-
|
|||||||
ENV PATH=/usr/lib/ccache:$PATH
|
ENV PATH=/usr/lib/ccache:$PATH
|
||||||
|
|
||||||
RUN apt-get install -y \
|
RUN apt-get install -y \
|
||||||
|
autoconf-archive \
|
||||||
fontforge \
|
fontforge \
|
||||||
fonttools \
|
fonttools \
|
||||||
libxpresent-dev \
|
libxpresent-dev \
|
||||||
libxpresent-dev:i386 \
|
libxpresent-dev:i386 \
|
||||||
|
libopenblas-dev \
|
||||||
|
libopenblas-dev:i386 \
|
||||||
|
python3-mako \
|
||||||
python3-pefile \
|
python3-pefile \
|
||||||
libcapstone-dev \
|
libcapstone-dev \
|
||||||
libcapstone-dev:i386 \
|
libcapstone-dev:i386 \
|
||||||
@ -65,6 +69,23 @@ RUN apt-get install -y \
|
|||||||
&& rm -rf /opt/usr/share/doc /opt/usr/share/info /opt/usr/share/man \
|
&& rm -rf /opt/usr/share/doc /opt/usr/share/info /opt/usr/share/man \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
COPY ninja-jobserver-client.patch /tmp
|
||||||
|
|
||||||
|
RUN wget -q @NINJA_URLBASE@/@NINJA_SOURCE@ \
|
||||||
|
&& echo '@NINJA_SHA256@ @NINJA_SOURCE@' \
|
||||||
|
&& echo '@NINJA_SHA256@ @NINJA_SOURCE@' | sha256sum -c - \
|
||||||
|
&& tar xf @NINJA_SOURCE@ -C /tmp && rm @NINJA_SOURCE@ \
|
||||||
|
&& cd /tmp/ninja-@NINJA_VERSION@ \
|
||||||
|
&& patch -p1 < /tmp/ninja-jobserver-client.patch \
|
||||||
|
&& mkdir build \
|
||||||
|
&& cd build \
|
||||||
|
&& cmake .. \
|
||||||
|
&& make \
|
||||||
|
&& cp ninja $(which ninja) \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf /tmp/ninja-@NINJA_VERSION@ \
|
||||||
|
&& rm -rf /tmp/ninja-jobserver-client.patch
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/bin/tini-static", "-s", "-g", "--"]
|
ENTRYPOINT ["/usr/bin/tini-static", "-s", "-g", "--"]
|
||||||
|
|
||||||
CMD ["/bin/bash"]
|
CMD ["/bin/bash"]
|
||||||
|
@ -14,7 +14,7 @@ hid is a layer above rawinput, where Windows will talk HID to the controller on
|
|||||||
the game's behalf. This turns the raw HID protocol data into usable things like
|
the game's behalf. This turns the raw HID protocol data into usable things like
|
||||||
buttons and joysticks.
|
buttons and joysticks.
|
||||||
|
|
||||||
dinput is a "legacy" API that allows applictions to talk to any type of
|
dinput is a "legacy" API that allows applications to talk to any type of
|
||||||
joystick. On Windows, it is implemented on top of HID. Notably, dinput allows
|
joystick. On Windows, it is implemented on top of HID. Notably, dinput allows
|
||||||
easy access to controllers that no other API does, so it is still used by
|
easy access to controllers that no other API does, so it is still used by
|
||||||
modern games despite being "legacy."
|
modern games despite being "legacy."
|
||||||
|
@ -4,7 +4,7 @@ Some games rely on ICMP ECHO requests to detect network connectivity,
|
|||||||
or to measure connection ping.
|
or to measure connection ping.
|
||||||
|
|
||||||
Proton supports sending ICMP ECHO requests using RAW sockets or DGRAM
|
Proton supports sending ICMP ECHO requests using RAW sockets or DGRAM
|
||||||
ICMP sockets, but the former requires elevated priviledges, and the
|
ICMP sockets, but the former requires elevated privileges, and the
|
||||||
latter may also be disabled by default.
|
latter may also be disabled by default.
|
||||||
|
|
||||||
DGRAM ICMP sockets can be enabled for a given set of user groups by
|
DGRAM ICMP sockets can be enabled for a given set of user groups by
|
||||||
|
@ -6,7 +6,7 @@ priority levels. However, most default Linux configurations don't allow
|
|||||||
individual threads to raise their priority, so some system configuration is
|
individual threads to raise their priority, so some system configuration is
|
||||||
likely required.
|
likely required.
|
||||||
|
|
||||||
It can be configured as a priviledged user by editing the
|
It can be configured as a privileged user by editing the
|
||||||
`/etc/security/limits.conf` file, or using the `/etc/security/limits.d/` conf
|
`/etc/security/limits.conf` file, or using the `/etc/security/limits.d/` conf
|
||||||
directory, and adding the following line at the end:
|
directory, and adding the following line at the end:
|
||||||
|
|
||||||
|
2
dxvk
2
dxvk
@ -1 +1 @@
|
|||||||
Subproject commit a72463c5afcb41d0b2f6459c87d396543053b983
|
Subproject commit 1b31aa5dbca0749d0737cff02043acb061332fb6
|
@ -1 +1 @@
|
|||||||
Subproject commit 87c043d7205b29cbba7610f0d88c7532ae32d736
|
Subproject commit 0a7c48b256cafe6b3fa1db8183f089712c72e9ad
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
fonts/noto/NotoSansChakma-Regular.ttf
Normal file
BIN
fonts/noto/NotoSansChakma-Regular.ttf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
fonts/noto/NotoSansMath-Regular.ttf
Normal file
BIN
fonts/noto/NotoSansMath-Regular.ttf
Normal file
Binary file not shown.
Binary file not shown.
BIN
fonts/noto/NotoSansMono-Regular.ttf
Normal file
BIN
fonts/noto/NotoSansMono-Regular.ttf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
fonts/noto/NotoSansSymbols-Regular.ttf
Normal file
BIN
fonts/noto/NotoSansSymbols-Regular.ttf
Normal file
Binary file not shown.
BIN
fonts/noto/NotoSansSymbols2-Regular.ttf
Normal file
BIN
fonts/noto/NotoSansSymbols2-Regular.ttf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
fonts/noto/NotoSerifTibetan-Regular.ttf
Normal file
BIN
fonts/noto/NotoSerifTibetan-Regular.ttf
Normal file
Binary file not shown.
140
fonts/ranges/arial
Normal file
140
fonts/ranges/arial
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
0020-007E
|
||||||
|
00A0-0377
|
||||||
|
037A-037F
|
||||||
|
0384-038A
|
||||||
|
038C
|
||||||
|
038E-03A1
|
||||||
|
03A3-052F
|
||||||
|
0531-0556
|
||||||
|
0559-055F
|
||||||
|
0561-0587
|
||||||
|
0589-058A
|
||||||
|
058D-058F
|
||||||
|
0591-05C7
|
||||||
|
05D0-05EA
|
||||||
|
05F0-05F4
|
||||||
|
0600-061C
|
||||||
|
061E-06FF
|
||||||
|
0750-077F
|
||||||
|
08A0-08B4
|
||||||
|
08B6-08BD
|
||||||
|
08D4-08FF
|
||||||
|
1D00-1DCA
|
||||||
|
1DFE-1F15
|
||||||
|
1F18-1F1D
|
||||||
|
1F20-1F45
|
||||||
|
1F48-1F4D
|
||||||
|
1F50-1F57
|
||||||
|
1F59
|
||||||
|
1F5B
|
||||||
|
1F5D
|
||||||
|
1F5F-1F7D
|
||||||
|
1F80-1FB4
|
||||||
|
1FB6-1FC4
|
||||||
|
1FC6-1FD3
|
||||||
|
1FD6-1FDB
|
||||||
|
1FDD-1FEF
|
||||||
|
1FF2-1FF4
|
||||||
|
1FF6-1FFE
|
||||||
|
2000-200F
|
||||||
|
2012-2022
|
||||||
|
2026
|
||||||
|
202A-2030
|
||||||
|
2032-2034
|
||||||
|
2039-203A
|
||||||
|
203C-203E
|
||||||
|
2044
|
||||||
|
205E
|
||||||
|
206A-2070
|
||||||
|
2074-2079
|
||||||
|
207F
|
||||||
|
2090-2094
|
||||||
|
20A0-20BF
|
||||||
|
20F0
|
||||||
|
2105
|
||||||
|
2113
|
||||||
|
2116-2117
|
||||||
|
2122
|
||||||
|
2126
|
||||||
|
212E
|
||||||
|
214D-214E
|
||||||
|
2153-2154
|
||||||
|
215B-215E
|
||||||
|
2184
|
||||||
|
2190-2195
|
||||||
|
21A8
|
||||||
|
2202
|
||||||
|
2206
|
||||||
|
220F
|
||||||
|
2211-2212
|
||||||
|
2215
|
||||||
|
2219-221A
|
||||||
|
221E-221F
|
||||||
|
2229
|
||||||
|
222B
|
||||||
|
2248
|
||||||
|
2260-2261
|
||||||
|
2264-2265
|
||||||
|
2302
|
||||||
|
2310
|
||||||
|
2320-2321
|
||||||
|
2500
|
||||||
|
2502
|
||||||
|
250C
|
||||||
|
2510
|
||||||
|
2514
|
||||||
|
2518
|
||||||
|
251C
|
||||||
|
2524
|
||||||
|
252C
|
||||||
|
2534
|
||||||
|
253C
|
||||||
|
2550-256C
|
||||||
|
2580
|
||||||
|
2584
|
||||||
|
2588
|
||||||
|
258C
|
||||||
|
2590-2593
|
||||||
|
25A0-25A1
|
||||||
|
25AA-25AC
|
||||||
|
25B2
|
||||||
|
25BA
|
||||||
|
25BC
|
||||||
|
25C4
|
||||||
|
25CA-25CC
|
||||||
|
25CF
|
||||||
|
25D8-25D9
|
||||||
|
25E6
|
||||||
|
263A-263C
|
||||||
|
2640
|
||||||
|
2642
|
||||||
|
2660
|
||||||
|
2663
|
||||||
|
2665-2666
|
||||||
|
266A-266B
|
||||||
|
266F
|
||||||
|
2C60-2C7F
|
||||||
|
2E17
|
||||||
|
A717-A7AE
|
||||||
|
A7B0-A7B7
|
||||||
|
A7F7-A7FF
|
||||||
|
AB30-AB65
|
||||||
|
FB00-FB06
|
||||||
|
FB13-FB17
|
||||||
|
FB1D-FB36
|
||||||
|
FB38-FB3C
|
||||||
|
FB3E
|
||||||
|
FB40-FB41
|
||||||
|
FB43-FB44
|
||||||
|
FB46-FBC1
|
||||||
|
FBD3-FBFF
|
||||||
|
FC5E-FC63
|
||||||
|
FCF2-FCF4
|
||||||
|
FD3C-FD3F
|
||||||
|
FDF2
|
||||||
|
FDF4
|
||||||
|
FDFA-FDFD
|
||||||
|
FE20-FE23
|
||||||
|
FE70-FE74
|
||||||
|
FE76-FEFC
|
||||||
|
FFFC
|
123
fonts/ranges/micross
Normal file
123
fonts/ranges/micross
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
0020-007E
|
||||||
|
00A0-0377
|
||||||
|
037A-037F
|
||||||
|
0384-038A
|
||||||
|
038C
|
||||||
|
038E-03A1
|
||||||
|
03A3-052F
|
||||||
|
0531-0556
|
||||||
|
0559-055F
|
||||||
|
0561-0587
|
||||||
|
0589-058A
|
||||||
|
058D-058F
|
||||||
|
0591-05C7
|
||||||
|
05D0-05EA
|
||||||
|
05F0-05F4
|
||||||
|
0600-061C
|
||||||
|
061E-06FF
|
||||||
|
0750-077F
|
||||||
|
0783
|
||||||
|
08A0-08B4
|
||||||
|
08B6-08BD
|
||||||
|
08D4-08FF
|
||||||
|
09F2-09F3
|
||||||
|
0AF1
|
||||||
|
0BF9
|
||||||
|
0E01-0E3A
|
||||||
|
0E3F-0E5B
|
||||||
|
10A0-10C5
|
||||||
|
10C7
|
||||||
|
10CD
|
||||||
|
10D0-10FF
|
||||||
|
17DB
|
||||||
|
1D00-1DCA
|
||||||
|
1DFE-1F15
|
||||||
|
1F18-1F1D
|
||||||
|
1F20-1F45
|
||||||
|
1F48-1F4D
|
||||||
|
1F50-1F57
|
||||||
|
1F59
|
||||||
|
1F5B
|
||||||
|
1F5D
|
||||||
|
1F5F-1F7D
|
||||||
|
1F80-1FB4
|
||||||
|
1FB6-1FC4
|
||||||
|
1FC6-1FD3
|
||||||
|
1FD6-1FDB
|
||||||
|
1FDD-1FEF
|
||||||
|
1FF2-1FF4
|
||||||
|
1FF6-1FFE
|
||||||
|
2000-2064
|
||||||
|
2066-2071
|
||||||
|
2074-208E
|
||||||
|
2090-209C
|
||||||
|
20A0-20BF
|
||||||
|
20E3
|
||||||
|
20F0
|
||||||
|
2105
|
||||||
|
2113
|
||||||
|
2116-2117
|
||||||
|
2122
|
||||||
|
2126
|
||||||
|
212E
|
||||||
|
2133
|
||||||
|
214D-214E
|
||||||
|
2150-218B
|
||||||
|
2190-2195
|
||||||
|
21A8
|
||||||
|
2202
|
||||||
|
2206
|
||||||
|
220F
|
||||||
|
2211-2212
|
||||||
|
2215
|
||||||
|
2219-221A
|
||||||
|
221E-221F
|
||||||
|
2229
|
||||||
|
222B
|
||||||
|
2248
|
||||||
|
2260-2261
|
||||||
|
2264-2265
|
||||||
|
2302
|
||||||
|
2310
|
||||||
|
2320-2321
|
||||||
|
2500
|
||||||
|
2502
|
||||||
|
250C
|
||||||
|
25A1
|
||||||
|
25AA-25AB
|
||||||
|
25CA
|
||||||
|
25CC
|
||||||
|
25CF
|
||||||
|
25E6
|
||||||
|
266F
|
||||||
|
2C60-2C7F
|
||||||
|
2D00-2D25
|
||||||
|
2D27
|
||||||
|
2D2D
|
||||||
|
2DE0-2DFF
|
||||||
|
2E17
|
||||||
|
A640-A69F
|
||||||
|
A717-A7AD
|
||||||
|
A7B0-A7B7
|
||||||
|
A7F7-A7FF
|
||||||
|
AB30-AB65
|
||||||
|
FB00-FB06
|
||||||
|
FB13-FB17
|
||||||
|
FB1D-FB36
|
||||||
|
FB38-FB3C
|
||||||
|
FB3E
|
||||||
|
FB40-FB41
|
||||||
|
FB43-FB44
|
||||||
|
FB46-FBC1
|
||||||
|
FBD3-FBFF
|
||||||
|
FC5E-FC63
|
||||||
|
FCF2-FCF4
|
||||||
|
FD3C-FD3F
|
||||||
|
FDF2
|
||||||
|
FDF4
|
||||||
|
FDFA-FDFD
|
||||||
|
FE20-FE23
|
||||||
|
FE70-FE74
|
||||||
|
FE76-FEFC
|
||||||
|
FEFF
|
||||||
|
FFFC-FFFD
|
166
fonts/ranges/nirmala
Normal file
166
fonts/ranges/nirmala
Normal file
@ -0,0 +1,166 @@
|
|||||||
|
000D
|
||||||
|
0020-007E
|
||||||
|
00A0-00FF
|
||||||
|
0131
|
||||||
|
0152-0153
|
||||||
|
0160-0161
|
||||||
|
0178
|
||||||
|
017D-017E
|
||||||
|
0192
|
||||||
|
02BC
|
||||||
|
02C6-02C7
|
||||||
|
02D8
|
||||||
|
02DA
|
||||||
|
02DC
|
||||||
|
03BC
|
||||||
|
0900-0983
|
||||||
|
0985-098C
|
||||||
|
098F-0990
|
||||||
|
0993-09A8
|
||||||
|
09AA-09B0
|
||||||
|
09B2
|
||||||
|
09B6-09B9
|
||||||
|
09BC-09C4
|
||||||
|
09C7-09C8
|
||||||
|
09CB-09CE
|
||||||
|
09D7
|
||||||
|
09DC-09DD
|
||||||
|
09DF-09E3
|
||||||
|
09E6-09FE
|
||||||
|
0A01-0A03
|
||||||
|
0A05-0A0A
|
||||||
|
0A0F-0A10
|
||||||
|
0A13-0A28
|
||||||
|
0A2A-0A30
|
||||||
|
0A32-0A33
|
||||||
|
0A35-0A36
|
||||||
|
0A38-0A39
|
||||||
|
0A3C
|
||||||
|
0A3E-0A42
|
||||||
|
0A47-0A48
|
||||||
|
0A4B-0A4D
|
||||||
|
0A51
|
||||||
|
0A59-0A5C
|
||||||
|
0A5E
|
||||||
|
0A66-0A76
|
||||||
|
0A81-0A83
|
||||||
|
0A85-0A8D
|
||||||
|
0A8F-0A91
|
||||||
|
0A93-0AA8
|
||||||
|
0AAA-0AB0
|
||||||
|
0AB2-0AB3
|
||||||
|
0AB5-0AB9
|
||||||
|
0ABC-0AC5
|
||||||
|
0AC7-0AC9
|
||||||
|
0ACB-0ACD
|
||||||
|
0AD0
|
||||||
|
0AE0-0AE3
|
||||||
|
0AE6-0AF1
|
||||||
|
0AF9-0AFF
|
||||||
|
0B01-0B03
|
||||||
|
0B05-0B0C
|
||||||
|
0B0F-0B10
|
||||||
|
0B13-0B28
|
||||||
|
0B2A-0B30
|
||||||
|
0B32-0B33
|
||||||
|
0B35-0B39
|
||||||
|
0B3C-0B44
|
||||||
|
0B47-0B48
|
||||||
|
0B4B-0B4D
|
||||||
|
0B56-0B57
|
||||||
|
0B5C-0B5D
|
||||||
|
0B5F-0B63
|
||||||
|
0B66-0B77
|
||||||
|
0B82-0B83
|
||||||
|
0B85-0B8A
|
||||||
|
0B8E-0B90
|
||||||
|
0B92-0B95
|
||||||
|
0B99-0B9A
|
||||||
|
0B9C
|
||||||
|
0B9E-0B9F
|
||||||
|
0BA3-0BA4
|
||||||
|
0BA8-0BAA
|
||||||
|
0BAE-0BB9
|
||||||
|
0BBE-0BC2
|
||||||
|
0BC6-0BC8
|
||||||
|
0BCA-0BCD
|
||||||
|
0BD0
|
||||||
|
0BD7
|
||||||
|
0BE6-0BFA
|
||||||
|
0C00-0C0C
|
||||||
|
0C0E-0C10
|
||||||
|
0C12-0C28
|
||||||
|
0C2A-0C39
|
||||||
|
0C3D-0C44
|
||||||
|
0C46-0C48
|
||||||
|
0C4A-0C4D
|
||||||
|
0C55-0C56
|
||||||
|
0C58-0C5A
|
||||||
|
0C60-0C63
|
||||||
|
0C66-0C6F
|
||||||
|
0C78-0C8C
|
||||||
|
0C8E-0C90
|
||||||
|
0C92-0CA8
|
||||||
|
0CAA-0CB3
|
||||||
|
0CB5-0CB9
|
||||||
|
0CBC-0CC4
|
||||||
|
0CC6-0CC8
|
||||||
|
0CCA-0CCD
|
||||||
|
0CD5-0CD6
|
||||||
|
0CDE
|
||||||
|
0CE0-0CE3
|
||||||
|
0CE6-0CEF
|
||||||
|
0CF1-0CF2
|
||||||
|
0D00-0D03
|
||||||
|
0D05-0D0C
|
||||||
|
0D0E-0D10
|
||||||
|
0D12-0D44
|
||||||
|
0D46-0D48
|
||||||
|
0D4A-0D4F
|
||||||
|
0D54-0D63
|
||||||
|
0D66-0D7F
|
||||||
|
0D82-0D83
|
||||||
|
0D85-0D96
|
||||||
|
0D9A-0DB1
|
||||||
|
0DB3-0DBB
|
||||||
|
0DBD
|
||||||
|
0DC0-0DC6
|
||||||
|
0DCA
|
||||||
|
0DCF-0DD4
|
||||||
|
0DD6
|
||||||
|
0DD8-0DDF
|
||||||
|
0DE6-0DEF
|
||||||
|
0DF2-0DF4
|
||||||
|
0FD5-0FD8
|
||||||
|
1C50-1C7F
|
||||||
|
1CD0-1CF9
|
||||||
|
200B-200D
|
||||||
|
2010
|
||||||
|
2013-2014
|
||||||
|
2018-201A
|
||||||
|
201C-201E
|
||||||
|
2020-2022
|
||||||
|
2026
|
||||||
|
2030
|
||||||
|
2039-203A
|
||||||
|
2044
|
||||||
|
20A8
|
||||||
|
20AC
|
||||||
|
20B9
|
||||||
|
2122
|
||||||
|
2212
|
||||||
|
2215
|
||||||
|
2219
|
||||||
|
2236
|
||||||
|
25CC
|
||||||
|
25CF
|
||||||
|
262C
|
||||||
|
A830-A839
|
||||||
|
A8E0-A8FF
|
||||||
|
ABC0-ABED
|
||||||
|
ABF0-ABF9
|
||||||
|
110D0-110E8
|
||||||
|
110F0-110F9
|
||||||
|
11100-11134
|
||||||
|
11136-11146
|
||||||
|
111E1-111F4
|
@ -1,7 +1,7 @@
|
|||||||
if ($argc != 5)
|
if ($argc != 6)
|
||||||
Error ("Expected arguments - FileName, PSName, FamilyName, FaceName")
|
Error ("Expected arguments - FileName, PSName, FamilyName, FaceName, OutFileName")
|
||||||
endif
|
endif
|
||||||
|
|
||||||
Open($1)
|
Open($1)
|
||||||
SetFontNames($argv[2], $argv[3], $argv[4])
|
SetFontNames($argv[2], $argv[3], $argv[4])
|
||||||
Generate($1:r + ".ttf")
|
Generate($5)
|
||||||
|
290
fonts/scripts/merge.py
Executable file
290
fonts/scripts/merge.py
Executable file
@ -0,0 +1,290 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
# This script was created by Giovanni Mascellani for CodeWeavers
|
||||||
|
|
||||||
|
# Based on merge_noto.py and merge_fonts.py from the nototools
|
||||||
|
# (https://github.com/googlefonts/nototools), with the following
|
||||||
|
# copyright notice:
|
||||||
|
|
||||||
|
# Copyright 2014-2017 Google Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
# The font name changing logic is taken from
|
||||||
|
# https://github.com/chrissimpkins/fontname.py/blob/master/fontname.py,
|
||||||
|
# with the following copyright notice:
|
||||||
|
|
||||||
|
# Copyright 2019 Christopher Simpkins
|
||||||
|
# MIT License
|
||||||
|
|
||||||
|
# The font subsetting logic is taken from
|
||||||
|
# https://github.com/fonttools/fonttools/blob/main/Lib/fontTools/subset/__init__.py
|
||||||
|
# with the following copyright notice:
|
||||||
|
|
||||||
|
# Copyright 2013 Google, Inc. All Rights Reserved.
|
||||||
|
# Google Author(s): Behdad Esfahbod
|
||||||
|
|
||||||
|
# The whole fonttools repository is distributed under the MIT license.
|
||||||
|
|
||||||
|
"""Merges a number of Noto fonts and then sets a given name to the
|
||||||
|
result.
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import tempfile
|
||||||
|
import os
|
||||||
|
|
||||||
|
from fontTools import merge
|
||||||
|
from fontTools import ttLib
|
||||||
|
from fontTools import subset
|
||||||
|
from fontTools.ttLib.tables import otTables
|
||||||
|
|
||||||
|
def read_line_metrics(font):
|
||||||
|
metrics = {
|
||||||
|
"ascent": font["hhea"].ascent,
|
||||||
|
"descent": font["hhea"].descent,
|
||||||
|
"usWinAscent": font["OS/2"].usWinAscent,
|
||||||
|
"usWinDescent": font["OS/2"].usWinDescent,
|
||||||
|
"sTypoAscender": font["OS/2"].sTypoAscender,
|
||||||
|
"sTypoDescender": font["OS/2"].sTypoDescender,
|
||||||
|
"sxHeight": font["OS/2"].sxHeight,
|
||||||
|
"sCapHeight": font["OS/2"].sCapHeight,
|
||||||
|
"sTypoLineGap": font["OS/2"].sTypoLineGap,
|
||||||
|
}
|
||||||
|
return metrics
|
||||||
|
|
||||||
|
|
||||||
|
def set_line_metrics(font, metrics):
|
||||||
|
font["hhea"].ascent = metrics["ascent"]
|
||||||
|
font["hhea"].descent = metrics["descent"]
|
||||||
|
font["OS/2"].usWinAscent = metrics["usWinAscent"]
|
||||||
|
font["OS/2"].usWinDescent = metrics["usWinDescent"]
|
||||||
|
font["OS/2"].sTypoAscender = metrics["sTypoAscender"]
|
||||||
|
font["OS/2"].sTypoDescender = metrics["sTypoDescender"]
|
||||||
|
font["OS/2"].sxHeight = metrics["sxHeight"]
|
||||||
|
font["OS/2"].sCapHeight = metrics["sCapHeight"]
|
||||||
|
font["OS/2"].sTypoLineGap = metrics["sTypoLineGap"]
|
||||||
|
|
||||||
|
def has_gsub_table(fontfile):
|
||||||
|
font = ttLib.TTFont(fontfile)
|
||||||
|
return "GSUB" in font
|
||||||
|
|
||||||
|
SCRIPT_TO_OPENTYPE_SCRIPT_TAG = {
|
||||||
|
# Retrieved from Opentype 1.9 delta specs. Prerelease scripttags used out of necessity. https://docs.microsoft.com/en-us/typography/opentype/spec/scripttags
|
||||||
|
"Carian": "cari",
|
||||||
|
"CypriotSyllabary": "cprt",
|
||||||
|
"CyproMinoan": "cpmn",
|
||||||
|
"Deseret": "dsrt",
|
||||||
|
"Glagolitic": "glag",
|
||||||
|
"EgyptianHieroglyphs": "egyp",
|
||||||
|
"ImperialAramaic": "armi",
|
||||||
|
"LinearA": "lina",
|
||||||
|
"LinearB": "linb",
|
||||||
|
"Lisu": "lisu",
|
||||||
|
"Lycian": "lyci",
|
||||||
|
"Lydian": "lydi",
|
||||||
|
"Ogham": "ogam",
|
||||||
|
"OldItalic": "ital",
|
||||||
|
"OldPersian": "xpeo",
|
||||||
|
"OldSouthArabian": "sarb",
|
||||||
|
"OldTurkic": "orkh",
|
||||||
|
"OldSogdian": "sogo",
|
||||||
|
"OldNorthArabian": "narb",
|
||||||
|
"OldHungarian": "hung",
|
||||||
|
"Osmanya": "osma",
|
||||||
|
"Phoenician": "phnx",
|
||||||
|
"SumeroAkkadianCuneiform": "xsux",
|
||||||
|
"Ugaritic": "ugar",
|
||||||
|
"OlChiki": "olck",
|
||||||
|
"TaiLe": "tale",
|
||||||
|
"Cuneiform": "xsux",
|
||||||
|
"Cypriot": "cprt",
|
||||||
|
"Runic": "runr",
|
||||||
|
"Shavian": "shaw",
|
||||||
|
"Vai": "vai ",
|
||||||
|
"Yi": "yi ",
|
||||||
|
"AnatolianHieroglyphs": "hluw",
|
||||||
|
"Bamum": "bamu",
|
||||||
|
"ByzantineMusic": "byzm",
|
||||||
|
"Gothic": "goth",
|
||||||
|
"ImperialAramaic": "armi",
|
||||||
|
"InscriptionalPahlavi": "phli",
|
||||||
|
"InscriptionalParthian": "prti",
|
||||||
|
"Khojki": "khoj",
|
||||||
|
"MathematicalAlphanumericSymbols": "math",
|
||||||
|
"MeroiticCursive": "merc",
|
||||||
|
"MeroiticHieroglyphs": "mero",
|
||||||
|
"MusicalSymbols": "musc",
|
||||||
|
"Palmyrene": "palm",
|
||||||
|
"Rejang": "rjng",
|
||||||
|
"Samaritan": "samr",
|
||||||
|
"Carian": "cari",
|
||||||
|
"Ahom": "ahom",
|
||||||
|
"Adlam": "adlm",
|
||||||
|
"Dogra": "dogr",
|
||||||
|
"Lisu": "lisu",
|
||||||
|
"Mandaean": "mand",
|
||||||
|
"Manichaean": "mani",
|
||||||
|
"Tifinagh": "tfng",
|
||||||
|
"Wancho": "wcho",
|
||||||
|
"Yezidi": "yezi",
|
||||||
|
"Cherokee": "cher",
|
||||||
|
"Chorasmian": "chrs",
|
||||||
|
"PahawhHmong": "hmng",
|
||||||
|
"Phagspa": "phag",
|
||||||
|
"Sundanese": "sund",
|
||||||
|
"WarangCiti": "wara",
|
||||||
|
"SylotiNagri": "sylo",
|
||||||
|
"PsalterPahlavi": "phlp",
|
||||||
|
"CaucasianAlbanian": "aghb",
|
||||||
|
"Medefaidrin": "medf",
|
||||||
|
"MeiteiMayek": "mtei",
|
||||||
|
"MendeKikakui": "mend",
|
||||||
|
"Mro": "mroo",
|
||||||
|
"Multani": "mult",
|
||||||
|
"Nabataean": "nbat",
|
||||||
|
"Nandinagari": "nand",
|
||||||
|
"Newa": "newa",
|
||||||
|
"NewTaiLue": "talu",
|
||||||
|
"Nushu": "nshu",
|
||||||
|
"NyiakengPuachueHmong": "hmnp",
|
||||||
|
"OldPermic": "perm",
|
||||||
|
"SoraSompeng": "sora",
|
||||||
|
"Soyombo": "soyo",
|
||||||
|
"SylotiNagri": "sylo",
|
||||||
|
"Tagbanwa": "tagb",
|
||||||
|
"Tagalog": "tglg",
|
||||||
|
"Takri": "takr",
|
||||||
|
"TaiTham": "lana",
|
||||||
|
"TaiViet": "tavt",
|
||||||
|
"Tangut": "tang",
|
||||||
|
"Thaana": "thaa",
|
||||||
|
"UgariticCuneiform": "ugar",
|
||||||
|
"ZanabazarSquare": "zanb",
|
||||||
|
"SignWriting": "sgnw",
|
||||||
|
"OldUyghur": "ougr",
|
||||||
|
"Tangsa": "tnsa",
|
||||||
|
"Toto": "toto",
|
||||||
|
"Vithkuqi": "vith",
|
||||||
|
"Duployan": "dupl",
|
||||||
|
"Hatran": "hatr",
|
||||||
|
# These last two would only merge using the long script name including the 'NotoSerif' part
|
||||||
|
"NotoSerifYezidi": "yezi",
|
||||||
|
"NotoSerifNyiakengPuachueHmong": "hmnp",
|
||||||
|
}
|
||||||
|
|
||||||
|
def get_opentype_script_tag(fontfile):
|
||||||
|
fontfile = os.path.basename(fontfile)
|
||||||
|
if fontfile.startswith("NotoSans"):
|
||||||
|
fontfile = fontfile[8:]
|
||||||
|
fontfile = fontfile[: fontfile.index("-")]
|
||||||
|
return SCRIPT_TO_OPENTYPE_SCRIPT_TAG[fontfile]
|
||||||
|
|
||||||
|
def add_gsub_to_font(fontfile):
|
||||||
|
"""Adds an empty GSUB table to a font."""
|
||||||
|
font = ttLib.TTFont(fontfile)
|
||||||
|
gsub_table = ttLib.getTableClass("GSUB")("GSUB")
|
||||||
|
gsub_table.table = otTables.GSUB()
|
||||||
|
gsub_table.table.Version = 1.0
|
||||||
|
gsub_table.table.ScriptList = otTables.ScriptList()
|
||||||
|
gsub_table.table.ScriptCount = 1
|
||||||
|
gsub_table.table.LookupList = otTables.LookupList()
|
||||||
|
gsub_table.table.LookupList.LookupCount = 0
|
||||||
|
gsub_table.table.LookupList.Lookup = []
|
||||||
|
gsub_table.table.FeatureList = otTables.FeatureList()
|
||||||
|
gsub_table.table.FeatureList.FeatureCount = 0
|
||||||
|
gsub_table.table.LookupList.FeatureRecord = []
|
||||||
|
|
||||||
|
script_record = otTables.ScriptRecord()
|
||||||
|
script_record.ScriptTag = get_opentype_script_tag(fontfile)
|
||||||
|
script_record.Script = otTables.Script()
|
||||||
|
script_record.Script.LangSysCount = 0
|
||||||
|
script_record.Script.LangSysRecord = []
|
||||||
|
|
||||||
|
default_lang_sys = otTables.DefaultLangSys()
|
||||||
|
default_lang_sys.FeatureIndex = []
|
||||||
|
default_lang_sys.FeatureCount = 0
|
||||||
|
default_lang_sys.LookupOrder = None
|
||||||
|
default_lang_sys.ReqFeatureIndex = 65535
|
||||||
|
script_record.Script.DefaultLangSys = default_lang_sys
|
||||||
|
|
||||||
|
gsub_table.table.ScriptList.ScriptRecord = [script_record]
|
||||||
|
|
||||||
|
font["GSUB"] = gsub_table
|
||||||
|
|
||||||
|
target_file = tempfile.gettempdir() + "/" + os.path.basename(fontfile)
|
||||||
|
font.save(target_file)
|
||||||
|
return target_file
|
||||||
|
|
||||||
|
def parse_unicodes(s):
|
||||||
|
import re
|
||||||
|
|
||||||
|
s = re.sub(r"0[xX]", " ", s)
|
||||||
|
s = re.sub(r"[<+>,;&#\\xXuU\n ]", " ", s)
|
||||||
|
l = []
|
||||||
|
for item in s.split():
|
||||||
|
fields = item.split("-")
|
||||||
|
if len(fields) == 1:
|
||||||
|
l.append(int(item, 16))
|
||||||
|
else:
|
||||||
|
start, end = fields
|
||||||
|
l.extend(range(int(start, 16), int(end, 16) + 1))
|
||||||
|
return l
|
||||||
|
|
||||||
|
def main():
|
||||||
|
output_filename = sys.argv[-1]
|
||||||
|
ranges_filename = sys.argv[-2]
|
||||||
|
weight = sys.argv[-3]
|
||||||
|
font_name = sys.argv[-4]
|
||||||
|
ps_name = sys.argv[-5]
|
||||||
|
input_filenames = sys.argv[1:-5]
|
||||||
|
|
||||||
|
# Add a GSUB table to the fonts that do not have one, otherwise
|
||||||
|
# the merger will complain
|
||||||
|
for index, filename in enumerate(input_filenames):
|
||||||
|
if not has_gsub_table(filename):
|
||||||
|
input_filenames[index] = add_gsub_to_font(filename)
|
||||||
|
|
||||||
|
merger = merge.Merger()
|
||||||
|
font = merger.merge(input_filenames)
|
||||||
|
|
||||||
|
# Use the line metrics defined by the first font, which is
|
||||||
|
# supposed to be the basic NotoSans
|
||||||
|
metrics = read_line_metrics(ttLib.TTFont(input_filenames[0]))
|
||||||
|
set_line_metrics(font, metrics)
|
||||||
|
|
||||||
|
# Select the subset we care about
|
||||||
|
options = subset.Options(ignore_missing_unicodes=False)
|
||||||
|
subsetter = subset.Subsetter(options)
|
||||||
|
unicodes = []
|
||||||
|
with open(ranges_filename) as ranges:
|
||||||
|
for line in ranges:
|
||||||
|
unicodes.extend(parse_unicodes(line.split("#")[0]))
|
||||||
|
if len(unicodes) != 0:
|
||||||
|
subsetter.populate(unicodes=unicodes)
|
||||||
|
subsetter.subset(font)
|
||||||
|
|
||||||
|
# Rename the result
|
||||||
|
for record in font['name'].names:
|
||||||
|
if record.nameID == 1:
|
||||||
|
record.string = font_name
|
||||||
|
elif record.nameID == 4:
|
||||||
|
record.string = "{} {}".format(font_name, weight)
|
||||||
|
elif record.nameID == 6:
|
||||||
|
record.string = "{}-{}".format(ps_name, weight.replace(' ', ''))
|
||||||
|
|
||||||
|
font.save(output_filename)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
@ -1,29 +0,0 @@
|
|||||||
if ($argc < 6)
|
|
||||||
Error ("Expected arguments - Font1, Font2, Font3, ..., FontName, FullName, FontWeight, OutputFilename")
|
|
||||||
endif
|
|
||||||
|
|
||||||
FONTNAME = ToString($argv[$argc - 4])
|
|
||||||
FULLNAME = ToString($argv[$argc - 3])
|
|
||||||
FONTWEIGHT = ToString($argv[$argc - 2])
|
|
||||||
SRCFONTNAME = ToString($argv[1])
|
|
||||||
DESTFONTNAME = ToString($argv[$argc - 1])
|
|
||||||
|
|
||||||
Open(SRCFONTNAME)
|
|
||||||
|
|
||||||
i = 2
|
|
||||||
while (i < $argc - 4)
|
|
||||||
MergeFonts($argv[i])
|
|
||||||
i = i + 1
|
|
||||||
endloop
|
|
||||||
|
|
||||||
SetFontNames(FONTNAME, FULLNAME, FULLNAME, FONTWEIGHT, "", "1.0.0")
|
|
||||||
Generate(DESTFONTNAME)
|
|
||||||
Close()
|
|
||||||
|
|
||||||
Open(DESTFONTNAME)
|
|
||||||
Reencode("unicode")
|
|
||||||
SelectWorthOutputting()
|
|
||||||
SelectInvert()
|
|
||||||
BuildAccented()
|
|
||||||
Generate(DESTFONTNAME)
|
|
||||||
Close()
|
|
1
glslang
Submodule
1
glslang
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit df7fec2cfa966919172ee83bfcae6c9c9b3f91b8
|
Binary file not shown.
1
graphene
Submodule
1
graphene
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 4e2578450809c2099400cf85caf18eafcd7100aa
|
@ -1 +0,0 @@
|
|||||||
Subproject commit e896aabe3c3d278510fb567712c4a55ed0eae075
|
|
2
gst-orc
2
gst-orc
@ -1 +1 @@
|
|||||||
Subproject commit 629864f073ae003e63c026c1de2407fec713cb53
|
Subproject commit 7d5bbada3f1c6cf34182abccf47a34d79b83fa97
|
@ -1 +0,0 @@
|
|||||||
Subproject commit 57fb883b3f8c6d7a397afc0dfc4a7c2e5af05579
|
|
@ -1 +0,0 @@
|
|||||||
Subproject commit 56dec037a80266add6853e4b06e2dc379de757d1
|
|
@ -1 +1 @@
|
|||||||
Subproject commit d0466b3eee114207f851b37cae0015c0e718f021
|
Subproject commit 0205aa43d6d8c5d0c9d4e4f83e0a3aaa94acef89
|
@ -1 +1 @@
|
|||||||
Subproject commit 71c213f99ad5c8fc8f36a26238483f2bdf7d846a
|
Subproject commit bf6ce1d64a0697e7910826147b48f8f658366a5a
|
@ -32,6 +32,7 @@ case 0x00180835: win_msg->m_cubParam = 32; win_msg->m_pubParam = HeapAlloc(GetPr
|
|||||||
case 0x000c0836: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTTPRequestHeadersReceived_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
|
case 0x000c0836: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTTPRequestHeadersReceived_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
|
||||||
case 0x00140837: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTTPRequestDataReceived_t_24((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
|
case 0x00140837: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTTPRequestDataReceived_t_24((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
|
||||||
case 0x00200af3: win_msg->m_cubParam = 40; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_SteamInputConfigurationLoaded_t_40((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
|
case 0x00200af3: win_msg->m_cubParam = 40; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_SteamInputConfigurationLoaded_t_40((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
|
||||||
|
case 0x00180af4: win_msg->m_cubParam = 32; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_SteamInputGamepadSlotChange_t_32((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
|
||||||
case 0x26280d4a: win_msg->m_cubParam = 9784; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_SteamUGCRequestUGCDetailsResult_t_9784((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
|
case 0x26280d4a: win_msg->m_cubParam = 9784; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_SteamUGCRequestUGCDetailsResult_t_9784((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
|
||||||
case 0x00100d4b: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_CreateItemResult_t_24((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
|
case 0x00100d4b: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_CreateItemResult_t_24((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
|
||||||
case 0x000c0d4d: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_ItemInstalled_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
|
case 0x000c0d4d: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_ItemInstalled_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
|
||||||
|
@ -134,6 +134,10 @@ struct SteamInputConfigurationLoaded_t;
|
|||||||
struct winSteamInputConfigurationLoaded_t_40;
|
struct winSteamInputConfigurationLoaded_t_40;
|
||||||
extern void cb_SteamInputConfigurationLoaded_t_40(const struct SteamInputConfigurationLoaded_t *l, struct winSteamInputConfigurationLoaded_t_40 *w);
|
extern void cb_SteamInputConfigurationLoaded_t_40(const struct SteamInputConfigurationLoaded_t *l, struct winSteamInputConfigurationLoaded_t_40 *w);
|
||||||
|
|
||||||
|
struct SteamInputGamepadSlotChange_t;
|
||||||
|
struct winSteamInputGamepadSlotChange_t_32;
|
||||||
|
extern void cb_SteamInputGamepadSlotChange_t_32(const struct SteamInputGamepadSlotChange_t *l, struct winSteamInputGamepadSlotChange_t_32 *w);
|
||||||
|
|
||||||
struct SteamUGCRequestUGCDetailsResult_t;
|
struct SteamUGCRequestUGCDetailsResult_t;
|
||||||
struct winSteamUGCRequestUGCDetailsResult_t_9784;
|
struct winSteamUGCRequestUGCDetailsResult_t_9784;
|
||||||
extern void cb_SteamUGCRequestUGCDetailsResult_t_9784(const struct SteamUGCRequestUGCDetailsResult_t *l, struct winSteamUGCRequestUGCDetailsResult_t_9784 *w);
|
extern void cb_SteamUGCRequestUGCDetailsResult_t_9784(const struct SteamUGCRequestUGCDetailsResult_t *l, struct winSteamUGCRequestUGCDetailsResult_t_9784 *w);
|
||||||
|
@ -63,6 +63,8 @@ case 2103: /* HTTPRequestDataReceived_t_24 */
|
|||||||
return 20;
|
return 20;
|
||||||
case 2803: /* SteamInputConfigurationLoaded_t_40 */
|
case 2803: /* SteamInputConfigurationLoaded_t_40 */
|
||||||
return 32;
|
return 32;
|
||||||
|
case 2804: /* SteamInputGamepadSlotChange_t_32 */
|
||||||
|
return 24;
|
||||||
case 3402: /* SteamUGCRequestUGCDetailsResult_t_9784 */
|
case 3402: /* SteamUGCRequestUGCDetailsResult_t_9784 */
|
||||||
return 9768;
|
return 9768;
|
||||||
case 3403: /* CreateItemResult_t_24 */
|
case 3403: /* CreateItemResult_t_24 */
|
||||||
@ -195,6 +197,8 @@ case 2103: /* HTTPRequestDataReceived_t_24 */
|
|||||||
return 20;
|
return 20;
|
||||||
case 2803: /* SteamInputConfigurationLoaded_t_40 */
|
case 2803: /* SteamInputConfigurationLoaded_t_40 */
|
||||||
return 32;
|
return 32;
|
||||||
|
case 2804: /* SteamInputGamepadSlotChange_t_32 */
|
||||||
|
return 24;
|
||||||
case 3402: /* SteamUGCRequestUGCDetailsResult_t_9784 */
|
case 3402: /* SteamUGCRequestUGCDetailsResult_t_9784 */
|
||||||
return 9768;
|
return 9768;
|
||||||
case 3403: /* CreateItemResult_t_24 */
|
case 3403: /* CreateItemResult_t_24 */
|
||||||
|
@ -199,6 +199,12 @@ case 2803:
|
|||||||
case 40: cb_SteamInputConfigurationLoaded_t_40(lin_callback, callback); break;
|
case 40: cb_SteamInputConfigurationLoaded_t_40(lin_callback, callback); break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 2804:
|
||||||
|
switch(callback_len){
|
||||||
|
default:
|
||||||
|
case 32: cb_SteamInputGamepadSlotChange_t_32(lin_callback, callback); break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 3402:
|
case 3402:
|
||||||
switch(callback_len){
|
switch(callback_len){
|
||||||
default:
|
default:
|
||||||
@ -602,6 +608,12 @@ case 2803:
|
|||||||
case 40: cb_SteamInputConfigurationLoaded_t_40(lin_callback, callback); break;
|
case 40: cb_SteamInputConfigurationLoaded_t_40(lin_callback, callback); break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 2804:
|
||||||
|
switch(callback_len){
|
||||||
|
default:
|
||||||
|
case 32: cb_SteamInputGamepadSlotChange_t_32(lin_callback, callback); break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 3402:
|
case 3402:
|
||||||
switch(callback_len){
|
switch(callback_len){
|
||||||
default:
|
default:
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
#include "steamworks_sdk_153a/steam_api.h"
|
#define __cdecl
|
||||||
#include "steamworks_sdk_153a/steamnetworkingtypes.h"
|
#include "steamworks_sdk_158/steam_api.h"
|
||||||
|
#include "steamworks_sdk_158/steamnetworkingtypes.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
#define SDKVER_153a
|
#define SDKVER_158
|
||||||
#include "struct_converters.h"
|
#include "struct_converters.h"
|
||||||
#include "cppISteamAppList_STEAMAPPLIST_INTERFACE_VERSION001.h"
|
#include "cppISteamAppList_STEAMAPPLIST_INTERFACE_VERSION001.h"
|
||||||
uint32 cppISteamAppList_STEAMAPPLIST_INTERFACE_VERSION001_GetNumInstalledApps(void *linux_side)
|
uint32 cppISteamAppList_STEAMAPPLIST_INTERFACE_VERSION001_GetNumInstalledApps(void *linux_side)
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
#include "steamworks_sdk_153a/steam_api.h"
|
#define __cdecl
|
||||||
#include "steamworks_sdk_153a/steamnetworkingtypes.h"
|
#include "steamworks_sdk_158/steam_api.h"
|
||||||
#include "steamworks_sdk_153a/isteamappticket.h"
|
#include "steamworks_sdk_158/steamnetworkingtypes.h"
|
||||||
|
#include "steamworks_sdk_158/isteamappticket.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
#define SDKVER_153a
|
#define SDKVER_158
|
||||||
#include "struct_converters.h"
|
#include "struct_converters.h"
|
||||||
#include "cppISteamAppTicket_STEAMAPPTICKET_INTERFACE_VERSION001.h"
|
#include "cppISteamAppTicket_STEAMAPPTICKET_INTERFACE_VERSION001.h"
|
||||||
uint32 cppISteamAppTicket_STEAMAPPTICKET_INTERFACE_VERSION001_GetAppOwnershipTicketData(void *linux_side, uint32 nAppID, void * pvBuffer, uint32 cbBufferLength, uint32 * piAppId, uint32 * piSteamId, uint32 * piSignature, uint32 * pcbSignature)
|
uint32 cppISteamAppTicket_STEAMAPPTICKET_INTERFACE_VERSION001_GetAppOwnershipTicketData(void *linux_side, uint32 nAppID, void * pvBuffer, uint32 cbBufferLength, uint32 * piAppId, uint32 * piSteamId, uint32 * piSignature, uint32 * pcbSignature)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_100/steam_api.h"
|
#include "steamworks_sdk_100/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_103/steam_api.h"
|
#include "steamworks_sdk_103/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_111/steam_api.h"
|
#include "steamworks_sdk_111/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_117/steam_api.h"
|
#include "steamworks_sdk_117/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_125/steam_api.h"
|
#include "steamworks_sdk_125/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_131/steam_api.h"
|
#include "steamworks_sdk_131/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_136/steam_api.h"
|
#include "steamworks_sdk_136/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
#include "steamworks_sdk_153a/steam_api.h"
|
#define __cdecl
|
||||||
#include "steamworks_sdk_153a/steamnetworkingtypes.h"
|
#include "steamworks_sdk_158/steam_api.h"
|
||||||
|
#include "steamworks_sdk_158/steamnetworkingtypes.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
#define SDKVER_153a
|
#define SDKVER_158
|
||||||
#include "struct_converters.h"
|
#include "struct_converters.h"
|
||||||
#include "cppISteamApps_STEAMAPPS_INTERFACE_VERSION008.h"
|
#include "cppISteamApps_STEAMAPPS_INTERFACE_VERSION008.h"
|
||||||
bool cppISteamApps_STEAMAPPS_INTERFACE_VERSION008_BIsSubscribed(void *linux_side)
|
bool cppISteamApps_STEAMAPPS_INTERFACE_VERSION008_BIsSubscribed(void *linux_side)
|
||||||
@ -156,6 +157,11 @@ bool cppISteamApps_STEAMAPPS_INTERFACE_VERSION008_BIsTimedTrial(void *linux_side
|
|||||||
return ((ISteamApps*)linux_side)->BIsTimedTrial((uint32 *)punSecondsAllowed, (uint32 *)punSecondsPlayed);
|
return ((ISteamApps*)linux_side)->BIsTimedTrial((uint32 *)punSecondsAllowed, (uint32 *)punSecondsPlayed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool cppISteamApps_STEAMAPPS_INTERFACE_VERSION008_SetDlcContext(void *linux_side, AppId_t nAppID)
|
||||||
|
{
|
||||||
|
return ((ISteamApps*)linux_side)->SetDlcContext((AppId_t)nAppID);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -27,3 +27,4 @@ extern SteamAPICall_t cppISteamApps_STEAMAPPS_INTERFACE_VERSION008_GetFileDetail
|
|||||||
extern int cppISteamApps_STEAMAPPS_INTERFACE_VERSION008_GetLaunchCommandLine(void *, char *, int);
|
extern int cppISteamApps_STEAMAPPS_INTERFACE_VERSION008_GetLaunchCommandLine(void *, char *, int);
|
||||||
extern bool cppISteamApps_STEAMAPPS_INTERFACE_VERSION008_BIsSubscribedFromFamilySharing(void *);
|
extern bool cppISteamApps_STEAMAPPS_INTERFACE_VERSION008_BIsSubscribedFromFamilySharing(void *);
|
||||||
extern bool cppISteamApps_STEAMAPPS_INTERFACE_VERSION008_BIsTimedTrial(void *, uint32 *, uint32 *);
|
extern bool cppISteamApps_STEAMAPPS_INTERFACE_VERSION008_BIsTimedTrial(void *, uint32 *, uint32 *);
|
||||||
|
extern bool cppISteamApps_STEAMAPPS_INTERFACE_VERSION008_SetDlcContext(void *, AppId_t);
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_099y/steam_api.h"
|
#include "steamworks_sdk_099y/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
@ -12,7 +13,7 @@ extern "C" {
|
|||||||
#include "cppISteamClient_SteamClient006.h"
|
#include "cppISteamClient_SteamClient006.h"
|
||||||
HSteamPipe cppISteamClient_SteamClient006_CreateSteamPipe(void *linux_side)
|
HSteamPipe cppISteamClient_SteamClient006_CreateSteamPipe(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->CreateSteamPipe();
|
return after_steam_pipe_create(((ISteamClient*)linux_side)->CreateSteamPipe());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient006_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
bool cppISteamClient_SteamClient006_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_103/steam_api.h"
|
#include "steamworks_sdk_103/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
@ -12,7 +13,7 @@ extern "C" {
|
|||||||
#include "cppISteamClient_SteamClient007.h"
|
#include "cppISteamClient_SteamClient007.h"
|
||||||
HSteamPipe cppISteamClient_SteamClient007_CreateSteamPipe(void *linux_side)
|
HSteamPipe cppISteamClient_SteamClient007_CreateSteamPipe(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->CreateSteamPipe();
|
return after_steam_pipe_create(((ISteamClient*)linux_side)->CreateSteamPipe());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient007_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
bool cppISteamClient_SteamClient007_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
||||||
@ -112,6 +113,7 @@ void *cppISteamClient_SteamClient007_GetISteamNetworking(void *linux_side, HStea
|
|||||||
|
|
||||||
void cppISteamClient_SteamClient007_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
void cppISteamClient_SteamClient007_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
||||||
{
|
{
|
||||||
|
pFunction = (SteamAPIWarningMessageHook_t)manual_convert_SteamAPIWarningMessageHook_t((void*)pFunction);
|
||||||
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_107/steam_api.h"
|
#include "steamworks_sdk_107/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
@ -12,7 +13,7 @@ extern "C" {
|
|||||||
#include "cppISteamClient_SteamClient008.h"
|
#include "cppISteamClient_SteamClient008.h"
|
||||||
HSteamPipe cppISteamClient_SteamClient008_CreateSteamPipe(void *linux_side)
|
HSteamPipe cppISteamClient_SteamClient008_CreateSteamPipe(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->CreateSteamPipe();
|
return after_steam_pipe_create(((ISteamClient*)linux_side)->CreateSteamPipe());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient008_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
bool cppISteamClient_SteamClient008_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
||||||
@ -112,6 +113,7 @@ uint32 cppISteamClient_SteamClient008_GetIPCCallCount(void *linux_side)
|
|||||||
|
|
||||||
void cppISteamClient_SteamClient008_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
void cppISteamClient_SteamClient008_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
||||||
{
|
{
|
||||||
|
pFunction = (SteamAPIWarningMessageHook_t)manual_convert_SteamAPIWarningMessageHook_t((void*)pFunction);
|
||||||
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_111/steam_api.h"
|
#include "steamworks_sdk_111/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
@ -12,7 +13,7 @@ extern "C" {
|
|||||||
#include "cppISteamClient_SteamClient009.h"
|
#include "cppISteamClient_SteamClient009.h"
|
||||||
HSteamPipe cppISteamClient_SteamClient009_CreateSteamPipe(void *linux_side)
|
HSteamPipe cppISteamClient_SteamClient009_CreateSteamPipe(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->CreateSteamPipe();
|
return after_steam_pipe_create(((ISteamClient*)linux_side)->CreateSteamPipe());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient009_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
bool cppISteamClient_SteamClient009_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
||||||
@ -117,6 +118,7 @@ uint32 cppISteamClient_SteamClient009_GetIPCCallCount(void *linux_side)
|
|||||||
|
|
||||||
void cppISteamClient_SteamClient009_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
void cppISteamClient_SteamClient009_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
||||||
{
|
{
|
||||||
|
pFunction = (SteamAPIWarningMessageHook_t)manual_convert_SteamAPIWarningMessageHook_t((void*)pFunction);
|
||||||
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_115/steam_api.h"
|
#include "steamworks_sdk_115/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
@ -12,7 +13,7 @@ extern "C" {
|
|||||||
#include "cppISteamClient_SteamClient010.h"
|
#include "cppISteamClient_SteamClient010.h"
|
||||||
HSteamPipe cppISteamClient_SteamClient010_CreateSteamPipe(void *linux_side)
|
HSteamPipe cppISteamClient_SteamClient010_CreateSteamPipe(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->CreateSteamPipe();
|
return after_steam_pipe_create(((ISteamClient*)linux_side)->CreateSteamPipe());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient010_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
bool cppISteamClient_SteamClient010_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
||||||
@ -117,12 +118,13 @@ uint32 cppISteamClient_SteamClient010_GetIPCCallCount(void *linux_side)
|
|||||||
|
|
||||||
void cppISteamClient_SteamClient010_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
void cppISteamClient_SteamClient010_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
||||||
{
|
{
|
||||||
|
pFunction = (SteamAPIWarningMessageHook_t)manual_convert_SteamAPIWarningMessageHook_t((void*)pFunction);
|
||||||
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient010_BShutdownIfAllPipesClosed(void *linux_side)
|
bool cppISteamClient_SteamClient010_BShutdownIfAllPipesClosed(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed();
|
return after_shutdown(((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed());
|
||||||
}
|
}
|
||||||
|
|
||||||
void *cppISteamClient_SteamClient010_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
void *cppISteamClient_SteamClient010_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_116/steam_api.h"
|
#include "steamworks_sdk_116/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
@ -12,7 +13,7 @@ extern "C" {
|
|||||||
#include "cppISteamClient_SteamClient011.h"
|
#include "cppISteamClient_SteamClient011.h"
|
||||||
HSteamPipe cppISteamClient_SteamClient011_CreateSteamPipe(void *linux_side)
|
HSteamPipe cppISteamClient_SteamClient011_CreateSteamPipe(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->CreateSteamPipe();
|
return after_steam_pipe_create(((ISteamClient*)linux_side)->CreateSteamPipe());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient011_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
bool cppISteamClient_SteamClient011_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
||||||
@ -122,12 +123,13 @@ uint32 cppISteamClient_SteamClient011_GetIPCCallCount(void *linux_side)
|
|||||||
|
|
||||||
void cppISteamClient_SteamClient011_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
void cppISteamClient_SteamClient011_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
||||||
{
|
{
|
||||||
|
pFunction = (SteamAPIWarningMessageHook_t)manual_convert_SteamAPIWarningMessageHook_t((void*)pFunction);
|
||||||
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient011_BShutdownIfAllPipesClosed(void *linux_side)
|
bool cppISteamClient_SteamClient011_BShutdownIfAllPipesClosed(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed();
|
return after_shutdown(((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed());
|
||||||
}
|
}
|
||||||
|
|
||||||
void *cppISteamClient_SteamClient011_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
void *cppISteamClient_SteamClient011_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_128/steam_api.h"
|
#include "steamworks_sdk_128/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
@ -12,7 +13,7 @@ extern "C" {
|
|||||||
#include "cppISteamClient_SteamClient012.h"
|
#include "cppISteamClient_SteamClient012.h"
|
||||||
HSteamPipe cppISteamClient_SteamClient012_CreateSteamPipe(void *linux_side)
|
HSteamPipe cppISteamClient_SteamClient012_CreateSteamPipe(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->CreateSteamPipe();
|
return after_steam_pipe_create(((ISteamClient*)linux_side)->CreateSteamPipe());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient012_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
bool cppISteamClient_SteamClient012_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
||||||
@ -117,12 +118,13 @@ uint32 cppISteamClient_SteamClient012_GetIPCCallCount(void *linux_side)
|
|||||||
|
|
||||||
void cppISteamClient_SteamClient012_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
void cppISteamClient_SteamClient012_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
||||||
{
|
{
|
||||||
|
pFunction = (SteamAPIWarningMessageHook_t)manual_convert_SteamAPIWarningMessageHook_t((void*)pFunction);
|
||||||
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient012_BShutdownIfAllPipesClosed(void *linux_side)
|
bool cppISteamClient_SteamClient012_BShutdownIfAllPipesClosed(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed();
|
return after_shutdown(((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed());
|
||||||
}
|
}
|
||||||
|
|
||||||
void *cppISteamClient_SteamClient012_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
void *cppISteamClient_SteamClient012_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_128x/steam_api.h"
|
#include "steamworks_sdk_128x/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
@ -12,7 +13,7 @@ extern "C" {
|
|||||||
#include "cppISteamClient_SteamClient013.h"
|
#include "cppISteamClient_SteamClient013.h"
|
||||||
HSteamPipe cppISteamClient_SteamClient013_CreateSteamPipe(void *linux_side)
|
HSteamPipe cppISteamClient_SteamClient013_CreateSteamPipe(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->CreateSteamPipe();
|
return after_steam_pipe_create(((ISteamClient*)linux_side)->CreateSteamPipe());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient013_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
bool cppISteamClient_SteamClient013_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
||||||
@ -117,12 +118,13 @@ uint32 cppISteamClient_SteamClient013_GetIPCCallCount(void *linux_side)
|
|||||||
|
|
||||||
void cppISteamClient_SteamClient013_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
void cppISteamClient_SteamClient013_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
||||||
{
|
{
|
||||||
|
pFunction = (SteamAPIWarningMessageHook_t)manual_convert_SteamAPIWarningMessageHook_t((void*)pFunction);
|
||||||
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient013_BShutdownIfAllPipesClosed(void *linux_side)
|
bool cppISteamClient_SteamClient013_BShutdownIfAllPipesClosed(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed();
|
return after_shutdown(((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed());
|
||||||
}
|
}
|
||||||
|
|
||||||
void *cppISteamClient_SteamClient013_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
void *cppISteamClient_SteamClient013_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_129a/steam_api.h"
|
#include "steamworks_sdk_129a/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
@ -12,7 +13,7 @@ extern "C" {
|
|||||||
#include "cppISteamClient_SteamClient014.h"
|
#include "cppISteamClient_SteamClient014.h"
|
||||||
HSteamPipe cppISteamClient_SteamClient014_CreateSteamPipe(void *linux_side)
|
HSteamPipe cppISteamClient_SteamClient014_CreateSteamPipe(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->CreateSteamPipe();
|
return after_steam_pipe_create(((ISteamClient*)linux_side)->CreateSteamPipe());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient014_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
bool cppISteamClient_SteamClient014_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
||||||
@ -117,12 +118,13 @@ uint32 cppISteamClient_SteamClient014_GetIPCCallCount(void *linux_side)
|
|||||||
|
|
||||||
void cppISteamClient_SteamClient014_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
void cppISteamClient_SteamClient014_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
||||||
{
|
{
|
||||||
|
pFunction = (SteamAPIWarningMessageHook_t)manual_convert_SteamAPIWarningMessageHook_t((void*)pFunction);
|
||||||
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient014_BShutdownIfAllPipesClosed(void *linux_side)
|
bool cppISteamClient_SteamClient014_BShutdownIfAllPipesClosed(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed();
|
return after_shutdown(((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed());
|
||||||
}
|
}
|
||||||
|
|
||||||
void *cppISteamClient_SteamClient014_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
void *cppISteamClient_SteamClient014_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_130/steam_api.h"
|
#include "steamworks_sdk_130/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
@ -12,7 +13,7 @@ extern "C" {
|
|||||||
#include "cppISteamClient_SteamClient015.h"
|
#include "cppISteamClient_SteamClient015.h"
|
||||||
HSteamPipe cppISteamClient_SteamClient015_CreateSteamPipe(void *linux_side)
|
HSteamPipe cppISteamClient_SteamClient015_CreateSteamPipe(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->CreateSteamPipe();
|
return after_steam_pipe_create(((ISteamClient*)linux_side)->CreateSteamPipe());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient015_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
bool cppISteamClient_SteamClient015_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
||||||
@ -117,12 +118,13 @@ uint32 cppISteamClient_SteamClient015_GetIPCCallCount(void *linux_side)
|
|||||||
|
|
||||||
void cppISteamClient_SteamClient015_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
void cppISteamClient_SteamClient015_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
||||||
{
|
{
|
||||||
|
pFunction = (SteamAPIWarningMessageHook_t)manual_convert_SteamAPIWarningMessageHook_t((void*)pFunction);
|
||||||
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient015_BShutdownIfAllPipesClosed(void *linux_side)
|
bool cppISteamClient_SteamClient015_BShutdownIfAllPipesClosed(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed();
|
return after_shutdown(((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed());
|
||||||
}
|
}
|
||||||
|
|
||||||
void *cppISteamClient_SteamClient015_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
void *cppISteamClient_SteamClient015_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_131/steam_api.h"
|
#include "steamworks_sdk_131/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
@ -12,7 +13,7 @@ extern "C" {
|
|||||||
#include "cppISteamClient_SteamClient016.h"
|
#include "cppISteamClient_SteamClient016.h"
|
||||||
HSteamPipe cppISteamClient_SteamClient016_CreateSteamPipe(void *linux_side)
|
HSteamPipe cppISteamClient_SteamClient016_CreateSteamPipe(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->CreateSteamPipe();
|
return after_steam_pipe_create(((ISteamClient*)linux_side)->CreateSteamPipe());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient016_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
bool cppISteamClient_SteamClient016_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
||||||
@ -117,12 +118,13 @@ uint32 cppISteamClient_SteamClient016_GetIPCCallCount(void *linux_side)
|
|||||||
|
|
||||||
void cppISteamClient_SteamClient016_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
void cppISteamClient_SteamClient016_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
||||||
{
|
{
|
||||||
|
pFunction = (SteamAPIWarningMessageHook_t)manual_convert_SteamAPIWarningMessageHook_t((void*)pFunction);
|
||||||
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient016_BShutdownIfAllPipesClosed(void *linux_side)
|
bool cppISteamClient_SteamClient016_BShutdownIfAllPipesClosed(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed();
|
return after_shutdown(((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed());
|
||||||
}
|
}
|
||||||
|
|
||||||
void *cppISteamClient_SteamClient016_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
void *cppISteamClient_SteamClient016_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_142/steam_api.h"
|
#include "steamworks_sdk_142/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
@ -12,7 +13,7 @@ extern "C" {
|
|||||||
#include "cppISteamClient_SteamClient017.h"
|
#include "cppISteamClient_SteamClient017.h"
|
||||||
HSteamPipe cppISteamClient_SteamClient017_CreateSteamPipe(void *linux_side)
|
HSteamPipe cppISteamClient_SteamClient017_CreateSteamPipe(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->CreateSteamPipe();
|
return after_steam_pipe_create(((ISteamClient*)linux_side)->CreateSteamPipe());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient017_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
bool cppISteamClient_SteamClient017_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
||||||
@ -117,12 +118,13 @@ uint32 cppISteamClient_SteamClient017_GetIPCCallCount(void *linux_side)
|
|||||||
|
|
||||||
void cppISteamClient_SteamClient017_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
void cppISteamClient_SteamClient017_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
||||||
{
|
{
|
||||||
|
pFunction = (SteamAPIWarningMessageHook_t)manual_convert_SteamAPIWarningMessageHook_t((void*)pFunction);
|
||||||
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient017_BShutdownIfAllPipesClosed(void *linux_side)
|
bool cppISteamClient_SteamClient017_BShutdownIfAllPipesClosed(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed();
|
return after_shutdown(((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed());
|
||||||
}
|
}
|
||||||
|
|
||||||
void *cppISteamClient_SteamClient017_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
void *cppISteamClient_SteamClient017_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_145/steam_api.h"
|
#include "steamworks_sdk_145/steam_api.h"
|
||||||
#include "steamworks_sdk_145/steamnetworkingtypes.h"
|
#include "steamworks_sdk_145/steamnetworkingtypes.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
@ -13,7 +14,7 @@ extern "C" {
|
|||||||
#include "cppISteamClient_SteamClient018.h"
|
#include "cppISteamClient_SteamClient018.h"
|
||||||
HSteamPipe cppISteamClient_SteamClient018_CreateSteamPipe(void *linux_side)
|
HSteamPipe cppISteamClient_SteamClient018_CreateSteamPipe(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->CreateSteamPipe();
|
return after_steam_pipe_create(((ISteamClient*)linux_side)->CreateSteamPipe());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient018_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
bool cppISteamClient_SteamClient018_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
||||||
@ -123,12 +124,13 @@ uint32 cppISteamClient_SteamClient018_GetIPCCallCount(void *linux_side)
|
|||||||
|
|
||||||
void cppISteamClient_SteamClient018_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
void cppISteamClient_SteamClient018_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
||||||
{
|
{
|
||||||
|
pFunction = (SteamAPIWarningMessageHook_t)manual_convert_SteamAPIWarningMessageHook_t((void*)pFunction);
|
||||||
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient018_BShutdownIfAllPipesClosed(void *linux_side)
|
bool cppISteamClient_SteamClient018_BShutdownIfAllPipesClosed(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed();
|
return after_shutdown(((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed());
|
||||||
}
|
}
|
||||||
|
|
||||||
void *cppISteamClient_SteamClient018_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
void *cppISteamClient_SteamClient018_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_146/steam_api.h"
|
#include "steamworks_sdk_146/steam_api.h"
|
||||||
#include "steamworks_sdk_146/steamnetworkingtypes.h"
|
#include "steamworks_sdk_146/steamnetworkingtypes.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
@ -13,7 +14,7 @@ extern "C" {
|
|||||||
#include "cppISteamClient_SteamClient019.h"
|
#include "cppISteamClient_SteamClient019.h"
|
||||||
HSteamPipe cppISteamClient_SteamClient019_CreateSteamPipe(void *linux_side)
|
HSteamPipe cppISteamClient_SteamClient019_CreateSteamPipe(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->CreateSteamPipe();
|
return after_steam_pipe_create(((ISteamClient*)linux_side)->CreateSteamPipe());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient019_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
bool cppISteamClient_SteamClient019_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
||||||
@ -123,12 +124,13 @@ uint32 cppISteamClient_SteamClient019_GetIPCCallCount(void *linux_side)
|
|||||||
|
|
||||||
void cppISteamClient_SteamClient019_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
void cppISteamClient_SteamClient019_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
||||||
{
|
{
|
||||||
|
pFunction = (SteamAPIWarningMessageHook_t)manual_convert_SteamAPIWarningMessageHook_t((void*)pFunction);
|
||||||
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient019_BShutdownIfAllPipesClosed(void *linux_side)
|
bool cppISteamClient_SteamClient019_BShutdownIfAllPipesClosed(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed();
|
return after_shutdown(((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed());
|
||||||
}
|
}
|
||||||
|
|
||||||
void *cppISteamClient_SteamClient019_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
void *cppISteamClient_SteamClient019_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
||||||
|
@ -1,19 +1,20 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
#include "steamworks_sdk_153a/steam_api.h"
|
#define __cdecl
|
||||||
#include "steamworks_sdk_153a/steamnetworkingtypes.h"
|
#include "steamworks_sdk_158/steam_api.h"
|
||||||
|
#include "steamworks_sdk_158/steamnetworkingtypes.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
#define SDKVER_153a
|
#define SDKVER_158
|
||||||
#include "struct_converters.h"
|
#include "struct_converters.h"
|
||||||
#include "cppISteamClient_SteamClient020.h"
|
#include "cppISteamClient_SteamClient020.h"
|
||||||
HSteamPipe cppISteamClient_SteamClient020_CreateSteamPipe(void *linux_side)
|
HSteamPipe cppISteamClient_SteamClient020_CreateSteamPipe(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->CreateSteamPipe();
|
return after_steam_pipe_create(((ISteamClient*)linux_side)->CreateSteamPipe());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient020_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
bool cppISteamClient_SteamClient020_BReleaseSteamPipe(void *linux_side, HSteamPipe hSteamPipe)
|
||||||
@ -123,12 +124,13 @@ uint32 cppISteamClient_SteamClient020_GetIPCCallCount(void *linux_side)
|
|||||||
|
|
||||||
void cppISteamClient_SteamClient020_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
void cppISteamClient_SteamClient020_SetWarningMessageHook(void *linux_side, SteamAPIWarningMessageHook_t pFunction)
|
||||||
{
|
{
|
||||||
|
pFunction = (SteamAPIWarningMessageHook_t)manual_convert_SteamAPIWarningMessageHook_t((void*)pFunction);
|
||||||
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
((ISteamClient*)linux_side)->SetWarningMessageHook((SteamAPIWarningMessageHook_t)pFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cppISteamClient_SteamClient020_BShutdownIfAllPipesClosed(void *linux_side)
|
bool cppISteamClient_SteamClient020_BShutdownIfAllPipesClosed(void *linux_side)
|
||||||
{
|
{
|
||||||
return ((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed();
|
return after_shutdown(((ISteamClient*)linux_side)->BShutdownIfAllPipesClosed());
|
||||||
}
|
}
|
||||||
|
|
||||||
void *cppISteamClient_SteamClient020_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
void *cppISteamClient_SteamClient020_GetISteamHTTP(void *linux_side, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "steam_defs.h"
|
#include "steam_defs.h"
|
||||||
#pragma push_macro("__cdecl")
|
#pragma push_macro("__cdecl")
|
||||||
#undef __cdecl
|
#undef __cdecl
|
||||||
|
#define __cdecl
|
||||||
#include "steamworks_sdk_134/steam_api.h"
|
#include "steamworks_sdk_134/steam_api.h"
|
||||||
#pragma pop_macro("__cdecl")
|
#pragma pop_macro("__cdecl")
|
||||||
#include "steamclient_private.h"
|
#include "steamclient_private.h"
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user