- Fixed: The VC++ project was not set up to redefine RM using del in

wadsrc/Makefile, nor did it use the makefile for cleaning.
- Added ST_NetMessage() for mixing miscellaneous messages with the network
  startup meter, since they get mixed in the same space on the Linux terminal
  and must be handled properly to avoid looking bad.


SVN r429 (trunk)
This commit is contained in:
Randy Heit 2006-12-29 02:21:47 +00:00
parent 4899fa91f1
commit ff65f75a8c
6 changed files with 319 additions and 169 deletions

View file

@ -1,4 +1,9 @@
December 28, 2006
- Fixed: The VC++ project was not set up to redefine RM using del in
wadsrc/Makefile, nor did it use the makefile for cleaning.
- Added ST_NetMessage() for mixing miscellaneous messages with the network
startup meter, since they get mixed in the same space on the Linux terminal
and must be handled properly to avoid looking bad.
- Fixed the new network status display for the Linux terminal.
December 25, 2006 (Changes by Graf Zahl)
@ -34,6 +39,9 @@ December 23, 2006 (Changes by Graf Zahl)
flags and the BlastRadius code doesn't set MF2_SLIDE anymore.
December 22, 2006
- Fixed: If anyone other than the most recently-connected player aborted
during i_net handshaking, everybody who connected after them would have
the wrong idea of what their player number was.
- Guests can now watch as other guests connect during i_net handshaking.
- Fixed: The host would let more than the desired number of players connect.
- Decreased the frequency of packets in ST_NetLoop() to two per second.

View file

@ -70,8 +70,6 @@
#define NOVTABLE
#endif
typedef long long __int64;
#ifdef _MSC_VER
typedef __int8 SBYTE;
typedef unsigned __int8 BYTE;

View file

@ -47,18 +47,52 @@ static int NetProgressMax, NetProgressTicker;
static const char *NetMessage;
static char SpinnyProgressChars[8] = { '|', '/', '-', '\\', '|', '/', '-', '\\' };
//===========================================================================
//
// ST_Init
//
// Sets the size of the progress bar and displays the startup screen.
//
//===========================================================================
void ST_Init(int maxProgress)
{
}
//===========================================================================
//
// ST_Done
//
// Called just before entering graphics mode to deconstruct the startup
// screen.
//
//===========================================================================
void ST_Done()
{
}
//===========================================================================
//
// ST_Progress
//
// Bumps the progress meter one notch.
//
//===========================================================================
void ST_Progress()
{
}
//===========================================================================
//
// ST_NetInit
//
// Sets stdin for unbuffered I/O, displays the given message, and shows
// a progress meter.
//
//===========================================================================
void ST_NetInit(const char *message, int numplayers)
{
if (!DidNetInit)
@ -91,6 +125,14 @@ void ST_NetInit(const char *message, int numplayers)
ST_NetProgress(1); // You always know about yourself
}
//===========================================================================
//
// ST_NetDone
//
// Restores the old stdin tty settings.
//
//===========================================================================
void ST_NetDone()
{
// Restore stdin settings
@ -102,6 +144,16 @@ void ST_NetDone()
}
}
//===========================================================================
//
// ST_NetMessage
//
// Call this between ST_NetInit() and ST_NetDone() instead of Printf() to
// display messages, because the progress meter is mixed in the same output
// stream as normal messages.
//
//===========================================================================
void ST_NetMessage(const char *format, ...)
{
FString str;
@ -111,12 +163,17 @@ void ST_NetMessage(const char *format, ...)
str.VFormat (format, argptr);
va_end (argptr);
fprintf (stderr, "\r%-40s\n", str.GetChars());
if (NetMessage == 0)
{
NetMessage = 0;
}
}
//===========================================================================
//
// ST_NetProgress
//
// Sets the network progress meter. If count is 0, it gets bumped by 1.
// Otherwise, it is set to count.
//
//===========================================================================
void ST_NetProgress(int count)
{
int i;
@ -148,6 +205,20 @@ void ST_NetProgress(int count)
}
}
//===========================================================================
//
// ST_NetLoop
//
// The timer_callback function is called at least two times per second
// and passed the userdata value. It should return true to stop the loop and
// return control to the caller or false to continue the loop.
//
// ST_NetLoop will return true if the loop was halted by the callback and
// false if the loop was halted because the user wants to abort the
// network synchronization.
//
//===========================================================================
bool ST_NetLoop(bool (*timer_callback)(void *), void *userdata)
{
fd_set rfds;

View file

@ -54,6 +54,14 @@ int MaxPos, CurPos;
int NetMaxPos, NetCurPos;
LRESULT NetMarqueeMode;
//===========================================================================
//
// ST_Init
//
// Sets the size of the progress bar and displays the startup screen.
//
//===========================================================================
void ST_Init(int maxProgress)
{
ProgressBar = CreateWindowEx(0, PROGRESS_CLASS,
@ -66,6 +74,15 @@ void ST_Init(int maxProgress)
CurPos = 0;
}
//===========================================================================
//
// ST_Done
//
// Called just before entering graphics mode to deconstruct the startup
// screen.
//
//===========================================================================
void ST_Done()
{
if (ProgressBar != NULL)
@ -76,6 +93,14 @@ void ST_Done()
}
}
//===========================================================================
//
// ST_Progress
//
// Bumps the progress meter one notch.
//
//===========================================================================
void ST_Progress()
{
if (CurPos < MaxPos)
@ -156,6 +181,14 @@ void ST_NetInit(const char *message, int numplayers)
ST_NetProgress(1); // You always know about yourself
}
//===========================================================================
//
// ST_NetDone
//
// Removes the network startup pane.
//
//===========================================================================
void ST_NetDone()
{
if (NetStartPane != NULL)
@ -166,6 +199,36 @@ void ST_NetDone()
}
}
//===========================================================================
//
// ST_NetMessage
//
// Call this between ST_NetInit() and ST_NetDone() instead of Printf() to
// display messages, in case the progress meter is mixed in the same output
// stream as normal messages.
//
//===========================================================================
void ST_NetMessage(const char *format, ...)
{
FString str;
va_list argptr;
va_start (argptr, format);
str.VFormat (format, argptr);
va_end (argptr);
Printf ("%s\n", str.GetChars());
}
//===========================================================================
//
// ST_NetProgress
//
// Sets the network progress meter. If count is 0, it gets bumped by 1.
// Otherwise, it is set to count.
//
//===========================================================================
void ST_NetProgress(int count)
{
if (count == 0)
@ -199,7 +262,7 @@ void ST_NetProgress(int count)
//
// ST_NetLoop
//
// The timer_callback function is called approximately two times per second
// The timer_callback function is called at least two times per second
// and passed the userdata value. It should return true to stop the loop and
// return control to the caller or false to continue the loop.
//
@ -247,6 +310,15 @@ bool ST_NetLoop(bool (*timer_callback)(void *), void *userdata)
return false;
}
//===========================================================================
//
// NetStartPaneProc
//
// DialogProc for the network startup pane. It just waits for somebody to
// click a button, and the only button available is the abort one.
//
//===========================================================================
INT_PTR CALLBACK NetStartPaneProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
if (msg == WM_COMMAND && HIWORD(wParam) == BN_CLICKED)

View file

@ -7,10 +7,11 @@
# build the wad correctly with nmake. If you use GCC, then "make" is
# sufficient to build the wad.
MAKEWAD=../tools/makewad/makewad
XLATCC=../tools/xlatcc/xlatcc
DEHSUPP=../tools/dehsupp/dehsupp
RM=rm -f
SLASH=/
MAKEWAD=..$(SLASH)tools$(SLASH)makewad$(SLASH)makewad
XLATCC=..$(SLASH)tools$(SLASH)xlatcc$(SLASH)xlatcc
DEHSUPP=..$(SLASH)tools$(SLASH)dehsupp$(SLASH)dehsupp
makethewad: wadmake Makefile2
$(MAKE) $(NOLOGO) XLATCC=$(XLATCC) DEHSUPP=$(DEHSUPP) -f Makefile2
@ -19,11 +20,11 @@ wadmake: zdoom.lst
$(MAKEWAD) -make wadmake zdoom.lst
clean:
$(RM) wadmake zdoom.pk3 xlat/*.x dehsupp.lmp
$(RM) wadmake zdoom.pk3 xlat$(SLASH)*.x dehsupp.lmp
# This target is for Visual C++'s Rebuild All command
nrebuild: clean
$(MAKE) NOLOGO=$(NOLOGO) MAKEWAD=$(MAKEWAD) XLATCC=$(XLATCC) DEHSUPP=$(DEHSUPP)
$(MAKE) NOLOGO=$(NOLOGO) SLASH=$(SLASH)
copy zdoom.pk3 ..\..
# Copy the wad to my testing area

View file

@ -27,9 +27,9 @@
>
<Tool
Name="VCNMakeTool"
BuildCommandLine="nmake /nologo MAKEWAD=..\tools\makewad\makewad XLATCC=..\tools\xlatcc\xlatcc DEHSUPP=..\tools\dehsupp\dehsupp NOLOGO=/nologo andcopy"
ReBuildCommandLine="nmake /nologo MAKEWAD=..\tools\makewad\makewad NOLOGO=/nologo XLATCC=..\tools\xlatcc\xlatcc DEHSUPP=..\tools\dehsupp\dehsupp nrebuild"
CleanCommandLine="del wadmake zdoom.pk3"
BuildCommandLine="nmake /nologo RM=&quot;del /f /q&quot; SLASH=\ andcopy"
ReBuildCommandLine="nmake /nologo RM=&quot;del /f /q&quot; SLASH=\ nrebuild"
CleanCommandLine="nmake /nologo RM=&quot;del /f /q&quot; SLASH=\ clean"
Output="zdoom.pk3"
PreprocessorDefinitions=""
IncludeSearchPath=""
@ -69,9 +69,9 @@
>
<Tool
Name="VCNMakeTool"
BuildCommandLine="nmake /nologo MAKEWAD=..\tools\makewad\makewad XLATCC=..\tools\xlatcc\xlatcc DEHSUPP=..\tools\dehsupp\dehsupp NOLOGO=/nologo"
ReBuildCommandLine="nmake /nologo MAKEWAD=..\tools\makewad\makewad NOLOGO=/nologo XLATCC=..\tools\xlatcc\xlatcc DEHSUPP=..\tools\dehsupp\dehsupp nrebuild"
CleanCommandLine="del wadmake zdoom.pk3"
BuildCommandLine="nmake /nologo RM=&quot;del /f /q&quot; SLASH=\ andcopy"
ReBuildCommandLine="nmake /nologo RM=&quot;del /f /q&quot; SLASH=\ nrebuild"
CleanCommandLine="nmake /nologo RM=&quot;del /f /q&quot; SLASH=\ clean"
Output="zdoom.pk3"
PreprocessorDefinitions=""
IncludeSearchPath=""