Mercurial > hg > old > magoroku_racing.bad
diff title_scene.c @ 0:0fae5658fb0b
Initial revision
author | gongo |
---|---|
date | Thu, 02 Nov 2006 08:55:19 +0000 |
parents | |
children | b6a1385f19be |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/title_scene.c Thu Nov 02 08:55:19 2006 +0000 @@ -0,0 +1,86 @@ +/* + 2006/07/24 16:38:01 sugiyama +*/ +#include "libps2.h" +#include "ps2util.h" +#include "title_scene.h" + +typedef enum { + TITLE_INIT, + TITLE_MAIN, + TITLE_FINISH +} TITLE_STATE; + + +static ps2utilSprite title_sprite; + +static TEXTURE *title_img; + +#define TITLE_IMG_FILE "img/title.png" + + +static void +title_init() +{ + /* + load texture + */ + title_img = read_png_file( TITLE_IMG_FILE ); + ps2util_tex_Set( title_img ); + + /* + create sprite object + */ + ps2util_sprite_Create( &title_sprite, title_img ); + ps2util_sprite_Set_basicAttribute( &title_sprite, + 0, 0, 650, 500, 0, 0, 512, 256, SPRITE_PRIO_FOREGROUND ); + ps2util_sprite_Use_alpha( &title_sprite ); + ps2util_sprite_Request( &title_sprite ); +} + +void +title_init_call() +{ + title_init(); +} + +static void +title_finish() +{ + ps2util_sprite_Destroy( &title_sprite ); + ps2util_tex_Exclude( title_img ); + free_texture( title_img ); +} + +void +title_finish_call() +{ + title_finish(); +} + +int +title_scene() +{ + static TITLE_STATE state = TITLE_INIT; + int pad; + + switch (state) { + case TITLE_INIT: + title_init(); + state = TITLE_MAIN; + break; + + case TITLE_MAIN: + pad = sjoy_get_ps2_button( JOYPAD_1 ); + state = (pad & SJOY_PS2_START) ? TITLE_FINISH : TITLE_MAIN; + break; + + case TITLE_FINISH: + title_finish(); + return -1; + + default: + break; + } + return 0; +}