123 lines
3.8 KiB
C
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();
|
|
}
|