From 78a25124104262bd4aff5eb3b96011bcf256a065 Mon Sep 17 00:00:00 2001 From: Eduardo Silva Date: Mon, 28 Oct 2024 12:15:16 +0000 Subject: [PATCH] Code now runs on Linux for local files I still need to add the support for message broadcasting tho, it should not be that hard --- irsdk.go | 3 +++ sharedMem/sharedMemDarwin.go | 6 +++--- sharedMem/sharedMemLinux.go | 6 +++--- sharedMem/sharedMemWindows.go | 3 +++ winutils/winutils.go | 3 +++ 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/irsdk.go b/irsdk.go index 935db75..234bc45 100644 --- a/irsdk.go +++ b/irsdk.go @@ -51,6 +51,9 @@ func Init(f Reader) (*IBT, error) { return nil, fmt.Errorf("Failed to open memory mapped file: %v", err) } ibt.LiveData = true + + // Here we also need to open the broadcast message thing and the + // thing to check if the game is open } // Read the file headers diff --git a/sharedMem/sharedMemDarwin.go b/sharedMem/sharedMemDarwin.go index b6ebb5b..b594c7c 100644 --- a/sharedMem/sharedMemDarwin.go +++ b/sharedMem/sharedMemDarwin.go @@ -81,13 +81,13 @@ type shmi struct { name string fd C.int v unsafe.Pointer - size int32 + size uint32 parent bool } // create shared memory. return shmi object. // name should not be more than 31 bytes. -func create(name string, size int32) (*shmi, error) { +func create(name string, size uint32) (*shmi, error) { name = "/" + name fd := C.Create(C.CString(name), C.int(size)) @@ -106,7 +106,7 @@ func create(name string, size int32) (*shmi, error) { // open shared memory. return shmi object. // name should not be more than 31 bytes. -func open(name string, size int32) (*shmi, error) { +func open(name string, size uint32) (*shmi, error) { name = "/" + name fd := C.Open(C.CString(name), C.int(size)) diff --git a/sharedMem/sharedMemLinux.go b/sharedMem/sharedMemLinux.go index 5e35dc1..af0b62e 100644 --- a/sharedMem/sharedMemLinux.go +++ b/sharedMem/sharedMemLinux.go @@ -74,12 +74,12 @@ type shmi struct { name string fd C.int v unsafe.Pointer - size int32 + size uint32 parent bool } // create shared memory. return shmi object. -func create(name string, size int32) (*shmi, error) { +func create(name string, size uint32) (*shmi, error) { name = "/" + name fd := C.Create(C.CString(name), C.int(size)) @@ -97,7 +97,7 @@ func create(name string, size int32) (*shmi, error) { } // open shared memory. return shmi object. -func open(name string, size int32) (*shmi, error) { +func open(name string, size uint32) (*shmi, error) { name = "/" + name fd := C.Open(C.CString(name), C.int(size)) diff --git a/sharedMem/sharedMemWindows.go b/sharedMem/sharedMemWindows.go index b0776d0..9b9ee3f 100644 --- a/sharedMem/sharedMemWindows.go +++ b/sharedMem/sharedMemWindows.go @@ -1,3 +1,6 @@ +//go:build windows && cgo +// +build windows,cgo + package sharedMem import ( diff --git a/winutils/winutils.go b/winutils/winutils.go index abb1a76..6938c6f 100644 --- a/winutils/winutils.go +++ b/winutils/winutils.go @@ -1,3 +1,6 @@ +//go:build windows && cgo +// +build windows,cgo + package winutils import (