* Disable CGO (C libs) for coordinator
Needed for static linking.
* Fix "error strings should not be capitalized (ST1005)"
* Fix SA1015
Using time.Tick leaks the underlying ticker, consider using it only in endless functions, tests and the main package, and use time.NewTicker here (SA1015)
* Fix SA9004
Only the first constant in this group has an explicit type (SA9004).
* Remove unused code in the webrtc package
* Fix S1000
Should use a simple channel send/receive instead of select with a single case (S1000).
* Force dir creation/check for core downloader
* Update Makefile release script
* Disable ASLR for worker builds
* Remove WORKER_BUILD_PARAMS flag from the CI
* Don't force recompilation in release
* Add Debian packages installer script
* Build worker app without libopusfile
* Test worker app without libopusfile
* Add opus wrapper without opusfile
* Make install.sh executable
* Add opus lib in Win builds
* Make insecure HTTPS requests when downloading libs
* Add ca-certificates for Docker build stage
go mod download works only with SSL certificates installed.
* Move libx264 wrapper into the repo
That way we can get rid of a lot of not needed external Go dependencies.
* Update the dependencies
* Add experimental core's SRAM save/load
* Clean room.go
* Update Save RAM states
* Update dependencies
* Extract emulator states into a separate module
* Google Cloud saves don't support save RAM persistence, but save state (.dat) files only.
* Add emulator storage path into the configuration file
* Verify offline storage path
* Add initial external configuration files support.
These external configuration files allow changing app params at the runtime without recompilation.
* Find config files with specified directory in the tests
* Add aspect ratio recalculation config
* Clean code
* Add new configuration files into the Docker container image
* Add shared core and config paths into the Libretro cores config
* Split ROM <-> Emulator mapping between workers and coordinators
* Extract coordinator config
* Add shared worker/coordinator server config
* Add explicit embedded shared worker/coordinator struct for auto-config reflection fill
* Remove default stun/turn servers from the config
* Extract and add new ice servers config structures
* Update coordinator config params
* Add auto emulation lib loader based on the runtime OS/arch
* Update configuration structures
* Remove shared config embedding
* Add missing network config params
* Add game library external config
* Remove unused config parameters
* Add WebRTC encoder external options
* Add user dir for config search
* Update config loader
* Update config
* Add generic downloader with Grab lib implementation
* Add a simple file downloader backed by the grab lib
* Add initial Libretro core repos abstractions
* Expose compression info for Libretro cores repository records
* Add pipe-based abstract file downloader
* Refactor downloader
* Refactor Libretro repos
* Add worker coresync stubs
* Add multiprocess-safe HTTP-based core manager implementation
* Remove Libretro cores from the repo
* Keep custom N64 cores in te repo for now
* Add Libretro cores repo select in the config
* Fix http manager repo switch
* Cleanup code
* Add greedy Libretro lib loader
* Don't crash when arch map is not set
* Disable dynamic recompiler for pcsx core by default since it's could cause a crash
* Use global Libretro dynalib handler
* Shorten the default Libretro cores store path
* Update zip extractor implementation
* Remove explicit fig lib field markings
* Add config note to the README file
* Add GitHub repo backend for the core downloader
* Fix GitHub repo param list in the manager factory
* Add env variables reader with CLOUD_GAME prefix
* Re-optimize ice server info struct custom marshaler