On Fri, 23 Nov 2007 09:23:31 +0000
James Urquhart <[EMAIL PROTECTED]> wrote:
> Alban,
>
> On 23 Nov 2007, at 08:53, Alban Bedel wrote:
>
> >
> > Hi all,
> >
> > I started to work a bit on supporting v7. It is not yet fully
> > working but it's looking good.
>
> I am still contemplating writing in V5 support too (since i like
> silly concepts), once i have the time allocated. Do your changes make
> this idea easier to achieve?
Sure. However v6 and v7 use exactly the same script engine, so no
change was needed in the code generation. For v5/8 we need a different
code generator. For v8 I hope that we can just extand the current v6/7
code generator to use 32 bits instead of 16 for address and integers.
But it might need more change. For v5 I really can't say much, if it's
a "clean" stack based VM like v6 and above that shouldn't be too hard.
> >
> >
> > From now on the default output name is scummc ${VERSION} instead of
> > just scummc. I updated the scummvm patch to also take scummc6.???
> > and scummc7.???, scummc.??? is assumed to be v6.
>
> Doesn't V7 (and V8 for that matter) use <NAME>.LA# files?
Yes, but in scummvm we can choose what we want. So I just kept the same.
> >
> >
> > The compiler and linker have been update to support the data blocks
> > that differ in v7. But I haven't checked everything, some stuff is
> > probably not yet in the correct format.
> >
> > The costume compiler can now output costume in the akos format. It's
> > very basic, none of the advanced features found in the akos format
> > are usable yet (but expect 8 directions and 64 colors soon).
>
> Neat! I was looking into AKOS myself, but i couldn't really figure
> out the actual file layout as ScummVM seemed to just read all the
> frame data indexed directly from the data. Will have to check this
> out.
Yep, extracting the data layout out of the scummvm code is definitly not
that easy. But the really interesting thing about akos, is that they
have a mini vm with conditional jumps and a few variable.
> >
> >
> > To get the compiler to output v7 code use -V 7, for the costume
> > compiler use -akos.
> >
> > I did a quick and dirty "port" of the road examples, it is mostly
> > working except a few bug here and there. A quick sum up of the
> > most important differences:
> >
> > * The room image must cover the whole screen
> > * Verbs can go over the room image
> > * The camera can move up and down
> > * Some object functions don't need the room explicitly anymore
>
> 1) Really? Although i guess that makes sense
> 2) Yes, i was wondering about this. For V6 one needed to put an
> object behind the verb(s) facilitate the redraw (i guess they got
> tired of doing this, hehe).
> 3) That was one thing i did notice when looking at the opcodes
> 4) Also noticed that when looking at the opcodes
>
> Also note that you need to store character speech in a "BUN" file.
> Though i'm assuming you've already figured that out. :)
I didn't looked at the BUN files yet, do they contain the speech
samples ?
> I think one of the more interesting differences between V6 and V7 i
> think is those SMUSH videos which can be superimposed into the
> current room. Sadly though i don't think anyone has written an
> encoder for these. :(
Not that I know of. But I used to work on mplayer, so I know where
to find some ppl who could do it :) Perhaps Mike could do us a favor,
after all he already showed some interest:
http://multimedia.cx/eggs/lucasarts-task-force
> In any case, good luck with the V7 support, Alban! If there is
> anything i could assist you with, i'd be glad to help.
Some TODO? Ok :)
* Document all the new file format
* Document all v7 specific functions and variables
* Get road7 to run with FT's interpreter
* Add support for more akos stuff in the costume compiler
* Add #ifdef support in the compiler
And all the non v7 related stuff, like:
* Write some man page
* Update the help messages, most are out of date
* Update the copyright headers (or just wait 2008 and we skip the 2007
update ;)
* Add some automatic border generation to the font converter
* Make a few voice samples for the road example
Or scvm, which hopefully will get some editing capabilities some day.
So you might consider those too:
* Continue scvm's core (implement actors, verbs, etc)
* Start a GUI for scvm's debugger
* Look at integrating the box editor within scvm. But it must still be
possible to build it as a stand-alone tool.
* Start writing an image editor for paletted format
Albeu
_______________________________________________
ScummC-general mailing list
[email protected]
https://mail.gna.org/listinfo/scummc-general