steamworks
7 years agoSqueal: be more forgiving of / in PULLEY_SQUEAL_DIR (or whatever else is passed in...
Adriaan de Groot [Sun, 21 Aug 2016 20:10:14 +0000 (22:10 +0200)]
Squeal: be more forgiving of / in PULLEY_SQUEAL_DIR (or whatever else is passed in to squeal)

7 years agoValgrind: cleanup blob-variable storage.
Adriaan de Groot [Sun, 21 Aug 2016 16:42:52 +0000 (18:42 +0200)]
Valgrind: cleanup blob-variable storage.

7 years agoValgrind: don't leak bitsets
Adriaan de Groot [Sun, 21 Aug 2016 16:34:23 +0000 (18:34 +0200)]
Valgrind: don't leak bitsets

7 years agoValgrind: don't leak variables or drivers
Adriaan de Groot [Sun, 21 Aug 2016 16:27:06 +0000 (18:27 +0200)]
Valgrind: don't leak variables or drivers

7 years agoValgrind: don't leak generator table memory
Adriaan de Groot [Sun, 21 Aug 2016 16:22:45 +0000 (18:22 +0200)]
Valgrind: don't leak generator table memory

7 years agoValgrind: don't leak driver callback-parameter memory.
Adriaan de Groot [Sun, 21 Aug 2016 16:12:45 +0000 (18:12 +0200)]
Valgrind: don't leak driver callback-parameter memory.

7 years agoValgrind: don't leak memory when configuring generators.
Adriaan de Groot [Sun, 21 Aug 2016 14:45:25 +0000 (16:45 +0200)]
Valgrind: don't leak memory when configuring generators.

7 years agoValgrind: free driver structures on exit.
Adriaan de Groot [Sun, 21 Aug 2016 14:25:30 +0000 (16:25 +0200)]
Valgrind: free driver structures on exit.

7 years agoValgrind: fix der_dump(), which decoded length improperly.
Adriaan de Groot [Sun, 21 Aug 2016 14:16:22 +0000 (16:16 +0200)]
Valgrind: fix der_dump(), which decoded length improperly.

7 years agoValgrind: avoid uninitialized pointers
Adriaan de Groot [Sun, 21 Aug 2016 14:03:23 +0000 (16:03 +0200)]
Valgrind: avoid uninitialized pointers

7 years agoPulleyScript: make test-program read multiple values to add or remove.
Adriaan de Groot [Sun, 21 Aug 2016 13:50:56 +0000 (15:50 +0200)]
PulleyScript: make test-program read multiple values to add or remove.

7 years agoBuild: yet another qsort_r thing: split off to separate file.
Adriaan de Groot [Sat, 20 Aug 2016 12:57:11 +0000 (14:57 +0200)]
Build: yet another qsort_r thing: split off to separate file.

7 years agoBuild: fix up qsort_r() parameter order checks
Adriaan de Groot [Sat, 20 Aug 2016 12:10:04 +0000 (14:10 +0200)]
Build: fix up qsort_r() parameter order checks

7 years agoBuild: check qsort_r() parameter order
Adriaan de Groot [Sat, 20 Aug 2016 11:58:18 +0000 (13:58 +0200)]
Build: check qsort_r() parameter order

7 years agoBuild: start of a cmake-check to detect parameter-order in qsort_r
Adriaan de Groot [Sat, 20 Aug 2016 11:24:21 +0000 (13:24 +0200)]
Build: start of a cmake-check to detect parameter-order in qsort_r

7 years agoBuild: soothe the compiler, but retain the problem: qsort_r has variable interfaces...
Adriaan de Groot [Sun, 10 Jul 2016 04:28:47 +0000 (06:28 +0200)]
Build: soothe the compiler, but retain the problem: qsort_r has variable interfaces that sometimes swap thunk and comparator-func

7 years agoBuild: reduce conversion warnings
Adriaan de Groot [Sun, 10 Jul 2016 04:16:00 +0000 (06:16 +0200)]
Build: reduce conversion warnings

7 years agoBuild: apply POSIX_C (for sigaction) only to os_unix.c
Adriaan de Groot [Sat, 20 Aug 2016 10:23:50 +0000 (12:23 +0200)]
Build: apply POSIX_C (for sigaction) only to os_unix.c

7 years agoBuild: pslib uses qsort_r, assume GNU_SOURCE
Adriaan de Groot [Sun, 10 Jul 2016 03:52:26 +0000 (05:52 +0200)]
Build: pslib uses qsort_r, assume GNU_SOURCE

7 years agoBuild: c99 and GNU source fixups
Adriaan de Groot [Sun, 10 Jul 2016 03:16:24 +0000 (05:16 +0200)]
Build: c99 and GNU source fixups

 - Use gnu99 / c99 if possible
 - .. but c99 doesn't give us all of POSIX, so re-add that for sigaction
 - h_addr is a FreeBSD or GNU backwards-compatibility thing.

7 years agoCMake: tidy includes, module uses
Adriaan de Groot [Sun, 10 Jul 2016 03:10:17 +0000 (05:10 +0200)]
CMake: tidy includes, module uses

7 years agoBuild: on Linux, -ldl is needed for dynamic loading.
Adriaan de Groot [Sun, 10 Jul 2016 03:08:34 +0000 (05:08 +0200)]
Build: on Linux, -ldl is needed for dynamic loading.

7 years agoBuild: remove logging-code when NDEBUG is set
Adriaan de Groot [Sun, 10 Jul 2016 02:52:48 +0000 (04:52 +0200)]
Build: remove logging-code when NDEBUG is set

7 years agoBuild: fix build on non-FreeBSD
Adriaan de Groot [Sun, 10 Jul 2016 02:15:37 +0000 (04:15 +0200)]
Build: fix build on non-FreeBSD

 - update Debian dependency list in README.Linux
 - building on Debian/g++ fixes:
   - missing includes
   - move dlfunc() check to where it's needed
   - add a simple dlfunc() implementation, from stackoverflow.

7 years agoBuild: dlfunc() isn't portable
Adriaan de Groot [Sat, 20 Aug 2016 08:09:23 +0000 (10:09 +0200)]
Build: dlfunc() isn't portable

7 years agoPulleyback: in NULL-backend, dump passed-in DER data
Adriaan de Groot [Fri, 19 Aug 2016 18:59:49 +0000 (20:59 +0200)]
Pulleyback: in NULL-backend, dump passed-in DER data

7 years agoBuild: add top-level test target
Adriaan de Groot [Fri, 19 Aug 2016 18:43:33 +0000 (20:43 +0200)]
Build: add top-level test target

7 years agoPulley: test program return code reflects plugin-loading status.
Adriaan de Groot [Fri, 19 Aug 2016 18:41:39 +0000 (20:41 +0200)]
Pulley: test program return code reflects plugin-loading status.

7 years agoPulleyBack: extend test program
Adriaan de Groot [Wed, 17 Aug 2016 15:59:06 +0000 (17:59 +0200)]
PulleyBack: extend test program

 - arguments are now a single script file + a single JSON data file
 - JSON is read and passed as argument to script (which calls the
   relevant backends).

7 years agoPulleyback: add commit() and rollback() to instance methods.
Adriaan de Groot [Wed, 17 Aug 2016 15:39:58 +0000 (17:39 +0200)]
Pulleyback: add commit() and rollback() to instance methods.

7 years agoPulleyback: call del in backends
Adriaan de Groot [Wed, 17 Aug 2016 15:34:31 +0000 (17:34 +0200)]
Pulleyback: call del in backends

7 years agoBuild: propagate PREFIX, make it easier to set up PULLEY_SQUEAL_DIR from the make...
Adriaan de Groot [Wed, 17 Aug 2016 14:11:30 +0000 (16:11 +0200)]
Build: propagate PREFIX, make it easier to set up PULLEY_SQUEAL_DIR from the make command-line.

7 years agoBuild: add a top-level clean target
Adriaan de Groot [Wed, 17 Aug 2016 08:30:29 +0000 (10:30 +0200)]
Build: add a top-level clean target

7 years agoPulleyback: reencode Squeal blob to DER, pass that into the backends.
Adriaan de Groot [Sun, 14 Aug 2016 21:45:16 +0000 (23:45 +0200)]
Pulleyback: reencode Squeal blob to DER, pass that into the backends.

7 years agoNULL backend: log variables passed in to add()
Adriaan de Groot [Sat, 13 Aug 2016 12:21:51 +0000 (14:21 +0200)]
NULL backend: log variables passed in to add()

7 years agoPulleyscript: when opening an instance, pass in the number of generated (output)...
Adriaan de Groot [Sat, 13 Aug 2016 12:13:05 +0000 (14:13 +0200)]
Pulleyscript: when opening an instance, pass in the number of generated (output) variables.

7 years agoPulleyscript: test script outputs different numbers of vars to NULL backend.
Adriaan de Groot [Sat, 13 Aug 2016 11:49:03 +0000 (13:49 +0200)]
Pulleyscript: test script outputs different numbers of vars to NULL backend.

7 years agoPulleyscript: fix makefile wrt. simple compilation of Squeal now that it uses write_l...
Adriaan de Groot [Sat, 13 Aug 2016 11:48:37 +0000 (13:48 +0200)]
Pulleyscript: fix makefile wrt. simple compilation of Squeal now that it uses write_logger()

7 years agoNULL backend: for now, ignore DER encoding.
Adriaan de Groot [Sat, 13 Aug 2016 11:38:57 +0000 (13:38 +0200)]
NULL backend: for now, ignore DER encoding.

 - take squeal_blob instead (this breaks tlspool backend)
 - try printing expected variable count and actual vars
   passed in when adding.

7 years agoSqueal: make squeal.h somewhat more self-supporting (so it can be included on its...
Adriaan de Groot [Sat, 13 Aug 2016 11:35:05 +0000 (13:35 +0200)]
Squeal: make squeal.h somewhat more self-supporting (so it can be included on its own)

7 years agoPulleyBack: call Instance::add() with data passed in from Squeal. Needs to be reencod...
Adriaan de Groot [Thu, 11 Aug 2016 22:19:53 +0000 (00:19 +0200)]
PulleyBack: call Instance::add() with data passed in from Squeal. Needs to be reencoded completely as DER, so pass NULL for now.

7 years agoPulleyBack: extend Instance API to call add() on the backend itself.
Adriaan de Groot [Thu, 11 Aug 2016 22:19:11 +0000 (00:19 +0200)]
PulleyBack: extend Instance API to call add() on the backend itself.

7 years agoPulleyBack: better logging in NULL backend (on allocation failure)
Adriaan de Groot [Thu, 11 Aug 2016 22:18:31 +0000 (00:18 +0200)]
PulleyBack: better logging in NULL backend (on allocation failure)

7 years agoPulleyBack: give instances (of backends) a name-accessor.
Adriaan de Groot [Thu, 11 Aug 2016 20:07:04 +0000 (22:07 +0200)]
PulleyBack: give instances (of backends) a name-accessor.

7 years agoSqueal: massage output from squeal so it goes to the loggers instead of stdout/stderr
Adriaan de Groot [Thu, 11 Aug 2016 19:56:13 +0000 (21:56 +0200)]
Squeal: massage output from squeal so it goes to the loggers instead of stdout/stderr

7 years agoSqueal: additional debugging output
Adriaan de Groot [Wed, 10 Aug 2016 15:52:18 +0000 (17:52 +0200)]
Squeal: additional debugging output

7 years agoSqueal: fix SQL API errors when inserting forks
Adriaan de Groot [Wed, 10 Aug 2016 16:48:22 +0000 (18:48 +0200)]
Squeal: fix SQL API errors when inserting forks

 - check for correct return-value from sqlite3_step()
 - bail out on failure to get number of repeats

7 years agoBuild: fix build parameters and DLL loading
Adriaan de Groot [Wed, 10 Aug 2016 15:38:11 +0000 (17:38 +0200)]
Build: fix build parameters and DLL loading

 - move definition for PULLEY_BACKEND_DIR down into pulleyscript
 - need to allow dynamic resolution in plugins in the simple test-program too

7 years agoPulleyBack: set callback function for backend driver.
Adriaan de Groot [Wed, 10 Aug 2016 15:47:26 +0000 (17:47 +0200)]
PulleyBack: set callback function for backend driver.

 - Callback doesn't actually push to backend yet.

7 years agoPulleyBack: shuffle backend-loading into the pulleyscript/ directory.
Adriaan de Groot [Wed, 10 Aug 2016 12:20:39 +0000 (14:20 +0200)]
PulleyBack: shuffle backend-loading into the pulleyscript/ directory.

 - Move the backends and parameters again
 - Keep track of loaded backends (cache)
 - Keep driver-number in the backend-parameters, too
 - Add accessor to check for validity of loader and instance
   of a backend.
 - Load backends from the parser while setting up SQL.

7 years agoPulleyBack: reshuffle backend-parameters again
Adriaan de Groot [Wed, 10 Aug 2016 10:52:37 +0000 (12:52 +0200)]
PulleyBack: reshuffle backend-parameters again

 - move the parameter class back to the parser, which is where
   the information comes from.
 - rename to BackendParameters
 - add driver-name to parameter class
 - add logging support to parameter class
 - extend simple test with logging of backends from the script

7 years agoBuild: make build-definitions visible at top-level
Adriaan de Groot [Wed, 10 Aug 2016 11:32:04 +0000 (13:32 +0200)]
Build: make build-definitions visible at top-level

 - PULLEY_SQUEAL_DIR
 - PULLEY_BACKEND_DIR

These variables can be set in the CMake build; make them
visible at the top-level (Makefile) too.

7 years agoPulleyBack: minor variation in instantiating backends
Adriaan de Groot [Wed, 10 Aug 2016 08:35:55 +0000 (10:35 +0200)]
PulleyBack: minor variation in instantiating backends

7 years agoPulleyBack: the backend-parameter classes don't belong in pulleyscript itself (just...
Adriaan de Groot [Wed, 3 Aug 2016 12:54:15 +0000 (14:54 +0200)]
PulleyBack: the backend-parameter classes don't belong in pulleyscript itself (just the decoding).

7 years agoPulley: store backend-parameters in the script (Parser)
Adriaan de Groot [Wed, 3 Aug 2016 11:54:32 +0000 (13:54 +0200)]
Pulley: store backend-parameters in the script (Parser)

7 years agoPulley: simplify storage of vars-per-generator
Adriaan de Groot [Wed, 3 Aug 2016 11:21:10 +0000 (13:21 +0200)]
Pulley: simplify storage of vars-per-generator

7 years agoPulleyScript: decode backend-parameters
Adriaan de Groot [Wed, 3 Aug 2016 11:00:59 +0000 (13:00 +0200)]
PulleyScript: decode backend-parameters

7 years agoPulleyScript: explain the resulting parameter-binding
Adriaan de Groot [Wed, 3 Aug 2016 10:39:49 +0000 (12:39 +0200)]
PulleyScript: explain the resulting parameter-binding

7 years agoFIXUP test script
Adriaan de Groot [Wed, 3 Aug 2016 10:39:20 +0000 (12:39 +0200)]
FIXUP test script

7 years agoPulleyScript: fix minor type-conversion
Adriaan de Groot [Wed, 3 Aug 2016 09:15:13 +0000 (11:15 +0200)]
PulleyScript: fix minor type-conversion

7 years agoPulleyScript: expand test-file for instantiating backend multiple times
Adriaan de Groot [Wed, 3 Aug 2016 09:08:01 +0000 (11:08 +0200)]
PulleyScript: expand test-file for instantiating backend multiple times

7 years agoPulleyScript: set and get driver-parameters
Adriaan de Groot [Wed, 3 Aug 2016 09:06:54 +0000 (11:06 +0200)]
PulleyScript: set and get driver-parameters

7 years agoPulleyScript: save driver parameters
Adriaan de Groot [Wed, 3 Aug 2016 08:45:10 +0000 (10:45 +0200)]
PulleyScript: save driver parameters

 - Drop drv_setup_param(), as it was TODO
 - (Ab?) Use binding actions to express the binding between parameters
   and constant values.

7 years agoPulleyScript: minor debug-improvement after parsing; output driver info
Adriaan de Groot [Sat, 16 Jul 2016 07:44:33 +0000 (09:44 +0200)]
PulleyScript: minor debug-improvement after parsing; output driver info

7 years agoPulleyScript: minor debug-output improvement in compiler
Adriaan de Groot [Sat, 16 Jul 2016 07:43:59 +0000 (09:43 +0200)]
PulleyScript: minor debug-output improvement in compiler

7 years agoPulleyScript: add API to retrieve driver name by index
Adriaan de Groot [Sat, 16 Jul 2016 07:37:41 +0000 (09:37 +0200)]
PulleyScript: add API to retrieve driver name by index

7 years agoPulleyScript: change output name in example, add parameters so its name is set.
Adriaan de Groot [Sat, 16 Jul 2016 07:19:52 +0000 (09:19 +0200)]
PulleyScript: change output name in example, add parameters so its name is set.

7 years agoSqueal: fix up compilation with non-c99
Adriaan de Groot [Sat, 16 Jul 2016 07:12:59 +0000 (09:12 +0200)]
Squeal: fix up compilation with non-c99

7 years agoPulleyScript: add missing type for _gen_init()
Adriaan de Groot [Fri, 15 Jul 2016 15:13:21 +0000 (17:13 +0200)]
PulleyScript: add missing type for _gen_init()

7 years agoSqueal: allow compile-time setting of DB-dir
Adriaan de Groot [Fri, 15 Jul 2016 15:01:38 +0000 (17:01 +0200)]
Squeal: allow compile-time setting of DB-dir

7 years agoSqueal: avoid memory leak when opening sqldb fails
Adriaan de Groot [Fri, 15 Jul 2016 14:40:16 +0000 (16:40 +0200)]
Squeal: avoid memory leak when opening sqldb fails

7 years agoPulleyScript: improve logging, state handling in pulleyscript
Adriaan de Groot [Fri, 15 Jul 2016 14:55:54 +0000 (16:55 +0200)]
PulleyScript: improve logging, state handling in pulleyscript

7 years agoPulleyBack: log destruction of backends
Adriaan de Groot [Fri, 15 Jul 2016 14:26:13 +0000 (16:26 +0200)]
PulleyBack: log destruction of backends

7 years agoPulleyBack: in test-program, load multiple backend plugins
Adriaan de Groot [Fri, 15 Jul 2016 14:20:20 +0000 (16:20 +0200)]
PulleyBack: in test-program, load multiple backend plugins

7 years agoPulleyBack: loading from PREFIX-location
Adriaan de Groot [Fri, 15 Jul 2016 08:43:06 +0000 (10:43 +0200)]
PulleyBack: loading from PREFIX-location

7 years agoMeta: install SteamWorks components
Adriaan de Groot [Fri, 15 Jul 2016 08:17:26 +0000 (10:17 +0200)]
Meta: install SteamWorks components

 - Installs crank, pulley, shaft executables
 - Installs NULL pulley backend

7 years agoMeta: follow setting of PREFIX in top-level Makefile
Adriaan de Groot [Fri, 15 Jul 2016 08:10:22 +0000 (10:10 +0200)]
Meta: follow setting of PREFIX in top-level Makefile

7 years agoPulleyBack: add the rest of the API to the null backend.
Adriaan de Groot [Wed, 6 Jul 2016 21:06:07 +0000 (23:06 +0200)]
PulleyBack: add the rest of the API to the null backend.

7 years agoPulleyBack: load the rest of the PulleyBack API
Adriaan de Groot [Wed, 6 Jul 2016 21:00:06 +0000 (23:00 +0200)]
PulleyBack: load the rest of the PulleyBack API

7 years agoPulleyBack: refactor plugin-loader
Adriaan de Groot [Wed, 6 Jul 2016 19:56:31 +0000 (21:56 +0200)]
PulleyBack: refactor plugin-loader

 - Loader class does the loading of the plugin API
   from a DLL.
 - Instance is an (open) instance of the plugin

7 years agoPulleyBack: Simplify code fetching functions from DLL
Adriaan de Groot [Wed, 6 Jul 2016 19:19:08 +0000 (21:19 +0200)]
PulleyBack: Simplify code fetching functions from DLL

 - First templated code in SteamWorks
 - This allows a one-liner to grab the function pointer
   with dlfunc() and store it in the correct place,
   with validity being checked and set with each function;
   if any one fails, the destructor (guaranteed to be
   called) will reset all of the function pointers.

This saves a complicated test-set-and-cleanup construction
for each function pointer.

7 years agoPulleyBack: add test program to try plugin-loading
Adriaan de Groot [Wed, 6 Jul 2016 18:50:27 +0000 (20:50 +0200)]
PulleyBack: add test program to try plugin-loading

7 years agoPulleyBack: a null-backend (only part of the API)
Adriaan de Groot [Wed, 6 Jul 2016 12:24:47 +0000 (14:24 +0200)]
PulleyBack: a null-backend (only part of the API)

7 years agoPulleyBack: Add backend classes
Adriaan de Groot [Wed, 6 Jul 2016 18:53:15 +0000 (20:53 +0200)]
PulleyBack: Add backend classes

 - loader class to open plugins
 - forwarding to plugin-functions

7 years agoPulleyBack: import API header for Pulley backends from tlspool
Adriaan de Groot [Wed, 6 Jul 2016 12:13:25 +0000 (14:13 +0200)]
PulleyBack: import API header for Pulley backends from tlspool

 - Add C-logging to pulleyback API
 - remove duplicate include
 - apply C linkage to plugins

7 years agoLogging: Add a (C-API) convenience logging function.
Adriaan de Groot [Wed, 6 Jul 2016 18:43:28 +0000 (20:43 +0200)]
Logging: Add a (C-API) convenience logging function.

7 years agoMeta: generate HTML and man docs
Adriaan de Groot [Wed, 6 Jul 2016 09:17:35 +0000 (11:17 +0200)]
Meta: generate HTML and man docs

7 years agoMeta: remove TODO, that is documented elsewhere (Trello, tickets)
Adriaan de Groot [Wed, 6 Jul 2016 08:52:07 +0000 (10:52 +0200)]
Meta: remove TODO, that is documented elsewhere (Trello, tickets)

7 years agoMeta: touch-up top-level READMEs
Adriaan de Groot [Wed, 6 Jul 2016 08:51:21 +0000 (10:51 +0200)]
Meta: touch-up top-level READMEs

7 years agoMeta: touch-up AUTHORS file
Adriaan de Groot [Wed, 6 Jul 2016 08:45:32 +0000 (10:45 +0200)]
Meta: touch-up AUTHORS file

7 years agoMeta: fix up some licensing texts, add the FCGI license
Adriaan de Groot [Wed, 6 Jul 2016 08:32:31 +0000 (10:32 +0200)]
Meta: fix up some licensing texts, add the FCGI license

7 years agoPulleyScript: switch back to opening the DB in the default db directory
Adriaan de Groot [Mon, 4 Jul 2016 06:46:39 +0000 (08:46 +0200)]
PulleyScript: switch back to opening the DB in the default db directory

7 years agoPulleyScript: massage naming, remove TODOs that are now implemented.
Adriaan de Groot [Mon, 4 Jul 2016 01:58:35 +0000 (03:58 +0200)]
PulleyScript: massage naming, remove TODOs that are now implemented.

7 years agoPulleyScript: use named constants for add-not-del
Adriaan de Groot [Mon, 4 Jul 2016 01:55:14 +0000 (03:55 +0200)]
PulleyScript: use named constants for add-not-del

7 years agoPulleyScript: refactor insert/delete (now closely resembles squeal_produce_output())
Adriaan de Groot [Mon, 4 Jul 2016 01:51:39 +0000 (03:51 +0200)]
PulleyScript: refactor insert/delete (now closely resembles squeal_produce_output())

7 years agoPulleyScript: fix parameter-naming for filling the drv_all hash-fields
Adriaan de Groot [Mon, 4 Jul 2016 01:37:59 +0000 (03:37 +0200)]
PulleyScript: fix parameter-naming for filling the drv_all hash-fields

7 years agoPulleyScript: take output rows and hand them off to deduplication, track hashes per...
Adriaan de Groot [Mon, 4 Jul 2016 01:30:12 +0000 (03:30 +0200)]
PulleyScript: take output rows and hand them off to deduplication, track hashes per output row

7 years agoPulleyScript: example expanded with a second output
Adriaan de Groot [Mon, 4 Jul 2016 01:25:58 +0000 (03:25 +0200)]
PulleyScript: example expanded with a second output

7 years agoPulleyScript: correct documentation about memory layout
Adriaan de Groot [Mon, 4 Jul 2016 01:05:27 +0000 (03:05 +0200)]
PulleyScript: correct documentation about memory layout

7 years agoPulleyScript: connect generator output-information to individual drivers
Adriaan de Groot [Mon, 4 Jul 2016 01:03:01 +0000 (03:03 +0200)]
PulleyScript: connect generator output-information to individual drivers