JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
data/indicators/life.png: now built by povray from ship graphic.
[vor.git] / main.c
diff --git a/main.c b/main.c
index 0e0188a..aab0d71 100644 (file)
--- a/main.c
+++ b/main.c
@@ -26,6 +26,7 @@
 #include "config.h"
 #include "file.h"
 #include "score.h"
+#include "shape.h"
 #include "sound.h"
 
 #include <math.h>
@@ -52,6 +53,7 @@ struct rock_struct {
        int dead;  // has been blown out of the way
                   // to make room for a new ship appearing.
        SDL_Surface *image;
+       struct shape *shape;
        int type_number;
 }; 
 struct black_point_struct {
@@ -96,6 +98,8 @@ SDL_Surface
        *surf_rock[NROCKS],     // THE ROCKS
        *surf_font_big; // The big font
 
+struct shape rock_shapes[NROCKS];
+
 SFont_Font *g_font;
 
 // Structure global variables
@@ -216,7 +220,7 @@ makebangdots(int xbang, int ybang, int dx, int dy, SDL_Surface *s, int power) {
                for(x = 0; x<s->w; x++) {
                        for(y = 0; y<s->h; y++) {
                                c = rawpixel[s->pitch/2*y + x];
-                               if(c && c != SDL_MapRGB(s->format,0,255,0)) {
+                               if(c && c != s->format->colorkey) {
 
                                        theta = rnd()*M_PI*2;
 
@@ -467,6 +471,7 @@ drawdots(SDL_Surface *s) {
        SDL_UnlockSurface(s);
 }
 
+               char a[MAX_PATH_LEN];
 int
 init(int fullscreen) {
 
@@ -563,11 +568,11 @@ init(int fullscreen) {
 
        // Load all our lovely rocks
        for(i = 0; i<NROCKS; i++) {
-               char a[MAX_PATH_LEN];
 
-               snprintf(a,MAX_PATH_LEN,add_path("sprites/rock%d.png"),i);
+               snprintf(a,MAX_PATH_LEN,add_path("sprites/rock%02d.png"),i);
                NULLERROR(temp = IMG_Load(a));
                NULLERROR(surf_rock[i] = SDL_DisplayFormat(temp));
+               get_shape(surf_rock[i], &rock_shapes[i]);
        }
 
        // Remove the mouse cursor
@@ -1019,18 +1024,6 @@ gameloop() {
                                if(keystate[SDLK_p] | keystate[SDLK_s]) {
                                        if(!pausedown) {
                                                paused = !paused;
-                                               if(paused) {
-                                                       SDL_Rect src,dest;
-                                                       src.w = surf_b_variations->w;
-                                                       src.h = surf_b_variations->h;
-                                                       dest.w = src.w;
-                                                       dest.h = src.h;
-                                                       dest.x = (XSIZE-src.w)/2;
-                                                       dest.y = (YSIZE-src.h)/2;
-                                                       SDL_BlitSurface(surf_b_variations,&src,surf_screen,&dest);
-                                                       // Update the surface
-                                                       SDL_Flip(surf_screen);
-                                               }
                                                pausedown = 1;
                                        }
                                } else {