Commit graph

141 commits

Author SHA1 Message Date
Chris Marsh
86ca320cb9 These should have been extern C. 2017-10-13 10:02:12 -07:00
Chris Marsh
6cdc830544 Missed a couple wanrings. Build example dll 2017-10-12 16:14:16 -07:00
Chris Marsh
990c8d4be6 Enable warnings, clang edition. 2017-10-12 16:08:08 -07:00
Chris Marsh
6fa00223ad Enable all warnings, turn the noisy ones back off, fix the others. 2017-10-12 15:39:31 -07:00
Chris Marsh
39ff0bf3e4 Ask to join (#4)
This adds a new callback `joinRequest` and a new API function `Discord_Respond` to reply to it.
2017-10-12 13:06:55 -07:00
Chris Marsh
e7cdfaa64e I knew I shouldn't have checked in this dll 2017-09-21 14:04:46 -07:00
Chris Marsh
a5a56bcf68 Also do registering on OSX and Linux. 2017-09-14 08:59:32 -07:00
Chris Marsh
fb87e7c193 ReadFile and WriteFile really want to report how many bytes were read/written. 2017-09-07 16:16:34 -07:00
Chris Marsh
19abe80449 Add a few more null checks. 2017-09-07 09:23:35 -07:00
Chris Marsh
fa39179be7 Fix up doing builds script, add packaging up results. 2017-09-07 09:05:41 -07:00
Chris Marsh
794bbccd51 Register upgrade (#2)
* Update init to take an optional Steam ID. Add register for steam game. Remove url from cmd line params to launched game.

* Start on a build script
2017-08-30 15:17:47 -07:00
Chris Marsh
4cf8ca5670 Remove dep on rapidjson/internal 2017-08-28 10:43:36 -07:00
Chris Marsh
e07806424b copy-n-paste bug 2017-08-28 10:02:37 -07:00
Chris Marsh
5882823830 OSX build fix 2017-08-21 12:51:38 -07:00
Chris Marsh
0271889b2e Allow for disconnect/reconnect. 2017-08-03 10:47:27 -07:00
Chris Marsh
ee11358d7f null or empty strings should be omitted 2017-08-02 14:57:02 -07:00
Chris Marsh
7324ae890c squelch warnings in 64bit compile 2017-08-02 14:56:39 -07:00
Chris Marsh
60ad70adc2 Fix ordering of ready/disconnect callbacks. 2017-08-02 10:44:55 -07:00
Chris Marsh
a7eb65355e missed a format 2017-08-02 10:44:08 -07:00
Chris Marsh
2311a26eb0 Fix my dll making, also other cmake variable use 2017-08-01 13:32:56 -07:00
Chris Marsh
1e971e1161 Start on dllification 2017-07-31 15:58:39 -07:00
Chris Marsh
120fe1b069 Make these use my helper functions 2017-07-31 15:40:31 -07:00
Chris Marsh
d5e6c4c11a track open/close state in connection, disconnect on read error, clarify error codes a little 2017-07-31 15:38:12 -07:00
Chris Marsh
059ab337c8 Seed random number generator 2017-07-28 13:52:34 -07:00
Chris Marsh
98852fba82 Wrap json writer the same way I did reader. More RAII for json writing so I'm less likely to mess it up again. 2017-07-28 13:42:58 -07:00
Chris Marsh
e69f9fbf71 Just keep a single queued presence message. 2017-07-28 10:59:32 -07:00
Chris Marsh
a6a9b6259f missed a format I guess 2017-07-28 10:57:22 -07:00
Chris Marsh
ef60ec40c3 Do/wrap error checking around json reading 2017-07-28 10:03:05 -07:00
Chris Marsh
6774b5d881 Only queue messages when connected. 2017-07-28 09:45:53 -07:00
Chris Marsh
6b10bd6c51 Explain backoff 2017-07-28 09:45:11 -07:00
Jason Citron
93d9ba10c2 Fixup event names
- GAME_XXXXX not XXXXX_GAME
- Nuked the WantsPresence event
2017-07-28 00:19:10 -07:00
Jason Citron
6338a572d3 Size key was missing from the party array 2017-07-27 23:36:22 -07:00
Chris Marsh
9eb7e41c4b try more pipes 2017-07-27 16:08:17 -07:00
Chris Marsh
20ad7e4ced OSX/linux version initial attempt 2017-07-27 16:08:17 -07:00
Chris Marsh
bfcfd10baa fix some warnings, format 2017-07-27 16:08:17 -07:00
Chris Marsh
f617f3b78d Let's just register in init 2017-07-27 13:29:24 -07:00
Chris Marsh
1f6fd05884 Add registry key to simplify launching 2017-07-27 11:56:19 -07:00
Chris Marsh
fbb9828538 Add install and bundle targets 2017-07-25 16:00:12 -07:00
Chris Marsh
211350604b like using better 2017-07-25 13:56:56 -07:00
Chris Marsh
7dcc2d45e3 Make that define a cmake option. 2017-07-25 13:40:30 -07:00
Chris Marsh
7c07dba3f7 Handle initial connect failure better. 2017-07-25 11:41:12 -07:00
Chris Marsh
fbd8d6897d Automate running clang-format if it is available. 2017-07-25 11:02:28 -07:00
Chris Marsh
7a6172a300 Format 2017-07-25 09:27:48 -07:00
Chris Marsh
866e6d1104 Clean up this allocation junk 2017-07-25 09:06:48 -07:00
Chris Marsh
38c0599380 Just use stack allocations in parsing by default. 2017-07-24 14:59:45 -07:00
Chris Marsh
63058ddf23 Error message cb 2017-07-24 14:58:53 -07:00
Chris Marsh
88ab85c81e Rename, move some json stuff to header 2017-07-24 10:54:47 -07:00
Chris Marsh
449584b9c9 Register for events for our three callbacks 2017-07-21 15:42:59 -07:00
Chris Marsh
063a329a0b Wait for READY event for connection. 2017-07-21 13:54:52 -07:00
Chris Marsh
559f56b05c I'm still not convinced of this multiple ipc pipe thing. 2017-07-20 15:59:50 -07:00
Chris Marsh
6ea9c46f77 Rename a thing 2017-07-20 15:59:15 -07:00
Chris Marsh
827c056602 I like this better over here. 2017-07-20 15:08:34 -07:00
Chris Marsh
fa437ad897 Fix up sending presence format 2017-07-20 14:59:32 -07:00
Chris Marsh
85fc57dea2 getpid 2017-07-20 14:58:23 -07:00
Chris Marsh
79d70b8bae Let's use rapidjson instead of roll-your-own json. Added helpers to keep allocations minimized. 2017-07-20 13:24:18 -07:00
Chris Marsh
0d6282fe33 send a ping to test 2017-07-18 16:06:07 -07:00
Chris Marsh
29641da939 clean out simplest version 2017-07-18 14:31:24 -07:00
Chris Marsh
79e0e336c5 quieter 2017-07-18 11:13:22 -07:00
Chris Marsh
b947e6afe5 Back off on reconnect rate 2017-07-18 11:10:39 -07:00
Chris Marsh
0d0485444d Make io thread optional 2017-07-18 09:47:33 -07:00
Chris Marsh
52290c488c Do need queue here. Writes async now. 2017-07-17 15:42:49 -07:00
Chris Marsh
444e10acaf Don't need queue here 2017-07-17 15:42:06 -07:00
Chris Marsh
c8e81c2c81 less magic number 2017-07-17 15:00:13 -07:00
Chris Marsh
0f10ebff43 wip what layer some things should be in, mostly async now 2017-07-17 14:49:31 -07:00
Chris Marsh
9dc93f64b8 wip 2017-07-17 09:28:54 -07:00
Chris Marsh
72446df921 less stubby 2017-07-13 10:47:18 -07:00
Chris Marsh
b1399f9ed5 yup 2017-07-13 10:11:09 -07:00
Chris Marsh
ea64751f70 hmm 2017-07-13 10:10:09 -07:00
Chris Marsh
79823706e8 stub unix 2017-07-13 10:08:14 -07:00
Chris Marsh
9e31f96691 win32 only 2017-07-13 08:43:15 -07:00
Chris Marsh
930cd722d5 Start using rapidjson 2017-07-13 08:32:08 -07:00
Chris Marsh
1b65e53da7 Rename some things, stub of async version, download rapidjson in cmake file 2017-07-11 15:59:14 -07:00
Chris Marsh
e3d663bc95 Fix this up a little so we retry a little right after failure. 2017-07-10 16:00:05 -07:00
Chris Marsh
f41137e5cf Fix up sync version to new protocol 2017-07-10 15:25:47 -07:00
Chris Marsh
2a31affb81 Fix up simple version to new protocol 2017-07-10 14:55:30 -07:00
Chris Marsh
77b0e51691 these need extern C 2017-07-07 14:00:29 -07:00
Chris Marsh
e3e2fd72f4 Start on adding update function 2017-07-07 09:41:20 -07:00
Chris Marsh
6d7e279074 Move some stuff, hook up connect/disconnect cbs 2017-07-06 11:46:13 -07:00
Chris Marsh
47c488ac6b Making another one, cleaning up some 2017-06-30 16:18:54 -07:00
Chris Marsh
ae13d40b74 blah 2017-06-30 14:37:06 -07:00
Chris Marsh
2be56aebab Rename 2017-06-30 13:57:53 -07:00
Chris Marsh
39d8336b06 Moving files around; cleaned up example a little 2017-06-30 12:00:45 -07:00
Chris Marsh
0768b06ec1 Make naming better, move some code around. 2017-06-29 16:04:44 -07:00
Chris Marsh
22e34d48c9 Clean up a little, add gitignore 2017-06-29 12:46:13 -07:00
Chris Marsh
1a83c2872c Trying out cmake 2017-06-29 09:17:10 -07:00
Chris Marsh
4b77b81b2d Very minimal first version; connects, sends presence updates inline, disconnects. Other than opening pipe does no allocations. 2017-06-29 09:16:25 -07:00
Chris Marsh
390bed4d71 Basic Zork game loop :-)
Send presence on each command.
2017-06-29 08:59:59 -07:00
Chris Marsh
06047d4160 Sync header defs with docs 2017-06-29 08:58:38 -07:00
Chris Marsh
568de58f36 step toward making this compilable 2017-06-27 13:19:58 -07:00
Chris Marsh
8e13ed2a63 clean up sample to just basics for now, start stubbing in lib 2017-06-27 12:24:35 -07:00
Chris Marsh
661b5fa3b5 initial commit 2017-06-23 16:04:36 -07:00