From: Jason Woofenden Date: Wed, 3 Feb 2010 09:44:48 +0000 (-0500) Subject: inching towards opengl X-Git-Url: https://jasonwoof.com/gitweb/?p=vor.git;a=commitdiff_plain;h=refs%2Fheads%2Fopengl inching towards opengl --- diff --git a/.gitignore b/.gitignore index 5eea8b6..9c4fc7b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ vor font_guts font_guts.pov data/rock*.png +data/texrock*.png data/icon.png data/macicon.png data/ship.png diff --git a/gfx.mk b/gfx.mk index 132a8c2..f119083 100644 --- a/gfx.mk +++ b/gfx.mk @@ -16,6 +16,26 @@ data/life.png: ship.pov $(gfx-deps) data/rock%.png: rocks.pov $(gfx-deps) ./povimg.sh +H52 +W52 +K$* $< > $@ || sh -c "rm $@; false" +texrocks := 00 01 02 03 04 05 06 07 08 09 +texrocks += 10 11 12 13 14 15 16 17 18 19 +texrocks += 20 21 22 23 24 25 26 27 28 29 +texrocks += 30 31 32 33 34 35 36 37 38 39 +texrocks += 40 41 42 43 44 45 46 47 48 49 +texrocks := data/texship.png data/texlife.png $(texrocks:%=data/texrock%.png) + +data/tiles.png: $(texrocks) + montage -background '#00000000' +frame +shadow +label -tile 9x6 -geometry '52x52+0+0>' $(texrocks) $@ + + +data/texrock%.png: rocks.pov $(gfx-deps) + ./povtex.sh $@ +H52 +W52 +K$* $< || sh -c "rm $@; false" + +data/texship.png: ship.pov $(gfx-deps) + ./povtex.sh $@ +W32 +H32 $< || sh -c "rm $@; false" + +data/texlife.png: ship.pov $(gfx-deps) + ./povtex.sh $@ +W17 +H17 $< || sh -c "rm $@; false" + font_guts: font_guts.c font_guts.pov: font_guts font_template.txt diff --git a/main.c b/main.c index 1d4ce85..528509c 100644 --- a/main.c +++ b/main.c @@ -339,21 +339,35 @@ draw_dots(void) { } SDL_Surface * -load_image(char *filename) -{ +_load_image(char *filename, int alpha) { SDL_Surface *tmp, *img = NULL; char *s = add_data_path(filename); if(s) { tmp = IMG_Load(s); free(s); if(tmp) { - img = SDL_DisplayFormat(tmp); + if(alpha) { + img = SDL_DisplayFormatAlpha(tmp); + } else { + img = SDL_DisplayFormat(tmp); + } SDL_FreeSurface(tmp); } } return img; } +SDL_Surface * +load_image(char *filename) { + return _load_image(filename, 0); +} + +SDL_Surface * +load_image_alpha(char *filename) { + return _load_image(filename, 1); +} + + void load_ship(void) { @@ -431,12 +445,12 @@ init(void) { } // Load the banners - NULLERROR(surf_b_variations = load_image("b_variations.png")); - NULLERROR(surf_b_on = load_image("b_on.png")); - NULLERROR(surf_b_rockdodger = load_image("b_rockdodger.png")); + NULLERROR(surf_b_variations = load_image_alpha("b_variations.png")); + NULLERROR(surf_b_on = load_image_alpha("b_on.png")); + NULLERROR(surf_b_rockdodger = load_image_alpha("b_rockdodger.png")); - NULLERROR(surf_b_game = load_image("b_game.png")); - NULLERROR(surf_b_over = load_image("b_over.png")); + NULLERROR(surf_b_game = load_image_alpha("b_game.png")); + NULLERROR(surf_b_over = load_image_alpha("b_over.png")); // Load the life indicator (small ship) graphic. NULLERROR(surf_life = load_image("life.png")); diff --git a/povtex.sh b/povtex.sh new file mode 100755 index 0000000..e4f3bf4 --- /dev/null +++ b/povtex.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +output="$1" +tmpfile="$1.tmp.png" +shift +povray -D +A +UA -O- +FN $* 2>/dev/null > "$tmpfile" || sh -c "rm '$tmpfile'; false" +pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB "$tmpfile" "$output" || sh -c "rm '$tmpfile'; false" +rm "$tmpfile"