#include <stdio.h>
#include <stdlib.h>
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
#include <SDL/SDL_mixer.h>
/* Old sega logo and sound files */
#include "data.h"
SDL_Surface *screen, *image;
Mix_Chunk *sound;
void waitEvent(void)
{
SDL_Event event;
while(SDL_PollEvent(&event))
SDL_Delay(10);
while(!SDL_PollEvent(&event))
SDL_Delay(100);
}
int main(int argn, char **argv)
{
if (SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO))
return -1;
else
{
screen=SDL_SetVideoMode(320,240,16,SDL_HWSURFACE|SDL_DOUBLEBUF);
if (screen==NULL)
return -2;
else
{
SDL_Surface *tmp=IMG_Load_RW(SDL_RWFromMem(&data_image,IMAGE_LEN),0);
image=SDL_DisplayFormat(tmp);
SDL_SetColorKey(image,SDL_SRCCOLORKEY | SDL_RLEACCEL, SDL_MapRGB(screen->format, 0x80, 0x80, 0x80));
SDL_FreeSurface(tmp);
if (Mix_OpenAudio(44100, AUDIO_S16, 2, 512))
return -3;
else
{
SDL_Rect r;
sound=Mix_LoadWAV_RW(SDL_RWFromMem(&data_sound,SOUND_LEN),0);
Mix_PlayChannel(-1,sound,0);
r.w=image->w;
r.h=image->h;
r.x=(320-r.w)/2;
r.y=(240-r.h)/2;
SDL_FillRect(screen,NULL,0);
SDL_Flip(screen);
SDL_Delay(600);
SDL_BlitSurface(image,NULL,screen,&r);
SDL_Flip(screen);
waitEvent();
}
}
}
SDL_Quit();
return 0;
}