|
|
Line 1: |
Line 1: |
| News from [http://www.dcemu.co.uk/sdl-wii-ports-released-127263.html DCEmu]
| | {{Archive box|[[/Archive 1]]}} |
|
| |
|
| ==SDL Wii Ports Released==
| | __TOC__ |
| | |
| July 31st, 2008, 03:09 Posted By: wraggster
| |
| | |
| ilidrissiamine has released several new items of interest to wii developers:
| |
| | |
| This project will introduce many ports of SDL games to the Nintendo Wii and will provide various libraries for SDL developers that extend it.
| |
| | |
| * SDL_gfx-2.0.17.7z SDL_gfx port to the Nintendo Wii
| |
| * SDL_ttf-2.0.9.7z SDL_ttf port to the Nintendo Wii with its Freetype port
| |
| * SDL_image.7z Slightly modified SDL_image port to accept various types (libjpeg required)
| |
| * libjpeg.7z libjpeg port to the Nintendo Wii
| |
| | |
| | |
| http://code.google.com/p/sdl-wii-ports/downloads/list
| |
| | |
| Those are the ones are already on the page. I think that the only reason wraggster made that post was because he saw this wiki page. --[[User:Vader347|vader347]] 00:19, 1 August 2008 (CEST)
| |
| | |
| Ah you are right. Somehow I missed the second download link! [[User:CarstenK|CarstenK]] 05:03, 1 August 2008 (CEST)
| |
| | |
| ==Example?==
| |
| | |
| Can someone please write an example of how SDL works with devkitpro please?
| |
| Thanks ahead of time!
| |
| | |
| [[User:Akirahedgehog|Akirahedgehog]] 09:49, 12 August 2008 (Central Time)
| |
| | |
| | |
| ----
| |
| | |
| There are no many differances with a pc version.
| |
| Just include devkitppc headers to use with sdl (fat, wiiuse...)
| |
| Anyway, there is a blue screen exemple, quit with HOME
| |
| | |
| | |
| <source lang="C">
| |
| #include <stdlib.h>
| |
| #include <time.h>
| |
| | |
| #include <SDL/sdl.h>
| |
| //#include <SDL/sdl_mixer.h>
| |
| //#include <SDL/sdl_ttf.h>
| |
| | |
| #include <gccore.h>
| |
| #include <wiiuse/wpad.h>
| |
| | |
| | |
| int main(int argc, char** argv)
| |
| {
| |
| SDL_Surface *screen=NULL;
| |
| srand(time(NULL));
| |
| | |
| // initialize SDL video
| |
| if ( SDL_Init( SDL_INIT_VIDEO | SDL_INIT_AUDIO) < 0 )
| |
| {
| |
| fprintf(stderr, "Unable to init SDL: %s\n", SDL_GetError() );
| |
| exit(EXIT_FAILURE);
| |
| }
| |
| | |
| fatInitDefault(); //for read files (level, serialized structs...)
| |
| WPAD_Init();
| |
|
| |
| // make sure SDL cleans up before exit
| |
| atexit(SDL_Quit);
| |
| SDL_ShowCursor(SDL_DISABLE);
| |
| | |
| // create a new window
| |
| screen = SDL_SetVideoMode(640, 480, 16, SDL_DOUBLEBUF);
| |
| if ( !screen )
| |
| {
| |
| fprintf(stderr, "Unable to set video: %s\n", SDL_GetError());
| |
| exit(EXIT_FAILURE);
| |
| }
| |
| | |
| state_in_game(screen);
| |
|
| |
| | |
| return 0;
| |
| }
| |
| | |
| void state_in_game(SDL_Surface *screen)
| |
| {
| |
| int tick_count=0;
| |
| int tick_trigger=15;
| |
| bool done = false;
| |
| | |
| SDL_EnableKeyRepeat(10,10);
| |
| | |
| | |
| while (!done)
| |
| {
| |
| SDL_Event event;
| |
| | |
| while (SDL_PollEvent(&event))
| |
| {
| |
| switch ( event.type )
| |
| {
| |
| case SDL_QUIT:
| |
| done = true;
| |
| break;
| |
| }
| |
| }
| |
| | |
| //With SDL_Event, the wiimote is detected as a mouse, to use wiiuse/wpad to handle inputs
| |
| WPAD_ScanPads();
| |
| u32 held = WPAD_ButtonsHeld(WPAD_CHAN_0);
| |
|
| |
| if(held & WPAD_BUTTON_HOME){
| |
| done=true;
| |
| }
| |
| | |
| tick_count = SDL_GetTicks();
| |
| if (tick_count > tick_trigger)
| |
| {
| |
| tick_trigger = tick_count;
| |
| SDL_FillRect(screen, 0, SDL_MapRGB(screen->format, 0, 50, 150));
| |
| | |
| SDL_Flip(screen);
| |
| } //end tick
| |
|
| |
| } //end while
| |
|
| |
| SDL_Quit();
| |
| exit(EXIT_SUCCESS);
| |
| }
| |
| </source>
| |
| | |
| --[[User:TheDrev|TheDrev]] 18:24, 21 October 2008 (UTC)
| |
| | |
| == Bad libs order ? ==
| |
| | |
| I got the following error :
| |
| | |
| linking ... blastguy_wii_b1.elf
| |
| i:/usr/devkitpro/libogc/lib\libSDL.a(SDL_gamecube_main.o): In function `main':
| |
| c:\dev\apps\devkitPro\SDL-Port/src/main/gamecube/SDL_gamecube_main.c:59: multipl
| |
| e definition of `main'
| |
| i:/usr/devkitpro/libogc/lib\libfreetype.a(gxvfgen.o):d:/Programming/WiiDev/freet
| |
| ype-2.3.6/source/gxvalid/gxvfgen.c:444: first defined here
| |
| i:/usr/devkitpro/libogc/lib\libfreetype.a(gxvfgen.o): In function `main':
| |
| gxvfgen.c:(.text.main+0xc4): undefined reference to `ft_strncmp'
| |
| collect2: ld returned 1 exit status
| |
| make[1]: *** [/i/Documents/developpement/test_sdl_plus_ttf.elf] Error 1
| |
| make: *** [build] Error 2
| |
| | |
| when -lfreetype is included before -lSDL, the right order should be
| |
| | |
| LIBS := -lSDL_ttf -lSDL_mixer -lSDL_image -ljpeg -lpng -lz -lSDL -lfreetype -lfat -lwiiuse -lbte -logc -lm
| |
| | |
| I changed the lib order in the main page
| |
| | |
| --[[User:TheDrev|TheDrev]] 15:25, 15 October 2008 (CEST)
| |
| | |
| :Your libfreetype is either buggy, or was built incorrectly. You shouldn't have a main() in this library.--[[User:Michael|Michael]] 15:05, 13 April 2009 (UTC)
| |
| | |
| I grabbed the lib included in libwiisprite, Apparently a .o having a main function comes from a test program is included in the .a
| |
| I've removed the object with $ ar d libfreetype.a gxvfgen.o It should have resolved the linker error
| |
| --[[User:TheDrev|TheDrev]] 09:07, 15 April 2009 (UTC)
| |
| :Nice, thanks for that tip with ar. That's useful to know. --[[User:Michael|Michael]]
| |
| | |
| == Threads? ==
| |
| | |
| This is a great port, and I'm sure it will help porting go a lot smoother for some people.
| |
| However, there is no threads support. I did find a way around this (although, it makes it slower, because no threads) but I would greatly appreciate if someone added thread support to this. It'll make a bunch of ports a lot faster. Thanks --[[User:SquidMan|SquidMan]] 02:00, 17 December 2008 (UTC)
| |
| | |
| [[User:Yohanes|Yohanes]] has '''added threads''' and '''USB keyboard''' support to the SDL library while porting [[WiiApple|an apple ][e SDL based emulator]] to the wii. You can find his SDL code here [http://tinyhack.com/wii/wiiapple/ http://tinyhack.com/wii/wiiapple/] 11, January, 2009. <small>—Preceding unsigned comment added by [[User:Nowhereman|Nowhereman]] ([[User talk:Nowhereman|talk]] • [[Special:Contributions/Nowhereman|contribs]]) 21:53, 11 January 2009 (UTC)</small>
| |
| | |
| == sdl-config ==
| |
| | |
| It looks like sdl-config needs to be located in bin/ not in lib/. It worked for me after putting it in $DEVKITPPC/bin. The paths in sdl-config seems to be hard-coded "-L/c/dev/apps/devkitPro/libogc/lib/wii" etc - should be dependent on location of libogc and devkitpro.
| |
| | |
| :Right, sdl-config is just a shell script for handling includes, flags, etc more easily, the important thing is just to have sdl-config in your PATH
| |
| --with-sdl-prefix=PFX Prefix where SDL is installed (optional)
| |
| --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)
| |
| are maybe what set the path before compiling the lib...
| |
| | |
| | |
| --[[User:TheDrev|TheDrev]] 09:24, 15 April 2009 (UTC)
| |
|
| |
|
| == How to port? == | | == How to port? == |