mirror of
https://github.com/solemnwarning/ipxwrapper
synced 2024-12-30 16:45:37 +01:00
Use IDirectPlay3A interface for DirectPlay tests.
Windows 98 ships with DirectX 5.2, which predates IDirectPlay4A.
This commit is contained in:
parent
bc4ebfef2f
commit
1eba082389
@ -120,7 +120,7 @@ static BOOL FAR PASCAL list_players_cb(
|
|||||||
|
|
||||||
static DWORD WINAPI recv_thread_main(LPVOID lpParameter)
|
static DWORD WINAPI recv_thread_main(LPVOID lpParameter)
|
||||||
{
|
{
|
||||||
IDirectPlay4 *dp = (IDirectPlay4*)(lpParameter);
|
IDirectPlay3 *dp = (IDirectPlay3*)(lpParameter);
|
||||||
|
|
||||||
DWORD bufsize = 0;
|
DWORD bufsize = 0;
|
||||||
char *buf = NULL;
|
char *buf = NULL;
|
||||||
@ -150,7 +150,7 @@ static DWORD WINAPI recv_thread_main(LPVOID lpParameter)
|
|||||||
}
|
}
|
||||||
else if(err != DP_OK)
|
else if(err != DP_OK)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "IDirectPlay4::Receive: %u\n", (unsigned int)(err));
|
fprintf(stderr, "IDirectPlay3::Receive: %u\n", (unsigned int)(err));
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -181,19 +181,19 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IDirectPlay4 *dp;
|
IDirectPlay3 *dp;
|
||||||
assert_dp_call("CoCreateInstance",
|
assert_dp_call("CoCreateInstance",
|
||||||
CoCreateInstance(
|
CoCreateInstance(
|
||||||
&CLSID_DirectPlay, NULL, CLSCTX_INPROC_SERVER, &IID_IDirectPlay4A, (void**)(&dp)));
|
&CLSID_DirectPlay, NULL, CLSCTX_INPROC_SERVER, &IID_IDirectPlay3A, (void**)(&dp)));
|
||||||
|
|
||||||
{
|
{
|
||||||
void *conn = NULL;
|
void *conn = NULL;
|
||||||
|
|
||||||
assert_dp_call("IDirectPlay4::EnumConnections",
|
assert_dp_call("IDirectPlay3::EnumConnections",
|
||||||
IDirectPlayX_EnumConnections(
|
IDirectPlayX_EnumConnections(
|
||||||
dp, NULL, (LPDPENUMCONNECTIONSCALLBACK)(©_ipx_conn), &conn, 0));
|
dp, NULL, (LPDPENUMCONNECTIONSCALLBACK)(©_ipx_conn), &conn, 0));
|
||||||
|
|
||||||
assert_dp_call("IDirectPlay4::InitializeConnection",
|
assert_dp_call("IDirectPlay3::InitializeConnection",
|
||||||
IDirectPlayX_InitializeConnection(dp, conn, 0));
|
IDirectPlayX_InitializeConnection(dp, conn, 0));
|
||||||
|
|
||||||
free(conn);
|
free(conn);
|
||||||
@ -219,7 +219,7 @@ int main(int argc, char **argv)
|
|||||||
session.guidApplication = TEST_APP_GUID;
|
session.guidApplication = TEST_APP_GUID;
|
||||||
session.lpszSessionNameA = session_name;
|
session.lpszSessionNameA = session_name;
|
||||||
|
|
||||||
assert_dp_call("IDirectPlay4::Open",
|
assert_dp_call("IDirectPlay3::Open",
|
||||||
IDirectPlayX_Open(dp, &session, DPOPEN_CREATE));
|
IDirectPlayX_Open(dp, &session, DPOPEN_CREATE));
|
||||||
|
|
||||||
DWORD bufsize = 0;
|
DWORD bufsize = 0;
|
||||||
@ -233,7 +233,7 @@ int main(int argc, char **argv)
|
|||||||
DPSESSIONDESC2 *sd = malloc(bufsize);
|
DPSESSIONDESC2 *sd = malloc(bufsize);
|
||||||
assert(sd);
|
assert(sd);
|
||||||
|
|
||||||
assert_dp_call("IDirectPlay4::GetSessionDesc",
|
assert_dp_call("IDirectPlay3::GetSessionDesc",
|
||||||
IDirectPlayX_GetSessionDesc(dp, sd, &bufsize));
|
IDirectPlayX_GetSessionDesc(dp, sd, &bufsize));
|
||||||
|
|
||||||
unsigned char *uuid_str;
|
unsigned char *uuid_str;
|
||||||
@ -253,7 +253,7 @@ int main(int argc, char **argv)
|
|||||||
session.dwSize = sizeof(session);
|
session.dwSize = sizeof(session);
|
||||||
session.guidApplication = TEST_APP_GUID;
|
session.guidApplication = TEST_APP_GUID;
|
||||||
|
|
||||||
assert_dp_call("IDirectPlay4::EnumSessions",
|
assert_dp_call("IDirectPlay3::EnumSessions",
|
||||||
IDirectPlayX_EnumSessions(dp, &session, 3000, &list_sessions_cb, NULL, 0));
|
IDirectPlayX_EnumSessions(dp, &session, 3000, &list_sessions_cb, NULL, 0));
|
||||||
}
|
}
|
||||||
else if(strcmp(cmd, "join_session") == 0)
|
else if(strcmp(cmd, "join_session") == 0)
|
||||||
@ -266,7 +266,7 @@ int main(int argc, char **argv)
|
|||||||
session.dwSize = sizeof(session);
|
session.dwSize = sizeof(session);
|
||||||
UuidFromString((RPC_CSTR)(session_guid), &(session.guidInstance));
|
UuidFromString((RPC_CSTR)(session_guid), &(session.guidInstance));
|
||||||
|
|
||||||
assert_dp_call("IDirectPlay4::Open",
|
assert_dp_call("IDirectPlay3::Open",
|
||||||
IDirectPlayX_Open(dp, &session, DPOPEN_JOIN));
|
IDirectPlayX_Open(dp, &session, DPOPEN_JOIN));
|
||||||
}
|
}
|
||||||
else if(strcmp(cmd, "create_player") == 0)
|
else if(strcmp(cmd, "create_player") == 0)
|
||||||
@ -279,7 +279,7 @@ int main(int argc, char **argv)
|
|||||||
name.dwSize = sizeof(name);
|
name.dwSize = sizeof(name);
|
||||||
name.lpszLongNameA = strtok(NULL, " \n");
|
name.lpszLongNameA = strtok(NULL, " \n");
|
||||||
|
|
||||||
assert_dp_call("IDirectPlay4::CreatePlayer",
|
assert_dp_call("IDirectPlay3::CreatePlayer",
|
||||||
IDirectPlayX_CreatePlayer(dp, &player_id, &name, NULL, NULL, 0, 0));
|
IDirectPlayX_CreatePlayer(dp, &player_id, &name, NULL, NULL, 0, 0));
|
||||||
|
|
||||||
lock_printf("player_id %u\n", (unsigned int)(player_id));
|
lock_printf("player_id %u\n", (unsigned int)(player_id));
|
||||||
@ -294,7 +294,7 @@ int main(int argc, char **argv)
|
|||||||
DPID player_to = strtoul(strtok(NULL, " \n"), NULL, 10);
|
DPID player_to = strtoul(strtok(NULL, " \n"), NULL, 10);
|
||||||
char *message = strtok(NULL, " \n");
|
char *message = strtok(NULL, " \n");
|
||||||
|
|
||||||
assert_dp_call("IDirectPlay4::Send",
|
assert_dp_call("IDirectPlay3::Send",
|
||||||
IDirectPlayX_Send(dp, player_from, player_to, 0, message, strlen(message) + 1));
|
IDirectPlayX_Send(dp, player_from, player_to, 0, message, strlen(message) + 1));
|
||||||
}
|
}
|
||||||
else if(strcmp(cmd, "exit") == 0)
|
else if(strcmp(cmd, "exit") == 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user