forked from libretro/ludo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[WIP] Experimental windows support (libretro#14)
* Experimental windows support * Encapsulate setVolume * Add .appveyor.yml * Try to get dependencies * Badge * Fix gopath * Fix gcc * Set os * Try to fix gcc path * Fix audio * Fix audio * Perform tests * Test script * Portable libretro package * Typo * Simplify code * Windows audio stubs * Code cleaning * Fix windows audio init stub * This should fix linux builds * Improve appveyor * Working audio on windows * golang.org/x/mobile/exp/audio/al is fixed for windows * Try to set include path for openal * Try to copy the headers into the right path * Slashes * -r flag * cp dlls * Disable go vet * Remove unused function
- Loading branch information
Showing
12 changed files
with
190 additions
and
62 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
os: Visual Studio 2015 | ||
|
||
version: 0.1.0.{build} | ||
|
||
platform: x64 | ||
|
||
clone_folder: c:\gopath\src\github.com\kivutar\go-playthemall | ||
|
||
environment: | ||
GOPATH: c:\gopath | ||
CC: gcc.exe | ||
|
||
install: | ||
- echo %PATH% | ||
- echo %GOPATH% | ||
- set PATH=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;C:\MinGW\bin;%GOPATH%\bin;c:\go\bin;%PATH% | ||
- go version | ||
- gcc --version | ||
- go env | ||
- appveyor DownloadFile http://kcat.strangesoft.net/openal-binaries/openal-soft-1.18.2-bin.zip | ||
- 7z x openal-soft-1.18.2-bin.zip | ||
- cp -r openal-soft-1.18.2-bin/include/* C:/mingw-w64/x86_64-6.3.0-posix-seh-rt_v5-rev1/mingw64/x86_64-w64-mingw32/include/ | ||
- cp -r openal-soft-1.18.2-bin/libs/Win64/* C:/mingw-w64/x86_64-6.3.0-posix-seh-rt_v5-rev1/mingw64/x86_64-w64-mingw32/lib/ | ||
|
||
build_script: | ||
- go get -t -v ./... | ||
- go build | ||
|
||
before_test: | ||
- go get github.com/golang/lint/golint | ||
- go get honnef.co/go/tools/cmd/megacheck | ||
|
||
test_script: | ||
- go test -v -race ./... | ||
- megacheck ./... | ||
- golint -set_exit_status $(go list ./...) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
# Compiled binaries | ||
/go-playthemall | ||
go-playthemall | ||
go-playthemall.exe | ||
settings.json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package main | ||
|
||
import "github.com/kivutar/go-playthemall/libretro" | ||
|
||
var joyBinds = map[string]joybinds{ | ||
"Microsoft X-Box 360 pad": xbox360JoyBinds, | ||
} | ||
|
||
// FIXME Joypad bindings fox Xbox360 pad on Windows | ||
var xbox360JoyBinds = joybinds{ | ||
bind{btn, 0, 0, 0}: libretro.DeviceIDJoypadB, | ||
bind{btn, 1, 0, 0}: libretro.DeviceIDJoypadA, | ||
bind{btn, 2, 0, 0}: libretro.DeviceIDJoypadY, | ||
bind{btn, 3, 0, 0}: libretro.DeviceIDJoypadX, | ||
bind{btn, 4, 0, 0}: libretro.DeviceIDJoypadL, | ||
bind{btn, 5, 0, 0}: libretro.DeviceIDJoypadR, | ||
bind{btn, 6, 0, 0}: libretro.DeviceIDJoypadSelect, | ||
bind{btn, 7, 0, 0}: libretro.DeviceIDJoypadStart, | ||
bind{btn, 8, 0, 0}: menuActionMenuToggle, | ||
bind{btn, 9, 0, 0}: libretro.DeviceIDJoypadL3, | ||
bind{btn, 10, 0, 0}: libretro.DeviceIDJoypadR3, | ||
bind{axis, 6, -1, -0.5}: libretro.DeviceIDJoypadLeft, | ||
bind{axis, 6, 1, 0.5}: libretro.DeviceIDJoypadRight, | ||
bind{axis, 7, -1, -0.5}: libretro.DeviceIDJoypadUp, | ||
bind{axis, 7, 1, 0.5}: libretro.DeviceIDJoypadDown, | ||
bind{axis, 2, 1, 0.5}: libretro.DeviceIDJoypadL2, | ||
bind{axis, 5, 1, 0.5}: libretro.DeviceIDJoypadR2, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
// +build !windows | ||
|
||
package libretro | ||
|
||
import ( | ||
"errors" | ||
"unsafe" | ||
) | ||
|
||
/* | ||
#cgo LDFLAGS: -ldl | ||
#include <dlfcn.h> | ||
*/ | ||
import "C" | ||
|
||
// Core is an instance of a dynalically loaded libretro core | ||
type Core struct { | ||
handle unsafe.Pointer | ||
|
||
symRetroInit unsafe.Pointer | ||
symRetroDeinit unsafe.Pointer | ||
symRetroAPIVersion unsafe.Pointer | ||
symRetroGetSystemInfo unsafe.Pointer | ||
symRetroGetSystemAVInfo unsafe.Pointer | ||
symRetroSetEnvironment unsafe.Pointer | ||
symRetroSetVideoRefresh unsafe.Pointer | ||
symRetroSetInputPoll unsafe.Pointer | ||
symRetroSetInputState unsafe.Pointer | ||
symRetroSetAudioSample unsafe.Pointer | ||
symRetroSetAudioSampleBatch unsafe.Pointer | ||
symRetroRun unsafe.Pointer | ||
symRetroReset unsafe.Pointer | ||
symRetroLoadGame unsafe.Pointer | ||
symRetroUnloadGame unsafe.Pointer | ||
symRetroSerializeSize unsafe.Pointer | ||
symRetroSerialize unsafe.Pointer | ||
symRetroUnserialize unsafe.Pointer | ||
} | ||
|
||
// DlSym loads a symbol from a dynamic library | ||
func (core *Core) DlSym(name string) unsafe.Pointer { | ||
return C.dlsym(core.handle, C.CString(name)) | ||
} | ||
|
||
// DlOpen opens a dynamic library | ||
func DlOpen(path string) (unsafe.Pointer, error) { | ||
h := C.dlopen(C.CString(path), C.RTLD_NOW) | ||
if h == nil { | ||
return h, errors.New("dlopen failed") | ||
} | ||
return h, nil | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
package libretro | ||
|
||
import ( | ||
"syscall" | ||
"unsafe" | ||
) | ||
|
||
// Core is an instance of a dynalically loaded libretro core | ||
type Core struct { | ||
handle syscall.Handle | ||
|
||
symRetroInit unsafe.Pointer | ||
symRetroDeinit unsafe.Pointer | ||
symRetroAPIVersion unsafe.Pointer | ||
symRetroGetSystemInfo unsafe.Pointer | ||
symRetroGetSystemAVInfo unsafe.Pointer | ||
symRetroSetEnvironment unsafe.Pointer | ||
symRetroSetVideoRefresh unsafe.Pointer | ||
symRetroSetInputPoll unsafe.Pointer | ||
symRetroSetInputState unsafe.Pointer | ||
symRetroSetAudioSample unsafe.Pointer | ||
symRetroSetAudioSampleBatch unsafe.Pointer | ||
symRetroRun unsafe.Pointer | ||
symRetroReset unsafe.Pointer | ||
symRetroLoadGame unsafe.Pointer | ||
symRetroUnloadGame unsafe.Pointer | ||
symRetroSerializeSize unsafe.Pointer | ||
symRetroSerialize unsafe.Pointer | ||
symRetroUnserialize unsafe.Pointer | ||
} | ||
|
||
// DlSym loads a symbol from a dynamic library | ||
func (core *Core) DlSym(name string) unsafe.Pointer { | ||
tmp, _ := syscall.GetProcAddress(core.handle, name) | ||
return unsafe.Pointer(tmp) | ||
} | ||
|
||
// DlOpen opens a dynamic library | ||
func DlOpen(path string) (syscall.Handle, error) { | ||
return syscall.LoadLibrary(path) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters