* Add con_log.c and con_passive.c from r1222 to quake3.vcproj.

* Rename 'write' and 'read' variables in con_log.c, as these are already
defined in io.h in the MSVC environment.
This commit is contained in:
Julian Priestley 2007-12-02 00:48:59 +00:00
parent 5bd3ef4190
commit 4f0565a4a7
2 changed files with 24 additions and 16 deletions

View file

@ -27,8 +27,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#define MAX_LOG 32768 #define MAX_LOG 32768
static char consoleLog[ MAX_LOG ]; static char consoleLog[ MAX_LOG ];
static unsigned int write = 0; static unsigned int writePos = 0;
static unsigned int read = 0; static unsigned int readPos = 0;
/* /*
================== ==================
@ -37,10 +37,10 @@ CON_LogSize
*/ */
unsigned int CON_LogSize( void ) unsigned int CON_LogSize( void )
{ {
if( read <= write ) if( readPos <= writePos )
return write - read; return writePos - readPos;
else else
return write + MAX_LOG - read; return writePos + MAX_LOG - readPos;
} }
/* /*
@ -67,19 +67,19 @@ unsigned int CON_LogWrite( const char *in )
while( CON_LogFree( ) < length && CON_LogSize( ) > 0 ) while( CON_LogFree( ) < length && CON_LogSize( ) > 0 )
{ {
// Free enough space // Free enough space
while( consoleLog[ read ] != '\n' && CON_LogSize( ) > 1 ) while( consoleLog[ readPos ] != '\n' && CON_LogSize( ) > 1 )
read = ( read + 1 ) % MAX_LOG; readPos = ( readPos + 1 ) % MAX_LOG;
// Skip past the '\n' // Skip past the '\n'
read = ( read + 1 ) % MAX_LOG; readPos = ( readPos + 1 ) % MAX_LOG;
} }
if( CON_LogFree( ) < length ) if( CON_LogFree( ) < length )
return 0; return 0;
if( write + length > MAX_LOG ) if( writePos + length > MAX_LOG )
{ {
firstChunk = MAX_LOG - write; firstChunk = MAX_LOG - writePos;
secondChunk = length - firstChunk; secondChunk = length - firstChunk;
} }
else else
@ -88,10 +88,10 @@ unsigned int CON_LogWrite( const char *in )
secondChunk = 0; secondChunk = 0;
} }
Com_Memcpy( consoleLog + write, in, firstChunk ); Com_Memcpy( consoleLog + writePos, in, firstChunk );
Com_Memcpy( consoleLog, in + firstChunk, secondChunk ); Com_Memcpy( consoleLog, in + firstChunk, secondChunk );
write = ( write + length ) % MAX_LOG; writePos = ( writePos + length ) % MAX_LOG;
return length; return length;
} }
@ -109,9 +109,9 @@ unsigned int CON_LogRead( char *out, unsigned int outSize )
if( CON_LogSize( ) < outSize ) if( CON_LogSize( ) < outSize )
outSize = CON_LogSize( ); outSize = CON_LogSize( );
if( read + outSize > MAX_LOG ) if( readPos + outSize > MAX_LOG )
{ {
firstChunk = MAX_LOG - read; firstChunk = MAX_LOG - readPos;
secondChunk = outSize - firstChunk; secondChunk = outSize - firstChunk;
} }
else else
@ -120,10 +120,10 @@ unsigned int CON_LogRead( char *out, unsigned int outSize )
secondChunk = 0; secondChunk = 0;
} }
Com_Memcpy( out, consoleLog + read, firstChunk ); Com_Memcpy( out, consoleLog + readPos, firstChunk );
Com_Memcpy( out + firstChunk, out, secondChunk ); Com_Memcpy( out + firstChunk, out, secondChunk );
read = ( read + outSize ) % MAX_LOG; readPos = ( readPos + outSize ) % MAX_LOG;
return outSize; return outSize;
} }

View file

@ -1149,6 +1149,14 @@
/> />
</FileConfiguration> </FileConfiguration>
</File> </File>
<File
RelativePath="..\..\code\sys\con_log.c"
>
</File>
<File
RelativePath="..\..\code\sys\con_passive.c"
>
</File>
<File <File
RelativePath="..\..\code\qcommon\cvar.c" RelativePath="..\..\code\qcommon\cvar.c"
> >