Integrate with RetroArch to have Universal emulator. (#64)

* WIP

* Add libretro

* Update input retro

* Update cloud retro input:

* Integrate libretro remove GL

* Launch emulator by game type

* Save and load

* Update deeplink to game directly

* Done channel for naemulator

* each server handle only one session

* Only provide available clients

* Emulator based on game

* Remove all OpenGL related

* Retroarch audio

* Audio encoding mono

* Experiment with libretro audio

* Audio without datachannel

* Audio opus internal

* Remove unnecessary code

* Resampled

* Limit time frame

* Start Room and Audio by game

* Dynamic video image allocation

* Dynamic Video buffer allocation based on video resolution

* Move encoder to room

* width and height from emulator

* Padding images to fix multipler of 64

* Remove OpenGL

* Remove Open AL

* Remove OpenGL from Go mod

* Move away nanoarch logic in naemulator

* Remove unecessary savefiles.go

* Optimize Docker for caching

* Update ReadME

* Update README to introduce Retro

* Update README

* Update README.md
This commit is contained in:
giongto35 2019-08-02 22:06:26 +08:00 committed by GitHub
parent 642691ef23
commit c7caa87624
43 changed files with 3373 additions and 299 deletions

View file

@ -11,7 +11,6 @@ import (
"time"
"github.com/giongto35/cloud-game/cws"
"github.com/giongto35/cloud-game/emulator"
"github.com/giongto35/cloud-game/overlord"
gamertc "github.com/giongto35/cloud-game/webrtc"
"github.com/giongto35/cloud-game/worker"
@ -393,7 +392,7 @@ func TestReconnectRoomNoLocal(t *testing.T) {
worker.GetOverlordClient().Close()
worker.Close()
// Remove room on local
path := emulator.GetSavePath(saveRoomID)
path := util.GetSavePath(saveRoomID)
os.Remove(path)
// Expect Google cloud call