
DirectPlay
KaM might be lobby-able with DirectPlay.

Posts: 3822
Joined: 16 Sep 2007, 22:00
KaM Skill Level: Skilled
ICQ: 269127056
Website: http://lewin.hodgman.id.au
Yahoo Messenger: lewinlewinhodgman
Location: Australia
That sounds very interesting... It will need to be investigated. A while ago I found the data in the EXE which specifies the IP address and port of the online server. (and I can change it) So possibly we could run our own server with this Direct Play thing...
I'll have a look next weekend or sometime.
Lewin.
I'll have a look next weekend or sometime.
Lewin.
I just took a look at it and looked rather.. painful.
There is some information about the server side of it here:
http://doc.51windows.net/Directx9_SDK/?url=/directx9_sdk/play/ref/ifaces/idirectplay8server/idirectplay8server.htm
It gets worse, if you want the header files (which you will probably need) you'll have to get an old version of the DirectX SDK somewhere since someone thought it'd be a good idea to discontinue DirectPlay.
There is some information about the server side of it here:
http://doc.51windows.net/Directx9_SDK/?url=/directx9_sdk/play/ref/ifaces/idirectplay8server/idirectplay8server.htm
It gets worse, if you want the header files (which you will probably need) you'll have to get an old version of the DirectX SDK somewhere since someone thought it'd be a good idea to discontinue DirectPlay.
how old a version? micro might have it laying around somewhere. i know i have older versions of directx on game disks, things i couldn't remove from disk due to the way the game installs. the game auto checks for newest version then doesn't install older one but still can't remove it without signifigant work.
is the regular much different than the software development kit?
is the regular much different than the software development kit?
Reminds me of dll injections in D3D, where smart guys could go as far as partially replacing render engine, intercept 3d models and textures, emulate caps (ESNB series mods, 3DRipperDX, 3DAnalyzer etc..)
Knights Province at: http://www.knightsprovince.com
KaM Remake at: http://www.kamremake.com
Original MBWR/WR2/AFC/FVR tools at: http://krom.reveur.de
KaM Remake at: http://www.kamremake.com
Original MBWR/WR2/AFC/FVR tools at: http://krom.reveur.de
That sounds very interesting... It will need to be investigated. A while ago I found the data in the EXE which specifies the IP address and port of the online server. (and I can change it) So possibly we could run our own server with this Direct Play thing...
I'll have a look next weekend or sometime.
Lewin.
I've heard about an online lobby in TPR, which I do not have, and you seem to be saying that you could make anything like that and use DirectPlay to make KaM connect to it.
What I meant is making a lobby as a separate program, not into KaM.
What DirectPlay does is launch the game and create or join a game.
I found a bit of more info on this.
Althought KaM uses DirectPlay, it does not seem to be registered as a DirectPlay application. This can be probably easily solved making a registry key with its own GUID for it
(this might or not be needed, I'm not really sure, but I think DirectPlay only launches by GUID)
Also, I found this code that launches AoE using DirectPlay, probably can be changed easily to do it for KaM.
Althought KaM uses DirectPlay, it does not seem to be registered as a DirectPlay application. This can be probably easily solved making a registry key with its own GUID for it
(this might or not be needed, I'm not really sure, but I think DirectPlay only launches by GUID)
Also, I found this code that launches AoE using DirectPlay, probably can be changed easily to do it for KaM.
- Code:
 Microsoft::DirectX::DirectPlay::Lobby::Client^ connection = gcnew Microsoft::DirectX::DirectPlay::Lobby::Client;  Microsoft::DirectX::DirectPlay::Lobby::ConnectInformation^ ci = gcnew Microsoft::DirectX::DirectPlay::Lobby::ConnectInformation;  ci->GuidApplication = *(gcnew Guid("FB69A260-5031-11d3-A2D4-006097BA6550"));  ci->Flags = Microsoft::DirectX::DirectPlay::Lobby::ConnectFlags::LaunchNew;  ci->UseConnectionSettings = true;  ci->ConnectionSettings.PlayerName = "MeTheHost";  ci->ConnectionSettings.HostAddress = gcnew Microsoft::DirectX::DirectPlay::Address("localhost",47624);  int aokh = connection->ConnectApplication(*ci,System::Threading::Timeout::Infinite,nullptr);[/quote]
Who is online
Users browsing this forum: Ahrefs [Bot] and 11 guests