mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
sdl: fix old vsdl2 references
This commit is contained in:
parent
90e3ab8c1e
commit
2e30e1453d
@ -13,7 +13,7 @@ import os
|
|||||||
import math
|
import math
|
||||||
import sdl
|
import sdl
|
||||||
import sdl.image as img
|
import sdl.image as img
|
||||||
[inline] fn sdl_fill_rect(s &vsdl2.Surface,r &vsdl2.Rect,c &vsdl2.Color){vsdl2.fill_rect(s,r,c)}
|
[inline] fn sdl_fill_rect(s &sdl.Surface,r &sdl.Rect,c &sdl.Color){sdl.fill_rect(s,r,c)}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
Title = 'tVintris'
|
Title = 'tVintris'
|
||||||
@ -107,25 +107,25 @@ const (
|
|||||||
]
|
]
|
||||||
// Each tetro has its unique color
|
// Each tetro has its unique color
|
||||||
Colors = [
|
Colors = [
|
||||||
vsdl2.Color{byte(0), byte(0), byte(0), byte(0)}, // unused ?
|
sdl.Color{byte(0), byte(0), byte(0), byte(0)}, // unused ?
|
||||||
vsdl2.Color{byte(0), byte(0x62), byte(0xc0), byte(0)}, // quad : darkblue 0062c0
|
sdl.Color{byte(0), byte(0x62), byte(0xc0), byte(0)}, // quad : darkblue 0062c0
|
||||||
vsdl2.Color{byte(0xca), byte(0x7d), byte(0x5f), byte(0)}, // tricorn : lightbrown ca7d5f
|
sdl.Color{byte(0xca), byte(0x7d), byte(0x5f), byte(0)}, // tricorn : lightbrown ca7d5f
|
||||||
vsdl2.Color{byte(0), byte(0xc1), byte(0xbf), byte(0)}, // short topright : lightblue 00c1bf
|
sdl.Color{byte(0), byte(0xc1), byte(0xbf), byte(0)}, // short topright : lightblue 00c1bf
|
||||||
vsdl2.Color{byte(0), byte(0xc1), byte(0), byte(0)}, // short topleft : lightgreen 00c100
|
sdl.Color{byte(0), byte(0xc1), byte(0), byte(0)}, // short topleft : lightgreen 00c100
|
||||||
vsdl2.Color{byte(0xbf), byte(0xbe), byte(0), byte(0)}, // long topleft : yellowish bfbe00
|
sdl.Color{byte(0xbf), byte(0xbe), byte(0), byte(0)}, // long topleft : yellowish bfbe00
|
||||||
vsdl2.Color{byte(0xd1), byte(0), byte(0xbf), byte(0)}, // long topright : pink d100bf
|
sdl.Color{byte(0xd1), byte(0), byte(0xbf), byte(0)}, // long topright : pink d100bf
|
||||||
vsdl2.Color{byte(0xd1), byte(0), byte(0), byte(0)}, // longest : lightred d10000
|
sdl.Color{byte(0xd1), byte(0), byte(0), byte(0)}, // longest : lightred d10000
|
||||||
vsdl2.Color{byte(0), byte(170), byte(170), byte(0)}, // unused ?
|
sdl.Color{byte(0), byte(170), byte(170), byte(0)}, // unused ?
|
||||||
]
|
]
|
||||||
// Background color
|
// Background color
|
||||||
BackgroundColor = vsdl2.Color{byte(0), byte(0), byte(0), byte(0)}
|
BackgroundColor = sdl.Color{byte(0), byte(0), byte(0), byte(0)}
|
||||||
// BackgroundColor = vsdl2.Color{byte(255), byte(255), byte(255), byte(0)}
|
// BackgroundColor = sdl.Color{byte(255), byte(255), byte(255), byte(0)}
|
||||||
// Foreground color
|
// Foreground color
|
||||||
ForegroundColor = vsdl2.Color{byte(0), byte(170), byte(170), byte(0)}
|
ForegroundColor = sdl.Color{byte(0), byte(170), byte(170), byte(0)}
|
||||||
// ForegroundColor = vsdl2.Color{byte(0), byte(0), byte(0), byte(0)}
|
// ForegroundColor = sdl.Color{byte(0), byte(0), byte(0), byte(0)}
|
||||||
// Text color
|
// Text color
|
||||||
TextColor = vsdl2.Color{byte(0xca), byte(0x7d), byte(0x5f), byte(0)}
|
TextColor = sdl.Color{byte(0xca), byte(0x7d), byte(0x5f), byte(0)}
|
||||||
// TextColor = vsdl2.Color{byte(0), byte(0), byte(0), byte(0)}
|
// TextColor = sdl.Color{byte(0), byte(0), byte(0), byte(0)}
|
||||||
)
|
)
|
||||||
|
|
||||||
// TODO: type Tetro [TetroSize]struct{ x, y int }
|
// TODO: type Tetro [TetroSize]struct{ x, y int }
|
||||||
@ -154,7 +154,7 @@ mut:
|
|||||||
h int
|
h int
|
||||||
window voidptr
|
window voidptr
|
||||||
renderer voidptr
|
renderer voidptr
|
||||||
screen &vsdl2.Surface
|
screen &sdl.Surface
|
||||||
texture voidptr
|
texture voidptr
|
||||||
// AUDIO
|
// AUDIO
|
||||||
actx AudioContext
|
actx AudioContext
|
||||||
@ -162,7 +162,7 @@ mut:
|
|||||||
jnames [2]string
|
jnames [2]string
|
||||||
jids [2]int
|
jids [2]int
|
||||||
// V logo
|
// V logo
|
||||||
v_logo &vsdl2.Surface
|
v_logo &sdl.Surface
|
||||||
tv_logo voidptr
|
tv_logo voidptr
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -224,19 +224,19 @@ mut:
|
|||||||
font voidptr
|
font voidptr
|
||||||
}
|
}
|
||||||
|
|
||||||
fn (sdl mut SdlContext) set_sdl_context(w int, h int, title string) {
|
fn (sdlc mut SdlContext) set_sdl_context(w int, h int, title string) {
|
||||||
C.SDL_Init(C.SDL_INIT_VIDEO | C.SDL_INIT_AUDIO | C.SDL_INIT_JOYSTICK)
|
C.SDL_Init(C.SDL_INIT_VIDEO | C.SDL_INIT_AUDIO | C.SDL_INIT_JOYSTICK)
|
||||||
C.atexit(C.SDL_Quit)
|
C.atexit(C.SDL_Quit)
|
||||||
C.TTF_Init()
|
C.TTF_Init()
|
||||||
C.atexit(C.TTF_Quit)
|
C.atexit(C.TTF_Quit)
|
||||||
bpp := 32
|
bpp := 32
|
||||||
vsdl2.create_window_and_renderer(w, h, 0, &sdl.window, &sdl.renderer)
|
sdl.create_window_and_renderer(w, h, 0, &sdlc.window, &sdlc.renderer)
|
||||||
// C.SDL_CreateWindowAndRenderer(w, h, 0, voidptr(&sdl.window), voidptr(&sdl.renderer))
|
// C.SDL_CreateWindowAndRenderer(w, h, 0, voidptr(&sdlc.window), voidptr(&sdlc.renderer))
|
||||||
C.SDL_SetWindowTitle(sdl.window, title.str)
|
C.SDL_SetWindowTitle(sdlc.window, title.str)
|
||||||
sdl.w = w
|
sdlc.w = w
|
||||||
sdl.h = h
|
sdlc.h = h
|
||||||
sdl.screen = vsdl2.create_rgb_surface(0, w, h, bpp, 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000)
|
sdlc.screen = sdl.create_rgb_surface(0, w, h, bpp, 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000)
|
||||||
sdl.texture = C.SDL_CreateTexture(sdl.renderer, C.SDL_PIXELFORMAT_ARGB8888, C.SDL_TEXTUREACCESS_STREAMING, w, h)
|
sdlc.texture = C.SDL_CreateTexture(sdlc.renderer, C.SDL_PIXELFORMAT_ARGB8888, C.SDL_TEXTUREACCESS_STREAMING, w, h)
|
||||||
|
|
||||||
C.Mix_Init(0)
|
C.Mix_Init(0)
|
||||||
C.atexit(C.Mix_Quit)
|
C.atexit(C.Mix_Quit)
|
||||||
@ -244,23 +244,23 @@ fn (sdl mut SdlContext) set_sdl_context(w int, h int, title string) {
|
|||||||
println('couldn\'t open audio')
|
println('couldn\'t open audio')
|
||||||
}
|
}
|
||||||
println('opening music $MusicName')
|
println('opening music $MusicName')
|
||||||
sdl.actx.music = C.Mix_LoadMUS(MusicName.str)
|
sdlc.actx.music = C.Mix_LoadMUS(MusicName.str)
|
||||||
sdl.actx.waves[0] = C.Mix_LoadWAV(SndBlockName.str)
|
sdlc.actx.waves[0] = C.Mix_LoadWAV(SndBlockName.str)
|
||||||
sdl.actx.waves[1] = C.Mix_LoadWAV(SndLineName.str)
|
sdlc.actx.waves[1] = C.Mix_LoadWAV(SndLineName.str)
|
||||||
sdl.actx.waves[2] = C.Mix_LoadWAV(SndDoubleName.str)
|
sdlc.actx.waves[2] = C.Mix_LoadWAV(SndDoubleName.str)
|
||||||
sdl.actx.volume = C.SDL_MIX_MAXVOLUME
|
sdlc.actx.volume = C.SDL_MIX_MAXVOLUME
|
||||||
if C.Mix_PlayMusic(sdl.actx.music, 1) != -1 {
|
if C.Mix_PlayMusic(sdlc.actx.music, 1) != -1 {
|
||||||
C.Mix_VolumeMusic(sdl.actx.volume)
|
C.Mix_VolumeMusic(sdlc.actx.volume)
|
||||||
}
|
}
|
||||||
njoy := C.SDL_NumJoysticks()
|
njoy := C.SDL_NumJoysticks()
|
||||||
for i := 0; i < njoy; i++ {
|
for i := 0; i < njoy; i++ {
|
||||||
C.SDL_JoystickOpen(i)
|
C.SDL_JoystickOpen(i)
|
||||||
jn := tos_clone(vsdl2.joystick_name_for_index(i))
|
jn := tos_clone(sdl.joystick_name_for_index(i))
|
||||||
println('JOY NAME $jn')
|
println('JOY NAME $jn')
|
||||||
for j := 0; j < NJOYMAX; j++ {
|
for j := 0; j < NJOYMAX; j++ {
|
||||||
if sdl.jnames[j] == jn {
|
if sdlc.jnames[j] == jn {
|
||||||
println('FOUND JOYSTICK $j $jn ID=$i')
|
println('FOUND JOYSTICK $j $jn ID=$i')
|
||||||
sdl.jids[j] = i
|
sdlc.jids[j] = i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -270,11 +270,11 @@ fn (sdl mut SdlContext) set_sdl_context(w int, h int, title string) {
|
|||||||
println('error initializing image library.')
|
println('error initializing image library.')
|
||||||
}
|
}
|
||||||
println('opening logo $VLogo')
|
println('opening logo $VLogo')
|
||||||
sdl.v_logo = img.load(VLogo)
|
sdlc.v_logo = img.load(VLogo)
|
||||||
if !isnil(sdl.v_logo) {
|
if !isnil(sdlc.v_logo) {
|
||||||
// println('got v_logo=$sdl.v_logo')
|
// println('got v_logo=$sdlc.v_logo')
|
||||||
sdl.tv_logo = vsdl2.create_texture_from_surface(sdl.renderer, sdl.v_logo)
|
sdlc.tv_logo = sdl.create_texture_from_surface(sdlc.renderer, sdlc.v_logo)
|
||||||
// println('got tv_logo=$sdl.tv_logo')
|
// println('got tv_logo=$sdlc.tv_logo')
|
||||||
}
|
}
|
||||||
C.SDL_JoystickEventState(C.SDL_ENABLE)
|
C.SDL_JoystickEventState(C.SDL_ENABLE)
|
||||||
}
|
}
|
||||||
@ -340,7 +340,7 @@ fn main() {
|
|||||||
|
|
||||||
for {
|
for {
|
||||||
total_frames += 1
|
total_frames += 1
|
||||||
start_ticks := vsdl2.get_perf_counter()
|
start_ticks := sdl.get_perf_counter()
|
||||||
|
|
||||||
g1 := game
|
g1 := game
|
||||||
g2 := game2
|
g2 := game2
|
||||||
@ -370,8 +370,8 @@ fn main() {
|
|||||||
g.draw_end()
|
g.draw_end()
|
||||||
|
|
||||||
// game.handle_events() // CRASHES if done in function ???
|
// game.handle_events() // CRASHES if done in function ???
|
||||||
ev := vsdl2.Event{}
|
ev := sdl.Event{}
|
||||||
for 0 < vsdl2.poll_event(&ev) {
|
for 0 < sdl.poll_event(&ev) {
|
||||||
match int(ev._type) {
|
match int(ev._type) {
|
||||||
C.SDL_QUIT { should_close = true }
|
C.SDL_QUIT { should_close = true }
|
||||||
C.SDL_KEYDOWN {
|
C.SDL_KEYDOWN {
|
||||||
@ -403,14 +403,14 @@ fn main() {
|
|||||||
if should_close {
|
if should_close {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
end_ticks := vsdl2.get_perf_counter()
|
end_ticks := sdl.get_perf_counter()
|
||||||
|
|
||||||
total_frame_ticks += end_ticks-start_ticks
|
total_frame_ticks += end_ticks-start_ticks
|
||||||
elapsed_time := f64(end_ticks - start_ticks) / f64(vsdl2.get_perf_frequency())
|
elapsed_time := f64(end_ticks - start_ticks) / f64(sdl.get_perf_frequency())
|
||||||
// current_fps := 1.0 / elapsed_time
|
// current_fps := 1.0 / elapsed_time
|
||||||
|
|
||||||
// should limit system to (1 / time_per_frame) fps
|
// should limit system to (1 / time_per_frame) fps
|
||||||
vsdl2.delay(u32(math.floor(time_per_frame - elapsed_time)))
|
sdl.delay(u32(math.floor(time_per_frame - elapsed_time)))
|
||||||
}
|
}
|
||||||
if game.font != voidptr(0) {
|
if game.font != voidptr(0) {
|
||||||
C.TTF_CloseFont(game.font)
|
C.TTF_CloseFont(game.font)
|
||||||
@ -429,10 +429,10 @@ fn main() {
|
|||||||
C.Mix_FreeChunk(game.sdl.actx.waves[2])
|
C.Mix_FreeChunk(game.sdl.actx.waves[2])
|
||||||
}
|
}
|
||||||
if !isnil(game.sdl.tv_logo) {
|
if !isnil(game.sdl.tv_logo) {
|
||||||
vsdl2.destroy_texture(game.sdl.tv_logo)
|
sdl.destroy_texture(game.sdl.tv_logo)
|
||||||
}
|
}
|
||||||
if !isnil(game.sdl.v_logo) {
|
if !isnil(game.sdl.v_logo) {
|
||||||
vsdl2.free_surface(game.sdl.v_logo)
|
sdl.free_surface(game.sdl.v_logo)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -700,7 +700,7 @@ fn (g &Game) draw_tetro() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn (g &Game) draw_block(i, j, color_idx int) {
|
fn (g &Game) draw_block(i, j, color_idx int) {
|
||||||
rect := vsdl2.Rect {g.ofs_x + (j - 1) * BlockSize, (i - 1) * BlockSize,
|
rect := sdl.Rect {g.ofs_x + (j - 1) * BlockSize, (i - 1) * BlockSize,
|
||||||
BlockSize - 1, BlockSize - 1}
|
BlockSize - 1, BlockSize - 1}
|
||||||
col := Colors[color_idx]
|
col := Colors[color_idx]
|
||||||
sdl_fill_rect(g.sdl.screen, &rect, &col)
|
sdl_fill_rect(g.sdl.screen, &rect, &col)
|
||||||
@ -724,27 +724,27 @@ fn (g &Game) draw_v_logo() {
|
|||||||
texw := 0
|
texw := 0
|
||||||
texh := 0
|
texh := 0
|
||||||
C.SDL_QueryTexture(g.sdl.tv_logo, 0, 0, &texw, &texh)
|
C.SDL_QueryTexture(g.sdl.tv_logo, 0, 0, &texw, &texh)
|
||||||
dstrect := vsdl2.Rect { (WinWidth / 2) - (texw / 2), 20, texw, texh }
|
dstrect := sdl.Rect { (WinWidth / 2) - (texw / 2), 20, texw, texh }
|
||||||
// Currently we can't seem to use vsdl2.render_copy when we need to pass a nil pointer (eg: srcrect to be NULL)
|
// Currently we can't seem to use sdl.render_copy when we need to pass a nil pointer (eg: srcrect to be NULL)
|
||||||
// vsdl2.render_copy(g.sdl.renderer, tv_logo, 0, &dstrect)
|
// sdl.render_copy(g.sdl.renderer, tv_logo, 0, &dstrect)
|
||||||
C.SDL_RenderCopy(g.sdl.renderer, g.sdl.tv_logo, voidptr(0), voidptr(&dstrect))
|
C.SDL_RenderCopy(g.sdl.renderer, g.sdl.tv_logo, voidptr(0), voidptr(&dstrect))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn (g &Game) draw_text(x int, y int, text string, tcol vsdl2.Color) {
|
fn (g &Game) draw_text(x int, y int, text string, tcol sdl.Color) {
|
||||||
_tcol := C.SDL_Color{tcol.r, tcol.g, tcol.b, tcol.a}
|
_tcol := C.SDL_Color{tcol.r, tcol.g, tcol.b, tcol.a}
|
||||||
tsurf := C.TTF_RenderText_Solid(g.font, text.str, _tcol)
|
tsurf := C.TTF_RenderText_Solid(g.font, text.str, _tcol)
|
||||||
ttext := C.SDL_CreateTextureFromSurface(g.sdl.renderer, tsurf)
|
ttext := C.SDL_CreateTextureFromSurface(g.sdl.renderer, tsurf)
|
||||||
texw := 0
|
texw := 0
|
||||||
texh := 0
|
texh := 0
|
||||||
C.SDL_QueryTexture(ttext, 0, 0, &texw, &texh)
|
C.SDL_QueryTexture(ttext, 0, 0, &texw, &texh)
|
||||||
dstrect := vsdl2.Rect { x, y, texw, texh }
|
dstrect := sdl.Rect { x, y, texw, texh }
|
||||||
// vsdl2.render_copy(g.sdl.renderer, ttext, 0, &dstrect)
|
// sdl.render_copy(g.sdl.renderer, ttext, 0, &dstrect)
|
||||||
C.SDL_RenderCopy(g.sdl.renderer, ttext, voidptr(0), voidptr(&dstrect))
|
C.SDL_RenderCopy(g.sdl.renderer, ttext, voidptr(0), voidptr(&dstrect))
|
||||||
C.SDL_DestroyTexture(ttext)
|
C.SDL_DestroyTexture(ttext)
|
||||||
vsdl2.free_surface(tsurf)
|
sdl.free_surface(tsurf)
|
||||||
}
|
}
|
||||||
|
|
||||||
[inline] fn (g &Game) draw_ptext(x int, y int, text string, tcol vsdl2.Color) {
|
[inline] fn (g &Game) draw_ptext(x int, y int, text string, tcol sdl.Color) {
|
||||||
g.draw_text(g.ofs_x + x, y, text, tcol)
|
g.draw_text(g.ofs_x + x, y, text, tcol)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -752,14 +752,14 @@ fn (g &Game) draw_text(x int, y int, text string, tcol vsdl2.Color) {
|
|||||||
fn (g &Game) draw_begin() {
|
fn (g &Game) draw_begin() {
|
||||||
// println('about to clear')
|
// println('about to clear')
|
||||||
C.SDL_RenderClear(g.sdl.renderer)
|
C.SDL_RenderClear(g.sdl.renderer)
|
||||||
mut rect := vsdl2.Rect {0,0,g.sdl.w,g.sdl.h}
|
mut rect := sdl.Rect {0,0,g.sdl.w,g.sdl.h}
|
||||||
col := vsdl2.Color{byte(00), byte(00), byte(0), byte(0)}
|
col := sdl.Color{byte(00), byte(00), byte(0), byte(0)}
|
||||||
// sdl_fill_rect(g.sdl.screen, &rect, BackgroundColor)
|
// sdl_fill_rect(g.sdl.screen, &rect, BackgroundColor)
|
||||||
sdl_fill_rect(g.sdl.screen, &rect, col)
|
sdl_fill_rect(g.sdl.screen, &rect, col)
|
||||||
|
|
||||||
rect = vsdl2.Rect {BlockSize * FieldWidth + 2,0,2,g.sdl.h}
|
rect = sdl.Rect {BlockSize * FieldWidth + 2,0,2,g.sdl.h}
|
||||||
sdl_fill_rect(g.sdl.screen, &rect, ForegroundColor)
|
sdl_fill_rect(g.sdl.screen, &rect, ForegroundColor)
|
||||||
rect = vsdl2.Rect {WinWidth - BlockSize * FieldWidth - 4,0,2,g.sdl.h}
|
rect = sdl.Rect {WinWidth - BlockSize * FieldWidth - 4,0,2,g.sdl.h}
|
||||||
sdl_fill_rect(g.sdl.screen, &rect, ForegroundColor)
|
sdl_fill_rect(g.sdl.screen, &rect, ForegroundColor)
|
||||||
|
|
||||||
mut idx := 0
|
mut idx := 0
|
||||||
@ -770,7 +770,7 @@ fn (g &Game) draw_begin() {
|
|||||||
}
|
}
|
||||||
w := BlockSize
|
w := BlockSize
|
||||||
h := s * 4 * w / 100
|
h := s * 4 * w / 100
|
||||||
rect = vsdl2.Rect {(WinWidth - 7 * (w + 1)) / 2 + idx * (w + 1), WinHeight * 3 / 4 - h, w, h}
|
rect = sdl.Rect {(WinWidth - 7 * (w + 1)) / 2 + idx * (w + 1), WinHeight * 3 / 4 - h, w, h}
|
||||||
sdl_fill_rect(g.sdl.screen, &rect, Colors[idx + 1])
|
sdl_fill_rect(g.sdl.screen, &rect, Colors[idx + 1])
|
||||||
idx++
|
idx++
|
||||||
}
|
}
|
||||||
@ -778,7 +778,7 @@ fn (g &Game) draw_begin() {
|
|||||||
|
|
||||||
fn (g &Game) draw_middle() {
|
fn (g &Game) draw_middle() {
|
||||||
C.SDL_UpdateTexture(g.sdl.texture, 0, g.sdl.screen.pixels, g.sdl.screen.pitch)
|
C.SDL_UpdateTexture(g.sdl.texture, 0, g.sdl.screen.pixels, g.sdl.screen.pitch)
|
||||||
// vsdl2.render_copy(g.sdl.renderer, g.sdl.texture, voidptr(0), voidptr(0))
|
// sdl.render_copy(g.sdl.renderer, g.sdl.texture, voidptr(0), voidptr(0))
|
||||||
C.SDL_RenderCopy(g.sdl.renderer, g.sdl.texture, voidptr(0), voidptr(0))
|
C.SDL_RenderCopy(g.sdl.renderer, g.sdl.texture, voidptr(0), voidptr(0))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ module image
|
|||||||
//////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////
|
||||||
// SDL_Image.h
|
// SDL_Image.h
|
||||||
//////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////
|
||||||
//fn C.IMG_Load_RW(logo &vsdl2.RwOps, free_src int) &vsdl2.Surface
|
//fn C.IMG_Load_RW(logo &sdl.RwOps, free_src int) &sdl.Surface
|
||||||
fn C.IMG_Init(flags int) int
|
fn C.IMG_Init(flags int) int
|
||||||
fn C.IMG_Quit()
|
fn C.IMG_Quit()
|
||||||
fn C.IMG_Load(file byteptr) voidptr
|
fn C.IMG_Load(file byteptr) voidptr
|
||||||
@ -23,7 +23,7 @@ pub fn quit() {
|
|||||||
C.IMG_Quit()
|
C.IMG_Quit()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn load(file string) &vsdl2.Surface {
|
pub fn load(file string) &sdl.Surface {
|
||||||
res := C.IMG_Load(file.str)
|
res := C.IMG_Load(file.str)
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user