Talk:SDL Wii

From WiiBrew
Jump to: navigation, search

How to port?

Hi. How do I port games with this? Would I be able to port e.g. SuperTux? What is need and what is to do? Ehhhm, I just read I should use my good old friend google to find out. --Woku 13:07, 12 January 2009 (UTC)

To port a game, you must first have its source code. Then change the events that use the keyboard or the mouse and replace them with wiimote controls from wiiuse. --Sal3000 11:20, 24 April 2009 (UTC)

Someone should write a more thorough tutorial! There's still lots of SDL stuff people could port. --Tantric 15:34, 24 April 2009 (UTC)
As someone who just finished re-writing a great portion of SDL-Wii I think you're a great candidate! ;) Seriously though I would love to see a good tutorial or even just an API reference written. I am madly reading the main SDL tutorial in the hope of figuring out if I can attempt to port the Intellivision emulator jzInTV to the Wii, a programme that thankfully already uses SDL. My biggest problem, aside from never using SDL before, is emulation of the 12+ button keypad. Anyway bring on a good tutorial / reference it would certainly help me in my quest - if I ever really start it. Ensign R 02:07, 1 May 2009 (UTC)

__static_initialization_and_destruction_0 error

When my program is about to begin linking it gets this error:

File:main.o: In function `__static_initialization_and_destruction_0':
j:/D0g_Engine/source/main.cpp:11: undefined reference to `Timer::Timer()'
main.o: In function `SDL_main':
j:/D0g_Engine/source/main.cpp:15: undefined reference to `cGFXCore::cGFXCore()'
j:/D0g_Engine/source/main.cpp:22: undefined reference to `cObjectController::cObjectController()'
j:/D0g_Engine/source/main.cpp:25: undefined reference to `initInput()'

And so on...


So in short, basically every function/class I've defined doesn't appear to exist to the linker, this code compiles fine for Windows so is there a setting in the makefile or something else I missed to avoid this?

Thanks in advance, Doogie 10:31, 3 May 2009 (UTC)

Cannot compile the template

I copied the template and all the sdl includes with the libs and dependencies into the libogc folder. I tried to compile it using programmers notepad.

This is the output:

> "make" 
template.c

linking ... SDL_template.elf

c:/devkitPro/libogc/lib/wii\libSDL.a(SDL_wii_main.o): In function `main':

C:\Users\Daryl\Desktop\Projects\sdl-wii\SDL/src/main/wii/SDL_wii_main.c:68: undefined reference to `MOUSE_Init'

C:\Users\Daryl\Desktop\Projects\sdl-wii\SDL/src/main/wii/SDL_wii_main.c:69: undefined reference to `KEYBOARD_Init'

c:/devkitPro/libogc/lib/wii\libSDL.a(SDL_wiievents.o): In function `PumpEvents':

C:\Users\Daryl\Desktop\Projects\sdl-wii\SDL/src/video/wii/SDL_wiievents.c:64: undefined reference to `KEYBOARD_GetEvent'

C:\Users\Daryl\Desktop\Projects\sdl-wii\SDL/src/video/wii/SDL_wiievents.c:65: undefined reference to `MOUSE_GetEvent'

collect2: ld returned 1 exit status

make[1]: *** [/c/devkitPro/examples/wii/SDL_template/SDL_template.elf] Error 1

"make": *** [build] Error 2

> Process Exit Code: 2

> Time Taken: 00:02

That question was asked on my SDL Tutorial talk page. I also had that error so I reinstalled Devkit with the older SDL version. How do I update Libogc to the SVN version the right way? So without having this error? GabberNL 17:02, 18 June 2009 (UTC)

Just do a checkout with this path: https://devkitpro.svn.sourceforge.net/svnroot/devkitpro/trunk/libogc
It's explain here:https://sourceforge.net/scm/?type=svn&group_id=114505 -Crayon 18:45, 18 June 2009 (UTC)
Very important is order of libs. If wiikeyboard is before SDL it does not work

Try this: -lSDL_ttf -lSDL_gfx -lSDL_mixer -lsmpeg -lSDL_image -lfreetype -ljpeg -lpng -lSDL -lz -lfat -lwiiuse -lwiikeyboard -lbte -logc -lm -Slappy —Preceding undated comment added 12:08, 31 July 2009 (UTC).

SDL_mixer not in the root makefile

Had to make / make install it separately - caused me some pain until I figured it out.Madmanguruman 02:07, 28 July 2009 (UTC)

couple of things

1) I'm getting an error with devkitPPC_r17-i686-linux.tar.bz2 and SDL Wii 08-04-2009.zip /devkitPPC/bin/../lib/gcc/powerpc-gekko/4.2.4/../../../../powerpc-gekko/include/stdint.h:244: error: conflicting types for 'uintptr_t' /libogc/include/SDL/SDL_config_minimal.h:39: error: previous declaration of 'uintptr_t' was here I commented out that declaration in SDL since they are identical 2) the article says to include -lwiikeybord but that library does not seem to be part of latest released libogc (171a?) 3) sdl-config would really be great to have. I can share what I'm using, although I don't include a lot of libraries mentioned in Usage section Spec 02:38, 13 August 2009 (UTC)

SDL_Mixer: Mix_PlayMusic playback is very slow

Hi. I have a strange bug with the SDL_Mixer. When I use the couple of fonction Mix_LoadMUS and Mix_PlayMusic with audio files (Wav or MP3) the SDL lib behaves strangely: All played musics are slowed down and if I whant to get a "good" result I have to increase manualy the pitch of my audio files (+35%)... Someone have an idea ? --BScrk —Preceding undated comment added 02:50, 21 October 2009 (UTC).

That's not a bug. Your files should be encoded to 32khz or 48khz, the audio port code doesn't handle conversion. --Tantric 04:59, 21 October 2009 (UTC)
Indeed, it's work fine using 32Khz encoding ! Thank you --BScrk 22 October 2009

sdl_gfx

Any chance the sdl_gfx library will ever be fixed for Wii? My program relies heavily on the primitive drawing functions and I'm getting dumps. *sigh* if only sdl_draw supported triangles... Aeron 03:20, 6 March 2010 (UTC)


This Tutorial Is Broken

This tutorial no longer seems to work. I'm getting an assortment of errors. Could someone please add version number or file links that are compatible with this tutorial? —Preceding unsigned comment added by Wiibrew111 (talkcontribs) 20:39, 26 May 2012 (CEST) I noticed that in the WII SDL page (http://wiibrew.org/wiki/SDL_Wii ) the gamecube controller support is not documented.

Gamecube controller support

It is not documented, but from the code it seems that SDL Wii should support also the gamecube controllers which should be mapped to SDL joystick 4-7 (Wii controllers are mapped to 0-3), the stick axes and the pad are associated as in the Wii classsic controller and the buttons are with this order:

BUTTON 0 = A, BUTTON 1 = B, BUTTON 2 = X, BUTTON 3 = Y, BUTTON 4 = Z, BUTTON 5 = R, BUTTON 6 = L, BUTTON 7 = START

I can not say if the support works since I do not have a gamecube controller to test

Oibaf 1 Jan 2013 (UTC)

There were some bugs in the code. Not it is fixed.

Oibaf 28 Oct 2013 (UTC)