cvs rm -f documentation/status/directplay ChangeLog Dimitrie O. Paun <dpaun@rogers.com> Merge documentation/status/directplay into the code. Index: dlls/dplayx/dpclassfactory.c =================================================================== RCS file: /var/cvs/wine/dlls/dplayx/dpclassfactory.c,v retrieving revision 1.16 diff -u -r1.16 dpclassfactory.c --- dlls/dplayx/dpclassfactory.c 5 Sep 2003 23:08:39 -0000 1.16 +++ dlls/dplayx/dpclassfactory.c 26 Sep 2003 22:21:09 -0000 @@ -1,4 +1,5 @@ -/* +/* COM class factory for direct play lobby interfaces. + * * Copyright 1999, 2000 Peter Hunnisett * * This library is free software; you can redistribute it and/or Index: dlls/dplayx/dplay.c =================================================================== RCS file: /var/cvs/wine/dlls/dplayx/dplay.c,v retrieving revision 1.44 diff -u -r1.44 dplay.c --- dlls/dplayx/dplay.c 9 Sep 2003 19:39:32 -0000 1.44 +++ dlls/dplayx/dplay.c 26 Sep 2003 22:06:50 -0000 @@ -2,8 +2,6 @@ * * Copyright 1998,1999,2000,2001 - Peter Hunnisett * - * <presently under construction - contact hunnise@nortelnetworks.com> - * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either Index: dlls/dplayx/dplayx_global.c =================================================================== RCS file: /var/cvs/wine/dlls/dplayx/dplayx_global.c,v retrieving revision 1.21 diff -u -r1.21 dplayx_global.c --- dlls/dplayx/dplayx_global.c 5 Sep 2003 23:08:39 -0000 1.21 +++ dlls/dplayx/dplayx_global.c 26 Sep 2003 22:12:43 -0000 @@ -17,10 +17,17 @@ * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -/* NOTE: Methods that begin with DPLAYX_ are used for dealing with - * dplayx.dll data which is accessible from all processes. + * + * + * NOTES: + * o Implementation of all things which are associated with dplay on + * the computer - ie shared resources and such. Methods in this + * compilation unit should not call anything out side this unit + * excepting base windows services and an interface to start the + * messaging thread. + * o Methods that begin with DPLAYX_ are used for dealing with + * dplayx.dll data which is accessible from all processes. + * */ #include <stdarg.h> Index: dlls/dplayx/dplayx_main.c =================================================================== RCS file: /var/cvs/wine/dlls/dplayx/dplayx_main.c,v retrieving revision 1.16 diff -u -r1.16 dplayx_main.c --- dlls/dplayx/dplayx_main.c 5 Sep 2003 23:08:39 -0000 1.16 +++ dlls/dplayx/dplayx_main.c 26 Sep 2003 22:28:29 -0000 @@ -18,6 +18,44 @@ * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * NOTES + * o DPMSGCMD_ENUMSESSIONSREPLY & DPMSGCMD_ENUMSESSIONSREQUEST + * Have most fields understood, but not all. Everything seems to work. + * o DPMSGCMD_REQUESTNEWPLAYERID & DPMSGCMD_NEWPLAYERIDREPLY + * Barely work. This needs to be completed for sessions to start. + * o A small issue will be the fact that DirectX 6.1(ie. DirectPlay4) + * introduces a layer of functionality inside the DP objects which + * provide guaranteed protocol delivery. This is even if the native + * protocol, IPX or modem for instance, doesn't guarantee it. I'm going + * to leave this kind of implementation to as close to the end as + * possible. However, I will implement an abstraction layer, where + * possible, for this functionality. It will do nothing to start, but + * will require only the implementation of the guaranteness to give + * final implementation. + * + * TODO: + * - Implement mutual exclusion on object data for existing functions + * - Ensure that all dll stubs are present and the ordinals are correct + * - Addition of DirectX 7.0 functionality for direct play + * - Implement some WineLib test programs using sdk programs as a skeleton + * - Change RegEnumKeyEx enumeration pattern to allow error handling and to + * share registry implementation (or at least simplify). + * - Add in appropriate RegCloseKey calls for all the opening we're doing... + * - Fix all the buffer sizes for registry calls. They're off by one - + * but in a safe direction. + * - Fix race condition on interface destruction + * - Handles need to be correctly reference counted + * - Check if we need to deallocate any list objects when destroying + * a dplay interface + * - RunApplication process spawning needs to have correct syncronization. + * - Need to get inter lobby messages working. + * - Decypher dplay messages between applications and implement... + * - Need to implement lobby session spawning. + * - Improve footprint and realtime blocking by setting up a separate data share + * between lobby application and client since there can be multiple apps per + * client. Also get rid of offset dependency by making data offset independent + * somehow. */ #include <stdarg.h> Index: dlls/dplayx/dplayx_messages.c =================================================================== RCS file: /var/cvs/wine/dlls/dplayx/dplayx_messages.c,v retrieving revision 1.12 diff -u -r1.12 dplayx_messages.c --- dlls/dplayx/dplayx_messages.c 5 Sep 2003 23:08:39 -0000 1.12 +++ dlls/dplayx/dplayx_messages.c 26 Sep 2003 22:18:10 -0000 @@ -2,8 +2,6 @@ * * Copyright 2000,2001 - Peter Hunnisett * - * <presently under construction - contact hunnise@nortelnetworks.com> - * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either @@ -17,6 +15,9 @@ * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * NOTES + * o Messaging interface required for both DirectPlay and DirectPlayLobby. */ #include <stdarg.h> Index: dlls/dplayx/dplayx_queue.h =================================================================== RCS file: /var/cvs/wine/dlls/dplayx/dplayx_queue.h,v retrieving revision 1.8 diff -u -r1.8 dplayx_queue.h --- dlls/dplayx/dplayx_queue.h 5 Sep 2003 23:08:39 -0000 1.8 +++ dlls/dplayx/dplayx_queue.h 26 Sep 2003 22:16:15 -0000 @@ -15,6 +15,12 @@ * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * NOTES + * o Linked list implementation for dplay/dplobby. Based off of the BSD + * version found in <sys/queue.h> + * o Port it to <wine/list.h> ? + * */ #ifndef __WINE_DPLAYX_QUEUE_H -- Dimi.