@@ -37,7 +37,7 @@ C++ Archipelago multiworld randomizer client library. See [archipelago.gg](https
37
37
* use ` Bounce ` to send a bounce (deathlink, ...)
38
38
* use ` Get ` , ` Set ` and ` SetNotify ` to access data storage api,
39
39
see [ Archipelago network protocol] ( https://github.com/ArchipelagoMW/Archipelago/blob/main/docs/network%20protocol.md#get )
40
- * by default we now use the shared data package cache in %LocalAppData%/Archipelago/Cache or ~ /.cache/Archipelago.
40
+ * by default, we now use the shared data package cache in %LocalAppData%/Archipelago/Cache or ~ /.cache/Archipelago.
41
41
This can be changed by passing a custom APDataPackageStore into APClient.
42
42
* when upgrading from 0.3.8 or older
43
43
* remove calls to ` save_data_package ` and don't save data package in ` set_data_package_changed_handler `
66
66
* ` AP_PREFER_UNENCRYPTED ` try unencrypted connection first. Only useful for testing.
67
67
* ` WSWRAP_SEND_EXCEPTIONS ` to get exceptions when a send fails.
68
68
* ` WSWRAP_NO_SSL ` to disable SSL support. Only recommended for testing.
69
+ * ` WSWRAP_NO_COMPRESSION ` to disable compression. Only recommended for testing.
69
70
70
71
71
72
## When using Visual Studio for building
72
73
73
74
* follow steps mentioned above
74
75
* Set up Additional Include Directories for the dependencies
75
- * project properties -> C/C++ -> General -> Additional Include Directories
76
+ * Project Properties -> C/C++ -> General -> Additional Include Directories
76
77
* Add subprojects\asio\include
77
78
* Add subprojects\websocketpp
78
79
* Add subprojects\wswrap\include
79
80
* Add subprojects\json\include
80
81
* Add subprojects\valijson\include
81
82
(unless disabled, see [ Build Configuration] ( #build-configuration ) )
83
+ * Add openssl and zlib include directories if required (SSL and compression support)
84
+ * Set up Additional Link Libraries for openssl and zlib
85
+ * Optional: Configuration Properties -> Linker -> General -> Additional Library Directories
86
+ * Add folder where ` libcrypto_*.lib ` and ` libssl_*.lib ` are (for SSL support)
87
+ * Add folder where ` libz.lib ` is (for compression support)
88
+ * Configuration Properties -> Linker -> Input -> Additional Dependencies
89
+ * Add ` libcrypto_*.lib ` and ` libssl_*.lib ` (for SSL support)
90
+ * Add ` libz.lib ` (for compression support)
91
+ * Alternatively use ` #pragma comment(lib, "lib_name") ` in any cpp file if Library Directories are set correctly
82
92
* Add ` /Zc:__cplusplus ` to the command line
83
93
* project properties -> C/C++ -> Command Line -> Additional Options
84
94
* Add ` _WIN32_WINNT=0x0600 ` (or higher) to Preprocessor Definitions
@@ -127,6 +137,13 @@ To add SSL/wss support on desktop, the following steps are required:
127
137
outdated Windows has outdated certs, macos/Linux without OpenSSL or with a different version won't find any certs
128
138
129
139
140
+ ## Compression Support
141
+
142
+ To enable "permessage-deflate" compression support on desktop, update wswrap to 1.03.00 or newer and link with libz.
143
+
144
+ Context takeover is not supported.
145
+
146
+
130
147
## Callbacks
131
148
132
149
Use ` set_*_handler(callback) ` to set callbackes.
0 commit comments