rpms/alex4/devel alex4-allegro-4.2.patch, NONE, 1.1 alex4-dot-files-endian-clean.patch, NONE, 1.1 alex4-fsf-address.patch, NONE, 1.1 alex4.spec, 1.4, 1.5

Hans de Goede (jwrdegoede) fedora-extras-commits at redhat.com
Wed Jan 30 14:43:09 UTC 2008


Author: jwrdegoede

Update of /cvs/extras/rpms/alex4/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv27112

Modified Files:
	alex4.spec 
Added Files:
	alex4-allegro-4.2.patch alex4-dot-files-endian-clean.patch 
	alex4-fsf-address.patch 
Log Message:
* Wed Jan 30 2008 Hans de Goede <j.w.r.degoede at hhs.nl> 1.0-5
- Several patches from Debian (Thanks Peter De Wachter)
  - endian clean dot-files code
  - fsf address corrected
  - no longer use deprecated allegro functions


alex4-allegro-4.2.patch:

--- NEW FILE alex4-allegro-4.2.patch ---
Index: alex4-1.1/src/edit.c
===================================================================
--- alex4-1.1.orig/src/edit.c	2008-01-23 00:01:05.000000000 +0100
+++ alex4-1.1/src/edit.c	2008-01-23 00:48:53.000000000 +0100
@@ -69,8 +69,8 @@
 		}
 	
 		// show stuff
-		textprintf(bmp, data[THE_FONT].dat, 1, 1, 0, "TILE: %d,%d", tx, ty);
-		textprintf(bmp, data[THE_FONT].dat, 1, 11, 0, "SIZE: %d,%d", map->width, map->height);
+		textprintf_ex(bmp, data[THE_FONT].dat, 1, 1, 0, -1, "TILE: %d,%d", tx, ty);
+		textprintf_ex(bmp, data[THE_FONT].dat, 1, 11, 0, -1, "SIZE: %d,%d", map->width, map->height);
 
 		// show start pos
 		x = (ABS(map->start_x) << 4) - map->offset_x;
@@ -80,7 +80,7 @@
 	
 		// draw status bar
 		rectfill(bmp, 0, 110, 159, 119, 1);
-		textprintf(bmp, data[THE_FONT].dat, 1, 111, 4, "EDITING: %s", get_filename(edit_path_and_file));
+		textprintf_ex(bmp, data[THE_FONT].dat, 1, 111, 4, -1, "EDITING: %s", get_filename(edit_path_and_file));
 	}
 	else if (edit_mode == EDIT_MODE_SELECT) {	// draw tile palette
 		// calculate offset depending on mouse pointer
@@ -104,16 +104,16 @@
 	else if (edit_mode == EDIT_MODE_STATS) {	// draw map properties
 		int ty = 16;
 		clear_to_color(bmp, 3);
-		textprintf(bmp, data[THE_FONT].dat, 1, 1, 1, "%s (props)", get_filename(edit_path_and_file));	
+		textprintf_ex(bmp, data[THE_FONT].dat, 1, 1, 1, -1, "%s (props)", get_filename(edit_path_and_file));	
 		line(bmp, 0, 10, 159, 10, 1);
-		textprintf(bmp, data[THE_FONT].dat, 1, ty+=10, 1, "Win by:");
-		textprintf(bmp, data[THE_FONT].dat, 1, ty+=10, 1, "  1) reach exit (%s)", (map->win_conditions & MAP_WIN_EXIT ? "X" : " "));
-		textprintf(bmp, data[THE_FONT].dat, 1, ty+=10, 1, "  2) kill boss  (%s)", (map->win_conditions & MAP_WIN_KILL_GUARDIAN ? "X" : " "));
-		textprintf(bmp, data[THE_FONT].dat, 1, ty+=10, 1, "  3) kill all   (%s)", (map->win_conditions & MAP_WIN_KILL_ALL ? "X" : " "));
-		textprintf(bmp, data[THE_FONT].dat, 1, ty+=10, 1, "4) Boss level:  (%s)", (map->boss_level ? "X" : " "));
-		textprintf(bmp, data[THE_FONT].dat, 1, ty+=10, 1, "5) Name: %s", map->name);
+		textprintf_ex(bmp, data[THE_FONT].dat, 1, ty+=10, 1, -1, "Win by:");
+		textprintf_ex(bmp, data[THE_FONT].dat, 1, ty+=10, 1, -1, "  1) reach exit (%s)", (map->win_conditions & MAP_WIN_EXIT ? "X" : " "));
+		textprintf_ex(bmp, data[THE_FONT].dat, 1, ty+=10, 1, -1, "  2) kill boss  (%s)", (map->win_conditions & MAP_WIN_KILL_GUARDIAN ? "X" : " "));
+		textprintf_ex(bmp, data[THE_FONT].dat, 1, ty+=10, 1, -1, "  3) kill all   (%s)", (map->win_conditions & MAP_WIN_KILL_ALL ? "X" : " "));
+		textprintf_ex(bmp, data[THE_FONT].dat, 1, ty+=10, 1, -1, "4) Boss level:  (%s)", (map->boss_level ? "X" : " "));
+		textprintf_ex(bmp, data[THE_FONT].dat, 1, ty+=10, 1, -1, "5) Name: %s", map->name);
 
-		textprintf(bmp, data[THE_FONT].dat, 1, 110, 1, "F1: back to editor");
+		textprintf_ex(bmp, data[THE_FONT].dat, 1, 110, 1, -1, "F1: back to editor");
 	}
 
 	if (edit_mode != EDIT_MODE_STATS) {
Index: alex4-1.1/src/hisc.c
===================================================================
--- alex4-1.1.orig/src/hisc.c	2008-01-23 00:48:53.000000000 +0100
+++ alex4-1.1/src/hisc.c	2008-01-23 00:48:53.000000000 +0100
@@ -153,9 +153,9 @@
 
 // draws a single hisc post
 void draw_hisc_post(Thisc *table, BITMAP *bmp, FONT *fnt, int x, int y, int color, int show_level) {
-	textprintf(bmp, fnt, x, y, color, "%s", table->name);
-	if (show_level) textprintf_right(bmp, fnt, x+80, y, color, "%2d", table->level);
-	textprintf_right(bmp, fnt, x+140, y, color, "%d", table->score);
+	textprintf_ex(bmp, fnt, x, y, color, -1, "%s", table->name);
+	if (show_level) textprintf_right_ex(bmp, fnt, x+80, y, color, -1, "%2d", table->level);
+	textprintf_right_ex(bmp, fnt, x+140, y, color, -1, "%d", table->score);
 }
 
 // draws the entire table
Index: alex4-1.1/src/main.c
===================================================================
--- alex4-1.1.orig/src/main.c	2008-01-23 00:48:53.000000000 +0100
+++ alex4-1.1/src/main.c	2008-01-23 00:48:53.000000000 +0100
@@ -322,7 +322,7 @@
 		cycle_count = 0;
 		if (got_sound && duh_player != NULL) al_poll_duh(duh_player);
 		i ++;
-		while(!cycle_count)	yield_timeslice();
+		while(!cycle_count)	rest(0);
 	}
 }
 
@@ -496,15 +496,15 @@
 
 	rectfill(bmp, 0, y, 159, y+9, 1);
 	draw_sprite_h_flip(bmp, data[HERO_NORM].dat, 0, y+1); 
-	textprintf(bmp, data[THE_FONT].dat, 9, y+1, 4, " :%d", player.lives);
+	textprintf_ex(bmp, data[THE_FONT].dat, 9, y+1, 4, -1, " :%d", player.lives);
 
 	for(i = 0; i < player.health; i ++)
 		draw_sprite(bmp, data[HEART2].dat, 40 + 10 * i, y-3);
 
 	draw_sprite(bmp, data[EGG].dat, 80, y-5); 
-	textprintf(bmp, data[THE_FONT].dat, 85, y+1, 4, " :%d", player.ammo);
+	textprintf_ex(bmp, data[THE_FONT].dat, 85, y+1, 4, -1, " :%d", player.ammo);
 
-	textprintf_right(bmp, data[THE_FONT].dat, 158, y+1, 4, "%d", player.score);
+	textprintf_right_ex(bmp, data[THE_FONT].dat, 158, y+1, 4, -1, "%d", player.score);
 }
 
 
@@ -626,7 +626,6 @@
 
 	// various allegro things
 	log2file(" initializing allegro");
-	text_mode(-1);
 	garble_string(init_string, 53);
 #ifdef __unix__
 	snprintf(filename, sizeof(filename), "%s/.alex4/alex4.ini",
@@ -635,7 +634,6 @@
 #else
 	set_config_file("alex4.ini");
 #endif
-	set_window_close_button(FALSE);
 	
 	// install timers
 	log2file(" installing timers");
@@ -701,7 +699,7 @@
 
 	// show initial loading screen
 	clear(swap_screen);
-	textout_centre(swap_screen, font, "loading...", 320, 200, 1);
+	textout_centre_ex(swap_screen, font, "loading...", 320, 200, 1, -1);
 	blit_to_screen(swap_screen);
 
 #ifndef __unix__
@@ -788,8 +786,8 @@
 	clear_to_color(swap_screen, 3);
 
 	bmp = data[FLD_LOGO].dat;
-	draw_character(swap_screen, bmp, 80 - bmp->w / 2 + 0, 50 + 1, 1);
-	draw_character(swap_screen, bmp, 80 - bmp->w / 2, 50, 4);
+	draw_character_ex(swap_screen, bmp, 80 - bmp->w / 2 + 0, 50 + 1, 1, -1);
+	draw_character_ex(swap_screen, bmp, 80 - bmp->w / 2, 50, 4, -1);
 	
 	blit_to_screen(swap_screen);
 
@@ -1100,11 +1098,11 @@
 
 // draws text with an outline
 void textout_outline(BITMAP *bmp, const char *txt, int x, int y) {
-	textout(bmp, data[THE_FONT].dat, txt, x+1, y, 1);
-	textout(bmp, data[THE_FONT].dat, txt, x-1, y, 1);
-	textout(bmp, data[THE_FONT].dat, txt, x, y+1, 1);
-	textout(bmp, data[THE_FONT].dat, txt, x, y-1, 1);
-	textout(bmp, data[THE_FONT].dat, txt, x, y, 4);
+	textout_ex(bmp, data[THE_FONT].dat, txt, x+1, y, 1, -1);
+	textout_ex(bmp, data[THE_FONT].dat, txt, x-1, y, 1, -1);
+	textout_ex(bmp, data[THE_FONT].dat, txt, x, y+1, 1, -1);
+	textout_ex(bmp, data[THE_FONT].dat, txt, x, y-1, 1, -1);
+	textout_ex(bmp, data[THE_FONT].dat, txt, x, y, 4, -1);
 }
 
 
@@ -1153,7 +1151,7 @@
 		}
 
 		// let other processes play
-		yield_timeslice();
+		rest(0);
 
 		// draw stuff
 		draw_frame(swap_screen, 1);
@@ -1195,7 +1193,7 @@
 		}
 
 		// let other processes play
-		yield_timeslice();
+		rest(0);
 
 		// draw stuff
 		draw_frame(swap_screen, 1);
@@ -1257,7 +1255,7 @@
 		}
 
 		// let other processes play
-		yield_timeslice();
+		rest(0);
 
 		// draw stuff
 		draw_custom_ending(swap_screen);
@@ -1373,7 +1371,7 @@
 		}
 
 		// let other processes play
-		yield_timeslice();
+		rest(0);
 
 		// draw stuff
 		blit(swap2, swap_screen, 0, 0, 0, 0, 160, 120);
@@ -1447,12 +1445,12 @@
 
 	sprintf(buf, "%s %d %s", (level > min ? "<" : " "), level, (level < max ? ">" : " "));
 	clear_bitmap(stuff);
-	textout_centre(stuff, data[THE_FONT].dat, buf, stuff->w/2 + 1, 1, 2);
-	textout_centre(stuff, data[THE_FONT].dat, buf, stuff->w/2, 0, 1);
+	textout_centre_ex(stuff, data[THE_FONT].dat, buf, stuff->w/2 + 1, 1, 2, -1);
+	textout_centre_ex(stuff, data[THE_FONT].dat, buf, stuff->w/2, 0, 1, -1);
 	stretch_sprite(bmp, stuff, 80 - 4*stuff->w/2, 30, 4*stuff->w, 4*stuff->h);
 
-	textout_centre(bmp, data[THE_FONT].dat, "SELECT START LEVEL", 80, 90, 1);
-	textout_centre(bmp, data[THE_FONT].dat, "SELECT START LEVEL", 79, 89, 4);
+	textout_centre_ex(bmp, data[THE_FONT].dat, "SELECT START LEVEL", 80, 90, 1, -1);
+	textout_centre_ex(bmp, data[THE_FONT].dat, "SELECT START LEVEL", 79, 89, 4, -1);
 
 	if (options.one_hundred) {
 		if (game_count & 32 || game_count & 16) draw_sprite(bmp, data[SHIP100].dat, xpos, 2);
@@ -2343,7 +2341,7 @@
 		if (is_fire(&ctrl) || is_jump(&ctrl)) done = 1;
 		if (keypressed()) done = 1;
 		if (key[KEY_ESC]) done = -1;
-		yield_timeslice();
+		rest(0);
 	}
 
 	if (done == -1) {
@@ -2493,7 +2491,7 @@
 		}
 		
 		// let other processes play
-		yield_timeslice();
+		rest(0);
 
 		// draw 
 		frame_count ++;
@@ -2524,20 +2522,20 @@
 
 	y = 60;
 	x = 50;
-	textout(bmp, data[THE_FONT].dat, start_string, x+1, y+1, 1);
-	textout(bmp, data[THE_FONT].dat, start_string, x, y, 4);
+	textout_ex(bmp, data[THE_FONT].dat, start_string, x+1, y+1, 1, -1);
+	textout_ex(bmp, data[THE_FONT].dat, start_string, x, y, 4, -1);
 
 	y += step;
-	textout(bmp, data[THE_FONT].dat, "HIGH SCORES", x+1, y+1, 1);
-	textout(bmp, data[THE_FONT].dat, "HIGH SCORES", x, y, 4);
+	textout_ex(bmp, data[THE_FONT].dat, "HIGH SCORES", x+1, y+1, 1, -1);
+	textout_ex(bmp, data[THE_FONT].dat, "HIGH SCORES", x, y, 4, -1);
 
 	y += step;
-	textout(bmp, data[THE_FONT].dat, "EDITOR", x+1, y+1, 1);
-	textout(bmp, data[THE_FONT].dat, "EDITOR", x, y, 4);
+	textout_ex(bmp, data[THE_FONT].dat, "EDITOR", x+1, y+1, 1, -1);
+	textout_ex(bmp, data[THE_FONT].dat, "EDITOR", x, y, 4, -1);
 
 	y += step;
-	textout(bmp, data[THE_FONT].dat, "QUIT", x+1, y+1, 1);
-	textout(bmp, data[THE_FONT].dat, "QUIT", x, y, 4);
+	textout_ex(bmp, data[THE_FONT].dat, "QUIT", x+1, y+1, 1, -1);
+	textout_ex(bmp, data[THE_FONT].dat, "QUIT", x, y, 4, -1);
 
 	draw_sprite(bmp, data[POINTER].dat, x - 25 + fixtoi(3 * fcos(itofix(tick << 2))), 44 + menu_choice * step);
 }
@@ -2589,7 +2587,7 @@
         string[i] = letters[current_letter];
 		string[i + 1] = '\0';
         blit(block, bmp, 0, 0, pos_x - 1, pos_y - 1, block->w, block->h);
-        textout(bmp, f, string, pos_x, pos_y, colour);
+        textout_ex(bmp, f, string, pos_x, pos_y, colour, -1);
 		blit_to_screen(bmp);
 
 		if (pad != NULL) {
@@ -2775,7 +2773,7 @@
 		}
 
 		// let other processes play
-		yield_timeslice();
+		rest(0);
 
 		// draw 
 		frame_count ++;
Index: alex4-1.1/src/map.c
===================================================================
--- alex4-1.1.orig/src/map.c	2008-01-23 00:48:53.000000000 +0100
+++ alex4-1.1/src/map.c	2008-01-23 00:49:56.000000000 +0100
@@ -280,7 +280,7 @@
 	
 	if (sm == NULL) return;
 	
-	set_clip(bmp, dx, dy, dx+w-1, dy+h-1);
+	set_clip_rect(bmp, dx, dy, dx+w-1, dy+h-1);
 	
 	for(y=0;y<7;y++) {
 		for(x=0;x<11;x++) {
@@ -330,13 +330,13 @@
 
 				if (edit) {
 					if (sm->dat[pos].type == MAP_DEAD) {
-						textout(bmp, font, "D", dx + x*16 + ax, dy + y*16 + ay, 0);
+						textout_ex(bmp, font, "D", dx + x*16 + ax, dy + y*16 + ay, 0, -1);
 					}
 					if (sm->dat[pos].type == MAP_EXIT) {
-						textout(bmp, font, "XT", dx + x*16 + ax, dy + y*16 + ay, 255);
+						textout_ex(bmp, font, "XT", dx + x*16 + ax, dy + y*16 + ay, 255, -1);
 					}
 					if (sm->dat[pos].type == MAP_BRK) {
-						textout(bmp, font, "GL", dx + x*16 + ax, dy + y*16 + ay, 255);
+						textout_ex(bmp, font, "GL", dx + x*16 + ax, dy + y*16 + ay, 255, -1);
 					}
 					if (sm->dat[pos].type == MAP_ENEMY1) {
 						draw_sprite(bmp, sm->data[ENEMY1_01 + ((ABS(game_count) >> 3) % 4)].dat, dx + x*16 + ax, dy + y*16 + ay);
@@ -367,7 +367,7 @@
 		}
 	}
 
-	set_clip(bmp, 0, 0, SCREEN_W - 1, SCREEN_H - 1);
+	set_clip_rect(bmp, 0, 0, SCREEN_W - 1, SCREEN_H - 1);
 	
 }
 
Index: alex4-1.1/src/script.c
===================================================================
--- alex4-1.1.orig/src/script.c	2008-01-23 00:01:05.000000000 +0100
+++ alex4-1.1/src/script.c	2008-01-23 00:48:53.000000000 +0100
@@ -89,7 +89,7 @@
 
 	// draw text
 	for(i = 0; i < lines; i ++) {
-		textout(bmp, d[THE_FONT].dat, rows[i], x1 + 4, y1 + 5 + i * 9, 1);
+		textout_ex(bmp, d[THE_FONT].dat, rows[i], x1 + 4, y1 + 5 + i * 9, 1, -1);
 	}
 }
 
@@ -103,7 +103,7 @@
 		poll_music();
 		count ++;
 		while(!cycle_count);
-		yield_timeslice();
+		rest(0);
 	}
     if (key[KEY_ESC]) script_done = -1;
 }
@@ -521,7 +521,7 @@
 		}
 
 		// let other processes play
-		yield_timeslice();
+		rest(0);
 
 		// blit buffer to swap buffer
 		blit(buffer, swap_buffer, 0, 0, 0, 0, 160, 120);
Index: alex4-1.1/src/scroller.c
===================================================================
--- alex4-1.1.orig/src/scroller.c	2008-01-23 00:01:05.000000000 +0100
+++ alex4-1.1/src/scroller.c	2008-01-23 00:50:53.000000000 +0100
@@ -65,22 +65,22 @@
 	if (sc->horizontal) {
 		if (sc->offset < -sc->length) return;
 		if (sc->offset > sc->width) return;
-		set_clip(bmp, x, y, x + sc->width, y + sc->height);
-		textout(bmp, sc->fnt, sc->text, x + sc->offset + 1, y + 1, 1);
-		textout(bmp, sc->fnt, sc->text, x + sc->offset, y, 3);
-		set_clip(bmp, 0, 0, bmp->w-1, bmp->h-1);
+		set_clip_rect(bmp, x, y, x + sc->width, y + sc->height);
+		textout_ex(bmp, sc->fnt, sc->text, x + sc->offset + 1, y + 1, 1, -1);
+		textout_ex(bmp, sc->fnt, sc->text, x + sc->offset, y, 3, -1);
+		set_clip_rect(bmp, 0, 0, bmp->w-1, bmp->h-1);
 	}
 	else {
 		int i;
 		if (sc->offset < -sc->rows * sc->font_height) return;
 		if (sc->offset > sc->height) return;
-		set_clip(bmp, x, y, x + sc->width, y + sc->height);
+		set_clip_rect(bmp, x, y, x + sc->width, y + sc->height);
 		for(i=0;i<sc->rows;i++) {
 			if (i * sc->font_height + sc->offset <= sc->height) 
 				if ((i+1) * sc->font_height + sc->offset >= 0)
-					textout_centre(bmp, sc->fnt, sc->lines[i], x+(sc->width>>1) , i * sc->font_height + y + sc->offset, -1);
+					textout_centre_ex(bmp, sc->fnt, sc->lines[i], x+(sc->width>>1) , i * sc->font_height + y + sc->offset, -1, -1);
 		}
-		set_clip(bmp, 0, 0, bmp->w-1, bmp->h-1);
+		set_clip_rect(bmp, 0, 0, bmp->w-1, bmp->h-1);
 	}
 }
 
Index: alex4-1.1/src/shooter.c
===================================================================
--- alex4-1.1.orig/src/shooter.c	2008-01-23 00:48:53.000000000 +0100
+++ alex4-1.1/src/shooter.c	2008-01-23 00:48:53.000000000 +0100
@@ -341,7 +341,7 @@
 		if (!o->hit || o->type == SO_PLAYER_BULLET)
 			draw_sprite(bmp, s_data[o->image].dat, (int)o->x, (int)o->y);
 		else
-			draw_character(bmp, s_data[o->image].dat, (int)o->x, (int)o->y, 4);
+			draw_character_ex(bmp, s_data[o->image].dat, (int)o->x, (int)o->y, 4, -1);
 	}
 	else {
 		int c = (o->energy + 8) >> 3;
@@ -379,8 +379,8 @@
 		padding_str[i] = '0';
 	padding_str[i] = '\0';
 	strcat(padding_str, score_str);
-	textprintf_right(bmp, s_data[SPACE_FONT].dat, x + 160, y + 2, 3, "%s", padding_str);
-	if (s_var.score) textprintf_right(bmp, s_data[SPACE_FONT].dat, x + 160, y + 2, 4, "%s", score_str);
+	textprintf_right_ex(bmp, s_data[SPACE_FONT].dat, x + 160, y + 2, 3, -1, "%s", padding_str);
+	if (s_var.score) textprintf_right_ex(bmp, s_data[SPACE_FONT].dat, x + 160, y + 2, 4, -1, "%s", score_str);
 }
 
 
@@ -1268,7 +1268,7 @@
 		
 		
 		// let other processes play
-		yield_timeslice();
+		rest(0);
 		
 		// draw 
 		frame_count ++;
alex4-dot-files-endian-clean.patch:

--- NEW FILE alex4-dot-files-endian-clean.patch ---
Index: alex4src/src/control.c
===================================================================
--- alex4src.orig/src/control.c	2008-01-17 00:20:33.000000000 +0100
+++ alex4src/src/control.c	2008-01-17 00:29:35.000000000 +0100
@@ -93,10 +93,24 @@
 
 // saves the control config to disk using FP
 void save_control(Tcontrol *c, PACKFILE *fp) {
-	pack_fwrite(c, sizeof(Tcontrol), fp);
+	pack_iputl(c->use_joy, fp);
+	pack_iputl(c->key_left, fp);
+	pack_iputl(c->key_right, fp);
+	pack_iputl(c->key_up, fp);
+	pack_iputl(c->key_down, fp);
+	pack_iputl(c->key_fire, fp);
+	pack_iputl(c->key_jump, fp);
+	pack_putc(c->flags, fp);
 }
 
 // loads the control config from disk using FP
 void load_control(Tcontrol *c, PACKFILE *fp) {
-	pack_fread(c, sizeof(Tcontrol), fp);
+	c->use_joy = pack_igetl(fp);
+	c->key_left = pack_igetl(fp);
+	c->key_right = pack_igetl(fp);
+	c->key_up = pack_igetl(fp);
+	c->key_down = pack_igetl(fp);
+	c->key_fire = pack_igetl(fp);
+	c->key_jump = pack_igetl(fp);
+	c->flags = pack_getc(fp);
 }
Index: alex4src/src/hisc.c
===================================================================
--- alex4src.orig/src/hisc.c	2008-01-17 00:29:45.000000000 +0100
+++ alex4src/src/hisc.c	2008-01-17 00:42:13.000000000 +0100
@@ -117,9 +117,12 @@
 	for(i=0; i<MAX_SCORES; i++) {
 		int c_disk, c_real;
 		// load entry
-		pack_fread(&table[i], sizeof(Thisc), fp);
+                pack_fread(&table[i].name, sizeof(table[i].name), fp);
+                pack_getc(fp); pack_getc(fp); // 2 bytes padding
+                table[i].score = pack_igetl(fp);
+                table[i].level = pack_igetl(fp);
 		// load checksum
-		pack_fread(&c_disk, sizeof(int), fp);
+                c_disk = pack_igetl(fp);
 		// generate check sum
 		c_real = generate_checksum(&table[i]);
 		// compare checksums
@@ -137,11 +140,14 @@
 	for(i=0; i<MAX_SCORES; i++) {
 		int checksum;
 		// save entry
-		pack_fwrite(&table[i], sizeof(Thisc), fp);
+		pack_fwrite(&table[i].name, sizeof(table[i].name), fp);
+                pack_putc(0, fp); pack_putc(0, fp); // 2 bytes padding
+                pack_iputl(table[i].score, fp);
+                pack_iputl(table[i].level, fp);
 		// generate check sum
 		checksum = generate_checksum(&table[i]);
 		// save checksum
-		pack_fwrite(&checksum, sizeof(int), fp);
+                pack_iputl(checksum, fp);
 	}
 }
 
Index: alex4src/src/options.c
===================================================================
--- alex4src.orig/src/options.c	2008-01-17 00:24:31.000000000 +0100
+++ alex4src/src/options.c	2008-01-17 00:36:56.000000000 +0100
@@ -26,12 +26,26 @@
 
 // saves the data structure to disk
 void save_options(Toptions *o, PACKFILE *fp) {
-	pack_fwrite(o, sizeof(Toptions), fp);
+        int i;
+        pack_iputl(o->max_levels, fp);
+        for (i = 0; i < MAX_LEVELS; ++i)
+                pack_iputl(o->cherries[i], fp);
+        for (i = 0; i < MAX_LEVELS; ++i)
+                pack_iputl(o->stars[i], fp);
+        pack_iputl(o->use_vsync, fp);
+        pack_iputl(o->one_hundred, fp);
 }
 
 // loads the data structure from disk
 void load_options(Toptions *o, PACKFILE *fp) {
-	pack_fread(o, sizeof(Toptions), fp);
+        int i;
+        o->max_levels = pack_igetl(fp);
+        for (i = 0; i < MAX_LEVELS; ++i)
+                o->cherries[i] = pack_igetl(fp);
+        for (i = 0; i < MAX_LEVELS; ++i)
+                o->stars[i] = pack_igetl(fp);
+        o->use_vsync = pack_igetl(fp);
+        o->one_hundred = pack_igetl(fp);
 }
 
 // resets all data
alex4-fsf-address.patch:

--- NEW FILE alex4-fsf-address.patch ---
Index: alex4-1.1/readme.txt
===================================================================
--- alex4-1.1.orig/readme.txt	2008-01-22 00:10:21.000000000 +0100
+++ alex4-1.1/readme.txt	2008-01-22 00:10:51.000000000 +0100
@@ -49,8 +49,8 @@
 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
+this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
+St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 
 COMPILING

Index: alex4.spec
===================================================================
RCS file: /cvs/extras/rpms/alex4/devel/alex4.spec,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- alex4.spec	3 Aug 2007 18:57:19 -0000	1.4
+++ alex4.spec	30 Jan 2008 14:42:31 -0000	1.5
@@ -1,6 +1,6 @@
 Name:           alex4
 Version:        1.0
-Release:        4%{?dist}
+Release:        5%{?dist}
 Summary:        Alex the Allegator 4 - Platform game
 Group:          Amusements/Games
 License:        GPL+
@@ -9,6 +9,9 @@
 Source1:        alex4.desktop
 Source2:        alex4.png
 Patch0:         alex4-unix.patch
+Patch1:         alex4-allegro-4.2.patch
+Patch2:         alex4-dot-files-endian-clean.patch
+Patch3:         alex4-fsf-address.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:  allegro-devel dumb-devel desktop-file-utils ImageMagick
 Requires:       hicolor-icon-theme
@@ -21,7 +24,10 @@
 
 %prep
 %setup -q -n alex4src
-%patch0 -p1 -z .unix
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
 sed -i 's/\r//' *.txt
 
 
@@ -75,6 +81,12 @@
 
 
 %changelog
+* Wed Jan 30 2008 Hans de Goede <j.w.r.degoede at hhs.nl> 1.0-5
+- Several patches from Debian (Thanks Peter De Wachter)
+  - endian clean dot-files code
+  - fsf address corrected
+  - no longer use deprecated allegro functions
+
 * Thu Aug  2 2007 Hans de Goede <j.w.r.degoede at hhs.nl> 1.0-4
 - Update License tag for new Licensing Guidelines compliance
 




More information about the fedora-extras-commits mailing list