Merged ztcp.

This commit is contained in:
n-a-c-h
2005-02-06 10:59:37 +00:00
parent ca08fa96db
commit d8ada4fc35
4 changed files with 47 additions and 1272 deletions

View File

@@ -25,6 +25,7 @@ GUIDIR=gui
VIDEODIR=video VIDEODIR=video
WINDIR=linux WINDIR=linux
OBJDIR=obj OBJDIR=obj
NETDIR=net
ZIPDIR=zip ZIPDIR=zip
EFFECTSDIR=effects EFFECTSDIR=effects
JMADIR=jma JMADIR=jma
@@ -56,12 +57,13 @@ VIDEOBJ=${VIDEODIR}/makev16b.o ${VIDEODIR}/makev16t.o ${VIDEODIR}/makevid.o\
WINOBJ=${WINDIR}/copyvwin.o \ WINOBJ=${WINDIR}/copyvwin.o \
${WINDIR}/sdlintrf.o ${WINDIR}/sdllink.o \ ${WINDIR}/sdlintrf.o ${WINDIR}/sdllink.o \
@GL_DRAW@ ${WINDIR}/sw_draw.o \ @GL_DRAW@ ${WINDIR}/sw_draw.o \
${WINDIR}/zloaderw.o ${WINDIR}/ztcp.o ${WINDIR}/zipxw.o \ ${WINDIR}/zloaderw.o ${WINDIR}/zipxw.o ${WINDIR}/zfilew.o
${WINDIR}/zfilew.o
WINDOSOBJ=${DOSDIR}/debug.o ${DOSDIR}/joy.o ${DOSDIR}/modemrtn.o ${DOSDIR}/vesa2.o\ WINDOSOBJ=${DOSDIR}/debug.o ${DOSDIR}/joy.o ${DOSDIR}/modemrtn.o ${DOSDIR}/vesa2.o\
${DOSDIR}/initvid.o ${DOSDIR}/sw.o ${DOSDIR}/gppro.o ${DOSDIR}/vesa12.o ${DOSDIR}/initvid.o ${DOSDIR}/sw.o ${DOSDIR}/gppro.o ${DOSDIR}/vesa12.o
NETOBJ=${NETDIR}/ztcp.o
JMAOBJ=${JMADIR}/7zlzma.o ${JMADIR}/crc32.o ${JMADIR}/iiostrm.o\ JMAOBJ=${JMADIR}/7zlzma.o ${JMADIR}/crc32.o ${JMADIR}/iiostrm.o\
${JMADIR}/inbyte.o ${JMADIR}/jma.o ${JMADIR}/lzma.o ${JMADIR}/lzmadec.o\ ${JMADIR}/inbyte.o ${JMADIR}/jma.o ${JMADIR}/lzma.o ${JMADIR}/lzmadec.o\
${JMADIR}/winout.o ${JMADIR}/zsnesjma.o ${JMADIR}/winout.o ${JMADIR}/zsnesjma.o
@@ -72,7 +74,7 @@ EFFECTSOBJ=${EFFECTSDIR}/burn.o ${EFFECTSDIR}/water.o ${EFFECTSDIR}/smoke.o
MAINOBJ=cfgload.o endmem.o init.o initc.o uic.o patch.o ui.o vcache.o version.o MAINOBJ=cfgload.o endmem.o init.o initc.o uic.o patch.o ui.o vcache.o version.o
OBJS=${CHIPSOBJ} ${CPUOBJ} ${WINOBJ} ${WINDOSOBJ} ${GUIOBJ} ${VIDEOBJ} ${MAINOBJ} ${ZIPOBJ} ${EFFECTSOBJ} ${JMAOBJ} OBJS=${CHIPSOBJ} ${CPUOBJ} ${WINOBJ} ${WINDOSOBJ} ${GUIOBJ} ${VIDEOBJ} ${MAINOBJ} ${NETOBJ} ${ZIPOBJ} ${EFFECTSOBJ} ${JMAOBJ}
.SUFFIXES: .cpp .c .asm .SUFFIXES: .cpp .c .asm

View File

@@ -24,12 +24,13 @@ DOSDIR=dos
GUIDIR=gui GUIDIR=gui
VIDEODIR=video VIDEODIR=video
WINDIR=win WINDIR=win
NETDIR=net
OBJDIR=obj OBJDIR=obj
ZIPDIR=zip ZIPDIR=zip
EFFECTSDIR=effects EFFECTSDIR=effects
JMADIR=jma JMADIR=jma
DELETECOMMAND=rm DELETECOMMAND=rm -f
TRUTH=;true TRUTH=;true
SLASH=/ SLASH=/
ASM=nasm ASM=nasm
@@ -148,7 +149,9 @@ WINVIDOBJ=${VIDEODIR}/sw_draw${OE} ${VIDEODIR}/hq2x16${OE} ${VIDEODIR}/hq2x32${O
WINOBJ=${WINDIR}/copyvwin${OE} ${DRESOBJ}\ WINOBJ=${WINDIR}/copyvwin${OE} ${DRESOBJ}\
${WINDIR}/winintrf${OE} ${WINDIR}/winlink${OE} ${WINDIR}/zloaderw${OE}\ ${WINDIR}/winintrf${OE} ${WINDIR}/winlink${OE} ${WINDIR}/zloaderw${OE}\
${WINDIR}/ztcp${OE} ${WINDIR}/zipxw${OE} ${WINDIR}/zfilew${OE} ${WINDIR}/zipxw${OE} ${WINDIR}/zfilew${OE}
NETOBJ=${NETDIR}/ztcp${OE}
#only used on DOS #only used on DOS
PREOBJ=${OBJDIR}/dosbuff.o ${OBJDIR}/ipx.o ${OBJDIR}/zipx.o PREOBJ=${OBJDIR}/dosbuff.o ${OBJDIR}/ipx.o ${OBJDIR}/zipx.o
@@ -177,7 +180,7 @@ DELETEOBJS=${OBJSORIG} ${DOSOBJ}
endif endif
ifeq (${OS},__WIN32__) ifeq (${OS},__WIN32__)
OBJS=${OBJSORIG} ${WINOBJ} ${DOSOBJORIG} ${WINVIDOBJ} OBJS=${OBJSORIG} ${WINOBJ} ${DOSOBJORIG} ${WINVIDOBJ} ${NETOBJ}
DELETEOBJS=${OBJS} DELETEOBJS=${OBJS}
endif endif

View File

@@ -86,9 +86,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
// only be done if the requested packet is within the past 64 packets. // only be done if the requested packet is within the past 64 packets.
// In-game chat will be moved to a separate packet in TCP/IP // In-game chat will be moved to a separate packet in TCP/IP
#include "gblhdr.h"
#ifdef __LINUX__ #ifdef __LINUX__
#include "gblhdr.h"
#define closesocket(A) close(A) #define closesocket(A) close(A)
#define CopyMemory(A,B,C) memcpy(A,B,C) #define CopyMemory(A,B,C) memcpy(A,B,C)
#define STUB_FUNCTION fprintf(stderr,"STUB: %s at " __FILE__ ", line %d, thread %d\n",__FUNCTION__,__LINE__,getpid()) #define STUB_FUNCTION fprintf(stderr,"STUB: %s at " __FILE__ ", line %d, thread %d\n",__FUNCTION__,__LINE__,getpid())
@@ -103,6 +102,14 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#define LPIN_ADDR struct in_addr* #define LPIN_ADDR struct in_addr*
#define SOCKET_ERROR -1 #define SOCKET_ERROR -1
#define INVALID_SOCKET -1 #define INVALID_SOCKET -1
#define ioctlsocket ioctl
#define FD_SET_VAR fd_set
#else
#include <stdio.h>
#include <time.h>
#include <windows.h>
#include <winsock.h>
#define FD_SET_VAR FD_SET
#endif #endif
int RecvPtr; int RecvPtr;
@@ -167,6 +174,7 @@ char hostname[50] = "IP N/A";
int SendData(int dsize,unsigned char *dptr); int SendData(int dsize,unsigned char *dptr);
int GetData(int dsize,unsigned char *dptr); int GetData(int dsize,unsigned char *dptr);
int GetLeftUDP();
/**********************************************************\ /**********************************************************\
* Initialize the zsnes tcpip module * * Initialize the zsnes tcpip module *
@@ -178,9 +186,7 @@ int GetData(int dsize,unsigned char *dptr);
int InitTCP() int InitTCP()
{ {
#ifndef __LINUX__ #ifndef __LINUX__
char blah[255];
WORD versionneeded = MAKEWORD(2,2); WORD versionneeded = MAKEWORD(2,2);
WSADATA wsadata; WSADATA wsadata;
#endif #endif
@@ -193,10 +199,10 @@ int InitTCP()
/* Verify version number and exit on wrong version */ /* Verify version number and exit on wrong version */
if (wsadata.wVersion != versionneeded) if (wsadata.wVersion != versionneeded)
{ {
return(-1); return(-1);
} }
serversocket=INVALID_SOCKET; serversocket=INVALID_SOCKET;
#endif #endif
return(0); return(0);
} }
@@ -257,8 +263,8 @@ void GetUDPStatus() {
\**********************************************************/ \**********************************************************/
int isipval(char *name){ int isipval(char *name){
int i; int i=0;
i=0;
while(name[i]!=0){ while(name[i]!=0){
if (!((name[i]=='.') || ((name[i]>='0') && (name[i]<='9')))) if (!((name[i]=='.') || ((name[i]>='0') && (name[i]<='9'))))
return(0); return(0);
@@ -273,9 +279,6 @@ int ConnectServer(char *servername, unsigned int port)
int retval,i; int retval,i;
LPHOSTENT host1=NULL; LPHOSTENT host1=NULL;
int yesip; int yesip;
#ifndef __LINUX__
WSADATA wsadata;
#endif
packetnum = 0; packetnum = 0;
packetnumhead = 0; packetnumhead = 0;
@@ -634,11 +637,7 @@ int acceptzuser()
int ServerCheckNewClient() int ServerCheckNewClient()
{ {
#ifdef __LINUX__ FD_SET_VAR zrf;
fd_set zrf;
#else
FD_SET zrf;
#endif
struct timeval nto; struct timeval nto;
int r; int r;
@@ -708,32 +707,6 @@ void StopServer()
} }
int GetLeftUDP()
{
#ifdef __LINUX__
fd_set zrf;
#else
FD_SET zrf;
#endif
struct timeval nto;
int r;
nto.tv_sec=0;
nto.tv_usec=0; /* return immediately */
FD_ZERO(&zrf);
FD_SET(userversocket,&zrf);
r=select(userversocket+1,&zrf,0,0,&nto);
if (r == SOCKET_ERROR)
{
closesocket(userversocket);
return(-1);
}
return(r);
}
/**********************************************************\ /**********************************************************\
* Send data * * Send data *
* - parameters : * * - parameters : *
@@ -1113,11 +1086,7 @@ int GetLeft()
{ {
int retval; int retval;
int tempsize; int tempsize;
#ifdef __LINUX__
retval = ioctl(gamesocket,FIONREAD,&tempsize);
#else
retval = ioctlsocket(gamesocket,FIONREAD,&tempsize); retval = ioctlsocket(gamesocket,FIONREAD,&tempsize);
#endif
if (retval == SOCKET_ERROR) if (retval == SOCKET_ERROR)
{ {
closesocket(gamesocket); closesocket(gamesocket);
@@ -1126,6 +1095,26 @@ int GetLeft()
return(tempsize); return(tempsize);
} }
int GetLeftUDP()
{
FD_SET_VAR zrf;
struct timeval nto;
int r;
nto.tv_sec=0;
nto.tv_usec=0; /* return immediately */
FD_ZERO(&zrf);
FD_SET(userversocket,&zrf);
r=select(userversocket+1,&zrf,0,0,&nto);
if (r == SOCKET_ERROR)
{
closesocket(userversocket);
return(-1);
}
return(r);
}
/**********************************************************\ /**********************************************************\
* Receive data * * Receive data *

File diff suppressed because it is too large Load Diff