ScummVM .NET
Moderator: ScummVM Team
ScummVM .NET
Happy April Fools' Day! Thanks to ST for providing a screenshot of one of his Groovie C# tools.
No, we're not moving to a new website. I'm proud to announce the new ScummVM rewrite in C# for Windows Phone 7 and Xbox 360 ports. This does not include any of the previous "ScummVM-XNA" code and is all new code based on our current working tree.
The Windows Phone 7 port has been the main target of our work as I'm more familiar with the touchscreen controls. It shouldn't be much more work for the Xbox 360 port since I'm going through the XNA Game Studio. Since going through each engine is very tedious work, I've only worked on the engine I'm most familiar with: Groovie. And, I think the results speak for themselves.
I'll have the source code up on GitHub soon, but here's a brief snippet of some working converted C# code.
No, we're not moving to a new website. I'm proud to announce the new ScummVM rewrite in C# for Windows Phone 7 and Xbox 360 ports. This does not include any of the previous "ScummVM-XNA" code and is all new code based on our current working tree.
The Windows Phone 7 port has been the main target of our work as I'm more familiar with the touchscreen controls. It shouldn't be much more work for the Xbox 360 port since I'm going through the XNA Game Studio. Since going through each engine is very tedious work, I've only worked on the engine I'm most familiar with: Groovie. And, I think the results speak for themselves.
I'll have the source code up on GitHub soon, but here's a brief snippet of some working converted C# code.
Last edited by clone2727 on Mon Apr 02, 2012 12:01 am, edited 1 time in total.
-
- Posts: 23
- Joined: Mon Aug 30, 2010 6:00 pm
- Location: Germany
Well, there's the SCUMM XNA project, written in C# and specifically targeted for the SCUMM engine, based on ScummVM's codebase:
http://xnascumm.codeplex.com/
http://xnascumm.codeplex.com/
I've been spending the last couple of weeks having a play around with this notion. Might take a while but I reckon it can be done.
Estimate I've got about 50 - 60% of the core scummvm project ported with an effort to stay as true to the original code as possible at the moment (short of where .Net simply does not have equivalents).
The main things I've had to account for so far is anonymous enums and multiple inheritance.
The enums I've either named or broke into individual const values. The latter Ive been extracting out into interfaces with the implementation being dropped into each class (there might be a tidier way to do this but for now it works).
Oh and of course most global stuff has been dropped into classes as static methods / vars.
Estimate I've got about 50 - 60% of the core scummvm project ported with an effort to stay as true to the original code as possible at the moment (short of where .Net simply does not have equivalents).
The main things I've had to account for so far is anonymous enums and multiple inheritance.
The enums I've either named or broke into individual const values. The latter Ive been extracting out into interfaces with the implementation being dropped into each class (there might be a tidier way to do this but for now it works).
Oh and of course most global stuff has been dropped into classes as static methods / vars.
The reason this made a good joke last year was because it was so ridiculous that we didn't think anyone could possibly be serious about porting the code base. Ten years and 1.5 million lines of code is not a small amount. By Ohloh's estimate, it's about 439 person-years of work to develop the code. Not to mention, ScummVM is still a moving target.
So when I said calling you crazy for wanting to duplicate this was too kind, I wasn't joking around.
So when I said calling you crazy for wanting to duplicate this was too kind, I wasn't joking around.
I am guessing he is not trying to port all the backends code (otherwise he is even more crazy that I imagined). But still, that is a lot of effort.clone2727 wrote:Ten years and 1.5 million lines of code is not a small amount. By Ohloh's estimate, it's about 439 person-years of work to develop the code.
Aren't we all crazy?clone2727 wrote:So when I said calling you crazy for wanting to duplicate this was too kind, I wasn't joking around.
I think the backend code is the least part of our codebase. It's roughly 70k lines of code.criezy wrote:I am guessing he is not trying to port all the backends code (otherwise he is even more crazy that I imagined). But still, that is a lot of effort.clone2727 wrote:Ten years and 1.5 million lines of code is not a small amount. By Ohloh's estimate, it's about 439 person-years of work to develop the code.
So far just working on the main scummvm project. I assume that's what you refer to with back end?
If I get that done id like to implement one maybe two engines probably start with the scumm engine to keep in the spirit of things. Although this all grew out of an interest in the inner workings of SCI.
If I get that done id like to implement one maybe two engines probably start with the scumm engine to keep in the spirit of things. Although this all grew out of an interest in the inner workings of SCI.
Posted what I have so far to
https://sourceforge.net/projects/scummvmnet/
Its the last 3 weeks worth of work, still much to be done but its a start...
Right now I'm focusing on the VectorRenderer, there seems to be a pretty close correlation between VectorRenderer and the Graphics class, should I consider this a direct mapping? (i.e. wrap VectorRenderer around a Graphics object?)
https://sourceforge.net/projects/scummvmnet/
Its the last 3 weeks worth of work, still much to be done but its a start...
Right now I'm focusing on the VectorRenderer, there seems to be a pretty close correlation between VectorRenderer and the Graphics class, should I consider this a direct mapping? (i.e. wrap VectorRenderer around a Graphics object?)
- DrMcCoy
- ScummVM Developer
- Posts: 595
- Joined: Sat Dec 17, 2005 1:33 pm
- Location: Braunschweig, Germany
- Contact:
You're missing license information. The Sourceforge summary should say which license the project is under (since it's a ScummVM derivative, valid licenses are GPLv2, GPLv2+ and GPLv3), there should be a LICENSE or COPYING file in the project's root directory and the individual files should also state how they're licensed.
Apart from that, I for one still think you're off the rockers.
Apart from that, I for one still think you're off the rockers.