-/*
- intro.c
-
- Super Tux - Intro Screen
-
- by Bill Kendrick
- bill@newbreedsoftware.com
- http://www.newbreedsoftware.com/supertux/
-
- April 11, 2000 - March 15, 2004
-*/
+// $Id$
+//
+// SuperTux - A Jump'n Run
+// Copyright (C) 2000 Bill Kendrick <bill@newbreedsoftware.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.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include <stdio.h>
#include <stdlib.h>
int intro(void)
{
SDL_Event event;
- texture_type bkgd, copter_squish, copter_stretch, beam,
+ texture_type bkgd, copter_squish, copter_stretch, beam,
gown_sit, gown_lookup, gown_upset,
tux_sit, tux_upset, tux_mad;
texture_type copter[2];
SDL_Rect src, dest;
int done, i, quit, j, scene;
int * height, * height_speed;
- timer_type timer;
+ Timer timer;
/* Load sprite images: */
texture_load(&bkgd, datadir + "/images/intro/intro.png", IGNORE_ALPHA);
/* Draw things: */
- if (timer_get_gone(&timer) < 2000 && scene == 0)
+ if (timer.get_gone() < 2000 && scene == 0)
{
++scene;
/* Gown and tux sitting: */
}
- if (timer_get_gone(&timer) >= 2000 && scene == 1)
+ if (timer.get_gone() >= 2000 && scene == 1)
{
++scene;
/* Helicopter begins to fly in: */
}
- if (timer_get_gone(&timer) >= 2000 && timer_get_gone(&timer) < 4000)
+ if (timer.get_gone() >= 2000 && timer.get_gone() < 4000)
{
/* Helicopter flying in: */
texture_draw_part(&bkgd,0,32, 0, 32, screen->w, (copter[0].h));
texture_draw(&copter[i % 2],
- (float)(timer_get_gone(&timer) - 2000) / 5 - (copter[0].w), 32);
+ (float)(timer.get_gone() - 2000) / 5 - (copter[0].w), 32);
update_rect(screen, 0, 32, screen->w, (copter[0].h));
}
- if (timer_get_gone(&timer) >= 2500 && scene == 2)
+ if (timer.get_gone() >= 2500 && scene == 2)
{
++scene;
/* Gown notices something... */
}
- if (timer_get_gone(&timer) >= 3500 && scene == 3)
+ if (timer.get_gone() >= 3500 && scene == 3)
{
++scene;
/* Gown realizes it's bad! */
}
- if (timer_get_gone(&timer) >= 4000 && timer_get_gone(&timer) < 8000)
+ if (timer.get_gone() >= 4000 && timer.get_gone() < 8000)
{
/* Helicopter sits: */
texture_draw_part(&bkgd,0,32, 0, 32, screen->w, (copter[0].h));
}
- if (timer_get_gone(&timer) >= 5000 && scene == 4)
+ if (timer.get_gone() >= 5000 && scene == 4)
{
++scene;
/* Tux realizes something's happening: */
}
- if (timer_get_gone(&timer) >= 5000 && timer_get_gone(&timer) <= 8000)
+ if (timer.get_gone() >= 5000 && timer.get_gone() <= 8000)
{
/* Beam gown up! */
texture_draw_part(&gown_upset,src.x,src.y,dest.x,dest.y,dest.w,dest.h);
- height[j] = 400 + rand() % 10 - (int)(300. * ((float)(timer_get_gone(&timer) - 5000)/(float)3000.));
+ height[j] = 400 + rand() % 10 - (int)(300. * ((float)(timer.get_gone() - 5000)/(float)3000.));
if(height[j] < 105)
height[j] = 105;
}
}
- if (timer_get_gone(&timer) >= 8000 && scene == 5)
+ if (timer.get_gone() >= 8000 && scene == 5)
{
texture_draw_part(&bkgd,
310, 32 + (copter[0].h), 310,
}
- if (timer_get_gone(&timer) >= 8000 && timer_get_gone(&timer) <= 8250)
+ if (timer.get_gone() >= 8000 && timer.get_gone() <= 8250)
{
/* Helicopter starting to speed off: */
}
- if (timer_get_gone(&timer) >= 8250)
+ if (timer.get_gone() >= 8250)
{
/* Helicopter speeding off: */
texture_draw_part(&bkgd, 0, 32, 0, 32, screen->w, (copter_stretch.h));
texture_draw(&copter_stretch,
- (timer_get_gone(&timer) - 8250) /*(i - (8250 / FPS)) * 30*/ + 400 - (copter[0].w),
+ (timer.get_gone() - 8250) /*(i - (8250 / FPS)) * 30*/ + 400 - (copter[0].w),
32);
update_rect(screen, 0, 32, screen->w, (copter_stretch.h));
/* Free surfaces: */
- texture_free(&bkgd);
- texture_free(&gown_sit);
- texture_free(&gown_lookup);
- texture_free(&gown_upset);
- texture_free(&tux_sit);
- texture_free(&tux_upset);
- texture_free(&tux_mad);
- texture_free(&copter[0]);
- texture_free(&copter[1]);
- texture_free(&copter_squish);
- texture_free(&copter_stretch);
- texture_free(&beam);
+ delete bkgd;
+ delete gown_sit;
+ delete gown_lookup;
+ delete gown_upset;
+ delete tux_sit;
+ delete tux_upset;
+ delete tux_mad;
+ delete copter[0];
+ delete copter[1];
+ delete copter_squish;
+ delete copter_stretch;
+ delete beam;
/* Free array buffers: */