1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include <ctype.h>
5 
6 #include "fixer.h"
7 
8 #include "3dc.h"
9 #include "inline.h"
10 #include "module.h"
11 #include "stratdef.h"
12 #include "equipmnt.h"
13 
14 #include "pldnet.h"
15 #include "net.h"
16 
17 
18 DPID AVPDPNetID;
19 int QuickStartMultiplayer=1;
20 DPNAME AVPDPplayerName;
21 int glpDP; /* directplay object */
22 
DpExtInit(DWORD cGrntdBufs,DWORD cBytesPerBuf,BOOL bErrChcks)23 BOOL DpExtInit(DWORD cGrntdBufs, DWORD cBytesPerBuf, BOOL bErrChcks)
24 {
25 	fprintf(stderr, "DpExtInit(%d, %d, %d)\n", cGrntdBufs, cBytesPerBuf, bErrChcks);
26 
27 	return TRUE;
28 }
29 
DpExtUnInit()30 void DpExtUnInit()
31 {
32 	fprintf(stderr, "DpExtUnInit()\n");
33 }
34 
DpExtRecv(int lpDP2A,void * lpidFrom,void * lpidTo,DWORD dwFlags,void * lplpData,LPDWORD lpdwDataSize)35 HRESULT DpExtRecv(int lpDP2A, void *lpidFrom, void *lpidTo, DWORD dwFlags, void *lplpData, LPDWORD lpdwDataSize)
36 {
37 /*
38 	fprintf(stderr, "DpExtRecv(%d, %p, %p, %d, %p, %p)\n", lpDP2A, lpidFrom, lpidTo, dwFlags, lplpData, lpdwDataSize);
39 */
40 	return 1;
41 }
42 
DpExtSend(int lpDP2A,DPID idFrom,DPID idTo,DWORD dwFlags,void * lpData,DWORD dwDataSize)43 HRESULT DpExtSend(int lpDP2A, DPID idFrom, DPID idTo, DWORD dwFlags, void *lpData, DWORD dwDataSize)
44 {
45 /*
46 	fprintf(stderr, "DpExtSend(%d, %d, %d, %d, %p, %d)\n", lpDP2A, idFrom, idTo, dwFlags, lpData, dwDataSize);
47 */
48 #if 0
49 	FILE *fp = fopen("net.log", "ab");
50 	fprintf(fp, "\nDpExtSend(%d, %d, %d, %d, %p, %d) ", lpDP2A, idFrom, idTo, dwFlags, lpData, dwDataSize);
51 	fprintf(fp, "time = %d\n", timeGetTime());
52 	fwrite(lpData, dwDataSize, 1, fp);
53 	fclose(fp);
54 #endif
55 
56 	return 1;
57 }
58 
59 /* directplay.c */
DirectPlay_ConnectingToLobbiedGame(char * playerName)60 int DirectPlay_ConnectingToLobbiedGame(char* playerName)
61 {
62 	fprintf(stderr, "DirectPlay_ConnectingToLobbiedGame(%s)\n", playerName);
63 
64 	return 0;
65 }
66 
DirectPlay_ConnectingToSession()67 int DirectPlay_ConnectingToSession()
68 {
69 	fprintf(stderr, "DirectPlay_ConnectingToSession()\n");
70 
71 	return 0;
72 }
73 
DirectPlay_UpdateSessionList(int * SelectedItem)74 BOOL DirectPlay_UpdateSessionList(int *SelectedItem)
75 {
76 	fprintf(stderr, "DirectPlay_UpdateSessionList(%p)\n", SelectedItem);
77 
78 	return 0;
79 }
80 
DirectPlay_JoinGame()81 int DirectPlay_JoinGame()
82 {
83 	fprintf(stderr, "DirectPlay_JoinGame()\n");
84 
85 	return 0;
86 }
87 
DirectPlay_EnumConnections()88 void DirectPlay_EnumConnections()
89 {
90 	fprintf(stderr, "DirectPlay_EnumConnections()\n");
91 
92 	netGameData.tcpip_available = 1;
93 	netGameData.ipx_available = 0;
94 	netGameData.modem_available = 0;
95 	netGameData.serial_available = 0;
96 }
97 
DirectPlay_HostGame(char * playerName,char * sessionName,int species,int gamestyle,int level)98 int DirectPlay_HostGame(char *playerName, char *sessionName,int species,int gamestyle,int level)
99 {
100 	extern int DetermineAvailableCharacterTypes(int);
101 
102 	int maxPlayers=DetermineAvailableCharacterTypes(FALSE);
103 	if(maxPlayers<1) maxPlayers=1;
104 	if(maxPlayers>8) maxPlayers=8;
105 
106 	if(!netGameData.skirmishMode) {
107 		fprintf(stderr, "DirectPlay_HostGame(%s, %s, %d, %d, %d)\n", playerName, sessionName, species, gamestyle, level);
108 
109 		//fake multiplayer
110 		//need to set the id to an non zero value
111 		AVPDPNetID=100;
112 
113 		memset(&AVPDPplayerName, 0, sizeof(AVPDPplayerName));
114 		AVPDPplayerName.dwSize = sizeof(DPNAME);
115 		AVPDPplayerName.lpszShortNameA  = playerName;
116 		AVPDPplayerName.lpszLongNameA = playerName;
117 
118 		glpDP = 1;
119 	} else {
120 		//fake multiplayer
121 		//need to set the id to an non zero value
122 		AVPDPNetID=100;
123 
124 		memset(&AVPDPplayerName, 0, sizeof(AVPDPplayerName));
125 		AVPDPplayerName.dwSize = sizeof(DPNAME);
126 		AVPDPplayerName.lpszShortNameA  = playerName;
127 		AVPDPplayerName.lpszLongNameA = playerName;
128 	}
129 
130 	InitAVPNetGameForHost(species,gamestyle,level);
131 
132 	return 1;
133 }
134 
DirectPlay_ConnectToSession(int sessionNumber,char * playerName)135 int DirectPlay_ConnectToSession(int sessionNumber, char *playerName)
136 {
137 	fprintf(stderr, "DirectPlay_ConnectToSession(%d, %s)\n", sessionNumber, playerName);
138 
139 	return 0;
140 }
141 
DirectPlay_Disconnect()142 int DirectPlay_Disconnect()
143 {
144 	fprintf(stderr, "DirectPlay_Disconnect()\n");
145 
146 	return 1;
147 }
148 
IDirectPlayX_GetPlayerName(int glpDP,DPID id,void * data,void * size)149 HRESULT IDirectPlayX_GetPlayerName(int glpDP, DPID id, void *data, void *size)
150 {
151 	fprintf(stderr, "IDirectPlayX_GetPlayerName(%d, %d, %p, %p)\n", glpDP, id, data, size);
152 
153 	return 1;
154 }
155 
156 /* End of Linux-related junk */
157