Add go functions for rres-raylib.h
This commit is contained in:
parent
349288d189
commit
81ea8a7ab0
1 changed files with 51 additions and 5 deletions
|
@ -27,6 +27,47 @@ func LoadDataFromResource(chunk ResourceChunk) []byte {
|
|||
return v
|
||||
}
|
||||
|
||||
// LoadTextFromResource - Load text data from rres resource chunk
|
||||
func LoadTextFromResource(chunk ResourceChunk) string {
|
||||
cchunk := *(*C.rresResourceChunk)(unsafe.Pointer(&chunk))
|
||||
ret := C.LoadTextFromResource(cchunk)
|
||||
defer C.free(unsafe.Pointer(ret))
|
||||
v := C.GoString(ret)
|
||||
return v
|
||||
}
|
||||
|
||||
// LoadImageFromResource - Load Image data from rres resource chunk
|
||||
func LoadImageFromResource(chunk ResourceChunk) rl.Image {
|
||||
cchunk := *(*C.rresResourceChunk)(unsafe.Pointer(&chunk))
|
||||
ret := C.LoadImageFromResource(cchunk)
|
||||
v := *(*rl.Image)(unsafe.Pointer(&ret))
|
||||
return v
|
||||
}
|
||||
|
||||
// LoadWaveFromResource - Load Wave data from rres resource chunk
|
||||
func LoadWaveFromResource(chunk ResourceChunk) rl.Wave {
|
||||
cchunk := *(*C.rresResourceChunk)(unsafe.Pointer(&chunk))
|
||||
ret := C.LoadWaveFromResource(cchunk)
|
||||
v := *(*rl.Wave)(unsafe.Pointer(&ret))
|
||||
return v
|
||||
}
|
||||
|
||||
// LoadFontFromResource - Load Font data from rres resource multiple chunks
|
||||
func LoadFontFromResource(multi ResourceMulti) rl.Font {
|
||||
cmulti := *(*C.rresResourceMulti)(unsafe.Pointer(&multi))
|
||||
ret := C.LoadFontFromResource(cmulti)
|
||||
v := *(*rl.Font)(unsafe.Pointer(&ret))
|
||||
return v
|
||||
}
|
||||
|
||||
// LoadMeshFromResource - Load Mesh data from rres resource multiple chunks
|
||||
func LoadMeshFromResource(multi ResourceMulti) rl.Mesh {
|
||||
cmulti := *(*C.rresResourceMulti)(unsafe.Pointer(&multi))
|
||||
ret := C.LoadMeshFromResource(cmulti)
|
||||
v := *(*rl.Mesh)(unsafe.Pointer(&ret))
|
||||
return v
|
||||
}
|
||||
|
||||
// UnpackResourceChunk - Unpack resource chunk data (decompres/decrypt data)
|
||||
//
|
||||
// NOTE: Function return 0 on success or other value on failure
|
||||
|
@ -37,9 +78,14 @@ func UnpackResourceChunk(chunk *ResourceChunk) ErrorType {
|
|||
return v
|
||||
}
|
||||
|
||||
func LoadImageFromResource(chunk ResourceChunk) rl.Image {
|
||||
cchunk := *(*C.rresResourceChunk)(unsafe.Pointer(&chunk))
|
||||
ret := C.LoadImageFromResource(cchunk)
|
||||
v := *(*rl.Image)(unsafe.Pointer(&ret))
|
||||
return v
|
||||
// SetBaseDirectory - Set base directory for externally linked data
|
||||
//
|
||||
// NOTE: When resource chunk contains an external link (FourCC: LINK, Type: RRES_DATA_LINK),
|
||||
// a base directory is required to be prepended to link path
|
||||
//
|
||||
// If not provided, the application path is prepended to link by default
|
||||
func SetBaseDirectory(baseDir string) {
|
||||
cbaseDir := C.CString(baseDir)
|
||||
defer C.free(unsafe.Pointer(cbaseDir))
|
||||
C.SetBaseDirectory(cbaseDir)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue