[Scummvm-devel] Re: setCursorFromImg and findObjectInRoom with v6

Alban Bedel albeu at free.fr
Wed Jun 15 08:16:02 CEST 2005


On Wed, 15 Jun 2005 15:23:07 +0300
Eugene Sandulenko <sev at scummvm.org> wrote:

> Alban Bedel writes:
>  > I hate having to respond to myself, but well it seems like my mail was
>  > simply ignored.
> The problem is that here we do not support alteration of copyrighted
> game data.

You are on the wrong track, i don't intend to use any material copyrighted
by lucasart. Ok my current test game still have 40 bytes picked from dott
(a SCAL block). But that will not stay as is, soon the compiler will be
able to generate those block too.

Anyway you can be assured that i take copyright stuff really seriously,
that's why there is no game (even simple test stuff) provided on my web
page currently.

> Moreover I'd suggest not to mess with such mess as SCUMM
> and use more decent and modern scripting languages like AGS or, say
> Lua.

I did read your FAQ a lot of times, but i'm just intersted in this.
Want it or not they are some ppl how want to play with the engine :)

I want to add that personaly i think that having a compiler could
really help scummvm. It allow easy testing of some border case,
situations that don't exist in released game can be created, sample
games could be made for regression test, etc


> As of your question, it is quite specific and probably nobody has
> enough time to fire up a disassembler and check this for you. Also as
> far as I see it is not a bug in our code (i.e. no impact) but I may be
> wrong so if it is so, please, submit your bug report on our
> tracker. Then it will be definitely reviewed asap.

Ahh, that's more positve. Stay calm i don't expect anybody to do my
homeworks :) However i did expected to find some ppl how might help
me here.

I doubt disambly, etc would help here atm. I would not dare to call that
a bug before i can sort out why this piece of code is there.
Finding who wrote it might help too. According to the cvs the code was
alredy there when the tree was imported on sf.net. The last significant
change to this if block was with revision 1.71 which added the error()
for the "old bundle" games.

To be more precise i really don't get why this is done in the
ScummEngine::findObjectInRoom function:

fo->obim = obimptr = obcdptr + READ_BE_UINT32(obcdptr + 4);

afaict this imply the obim block is right after the obcd one. In dott
that's simply never the case. I checked a couple other games and
all had a layout like in dott where all obim block come together,
then come all the obcd blocks.

Surely this code is there for something, so i hoped one of the scummvm
hacker might still remember. Otherwise the only solution would be to
play all games until one is found to fire up this code. That would
be a real pain if i have to resort to that :(

Currently i suspect this code is never called, or only with a specific
game or engine version. In the later case it's a bug and some extra
test need to be added.

> Also did you know about existance of other SCUMM compilers which are
> already written? Particularly you may consider this one:
> 
>   http://www.madmoose.dk/scummc/

I remember this, but as it's not indexed by google i wasn't able to
find it again.

> I know that it is script compiler only and not a full-blown editor
> like you're designing.

Exactly. Anyway scripts alone are useless if one want to get anythig
out of the engine without using some material copyrigthed by lucasart.

	Albeu





More information about the Scummvm-devel mailing list