[Scummvm-devel] KYRA - Eye of the Beholder extension

Alyssa Milburn fuzzie at users.sourceforge.net
Wed Nov 30 08:39:03 CET 2011


On Wed, Nov 30, 2011 at 01:45:19AM +0100, Florian Kagerer wrote:
> Would it be acceptable to merge the EOB code into the main tree of ScummVM?
> Please let me know what you think.

I am not against this, and technically I see merging subengine work as the
best solution.

> As everyone know lots of targets have been added in the past which aren't
> adventure games. Some targets are similar in game play to EOB.

As discussed previously, this shouldn't be a consideration.

> I won't pretend that the code size of ScummVM would not increase. Of course
> it would. For most platforms code size and exe size is irrelevant, though.

With the disclaimer that I think counting the lines is a terrible idea:
sloccount gives me ~16,028 lines for EoB, compared to ~16,539 for LoL and
~50,457 for the rest of kyra (including, of course, all the shared code).
So the added code is on the higher side for a new supported *engine*.

Code size is not irrelevant; we have to maintain all the code; fix bugs,
change it to cope with new API work, integrate with our input code, etc.
I think dismissing it as a platform-specific thing right away is not the
best way to start discussing this.

I've poked through the EoB code recently and, while on one hand it's pretty
well-written code for the most part, on the other hand it's obviously a whole
bunch of game-specific code which we're going to have to keep maintained. I
feel like I certainly *could* fix it, though, which makes me a lot happier
about it than other recent merges, code-wise.

> The few porters who have to care about such things may handle it in whatever
> way they think fit - making dynamic modules or just disable certain engines
> or engine parts. There are separate ENABLE_LOL and ENABLE_EOB defines.
> People may really do what they want here.

I don't think binary size is completely irrelevant for everyone except a
few porters, either. It increases our download sizes, and disabling it in
certain ports solely for size reasons means that we're not really
'supporting' a game. (I don't think it's needed here anyway.)

There is the option of merging it and then simply never making it supported,
of course. It would allow maintenance of the combined Kyra code in a single
tree, while not burdening the project with the work of having to actually
keep supporting/maintaining it.

- fuzzie




More information about the Scummvm-devel mailing list