Opened 2 months ago

Closed 2 months ago

Last modified 2 months ago

#11727 closed defect (invalid)

Wrong makefile style

Reported by: fedor4ever Owned by: dreammaster
Priority: normal Component: Engine: Ultima
Keywords: Cc:
Game:

Description

Other engines has makefile which decouples subengine code from main engine. For example Mohawk engine differs main engine code from subengines and therefore builds only necessary part.

I propose to bring to a single style that engine.

Build this engine include all sources even for release build. That leads to funny code: in detection.cpp for release build Ultima1 excluded with macro RELEASE_BUILD. Other engines use ENABLE_*. It makes code more researchable.

Change History (2)

comment:1 by dreammaster, 2 months ago

Owner: set to dreammaster
Resolution: invalid
Status: newclosed

The current module.mk/configure.engine is actually in the preferred format. As a standard, we don't introduce subengines for cases of individual games, but rather only when a subsection of the engine covers multiple games. So, for example, even though the TsAGE engine has the bulk of it's code different for each game, we don't allow each game to be individually turned on or off.

In the case of Ultima, disabling Ultima 1's code was a special case because the size of the ScummVM executable had become too big for Risc OS, so Ultima 1 was a low hanging fruit that could be temporarily disabled to keep the filesize under the limit. See https://github.com/scummvm/scummvm/pull/2453 for more information.

Eventually something else will need to be done for RISC OS, particularly as more engines get added, but there'll be plenty of time to consider that now that the 2.2.0 release is out.

comment:2 by fedor4ever, 2 months ago

They hasn't tied by one codebase like scumm or sci or wintermute. It can be easy removed unsupported or not working part from build. That was done for symbian port because with Ultima 4&6 port wan't start, debugger can't help. Ultima 8 works, Ultima 1 fails after intro(check later, maybe some macro mistakes).

Last edited 2 months ago by fedor4ever (previous) (diff)
Note: See TracTickets for help on using tickets.