Files
commandergenius/project/jni/application/pachi/src/intro.h
2010-10-28 17:22:28 +03:00

123 lines
3.8 KiB
C

/***************************************************************************
* Pachi el marciano *
* ----------------- *
* (c) Santiago Radeff (coding) *
* (c) Nicolas Radeff (graphics) *
* (c) Peter Hajba (music) *
* *
* T-1000@Bigfoot.com *
****************************************************************************
*******************************************************************
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version *
* 2 of the License, or (at your option) any later version. *
* *
*******************************************************************/
void init_intro()
{
SDL_Surface *temp;
dragontech=LoadT8(DATADIR"/Tgfx/dragontech.T8");
line1=LoadT8(DATADIR"/Tgfx/line1.T8");
line2=LoadT8(DATADIR"/Tgfx/line2.T8");
SDL_SetColorKey(dragontech, SDL_SRCCOLORKEY,SDL_MapRGB(dragontech->format,0,255,0));
SDL_SetColorKey(line1, SDL_SRCCOLORKEY,SDL_MapRGB(line1->format,0,0,0));
SDL_SetColorKey(line2, SDL_SRCCOLORKEY,SDL_MapRGB(line2->format,0,0,0));
comic_01=LoadT8(DATADIR"/Tgfx/comic_01.T8");
temp=SDL_CreateRGBSurface(SDL_SWSURFACE, screen_w, screen_h, screen_bpp, 255, 255, 255, 0);
SDL_FillRect(temp, NULL, SDL_MapRGB(temp->format,0,0,0));
black = SDL_DisplayFormat(temp);
SDL_FreeSurface(temp);
SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format,0,0,0));
}
void end_intro()
{
SDL_FreeSurface(dragontech);
SDL_FreeSurface(line1);
SDL_FreeSurface(line2);
SDL_FreeSurface(comic_01);
SDL_FreeSurface(black);
}
void intro()
{
init_intro();
double introtime=0;
escape_exit=0;
float title_alpha=0;
int title_done=0;
int n=1;
while(escape_exit==0)
{
SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format,0,0,0));
//if(n<=4) // 4 son los pasos a realizar en la primer parte de la intro
{
{
switch(n)
{
default:
if(n==3)
title_alpha=intro_blit(line2, 160, 350, 600, 40, title_alpha, 80, 1);
else
intro_blit(line2, 160, 350, 600, 40, 255, 80, 1);
case 2:
if(n==2)
title_alpha=intro_blit(line1, 60, 300, 600, 40, title_alpha, 80, 1);
else
intro_blit(line1, 60, 300, 600, 40, 255, 80, 1);
case 1:
if(n==1)
title_alpha=intro_blit(dragontech, 160, 100, 480, 170, title_alpha, 80, 1);
else
intro_blit(dragontech, 160, 100, 480, 170, 255, 80, 1);
}
}
if(title_alpha>=255)
{
title_alpha=0;
n++;
}
}
SDL_Flip(screen);
credits_events();
delta_time();
introtime+=imove;
SDL_Delay(1);
if(introtime>15)
escape_exit=1;
}
escape_exit=0; n=1; title_alpha=0; introtime=0;
while(escape_exit==0)
{
SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format,0,0,0));
{
if(n == 1)
title_alpha=intro_blit(comic_01, 0, 0, 800, 600, title_alpha, 60, 0);
else
intro_blit(comic_01, 0, 0, 800, 600, 255, 60, 0);
}
if(title_alpha>=255)
{
title_alpha=0;
n++;
}
SDL_Flip(screen);
credits_events();
delta_time();
introtime+=imove;
SDL_Delay(1);
if(introtime>15)
escape_exit=1;
}
end_intro();
}