Update of /cvsroot/netrek/client/netrekxp/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31921/src
Modified Files:
dashboard3.c local.c sound.c
Log Message:
Some sound bug fixes, also fixed LAB dashboard for observers with armies/kills not being displayed.
Index: local.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/local.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- local.c 26 Apr 2006 02:04:24 -0000 1.9
+++ local.c 26 Apr 2006 15:54:04 -0000 1.10
@@ -512,7 +512,7 @@
angle = (int)(atan2(newdy, newdx)*180/XPI);
angle = 270 - angle;
// At short distances, don't use angular sound
- if (distance < 10)
+ if (distance < SCALE/2)
Play_Sound(CLOAKED_WAV);
else
Play_Sound_Loc(CLOAKED_WAV, angle, distance);
@@ -550,13 +550,15 @@
angle = (int)(atan2(newdy, newdx)*180/XPI);
angle = 270 - angle;
// At short distances, don't use angular sound
- if (distance < 10)
+ if (distance < SCALE/2)
Play_Sound(UNCLOAK_WAV);
else
Play_Sound_Loc(UNCLOAK_WAV, angle, distance);
+
+
}
else // Kill any channels with CLOAKED_WAV on them (group 1)
- Mix_HaltGroup(1);
+ Mix_HaltGroup(1);
}
else
@@ -771,14 +773,22 @@
if ((sound_flags & PFSHIELD) && !(j->p_flags & PFSHIELD))
{
if (newSound)
- Play_Sound(SHIELD_DOWN_WAV);
+ {
+ // Kill any channels with SHIELD_UP/DOWN_WAV on them (group 4)
+ Mix_HaltGroup(4);
+ Play_Sound(SHIELD_DOWN_WAV);
+ }
else
Play_Sound(SHIELD_DOWN_SOUND);
}
if (!(sound_flags & PFSHIELD) && (j->p_flags & PFSHIELD))
{
if (newSound)
- Play_Sound(SHIELD_UP_WAV);
+ {
+ // Kill any channels with SHIELD_UP/DOWN_WAV on them (group 4)
+ Mix_HaltGroup(4);
+ Play_Sound(SHIELD_UP_WAV);
+ }
else
Play_Sound(SHIELD_UP_SOUND);
}
@@ -952,7 +962,7 @@
angle = (int)(atan2(newdy, newdx)*180/XPI);
angle = 270 - angle;
// At short distances, don't use angular sound
- if (distance < 10)
+ if (distance < SCALE/2)
Play_Sound(EXPLOSION_OTHER_WAV);
else
Play_Sound_Loc(EXPLOSION_OTHER_WAV, angle, distance);
@@ -1028,7 +1038,7 @@
angle = (int)(atan2(newdy, newdx)*180/XPI);
angle = 270 - angle;
// At short distances, don't use angular sound
- if (distance < 10)
+ if (distance < SCALE/2)
Play_Sound(PHASER_OTHER_WAV);
else
Play_Sound_Loc(PHASER_OTHER_WAV, angle, distance);
@@ -1531,7 +1541,7 @@
angle = (int)(atan2(newdy, newdx)*180/XPI);
angle = 270 - angle;
// At short distances, don't use angular sound
- if (distance < 10)
+ if (distance < SCALE/2)
Play_Sound(TORP_HIT_WAV);
else
Play_Sound_Loc(TORP_HIT_WAV, angle, distance);
@@ -1777,7 +1787,7 @@
angle = (int)(atan2(newdy, newdx)*180/XPI);
angle = 270 - angle;
// At short distances, don't use angular sound
- if (distance < 10)
+ if (distance < SCALE/2)
Play_Sound(PLASMA_HIT_WAV);
else
Play_Sound_Loc(PLASMA_HIT_WAV, angle, distance);
@@ -2156,7 +2166,7 @@
Play_Sound(FIRE_TORP_WAV);
if (sound_other_torps < num_other_torps)
{
- if (other_torp_dist < 10)
+ if (other_torp_dist < SCALE/2)
Play_Sound(OTHER_FIRE_TORP_WAV);
else
Play_Sound_Loc(OTHER_FIRE_TORP_WAV, other_torp_angle, other_torp_dist);
@@ -2165,7 +2175,7 @@
Play_Sound(FIRE_PLASMA_WAV);
if (sound_other_plasmas < num_other_plasmas)
{
- if (other_plasma_dist < 10)
+ if (other_plasma_dist < SCALE/2)
Play_Sound(OTHER_FIRE_PLASMA_WAV);
else
Play_Sound_Loc(OTHER_FIRE_PLASMA_WAV, other_plasma_angle, other_plasma_dist);
Index: dashboard3.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/dashboard3.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- dashboard3.c 12 Apr 2006 04:20:03 -0000 1.2
+++ dashboard3.c 26 Apr 2006 15:54:04 -0000 1.3
@@ -342,53 +342,32 @@
static float old_kills = -1;
int cur_max, cur_arm, label_len;
char label[32];
-
-
- if (me->p_ship.s_type == ASSAULT)
- {
- cur_arm = (int) (3 * me->p_kills);
- }
+ float kills;
+
+ if ((me->p_flags & (PFPLOCK | PFOBSERV)) == (PFPLOCK | PFOBSERV))
+ kills = players[me->p_playerl].p_kills;
else
- {
- cur_arm = (int) (2 * me->p_kills);
- }
+ kills = me->p_kills;
- if (cur_arm < 0)
- {
- cur_arm = 0;
- }
- else if ((cur_arm > me->p_ship.s_maxarmies) ||
- (me->p_ship.s_type == STARBASE))
- {
- cur_arm = me->p_ship.s_maxarmies;
- }
+ if (fr)
+ W_ClearWindow (tstatw);
+ db_flags (fr);
+
+ /* TIMER */
+ db_timer (fr, WINSIDE - 12 * W_Textwidth, 32);
+
// SRS - inserted some additional casts to clear up compiler warnings
cur_max = (int) ((me->p_ship.s_maxspeed + 2) -
((me->p_ship.s_maxspeed + 1) *
((float) me->p_damage /
(float) (me->p_ship.s_maxdamage))));
-
if (cur_max < 0)
- {
cur_max = 0;
- }
else if (cur_max > me->p_ship.s_maxspeed)
- {
cur_max = me->p_ship.s_maxspeed;
- }
-
- if (fr)
- {
- W_ClearWindow (tstatw);
- }
-
- db_flags (fr);
-
- /* TIMER */
- db_timer (fr, WINSIDE - 12 * W_Textwidth, 32);
-
+
if (fr || (me->p_speed != old_spd) || (old_cur_max != cur_max))
{
db_bar ("Spd", 2, 2, 75, 25,
@@ -487,7 +466,17 @@
}
}
}
-
+
+ if (me->p_ship.s_type == ASSAULT)
+ cur_arm = (((kills * 3) > me->p_ship.s_maxarmies) ?
+ me->p_ship.s_maxarmies : (int) (kills * 3));
+ else if (me->p_ship.s_type == STARBASE)
+ cur_arm = me->p_ship.s_maxarmies;
+ else
+ cur_arm = (((kills * 2) > me->p_ship.s_maxarmies) ?
+ me->p_ship.s_maxarmies : (int) (kills * 2));
+
+
if (fr || (old_arm != me->p_armies) || (old_cur_arm != cur_arm))
{
W_ClearArea (tstatw, 402, 2, 98, W_Textheight);
@@ -524,11 +513,11 @@
}
}
- if (fr || (old_kills != me->p_kills))
+ if (fr || (old_kills != kills))
{
W_ClearArea (tstatw, 402, 4 + W_Textheight, 98, W_Textheight);
- if (me->p_kills > 0.0)
+ if (kills > 0.0)
{
label[0] = ' ';
label[1] = 'K';
@@ -538,7 +527,7 @@
label[5] = 's';
label[6] = ':';
label[7] = ' ';
- label_len = 8 + db_ftoa (&label[8], me->p_kills);
+ label_len = 8 + db_ftoa (&label[8], kills);
if (cur_arm > 4)
{
@@ -560,7 +549,7 @@
}
}
- old_kills = me->p_kills;
+ old_kills = kills;
}
old_spd = me->p_speed;
Index: sound.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/sound.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- sound.c 26 Apr 2006 02:04:24 -0000 1.5
+++ sound.c 26 Apr 2006 15:54:04 -0000 1.6
@@ -215,10 +215,16 @@
return;
if ((type >= NUM_WAVES) || (type < 0))
+ {
LineToConsole("Invalid sound type %d\n", type);
+ return;
+ }
if ((channel = Mix_PlayChannel(-1, newsounds[type], 0)) < 0)
+ {
LineToConsole("Mix_PlayChannel: %s\n", Mix_GetError());
+ return;
+ }
Group_Sound(type, channel);
}
@@ -252,7 +258,10 @@
return;
if ((type >= NUM_WAVES) || (type < 0))
+ {
LineToConsole("Invalid sound type %d\n", type);
+ return;
+ }
if ((channel = Mix_PlayChannel(-1, newsounds[type], 0)) < 0)
{
@@ -266,7 +275,10 @@
distance = 255;
// Adjust volume with distance and angle
if (Mix_SetPosition(channel, angle, distance) == 0)
+ {
LineToConsole("Mix_SetPosition: %s\n", Mix_GetError());
+ return;
+ }
Group_Sound(type, channel);
return;
@@ -280,6 +292,7 @@
// group 1 = cloaked_wav
// group 2 = warning_wav
// group 3 = red_alert_wav
+ // group 4 = shield_down_wav and shield_up_wav
switch(type)
{
case CLOAKED_WAV:
@@ -294,6 +307,15 @@
if(!Mix_GroupChannel(channel,3))
LineToConsole("Mix_GroupChannel: %s\n", Mix_GetError());
break;
+ case SHIELD_UP_WAV:
+ case SHIELD_DOWN_WAV:
+ if(!Mix_GroupChannel(channel,4))
+ LineToConsole("Mix_GroupChannel: %s\n", Mix_GetError());
+ break;
+ default: // Reset tag
+ if(!Mix_GroupChannel(channel,-1))
+ LineToConsole("Mix_GroupChannel: %s\n", Mix_GetError());
+ break;
}
}