I have had *no* issues between DX8 and DX9 concerning SFC.
.. in fact.. why does it matter? .. SFC uses DPlay4 code that was already obsolete when DX7 came out. 
.. how do I know this? . .. I .. uhh.. tried to make it work on Linux at TransGaming.
.. that and the "strings" command on linux strips out junk characters and shows you readable text.
So if I do:
$ strings StarFleetOP_2525.exe | grep -i IDirectPlay4
I get:
Code:
DPERR_NOTLOGGEDIN:An action cannot be performed because a player or client application is not logged in. Returned by the IDirectPlay4::Send method when the client application tries to send a secure message without being logged in.
DPERR_UNKNOWNMESSAGE:The message ID isn't valid. Returned from IDirectPlay4::CancelMessage if the ID of the message to be cancelled is invalid.
DPERR_USERCANCEL:Can be returned in two ways. 1) The user canceled the connection process during a call to the IDirectPlay4::Open method. 2) The user clicked Cancel in one of the DirectPlay service provider dialog boxes during a call to IDirectPlay4::EnumSessions.
DPERR_SENDTOOBIG:The message being sent by the IDirectPlay4::Send method is too large.
DPERR_UNSUPPORTED:The function or feature is not available in this implementation or on this service provider. Returned from IDirectPlay4::GetGroupConnectionSettings and IDirectPlay4::SetGroupConnectionSettings if they are called from a session that is not a lobby session. Returned from IDirectPlay4::SendEx if the priority or timeout is set, and these are not supported by the service provider and DirectPlay protocol is not on. Returned from IDirectPlay4::GetMessageQueue if you check the send queue and this is not supported by the service provider and DirectPlay protocol is not on.
.. so my opinion? .. DX9 is too much trouble for what's it's worth.
-- Luc
I have had *no* issues between DX8 and DX9 concerning SFC.
.. in fact.. why does it matter? .. SFC uses DPlay4 code that was already obsolete when DX7 came out. 
.. how do I know this? . .. I .. uhh.. tried to make it work on Linux at TransGaming.
.. that and the "strings" command on linux strips out junk characters and shows you readable text.
So if I do:
$ strings StarFleetOP_2525.exe | grep -i IDirectPlay4
I get:
Code:
DPERR_NOTLOGGEDIN:An action cannot be performed because a player or client application is not logged in. Returned by the IDirectPlay4::Send method when the client application tries to send a secure message without being logged in.
DPERR_UNKNOWNMESSAGE:The message ID isn't valid. Returned from IDirectPlay4::CancelMessage if the ID of the message to be cancelled is invalid.
DPERR_USERCANCEL:Can be returned in two ways. 1) The user canceled the connection process during a call to the IDirectPlay4::Open method. 2) The user clicked Cancel in one of the DirectPlay service provider dialog boxes during a call to IDirectPlay4::EnumSessions.
DPERR_SENDTOOBIG:The message being sent by the IDirectPlay4::Send method is too large.
DPERR_UNSUPPORTED:The function or feature is not available in this implementation or on this service provider. Returned from IDirectPlay4::GetGroupConnectionSettings and IDirectPlay4::SetGroupConnectionSettings if they are called from a session that is not a lobby session. Returned from IDirectPlay4::SendEx if the priority or timeout is set, and these are not supported by the service provider and DirectPlay protocol is not on. Returned from IDirectPlay4::GetMessageQueue if you check the send queue and this is not supported by the service provider and DirectPlay protocol is not on.
.. so my opinion? .. DX9 is too much trouble for what's it's worth.
-- Luc