Update of /cvsroot/netrek/client/netrekxp/src
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv18965/src
Modified Files:
defaults.c local.c
Log Message:
Added much needed comments to the confusing cloaking draw logic in local.c
Fixed the phaser sound counter so that it is properly reset even when you are cloaked - other people's phaser sounds were
not being played while you were cloaked, this bug has been around a long time and is in COW as well.
Fixed reversed order of mainresizeable and maintitlebar functions in the defaults list.
Switched around 2 macros in netrekrc to a more logical order.
Updated todo list.
Index: local.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/local.c,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -d -r1.46 -r1.47
--- local.c 26 Jun 2006 01:21:01 -0000 1.46
+++ local.c 3 Jul 2006 17:03:24 -0000 1.47
@@ -801,6 +801,8 @@
}
}
+ /* If cloaking cycle is complete, just draw the cloak icon, and skip over
+ the ship drawing code with the goto statement */
if (j->p_flags & PFCLOAK && (j->p_cloakphase == (CLOAK_PHASES - 1)))
{
if (myPlayer (j)
@@ -820,6 +822,8 @@
goto shieldlabel; /* draw the shield even when
* cloaked */
}
+ /* At this point, it's another player who is fully cloaked - skip
+ the rest of the draw function */
continue;
}
if (j->p_status == PALIVE)
@@ -995,17 +999,20 @@
w);
}
+ /* If the ship is not yet fully cloaked, draw the cloak icon on top
+ of the ship icon */
if (j->p_cloakphase > 0)
{
W_WriteBitmap (dx - (cloak_width / 2),
dy - (cloak_height / 2), cloakicon,
playerColor (j), w);
if (!myPlayer (j) && !isObsLockPlayer(j))
- /* if my player, or observing that player, draw the shield */
+ /* If not my player, or not observing that player, we exit the draw
+ function here */
continue;
}
-
- shieldlabel:
+ /* This is the goto reentry point for the case when your ship is fully cloaked */
+ shieldlabel:
#ifdef BEEPLITE
if ((useLite && emph_player_seq_n[j->p_no] > 0)
@@ -1217,8 +1224,17 @@
}
#endif
- if (j->p_flags & PFCLOAK) /* when cloaked stop here */
+ /* When cloaked, stop here. But need to reset the sound_phaser counter
+ to 0, otherwise other people's phaser sounds don't play while you are
+ cloaked. Not necessary to check against phaser PHFREE status.*/
+ if (j->p_flags & PFCLOAK)
+ {
+#ifdef SOUND
+ if (myPlayer(j) || isObsLockPlayer(j))
+ sound_phaser = 0;
+#endif
continue;
+ }
{
int color = playerColor (j);
Index: defaults.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/defaults.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- defaults.c 25 Jun 2006 08:19:40 -0000 1.28
+++ defaults.c 3 Jul 2006 17:03:24 -0000 1.29
@@ -211,15 +211,15 @@
NULL
}
},
- {"mainTitleBar", &mainTitleBar, RC_BOOL,
+ {"mainResizeable", &mainResizeable, RC_BOOL,
{
- "Start main window with title bar on (can be toggled by alt+enter)",
+ "Make main window resizeable",
NULL
}
},
- {"mainResizeable", &mainResizeable, RC_BOOL,
+ {"mainTitleBar", &mainTitleBar, RC_BOOL,
{
- "Make main window resizeable",
+ "Start main window with title bar on (can be toggled by alt+enter)",
NULL
}
},