Re: Implementation of WIndows Gaming APIs as GSoC project

2010-03-31 Thread Austin English
2010/3/31 Vincent Povirk :
>>> I suspect that once the classes exist, games will expect them to
>>> actually work, and adding the stubs will break some games that
>>> currently work.
>>
>> To avoid this problem, it should be possible to add option enabling these
>> classes support in compilation configuration or Wine's config panel. Has
>> this idea any sense?
>
> If we really wanted to disable the classes by default, the way to do
> it would be to not register gameux.dll by default. You could then run
> regsvr32 gameux.dll to set them up for a Wine prefix, until it's
> considered good enough to be enabled by default.
>
> But I don't know if that sort of thing would be accepted in Wine, or
> if it would be better to enable it from the start.

Or disable it in winecfg.

-- 
-Austin




Re: Implementation of WIndows Gaming APIs as GSoC project

2010-03-31 Thread Vincent Povirk
>> I suspect that once the classes exist, games will expect them to
>> actually work, and adding the stubs will break some games that
>> currently work.
>
> To avoid this problem, it should be possible to add option enabling these
> classes support in compilation configuration or Wine's config panel. Has
> this idea any sense?

If we really wanted to disable the classes by default, the way to do
it would be to not register gameux.dll by default. You could then run
regsvr32 gameux.dll to set them up for a Wine prefix, until it's
considered good enough to be enabled by default.

But I don't know if that sort of thing would be accepted in Wine, or
if it would be better to enable it from the start.




Re: Implementation of WIndows Gaming APIs as GSoC project

2010-03-31 Thread Mariusz Pluciński
Vincent Povirk >

> I suspect that once the classes exist, games will expect them to
> actually work, and adding the stubs will break some games that
> currently work.


To avoid this problem, it should be possible to add option enabling these
classes support in compilation configuration or Wine's config panel. Has
this idea any sense?


> The project would potentially also include the Game Explorer shell
> namespace extension, which will likely be needed for shortcuts to work
> correctly. The control panel extension (CLSID_ControlPanel) is
> probably a good example. The main task there would be to implement an
> IShellFolder object that uses the game explorer database.
>

This looks like good idea for me, I'll probably include it in my proposal.
Thanks.



Re: Implementation of WIndows Gaming APIs as GSoC project

2010-03-31 Thread Vincent Povirk
2010/3/31 Mariusz Pluciński :
> 2010/3/30 Dan Kegel 
>>
>> Sounds good to me -- and you could start right now by checking in stubs,
>> if we don't have them already...
>>
>> The question is, though, how useful are these APIs (aside from
>> needing them to play some games)?  Which games make use of them?

Odd, I can't see Dan Kegel's reply.

AFAIK, the API's aren't needed currently to play any games, but many
games use them if they are available.

I would guess that once game developers become comfortable dropping
support for Windows XP (which is inevitable, but you can argue about
how soon it will be), they'll start writing games that require this
API.

I suspect that once the classes exist, games will expect them to
actually work, and adding the stubs will break some games that
currently work. That means that once the stubs are in, it's very
important to add at least a basic implementation. It also means that
adding the classes will be a disruptive process, and it will only get
worse the longer we wait. (Note: I haven't tested this theory, and for
all I know most games will gracefully fall back on the old methods
when they see a non-functional IGameExplorer. I wouldn't count on it
though.)

The project would potentially also include the Game Explorer shell
namespace extension, which will likely be needed for shortcuts to work
correctly. The control panel extension (CLSID_ControlPanel) is
probably a good example. The main task there would be to implement an
IShellFolder object that uses the game explorer database.




re: Implementation of WIndows Gaming APIs as GSoC project

2010-03-30 Thread Mariusz Pluciński
2010/3/30 Dan Kegel 

Sounds good to me -- and you could start right now by checking in stubs,
> if we don't have them already...
>
> The question is, though, how useful are these APIs (aside from
> needing them to play some games)?  Which games make use of them?
>

According to research made by Vincent Povirk (described at bugzilla:
http://bugs.winehq.org/show_bug.cgi?id=21261), some games already use it. In
my opinion, importance of this interface will be growing in the future. And
MS will probably extend it to add new features. So, it would be easier to
create these interfaces now, before moment they will become really big and
complicated, like others Microsoft's APIs.

Microsoft also solved problem with older games - they created some kind of
games database which allows some older games to be visible in Games Explorer
without using new APIs. Of couse, Wine project should not use Microsoft's
database, but there's already Wine's Application Database, which after some
extension may be used in similar way.



Implementation of WIndows Gaming APIs as GSoC project

2010-03-30 Thread Mariusz Pluciński
Hello

I'm Mariusz Pluciński, student of Information Technology in Gdańsk
University of Technology (Poland). I decided to apply to Google Summer of
Code in your project, cause I've been fascinated in Wine for a long time
(without Wine, migration to open source OS would not be possible for me). In
my opinion, one of the biggest problem for Wine is problems with support
games written for MS Windows, so making progress in this area is something
which I want to work on.

I know C programming language very well, just as programming in Microsoft
Windows APIs and Microsoft's COM technology. I also have some experience in
working on open source - in Kdenlive project (video editor). I do a polish
translation there, but I have also sent several patches to source code. In
the past I was also reading some parts of Wine source code, so I know
somewhat about how Wine's works and how it's code looks.

In Google Summer of Code, I'm interested in implementation of new gaming
APIs created by Microsoft for Windows Vista and enlarged in Windows 7. Main
part of this is implementation of four COM interfaces: IGameExplorer,
IGameExplorer2, IGameStatistics and IGameStatisticsMgr. In the bugzilla
there's stub implementation of IGameExplorer interface, which may be good
start point for me in development. Main parts of task will probably be
creation of database to store games' data and parser of GDF files (Game
Definition File).

In favorable circumstances, if the APIs implementation is done fast enough,
I will start work on simple equivalent of Windows Game Explorer application.
It would be nice for Wine's users to control their games from one
application, similar way as they do it in MS Windows. Also, application will
use Game Statistics interfaces, so it will be good practical test for these
interfaces.

I hope my idea will get your acceptance.

Thanks