huge CVS merge, see ChangeLog for details.
[supertux.git] / src / intro.c
index 2e106ac..d60f088 100644 (file)
@@ -7,7 +7,7 @@
   bill@newbreedsoftware.com
   http://www.newbreedsoftware.com/supertux/
   
-  April 11, 2000 - April 23, 2000
+  April 11, 2000 - February 1st, 2004
 */
 
 #include <stdio.h>
@@ -55,7 +55,6 @@ int intro(void)
   
   
   /* Load sprite images: */
-
   texture_load(&bkgd, DATA_PREFIX "/images/intro/intro.png", IGNORE_ALPHA);
   texture_load(&gown_sit, DATA_PREFIX "/images/intro/gown-sit.png", USE_ALPHA);
   texture_load(&gown_lookup, DATA_PREFIX "/images/intro/gown-lookup.png", USE_ALPHA);
@@ -71,8 +70,8 @@ int intro(void)
   
   /* Allocate buffer for height array: */
   
-  height = malloc(sizeof(int) * (gown_upset.w));
-  height_speed = malloc(sizeof(int) * (gown_upset.w));
+  height = (int*) malloc(sizeof(int) * (gown_upset.w));
+  height_speed = (int*) malloc(sizeof(int) * (gown_upset.w));
   
   
   /* Initialize height arrays: */
@@ -138,7 +137,7 @@ int intro(void)
          texture_draw(&tux_sit, 270, 400, UPDATE);
          texture_draw(&gown_sit, 320, 400, UPDATE);
          
-         drawcenteredtext(intro_text[0], 456, letters_blue, UPDATE, 1);
+         text_drawf(&white_text, intro_text[0], 0, -8, A_HMIDDLE, A_BOTTOM, 0, NO_UPDATE);
        }
       
       
@@ -147,15 +146,15 @@ int intro(void)
          ++scene;
          /* Helicopter begins to fly in: */
          
-         erasecenteredtext(intro_text[0], 456, bkgd.sdl_surface, NO_UPDATE, 1);
-         drawcenteredtext(intro_text[1], 456, letters_red, NO_UPDATE, 1);
+         erasecenteredtext(intro_text[0], 454, &bkgd, NO_UPDATE, 1);
+         text_drawf(&white_text, intro_text[1], 0,-8, A_HMIDDLE, A_BOTTOM, 0, NO_UPDATE);
        }
 
       
       if (timer_get_gone(&timer) >= 2000 && timer_get_gone(&timer) < 4000)
        {
          /* Helicopter flying in: */
-         texture_draw_part(&bkgd, 0, 32, screen->w, (copter[0].h), NO_UPDATE);
+         texture_draw_part(&bkgd,0,32, 0, 32, screen->w, (copter[0].h), NO_UPDATE);
          
          texture_draw(&copter[i % 2],
                    (float)(timer_get_gone(&timer) - 2000) / 5  - (copter[0].w), 32,
@@ -186,7 +185,7 @@ int intro(void)
       if (timer_get_gone(&timer) >= 4000 && timer_get_gone(&timer) < 8000)
        {
          /* Helicopter sits: */
-         texture_draw_part(&bkgd, 0, 32, screen->w, (copter[0].h), NO_UPDATE);
+         texture_draw_part(&bkgd,0,32, 0, 32, screen->w, (copter[0].h), NO_UPDATE);
          
          texture_draw(&copter[i % 2], 400 - (copter[0].w), 32, NO_UPDATE);
          update_rect(screen, 0, 32, screen->w, (copter[0].h));
@@ -201,8 +200,8 @@ int intro(void)
          texture_draw(&tux_upset, 270, 400, UPDATE);
          
          
-         erasecenteredtext(intro_text[1], 456, bkgd.sdl_surface, UPDATE, 1);
-         drawcenteredtext(intro_text[2], 456, letters_red, UPDATE, 1);
+         erasecenteredtext(intro_text[1], 454, &bkgd, UPDATE, 1);
+         text_drawf(&white_text, intro_text[2], 0,-8, A_HMIDDLE, A_BOTTOM, 0, NO_UPDATE);
        }
       
       
@@ -211,7 +210,7 @@ int intro(void)
          /* Beam gown up! */
          
          texture_draw_part(&bkgd,
-                  320,
+                  320, 32 + (copter[0].h), 320,
                   32 + (copter[0].h),
                   (gown_upset.w),
                   368 + (gown_upset.h) - (copter[0].h), NO_UPDATE);
@@ -232,7 +231,7 @@ int intro(void)
              dest.w = src.w;
              dest.h = src.h;
              
-             SDL_BlitSurface(gown_upset.sdl_surface, &src, screen, &dest);
+             texture_draw_part(&gown_upset,src.x,src.y,dest.x,dest.y,dest.w,dest.h,NO_UPDATE);
              
              height[j] = height[j] - height_speed[j];
              
@@ -255,8 +254,8 @@ int intro(void)
          
          texture_draw(&tux_mad, 270, 400, UPDATE);
          
-         erasecenteredtext(intro_text[2], 456, bkgd.sdl_surface, UPDATE, 1);
-         drawcenteredtext(intro_text[3], 456, letters_gold, UPDATE, 1);
+         erasecenteredtext(intro_text[2], 454, &bkgd, UPDATE, 1);
+         text_drawf(&white_text, intro_text[3], 0,-8, A_HMIDDLE, A_BOTTOM, 0, NO_UPDATE);
        }
       
       
@@ -264,7 +263,7 @@ int intro(void)
        {
          /* Helicopter starting to speed off: */
          
-         texture_draw_part(&bkgd, 0, 32, screen->w, (copter_squish.h), NO_UPDATE);
+         texture_draw_part(&bkgd, 0, 32, 0, 32, screen->w, (copter_squish.h), NO_UPDATE);
          
          texture_draw(&copter_squish,
                    400 - (copter[0].w), 32,
@@ -278,7 +277,7 @@ int intro(void)
        {
          /* Helicopter speeding off: */
          
-         texture_draw_part(&bkgd, 0, 32, screen->w, (copter_stretch.h), NO_UPDATE);
+         texture_draw_part(&bkgd, 0, 32, 0, 32, screen->w, (copter_stretch.h), NO_UPDATE);
          
          texture_draw(&copter_stretch,
                    (timer_get_gone(&timer) - 8250) /*(i - (8250 / FPS)) * 30*/ + 400 - (copter[0].w),