This patch fixes this problem for alex4. (I am the cause of the problem,
and I'll post patches to the other allegro4.4-related failures too).

-- Andreas Rönnquist
gus...@debian.org
--- a/src/shooter.c
+++ b/src/shooter.c
@@ -500,12 +500,12 @@
 			break;
 		case SM_SIN_WAVE:
 			o->x += o->vx;
-			o->y = o->d2 + fixtoi(fmul(ftofix(o->vy), fsin(itofix(o->t))));
+			o->y = o->d2 + fixtoi(fixmul(ftofix(o->vy), fixsin(itofix(o->t))));
 			o->t += o->d1;
 			break;
 		case SM_COS_WAVE:
 			o->x += o->vx;
-			o->y = o->d2 + fixtoi(fmul(ftofix(o->vy), fcos(itofix(o->t))));
+			o->y = o->d2 + fixtoi(fixmul(ftofix(o->vy), fixcos(itofix(o->t))));
 			o->t += o->d1;
 			break;
 		case SM_BOSS_1:
@@ -516,8 +516,8 @@
 				o->tx = o->x;
 			}
 			else {
-				o->y = o->ty + fixtoi(fmul(ftofix(o->vy), fsin(itofix(o->t))));
-				o->x = o->tx - fixtoi(10 * fsin(itofix(o->t >> 1)));
+				o->y = o->ty + fixtoi(fixmul(ftofix(o->vy), fixsin(itofix(o->t))));
+				o->x = o->tx - fixtoi(10 * fixsin(itofix(o->t >> 1)));
 				o->t ++;
 			}
 			break;
@@ -573,7 +573,7 @@
 		else if (o->image == ENEMY15) {
 			int i;
 			for(i = 0; i < 256; i += 32)
-				s_make_enemy_bullet((int)o->x + o->bw / 2, (int)o->y + o->bh, fixtof(1 * fcos(itofix(i - 6))), fixtof(1 * fsin(itofix(i - 6))));
+				s_make_enemy_bullet((int)o->x + o->bw / 2, (int)o->y + o->bh, fixtof(1 * fixcos(itofix(i - 6))), fixtof(1 * fixsin(itofix(i - 6))));
 			o->fire_counter = 200 + rand()%50;
 		}
 	
--- a/src/main.c
+++ b/src/main.c
@@ -1212,9 +1212,9 @@
 
 	blit(data[INTRO_BG].dat, bmp, 0, 0, 0, 0, 160, 120);
 
-	r = 70 + fixtoi(20 * fcos(itofix(game_count >> 1)) + 20 * fsin(itofix((int)(game_count / 2.7))) );
+	r = 70 + fixtoi(20 * fixcos(itofix(game_count >> 1)) + 20 * fixsin(itofix((int)(game_count / 2.7))) );
 	for(i = 0; i < 256; i += 32) 
-		draw_sprite(bmp, head, 80 - head->w/2 + fixtoi(r * fcos(itofix(game_count + i))), 60 - head->h/2 + fixtoi(r * fsin(itofix(game_count + i))));
+		draw_sprite(bmp, head, 80 - head->w/2 + fixtoi(r * fixcos(itofix(game_count + i))), 60 - head->h/2 + fixtoi(r * fixsin(itofix(game_count + i))));
 
 	draw_sprite_h_flip(bmp, data[ALEX].dat, 60, 40);
 	draw_sprite(bmp, data[LOLA].dat, 84, 40);
@@ -2545,7 +2545,7 @@
 	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);
+	draw_sprite(bmp, data[POINTER].dat, x - 25 + fixtoi(3 * fixcos(itofix(tick << 2))), 44 + menu_choice * step);
 }
 
 

Reply via email to