[Scummvm-devel] PS2 backend - moving from 0.10.0 to 0.11.0
Max Horn
max at quendi.de
Mon Feb 11 19:21:57 CET 2008
Better a late reply than no reply at all... ;-)
Am 07.02.2008 um 07:11 schrieb sunmax at libero.it:
> Hi there, noble scummvm-devel souls!
>
> ;-)
>
> I got your latest PS2 drop (0.10.0-alpha) compiling and running,
> it wasn't too bad.
>
> I still need to have in place:
>
> - mpeg2dec (aka libmpeg2)
>
> - tremor
>
> Robert, could you send me their ps2-friendly source you modified?
Once you got them, I would also recommend to make them available in a
suitable place for 3rd party users. For both pragmatic reasons (we
want to make it easy for people to build ScummVM) as well as for
legal reasons (we *must* provide these source changes by the GPL).
>
> I can probably figure it out by myself in a couple of hours,
> but since it has already been done I don't see why reinventing
> the wheel.
Indeed!
> Regarding 'mpeg2': why are we using mpeg2dec instead of the HW
> accelerated libmpeg from Eugene Plotnikov in ps2sdk?
The PS2 port probably uses it because the core ScummVM app uses
mpeg2dec, so the PS2 port would have had to modify the core to be
able to use this alternate lib, which seems to be PS2 only by what
you say. But in theory, it would be possible.
See also the code in graphics/mpeg_player.* resp. graphics/
dxa_player.*. One approach would be to modify the former with lots of
#ifdefs, but a cleaner approach would be to use subclassing properly
(this would require modifications to both the badly-named
BaseAnimationState class as well as to all code using it -- grep
through engines/* to find all of it).
But as Robin already pointed out, we are moving towards using DXA
instead of MPEG2. Though maybe DXA is not feasible on the PS2 and it
would still benefit from HW accelerated MPEG2 support. In any case,
though, I'd worry about this later ;-).
[...]
> Max, regarding moving on to 0.11.0, now that I have it running,
> what do I actually need to do to upgrade it to 0.11.0?
Well, go and checkout branches/branch-0-11-0 (which is the source
from which we will create 0.11.) and then try to get that running.
Then, provide us with a patch with all the changes you had to make.
This will be reviewed, and if suitable, will be applied, at which
time you probably can get promoted to full team member status ;-).
After that, you might want to then get the port working again in the
trunk, which hopefully won't be much additional work.
If you need details, please ask detailed *g*.
>
> I saw that we have a few more engines (Elvira*! Cool, I loved
> that game in my Amiga days). Are they going to work out of
> the box, or they will require me to change somehing in the PS2
> backend?
In an ideal world, and with an ideal port, they would work out of the
box. But some ports for various reasons have hard coded lists of
engines they support, or need special workaround for some games (e.g.
to provide special key mapping), so you may need to check up on that.
> Could you tell me more about the "Completely reworked internal
> access to files". Is it implemention well hidden or did it
> imply API changes?
Filipos wrote a bit about that already. If that wasn't enough, just
ask :-).
>
> What about the new features, things like TiMidity++ support?
> Is that a show-stopper? Do we need to have support
> to call it a 0.11.0 backend?
It's
> Could you please give me a list of the must-have that all
> 0.11.0 backends need to comply to? Thanks!
There is no such list. Essentially, all ports should support all
engines which are "official" in any given release, and should of
course work "well". Of course that is not always possible (e.g. some
ports never will support COMI, as it is simply too big), so common
sense has to be applied :-).
Also, of course port users will be happy about any cool port specific
features you add, but again that's nothing for a general list.
Cheers,
Max
More information about the Scummvm-devel
mailing list