SCI: Use initializer list for all SciEngine members
Cleans up inconsistencies and excludes more SCI32 members from SCI16-only builds
This commit is contained in:
parent
90a98160a9
commit
a8dacadf40
2 changed files with 58 additions and 64 deletions
|
@ -81,35 +81,60 @@
|
|||
|
||||
namespace Sci {
|
||||
|
||||
SciEngine *g_sci = 0;
|
||||
SciEngine *g_sci = nullptr;
|
||||
|
||||
SciEngine::SciEngine(OSystem *syst, const ADGameDescription *desc, SciGameId gameId)
|
||||
: Engine(syst), _gameDescription(desc), _gameId(gameId), _rng("sci") {
|
||||
|
||||
assert(g_sci == 0);
|
||||
g_sci = this;
|
||||
|
||||
_gfxMacIconBar = 0;
|
||||
|
||||
_audio = 0;
|
||||
_sync = nullptr;
|
||||
SciEngine::SciEngine(OSystem *syst, const ADGameDescription *desc, SciGameId gameId) :
|
||||
Engine(syst),
|
||||
_gfxAnimate(nullptr),
|
||||
_gfxCache(nullptr),
|
||||
_gfxCompare(nullptr),
|
||||
_gfxControls16(nullptr),
|
||||
_gfxCoordAdjuster(nullptr),
|
||||
_gfxCursor(nullptr),
|
||||
_gfxMenu(nullptr),
|
||||
_gfxPalette16(nullptr),
|
||||
_gfxRemap16(nullptr),
|
||||
_gfxPaint16(nullptr),
|
||||
_gfxPorts(nullptr),
|
||||
_gfxScreen(nullptr),
|
||||
_gfxText16(nullptr),
|
||||
_gfxTransitions(nullptr),
|
||||
_gfxMacIconBar(nullptr),
|
||||
#ifdef ENABLE_SCI32
|
||||
_audio32 = nullptr;
|
||||
_video32 = nullptr;
|
||||
_gfxCursor32 = nullptr;
|
||||
_gfxControls32(nullptr),
|
||||
_gfxPalette32(nullptr),
|
||||
_gfxRemap32(nullptr),
|
||||
_gfxPaint32(nullptr),
|
||||
_gfxText32(nullptr),
|
||||
_audio32(nullptr),
|
||||
_video32(nullptr),
|
||||
_gfxFrameout(nullptr),
|
||||
_gfxTransitions32(nullptr),
|
||||
_gfxCursor32(nullptr),
|
||||
#endif
|
||||
_guestAdditions = nullptr;
|
||||
_features = 0;
|
||||
_resMan = 0;
|
||||
_gamestate = 0;
|
||||
_kernel = 0;
|
||||
_vocabulary = 0;
|
||||
_vocabularyLanguage = 1; // we load english vocabulary on startup
|
||||
_eventMan = 0;
|
||||
_console = 0;
|
||||
_opcode_formats = 0;
|
||||
_audio(nullptr),
|
||||
_sync(nullptr),
|
||||
_soundCmd(nullptr),
|
||||
_features(nullptr),
|
||||
_guestAdditions(nullptr),
|
||||
_opcode_formats(nullptr),
|
||||
_debugState(),
|
||||
_gameDescription(desc),
|
||||
_gameId(gameId),
|
||||
_resMan(nullptr),
|
||||
_scriptPatcher(nullptr),
|
||||
_gamestate(nullptr),
|
||||
_kernel(nullptr),
|
||||
_vocabulary(nullptr),
|
||||
_vocabularyLanguage(1), // we load english vocabulary on startup
|
||||
_eventMan(nullptr),
|
||||
_gameObjectAddress(),
|
||||
_console(nullptr),
|
||||
_rng("sci"),
|
||||
_forceHiresGraphics(false) {
|
||||
|
||||
_forceHiresGraphics = false;
|
||||
assert(g_sci == nullptr);
|
||||
g_sci = this;
|
||||
|
||||
const Common::FSNode gameDataDir(ConfMan.get("path"));
|
||||
|
||||
|
@ -226,7 +251,7 @@ SciEngine::~SciEngine() {
|
|||
|
||||
delete _scriptPatcher;
|
||||
delete _resMan; // should be deleted last
|
||||
g_sci = 0;
|
||||
g_sci = nullptr;
|
||||
}
|
||||
|
||||
extern int showScummVMDialog(const Common::U32String &message, const Common::U32String &altButton = Common::U32String(), bool alignCenter = true);
|
||||
|
@ -246,9 +271,6 @@ Common::Error SciEngine::run() {
|
|||
}
|
||||
*/
|
||||
|
||||
// Reset, so that error()s before SoundCommandParser is initialized wont cause a crash
|
||||
_soundCmd = NULL;
|
||||
|
||||
// Add the after market patches for the specified game, if they exist
|
||||
_resMan->addNewGMPatch(_gameId);
|
||||
_resMan->addNewD110Patch(_gameId);
|
||||
|
@ -278,8 +300,6 @@ Common::Error SciEngine::run() {
|
|||
// Initialize the game screen
|
||||
_gfxScreen = new GfxScreen(_resMan);
|
||||
_gfxScreen->enableUndithering(ConfMan.getBool("disable_dithering"));
|
||||
} else {
|
||||
_gfxScreen = nullptr;
|
||||
}
|
||||
|
||||
_kernel = new Kernel(_resMan, segMan);
|
||||
|
@ -565,33 +585,6 @@ bool SciEngine::initGame() {
|
|||
}
|
||||
|
||||
void SciEngine::initGraphics() {
|
||||
|
||||
// Reset all graphics objects
|
||||
_gfxAnimate = 0;
|
||||
_gfxCache = 0;
|
||||
_gfxCompare = 0;
|
||||
_gfxControls16 = 0;
|
||||
_gfxCoordAdjuster = 0;
|
||||
_gfxCursor = 0;
|
||||
_gfxMacIconBar = 0;
|
||||
_gfxMenu = 0;
|
||||
_gfxPaint16 = 0;
|
||||
_gfxPalette16 = 0;
|
||||
_gfxRemap16 = 0;
|
||||
_gfxPorts = 0;
|
||||
_gfxText16 = 0;
|
||||
_gfxTransitions = 0;
|
||||
#ifdef ENABLE_SCI32
|
||||
_gfxControls32 = 0;
|
||||
_gfxText32 = 0;
|
||||
_gfxFrameout = 0;
|
||||
_gfxPaint32 = 0;
|
||||
_gfxPalette32 = 0;
|
||||
_gfxRemap32 = 0;
|
||||
_gfxTransitions32 = 0;
|
||||
_gfxCursor32 = 0;
|
||||
#endif
|
||||
|
||||
if (hasMacIconBar())
|
||||
_gfxMacIconBar = new GfxMacIconBar();
|
||||
|
||||
|
|
|
@ -245,24 +245,25 @@ public:
|
|||
GfxCache *_gfxCache;
|
||||
GfxCompare *_gfxCompare;
|
||||
GfxControls16 *_gfxControls16; // Controls for 16-bit gfx
|
||||
GfxControls32 *_gfxControls32; // Controls for 32-bit gfx
|
||||
GfxCoordAdjuster16 *_gfxCoordAdjuster;
|
||||
GfxCursor *_gfxCursor;
|
||||
GfxMenu *_gfxMenu; // Menu for 16-bit gfx
|
||||
GfxPalette *_gfxPalette16;
|
||||
GfxPalette32 *_gfxPalette32; // Palette for 32-bit gfx
|
||||
GfxRemap *_gfxRemap16; // Remapping for the QFG4 demo
|
||||
GfxRemap32 *_gfxRemap32; // Remapping for 32-bit gfx
|
||||
GfxPaint16 *_gfxPaint16; // Painting in 16-bit gfx
|
||||
GfxPaint32 *_gfxPaint32; // Painting in 32-bit gfx
|
||||
GfxPorts *_gfxPorts; // Port managment for 16-bit gfx
|
||||
GfxPorts *_gfxPorts; // Port management for 16-bit gfx
|
||||
GfxScreen *_gfxScreen;
|
||||
GfxText16 *_gfxText16;
|
||||
GfxText32 *_gfxText32;
|
||||
GfxTransitions *_gfxTransitions; // transitions between screens for 16-bit gfx
|
||||
GfxMacIconBar *_gfxMacIconBar; // Mac Icon Bar manager
|
||||
|
||||
#ifdef ENABLE_SCI32
|
||||
GfxControls32 *_gfxControls32; // Controls for 32-bit gfx
|
||||
GfxPalette32 *_gfxPalette32; // Palette for 32-bit gfx
|
||||
GfxRemap32 *_gfxRemap32; // Remapping for 32-bit gfx
|
||||
GfxPaint32 *_gfxPaint32; // Painting in 32-bit gfx
|
||||
GfxText32 *_gfxText32;
|
||||
|
||||
Audio32 *_audio32;
|
||||
Video32 *_video32;
|
||||
GfxFrameout *_gfxFrameout; // kFrameout and the like for 32-bit gfx
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue