Tags: Karplyak/cloud-game
Tags
Handle no config situation for workers (giongto35#253) (experimental feature) Before a worker can start, it should have a configuration file. In case if such a file is not found it may request configuration from the coordinator to which it connected. Added example logic if a worker is needed to be blocked until a successful packet exchange with a coordinator is being made. * Add error return for config loader * Add config loaded flag to worker * Add zone flag * Add a custom mutex lock with timout * Refactor worker runtime * Refactor internal api * Extract monitoring server config * Extract worker HTTP(S) server * Add generic sub-server interface * Add internal coordinator API * Add internal routes and handlers to worker * Add internal worker API * Refactor worker run * Migrate serverId call to new API * Add packet handler to cws * Extract handlers for internal worker routes in coordinator * Pass worker to the worker internal heandlers * Cleanup worker handlers in coordinator * Add closeRoom packet handler to the API * Add GetRoom packet handler to the API * Add RegisterRoom packet handler to the API * Add IceCandidate packet handler to the API (internal and browser) * Add Heartbeat packet handler to the API (internal and browser) * Rename worker routes init function * Extract worker/coordinator internal ws handlers * Update timed locker * Allow sequential timed locks * Add config request from workers * Add nil check for the route registration functions
Fix errors/misuse with OpenGL-based core API (giongto35#237) * Follow Go standard for naming constants * Use reformatted pixFormats for Libretro cores * Use OpenGL 2.1 Core profile bindings for render instead 4.1 * Cleanup the code * SDL attributes should be set before the sdl.Init call * Use simple vertical frame flip function instead imaging lib with OpenGL renderer * Use the separate control flow for the macOS OpenGL context handling * Add OpenGL pixel type/format switch based on cores callback * Use unified log instead of fmt * Clean code * Remove unnecessary SDL init flag * Printout errors with SDL / OpenGL functions * Add CGO Libretro logging output * Use main thread lock for windows and OpenGL context * Remove Darwin OS switch * Add extended OpenGL version info print * Update Libretro cores info print * Add game library module (giongto35#232) * Add game library * Add missing local game lib files * Add missing return statement * Use v2 suffix * Bump the dependencies * Update Libretro modules to support headless test runners * Port old savestates tests as example for Libretro cores runner testing * Add n64 core example game and a test * Update room tests for various games * Add frame dump support for CI builds * Add frame rendering to image output for core testing * Update ROM frame exporter in tests * Disable Docker image publishing * Add frame rendering output for non-gl cores for CI * Add auto GL context override for headless, gpu-less machines (e.g. Github CI Xeon) * Add Windows CI headless cores frame render config * Add missing Mesa OpenGL drivers to Ubuntu CI * Add mupen n64 core download into CI tests * Add Linux, macOS, Windows core frame render tests into CI * Remove unnecessary var * Add some comments * Revert Y flip * Move OpenGL into a separate package * Add SDL package * Update modules