diff --git a/README.md b/README.md index 43d501f5..df2073bf 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Crowd play: **[Pokemon Emerald](http://cloudretro.io/?id=652e45d78d2b91cd%7CPoke 2. **Cross-platform compatibility**: The game is run on web browser, the most universal built-in app. No console, plugin, external app or devices are needed. Chrome with the latest version and fully WebRTC support is recommended for the game. 3. **Emulator agnostic**: The game can be played directly without any extra effort to set up the gaming emulator or platform. 4. **Collaborate gameplay**: Follow the idea of crowdplay([TwitchPlaysPokemon](https://en.wikipedia.org/wiki/Twitch_Plays_Pok%C3%A9mon)), multiple players can play the same game together by addressing the same deeplink. The game experience is powered by cloud-gaming, so the game is much smoother. [Check CrowdPlay section](#crowd-play-play-game-together) -5. **Online multiplayer**: The first time in history, you can play multiplayer on Retro games online. +5. **Online multiplayer**: The first time in history, you can play multiplayer on Retro games online. You can try Samurai Showndown with 2 players for fighting game example. 5. **Horizontally scaled**: The infrastructure is designed to be able to scale under high traffic by adding more instances. 6. **Cloud storage**: Game state is storing on online storage, so you can come back and continue playing your incomplete game later. diff --git a/assets/emulator/libretro/cores/fbneo_libretro.so b/assets/emulator/libretro/cores/fbneo_libretro.so new file mode 100644 index 00000000..25853464 Binary files /dev/null and b/assets/emulator/libretro/cores/fbneo_libretro.so differ diff --git a/assets/games/neogeo.zip b/assets/games/neogeo.zip new file mode 100644 index 00000000..68591f00 Binary files /dev/null and b/assets/games/neogeo.zip differ diff --git a/pkg/config/config.go b/pkg/config/config.go index 0a606515..af67287f 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -74,9 +74,9 @@ var EmulatorConfig = map[string]EmulatorMeta{ Height: 224, }, "mame": { - Path: "assets/emulator/libretro/cores/mame2016_libretro", - Width: 0, - Height: 0, + Path: "assets/emulator/libretro/cores/fbneo_libretro", + Width: 240, + Height: 160, }, } diff --git a/pkg/util/common.go b/pkg/util/common.go index 31933ec1..c50332a9 100644 --- a/pkg/util/common.go +++ b/pkg/util/common.go @@ -6,3 +6,13 @@ func MinInt(x int, y int) int { } return y } + +func ContainsString(sslice []string, s string) bool { + for _, ss := range sslice { + if ss == s { + return true + } + } + + return false +} diff --git a/pkg/util/gamelist/games.go b/pkg/util/gamelist/games.go index 095a948c..66c5793b 100644 --- a/pkg/util/gamelist/games.go +++ b/pkg/util/gamelist/games.go @@ -6,6 +6,7 @@ import ( "strings" "github.com/giongto35/cloud-game/pkg/config" + "github.com/giongto35/cloud-game/pkg/util" ) type GameInfo struct { @@ -16,6 +17,8 @@ type GameInfo struct { const gamePath = "assets/games" +var excludeFiles = []string{"neogeo"} + var GameList []GameInfo func init() { @@ -42,6 +45,11 @@ func getAllGames(gamePath string) []GameInfo { if info != nil && !info.IsDir() && isValidGameType(path) { // Add to games list gameInfo := getGameInfo(path) + // Skip file that is in excludeFiles (bios files) + if util.ContainsString(excludeFiles, gameInfo.Name) { + return nil + } + games = append(games, gameInfo) } return nil