Phix and EuSDL2
- Posted by ChrisB (moderator) Apr 04, 2021
- 961 views
I'm attempting to bring Musubi by Mark Akita, up to date to use the sdl2 library, and I've run into an odd problem. Apparently there are too many parameters in the call_func/proc
This is the error
D:\EuProgramming\Phix\SDL2\Musubi\EuSDL2.ew:1490 in function SDL_SaveBMP() too many parameters in call_func/proc() surf = 48975048 fname = `Demo_01.bmp` sptr = 7289584 rwops = 48975256 ... called from D:\EuProgramming\Phix\SDL2\Musubi\Musubi2.ew:691 in function M_save_screen() o1 = 1 fname = `Demo_01.bmp` surf = 48975048 ... called from D:\EuProgramming\Phix\SDL2\Musubi\Musubi_Demo_01.exw:67
these are the relevant code snippets
xSDL_SaveBMP_RW = define_c_func(sdl2,"+SDL_SaveBMP_RW",{C_POINTER,C_POINTER,C_INT},C_INT), public function SDL_SaveBMP(atom surf, sequence fname) atom sptr = allocate_string(fname ) atom rwops = SDL_RWFromFile(fname,"wb") return xSDL_SaveBMP_RW(surf, rwops, 1) --<--line 1490 --return xSDL_SaveBMP(surf, fname) --will never work, routine id is -1 end function
test=M_save_screen(1,"Demo_01.bmp") ----------------------------------------------------------------------- global function M_save_screen(object o1, sequence fname) ----------------------------------------------------------------------- atom surf surf = SDL_GetWindowSurface(sdlWindow) VOID = SDL_SaveBMP(surf, fname) return VOID end function
Any ideas gratefully received.
Cheers
Chris