aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.common14
-rw-r--r--backends/platform/PalmOS/Src/modules.cpp6
-rw-r--r--backends/platform/PalmOS/Src/prefixes/compile.h40
-rw-r--r--backends/platform/PalmOS/Src/prefixes/native_agi.h2
-rw-r--r--backends/platform/PalmOS/Src/prefixes/native_agos.h2
-rw-r--r--backends/platform/PalmOS/Src/prefixes/native_cine.h2
-rw-r--r--backends/platform/PalmOS/Src/prefixes/native_cruise.h2
-rw-r--r--backends/platform/PalmOS/Src/prefixes/native_drascula.h2
-rw-r--r--backends/platform/PalmOS/Src/prefixes/native_gob.h2
-rw-r--r--backends/platform/PalmOS/Src/prefixes/native_igor.h2
-rw-r--r--backends/platform/PalmOS/Src/prefixes/native_kyra.h2
-rw-r--r--backends/platform/PalmOS/Src/prefixes/native_lure.h2
-rw-r--r--backends/platform/PalmOS/Src/prefixes/native_parallaction.h2
-rw-r--r--backends/platform/PalmOS/Src/prefixes/native_queen.h2
-rw-r--r--backends/platform/PalmOS/Src/prefixes/native_saga.h2
-rw-r--r--backends/platform/PalmOS/Src/prefixes/native_scumm.h6
-rw-r--r--backends/platform/PalmOS/Src/prefixes/native_sky.h2
-rw-r--r--backends/platform/PalmOS/Src/prefixes/native_sword1.h2
-rw-r--r--backends/platform/PalmOS/Src/prefixes/native_sword2.h2
-rw-r--r--backends/platform/PalmOS/Src/prefixes/native_touche.h2
-rw-r--r--backends/platform/ds/arm9/makefile150
-rw-r--r--backends/platform/ds/arm9/source/dsmain.cpp4
-rw-r--r--backends/platform/ds/arm9/source/wordcompletion.cpp2
-rw-r--r--backends/platform/gp32/Makefile30
-rw-r--r--backends/platform/wince/Makefile39
-rw-r--r--base/commandLine.cpp14
-rw-r--r--base/plugins.cpp48
-rw-r--r--base/plugins.h21
-rwxr-xr-xconfigure139
-rw-r--r--engines/agi/detection.cpp6
-rw-r--r--engines/agi/module.mk2
-rw-r--r--engines/agos/detection.cpp6
-rw-r--r--engines/agos/module.mk2
-rw-r--r--engines/cine/detection.cpp6
-rw-r--r--engines/cine/module.mk2
-rw-r--r--engines/cruise/detection.cpp6
-rw-r--r--engines/cruise/module.mk2
-rw-r--r--engines/drascula/detection.cpp6
-rw-r--r--engines/drascula/module.mk2
-rw-r--r--engines/engines.mk103
-rw-r--r--engines/gob/detection.cpp6
-rw-r--r--engines/gob/module.mk2
-rw-r--r--engines/igor/detection.cpp6
-rw-r--r--engines/igor/module.mk2
-rw-r--r--engines/kyra/detection.cpp6
-rw-r--r--engines/kyra/module.mk2
-rw-r--r--engines/lure/detection.cpp6
-rw-r--r--engines/lure/module.mk2
-rw-r--r--engines/m4/detection.cpp6
-rw-r--r--engines/m4/module.mk2
-rw-r--r--engines/made/detection.cpp6
-rw-r--r--engines/made/module.mk2
-rw-r--r--engines/parallaction/detection.cpp6
-rw-r--r--engines/parallaction/module.mk2
-rw-r--r--engines/queen/module.mk2
-rw-r--r--engines/queen/queen.cpp6
-rw-r--r--engines/saga/detection.cpp6
-rw-r--r--engines/saga/module.mk2
-rw-r--r--engines/scumm/actor.cpp16
-rw-r--r--engines/scumm/akos.cpp6
-rw-r--r--engines/scumm/camera.cpp2
-rw-r--r--engines/scumm/charset.cpp4
-rw-r--r--engines/scumm/charset.h2
-rw-r--r--engines/scumm/detection.cpp10
-rw-r--r--engines/scumm/detection_tables.h12
-rw-r--r--engines/scumm/gfx.cpp6
-rw-r--r--engines/scumm/gfx.h2
-rw-r--r--engines/scumm/he/cup_player_he.h2
-rw-r--r--engines/scumm/he/floodfill_he.h2
-rw-r--r--engines/scumm/he/intern_he.h6
-rw-r--r--engines/scumm/he/logic_he.h2
-rw-r--r--engines/scumm/he/resource_he.cpp2
-rw-r--r--engines/scumm/he/sprite_he.h2
-rw-r--r--engines/scumm/he/wiz_he.h2
-rw-r--r--engines/scumm/imuse_digi/dimuse.h2
-rw-r--r--engines/scumm/imuse_digi/dimuse_tables.h2
-rw-r--r--engines/scumm/imuse_digi/dimuse_track.h2
-rw-r--r--engines/scumm/input.cpp6
-rw-r--r--engines/scumm/insane/insane.h2
-rw-r--r--engines/scumm/intern.h2
-rw-r--r--engines/scumm/module.mk6
-rw-r--r--engines/scumm/nut_renderer.h2
-rw-r--r--engines/scumm/object.cpp8
-rw-r--r--engines/scumm/palette.cpp2
-rw-r--r--engines/scumm/resource.cpp8
-rw-r--r--engines/scumm/room.cpp4
-rw-r--r--engines/scumm/saveload.cpp6
-rw-r--r--engines/scumm/script_v6.cpp4
-rw-r--r--engines/scumm/scumm.cpp26
-rw-r--r--engines/scumm/smush/smush_player.h2
-rw-r--r--engines/scumm/sound.cpp12
-rw-r--r--engines/scumm/string.cpp26
-rw-r--r--engines/scumm/vars.cpp8
-rw-r--r--engines/scumm/verbs.cpp4
-rw-r--r--engines/sky/module.mk2
-rw-r--r--engines/sky/sky.cpp6
-rw-r--r--engines/sword1/module.mk2
-rw-r--r--engines/sword1/sword1.cpp6
-rw-r--r--engines/sword2/module.mk2
-rw-r--r--engines/sword2/sword2.cpp6
-rw-r--r--engines/touche/detection.cpp6
-rw-r--r--engines/touche/module.mk2
-rw-r--r--sound/mididrv.cpp4
103 files changed, 507 insertions, 501 deletions
diff --git a/Makefile.common b/Makefile.common
index ea46b4cca4..5a443644f2 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -22,11 +22,11 @@ MODULES := test tools base $(MODULES)
# After the game specific modules follow the shared modules
MODULES += \
- engines \
gui \
graphics \
sound \
common \
+ engines \
backends
ifdef USE_MT32EMU
@@ -182,22 +182,22 @@ DIST_FILES_THEMES:=$(addprefix $(srcdir)/gui/themes/,modern.ini modern.zip class
# Engine data files
DIST_FILES_ENGINEDATA=
-ifndef DISABLE_IGOR
+ifdef ENABLE_IGOR
DIST_FILES_ENGINEDATA+=igor.tbl
endif
-ifndef DISABLE_KYRA
+ifdef ENABLE_KYRA
DIST_FILES_ENGINEDATA+=kyra.dat
endif
-ifndef DISABLE_LURE
+ifdef ENABLE_LURE
DIST_FILES_ENGINEDATA+=lure.dat
endif
-ifndef DISABLE_M4
+ifdef ENABLE_M4
DIST_FILES_ENGINEDATA+=m4.dat
endif
-ifndef DISABLE_QUEEN
+ifdef ENABLE_QUEEN
DIST_FILES_ENGINEDATA+=queen.tbl
endif
-ifndef DISABLE_SKY
+ifdef ENABLE_SKY
DIST_FILES_ENGINEDATA+=sky.cpt
endif
DIST_FILES_ENGINEDATA:=$(addprefix $(srcdir)/dists/engine-data/,$(DIST_FILES_ENGINEDATA))
diff --git a/backends/platform/PalmOS/Src/modules.cpp b/backends/platform/PalmOS/Src/modules.cpp
index f66d7d6ae6..b16e2cf7d5 100644
--- a/backends/platform/PalmOS/Src/modules.cpp
+++ b/backends/platform/PalmOS/Src/modules.cpp
@@ -87,9 +87,9 @@ static UInt32 ModulesPalmMain(UInt16 cmd, MemPtr cmdPBP, UInt16 launchFlags)
#ifdef PALMOS_NATIVE
result = GET_MODEARM;
#else
-# if !defined(DISABLE_SCUMM) || \
- !defined(DISABLE_AGOS) || \
- !defined(DISABLE_SWORD1)
+# if defined(ENABLE_SCUMM) || \
+ defined(ENABLE_AGOS) || \
+ defined(ENABLE_SWORD1)
result = GET_DATACOMMON|GET_DATAENGINE|GET_MODE68K;
# else
result = GET_DATACOMMON|GET_MODE68K;
diff --git a/backends/platform/PalmOS/Src/prefixes/compile.h b/backends/platform/PalmOS/Src/prefixes/compile.h
index 40485a5927..c2bb51385a 100644
--- a/backends/platform/PalmOS/Src/prefixes/compile.h
+++ b/backends/platform/PalmOS/Src/prefixes/compile.h
@@ -26,27 +26,27 @@
#ifndef __COMPILE_H__
#define __COMPILE_H__
-#define DISABLE_SCUMM
-#define DISABLE_SCUMM_7_8
-#define DISABLE_HE
+#undef ENABLE_SCUMM
+#undef ENABLE_SCUMM_7_8
+#undef ENABLE_HE
-#define DISABLE_AGOS
-#define DISABLE_SKY
-#define DISABLE_SWORD1
-#define DISABLE_SWORD2
-#define DISABLE_QUEEN
-#define DISABLE_SAGA
-#define DISABLE_KYRA
-#define DISABLE_AWE
-#define DISABLE_GOB
-#define DISABLE_LURE
-#define DISABLE_CINE
-#define DISABLE_AGI
-#define DISABLE_TOUCHE
-#define DISABLE_PARALLACTION
-#define DISABLE_CRUISE
-#define DISABLE_DRASCULA
-#define DISABLE_IGOR
+#undef ENABLE_AGOS
+#undef ENABLE_SKY
+#undef ENABLE_SWORD1
+#undef ENABLE_SWORD2
+#undef ENABLE_QUEEN
+#undef ENABLE_SAGA
+#undef ENABLE_KYRA
+#undef ENABLE_AWE
+#undef ENABLE_GOB
+#undef ENABLE_LURE
+#undef ENABLE_CINE
+#undef ENABLE_AGI
+#undef ENABLE_TOUCHE
+#undef ENABLE_PARALLACTION
+#undef ENABLE_CRUISE
+#undef ENABLE_DRASCULA
+#undef ENABLE_IGOR
// ScummVM
#define DISABLE_HQ_SCALERS
diff --git a/backends/platform/PalmOS/Src/prefixes/native_agi.h b/backends/platform/PalmOS/Src/prefixes/native_agi.h
index 790f108efa..f3feee8c70 100644
--- a/backends/platform/PalmOS/Src/prefixes/native_agi.h
+++ b/backends/platform/PalmOS/Src/prefixes/native_agi.h
@@ -2,7 +2,7 @@
#define PREFIX_H
#include "native_common.h"
-#undef DISABLE_AGI
+#define ENABLE_AGI STATIC_PLUGIN
#undef USE_MAD
#undef USE_VORBIS
diff --git a/backends/platform/PalmOS/Src/prefixes/native_agos.h b/backends/platform/PalmOS/Src/prefixes/native_agos.h
index f3b3476262..8a804e3116 100644
--- a/backends/platform/PalmOS/Src/prefixes/native_agos.h
+++ b/backends/platform/PalmOS/Src/prefixes/native_agos.h
@@ -2,6 +2,6 @@
#define PREFIX_H
#include "native_common.h"
-#undef DISABLE_AGOS
+#define ENABLE_AGOS STATIC_PLUGIN
#endif
diff --git a/backends/platform/PalmOS/Src/prefixes/native_cine.h b/backends/platform/PalmOS/Src/prefixes/native_cine.h
index bacdfa2047..3d19d9c557 100644
--- a/backends/platform/PalmOS/Src/prefixes/native_cine.h
+++ b/backends/platform/PalmOS/Src/prefixes/native_cine.h
@@ -2,7 +2,7 @@
#define PREFIX_H
#include "native_common.h"
-#undef DISABLE_CINE
+#define ENABLE_CINE STATIC_PLUGIN
#define _DEBUG
#undef USE_MAD
diff --git a/backends/platform/PalmOS/Src/prefixes/native_cruise.h b/backends/platform/PalmOS/Src/prefixes/native_cruise.h
index 9bc0cdac13..89e6e65a70 100644
--- a/backends/platform/PalmOS/Src/prefixes/native_cruise.h
+++ b/backends/platform/PalmOS/Src/prefixes/native_cruise.h
@@ -2,7 +2,7 @@
#define PREFIX_H
#include "native_common.h"
-#undef DISABLE_CRUISE
+#define ENABLE_CRUISE STATIC_PLUGIN
#undef USE_MAD
#undef USE_VORBIS
diff --git a/backends/platform/PalmOS/Src/prefixes/native_drascula.h b/backends/platform/PalmOS/Src/prefixes/native_drascula.h
index 3904cc98ba..35bc381af4 100644
--- a/backends/platform/PalmOS/Src/prefixes/native_drascula.h
+++ b/backends/platform/PalmOS/Src/prefixes/native_drascula.h
@@ -2,6 +2,6 @@
#define PREFIX_H
#include "native_common.h"
-#undef DISABLE_DRASCULA
+#define ENABLE_DRASCULA STATIC_PLUGIN
#endif
diff --git a/backends/platform/PalmOS/Src/prefixes/native_gob.h b/backends/platform/PalmOS/Src/prefixes/native_gob.h
index 16863cd5b6..9cb34099d0 100644
--- a/backends/platform/PalmOS/Src/prefixes/native_gob.h
+++ b/backends/platform/PalmOS/Src/prefixes/native_gob.h
@@ -2,6 +2,6 @@
#define PREFIX_H
#include "native_common.h"
-#undef DISABLE_GOB
+#define ENABLE_GOB STATIC_PLUGIN
#endif
diff --git a/backends/platform/PalmOS/Src/prefixes/native_igor.h b/backends/platform/PalmOS/Src/prefixes/native_igor.h
index 749be9daaf..2808dd2331 100644
--- a/backends/platform/PalmOS/Src/prefixes/native_igor.h
+++ b/backends/platform/PalmOS/Src/prefixes/native_igor.h
@@ -2,6 +2,6 @@
#define PREFIX_H
#include "native_common.h"
-#undef DISABLE_IGOR
+#define ENABLE_IGOR STATIC_PLUGIN
#endif
diff --git a/backends/platform/PalmOS/Src/prefixes/native_kyra.h b/backends/platform/PalmOS/Src/prefixes/native_kyra.h
index 7f6dd57565..c89b0a5b93 100644
--- a/backends/platform/PalmOS/Src/prefixes/native_kyra.h
+++ b/backends/platform/PalmOS/Src/prefixes/native_kyra.h
@@ -2,6 +2,6 @@
#define PREFIX_H
#include "native_common.h"
-#undef DISABLE_KYRA
+#define ENABLE_KYRA
#endif
diff --git a/backends/platform/PalmOS/Src/prefixes/native_lure.h b/backends/platform/PalmOS/Src/prefixes/native_lure.h
index b017c46fe6..71835ee644 100644
--- a/backends/platform/PalmOS/Src/prefixes/native_lure.h
+++ b/backends/platform/PalmOS/Src/prefixes/native_lure.h
@@ -2,7 +2,7 @@
#define PREFIX_H
#include "native_common.h"
-#undef DISABLE_LURE
+#define ENABLE_LURE STATIC_PLUGIN
#undef USE_MAD
#undef USE_VORBIS
diff --git a/backends/platform/PalmOS/Src/prefixes/native_parallaction.h b/backends/platform/PalmOS/Src/prefixes/native_parallaction.h
index 545cdd36fd..e8d46cc382 100644
--- a/backends/platform/PalmOS/Src/prefixes/native_parallaction.h
+++ b/backends/platform/PalmOS/Src/prefixes/native_parallaction.h
@@ -2,7 +2,7 @@
#define PREFIX_H
#include "native_common.h"
-#undef DISABLE_PARALLACTION
+#define ENABLE_PARALLACTION STATIC_PLUGIN
#undef USE_MAD
#undef USE_VORBIS
diff --git a/backends/platform/PalmOS/Src/prefixes/native_queen.h b/backends/platform/PalmOS/Src/prefixes/native_queen.h
index d2a1b44ef8..85bb5a0a04 100644
--- a/backends/platform/PalmOS/Src/prefixes/native_queen.h
+++ b/backends/platform/PalmOS/Src/prefixes/native_queen.h
@@ -2,6 +2,6 @@
#define PREFIX_H
#include "native_common.h"
-#undef DISABLE_QUEEN
+#define ENABLE_QUEEN STATIC_PLUGIN
#endif
diff --git a/backends/platform/PalmOS/Src/prefixes/native_saga.h b/backends/platform/PalmOS/Src/prefixes/native_saga.h
index 1a728e6bcb..19db05b633 100644
--- a/backends/platform/PalmOS/Src/prefixes/native_saga.h
+++ b/backends/platform/PalmOS/Src/prefixes/native_saga.h
@@ -2,6 +2,6 @@
#define PREFIX_H
#include "native_common.h"
-#undef DISABLE_SAGA
+#define ENABLE_SAGA STATIC_PLUGIN
#endif
diff --git a/backends/platform/PalmOS/Src/prefixes/native_scumm.h b/backends/platform/PalmOS/Src/prefixes/native_scumm.h
index 5014a8d5ff..b8433a3fa8 100644
--- a/backends/platform/PalmOS/Src/prefixes/native_scumm.h
+++ b/backends/platform/PalmOS/Src/prefixes/native_scumm.h
@@ -2,9 +2,9 @@
#define PREFIX_H
#include "native_common.h"
-#undef DISABLE_SCUMM
-#undef DISABLE_SCUMM_7_8
-#undef DISABLE_HE
+#define ENABLE_SCUMM STATIC_PLUGIN
+#define ENABLE_SCUMM_7_8
+#define ENABLE_HE
#define USE_ARM_GFX_ASM
#define USE_ARM_SMUSH_ASM
diff --git a/backends/platform/PalmOS/Src/prefixes/native_sky.h b/backends/platform/PalmOS/Src/prefixes/native_sky.h
index 193c57e87d..49b157471f 100644
--- a/backends/platform/PalmOS/Src/prefixes/native_sky.h
+++ b/backends/platform/PalmOS/Src/prefixes/native_sky.h
@@ -2,6 +2,6 @@
#define PREFIX_H
#include "native_common.h"
-#undef DISABLE_SKY
+#define ENABLE_SKY STATIC_PLUGIN
#endif
diff --git a/backends/platform/PalmOS/Src/prefixes/native_sword1.h b/backends/platform/PalmOS/Src/prefixes/native_sword1.h
index 8e52a978a8..aaae4c9b86 100644
--- a/backends/platform/PalmOS/Src/prefixes/native_sword1.h
+++ b/backends/platform/PalmOS/Src/prefixes/native_sword1.h
@@ -2,7 +2,7 @@
#define PREFIX_H
#include "native_common.h"
-#undef DISABLE_SWORD1
+#define ENABLE_SWORD1
#define USE_MPEG2
#define USE_VORBIS
diff --git a/backends/platform/PalmOS/Src/prefixes/native_sword2.h b/backends/platform/PalmOS/Src/prefixes/native_sword2.h
index f74a8bcc9a..5e9c45b047 100644
--- a/backends/platform/PalmOS/Src/prefixes/native_sword2.h
+++ b/backends/platform/PalmOS/Src/prefixes/native_sword2.h
@@ -2,7 +2,7 @@
#define PREFIX_H
#include "native_common.h"
-#undef DISABLE_SWORD2
+#define ENABLE_SWORD2 STATIC_PLUGIN
#undef _DEBUG
#define USE_MPEG2
#define USE_VORBIS
diff --git a/backends/platform/PalmOS/Src/prefixes/native_touche.h b/backends/platform/PalmOS/Src/prefixes/native_touche.h
index 486630b799..acf50e2787 100644
--- a/backends/platform/PalmOS/Src/prefixes/native_touche.h
+++ b/backends/platform/PalmOS/Src/prefixes/native_touche.h
@@ -2,6 +2,6 @@
#define PREFIX_H
#include "native_common.h"
-#undef DISABLE_TOUCHE
+#define ENABLE_TOUCHE STATIC_PLUGIN
#endif
diff --git a/backends/platform/ds/arm9/makefile b/backends/platform/ds/arm9/makefile
index 116d75b191..b114c79b48 100644
--- a/backends/platform/ds/arm9/makefile
+++ b/backends/platform/ds/arm9/makefile
@@ -86,184 +86,54 @@ ARM = 1
ifdef DS_BUILD_A
DEFINES = -DDS_SCUMM_BUILD -DDS_BUILD_A -DUSE_ARM_GFX_ASM
LOGO = logoa.bmp
- DISABLE_HE = 1
- #DISABLE_SCUMM = 1
- DISABLE_SCUMM_7_8 = 1
- DISABLE_AGOS = 1
- DISABLE_SKY = 1
- DISABLE_SWORD1 = 1
- DISABLE_SWORD2 = 1
- DISABLE_QUEEN = 1
- DISABLE_SAGA = 1
- DISABLE_KYRA = 1
- DISABLE_GOB = 1
- DISABLE_LURE = 1
- DISABLE_CINE = 1
- DISABLE_AGI = 1
- DISABLE_TOUCHE = 1
- DISABLE_PARALLACTION = 1
- DISABLE_CRUISE = 1
+ ENABLE_SCUMM = STATIC_PLUGIN
USE_ARM_GFX_ASM = 1
- DISABLE_CRUISE = 1
- DISABLE_DRASCULA = 1
- DISABLE_IGOR = 1
BUILD=scummvm-A
endif
ifdef DS_BUILD_B
DEFINES = -DDS_NON_SCUMM_BUILD -DDS_BUILD_B
LOGO = logob.bmp
- DISABLE_HE = 1
- DISABLE_SCUMM = 1
- DISABLE_SCUMM_7_8 = 1
- DISABLE_AGOS = 1
- #DISABLE_SKY = 1#
- DISABLE_SWORD1 = 1
- DISABLE_SWORD2 = 1
- #DISABLE_QUEEN = 1#
- DISABLE_SAGA = 1
- DISABLE_KYRA = 1
- DISABLE_GOB = 1
- DISABLE_LURE = 1
- DISABLE_CINE = 1
- DISABLE_AGI = 1
- DISABLE_TOUCHE = 1
- DISABLE_PARALLACTION = 1
- DISABLE_CRUISE = 1
- DISABLE_DRASCULA = 1
- DISABLE_IGOR = 1
+ ENABLE_SKY = STATIC_PLUGIN
+ ENABLE_QUEEN = STATIC_PLUGIN
BUILD=scummvm-B
endif
ifdef DS_BUILD_C
DEFINES = -DDS_NON_SCUMM_BUILD -DDS_BUILD_C
LOGO = logoc.bmp
- DISABLE_HE = 1
- DISABLE_SCUMM = 1
- DISABLE_SCUMM_7_8 = 1
- #DISABLE_AGOS = 1
- DISABLE_SKY = 1
- DISABLE_SWORD1 = 1
- DISABLE_SWORD2 = 1
- DISABLE_QUEEN = 1
- DISABLE_SAGA = 1
- DISABLE_KYRA = 1
- DISABLE_GOB = 1
- DISABLE_LURE = 1
- DISABLE_CINE = 1
- DISABLE_AGI = 1
- DISABLE_TOUCHE = 1
- DISABLE_PARALLACTION = 1
- DISABLE_CRUISE = 1
- DISABLE_DRASCULA = 1
- DISABLE_IGOR = 1
+ ENABLE_AGOS = STATIC_PLUGIN
BUILD=scummvm-C
endif
ifdef DS_BUILD_D
DEFINES = -DDS_NON_SCUMM_BUILD -DDS_BUILD_D
LOGO = logod.bmp
- DISABLE_HE = 1
- DISABLE_SCUMM = 1
- DISABLE_SCUMM_7_8 = 1
- DISABLE_AGOS = 1
- DISABLE_SKY = 1
- DISABLE_SWORD1 = 1
- DISABLE_SWORD2 = 1
- DISABLE_QUEEN = 1
- DISABLE_SAGA = 1
- DISABLE_KYRA = 1
- #DISABLE_GOB = 1
- DISABLE_LURE = 1
- #DISABLE_CINE = 1
- #DISABLE_AGI = 1
- DISABLE_TOUCHE = 1
- DISABLE_PARALLACTION = 1
- DISABLE_CRUISE = 1
- DISABLE_DRASCULA = 1
- DISABLE_IGOR = 1
+ ENABLE_GOB = STATIC_PLUGIN
+ ENABLE_CINE = STATIC_PLUGIN
+ ENABLE_AGI = STATIC_PLUGIN
BUILD=scummvm-D
endif
-
ifdef DS_BUILD_E
DEFINES = -DDS_NON_SCUMM_BUILD -DDS_BUILD_E
LOGO = logoe.bmp
- DISABLE_HE = 1
- DISABLE_SCUMM = 1
- DISABLE_SCUMM_7_8 = 1
- DISABLE_AGOS = 1
- DISABLE_SKY = 1
- DISABLE_SWORD1 = 1
- DISABLE_SWORD2 = 1
- DISABLE_QUEEN = 1
- #DISABLE_SAGA = 1
- DISABLE_KYRA = 1
- DISABLE_GOB = 1
- DISABLE_LURE = 1
- DISABLE_CINE = 1
- DISABLE_AGI = 1
- DISABLE_TOUCHE = 1
- DISABLE_PARALLACTION = 1
- DISABLE_CRUISE = 1
- DISABLE_DRASCULA = 1
- DISABLE_IGOR = 1
+ ENABLE_SAGA = STATIC_PLUGIN
BUILD=scummvm-E
endif
-
ifdef DS_BUILD_F
DEFINES = -DDS_NON_SCUMM_BUILD -DDS_BUILD_F
LOGO = logof.bmp
- DISABLE_HE = 1
- DISABLE_SCUMM = 1
- DISABLE_SCUMM_7_8 = 1
- DISABLE_AGOS = 1
- DISABLE_SKY = 1
- DISABLE_SWORD1 = 1
- DISABLE_SWORD2 = 1
- DISABLE_QUEEN = 1
- DISABLE_SAGA = 1
- #DISABLE_KYRA = 1
- DISABLE_GOB = 1
- DISABLE_LURE = 1
- DISABLE_CINE = 1
- DISABLE_AGI = 1
- DISABLE_TOUCHE = 1
- DISABLE_PARALLACTION = 1
- DISABLE_CRUISE = 1
- DISABLE_DRASCULA = 1
- DISABLE_IGOR = 1
+ ENABLE_KYRA = STATIC_PLUGIN
BUILD=scummvm-F
-
endif
-
-
ifdef DS_BUILD_G
DEFINES = -DDS_NON_SCUMM_BUILD -DDS_BUILD_G
LOGO = logog.bmp
- DISABLE_HE = 1
- DISABLE_SCUMM = 1
- DISABLE_SCUMM_7_8 = 1
- DISABLE_AGOS = 1
- DISABLE_SKY = 1
- DISABLE_SWORD1 = 1
- DISABLE_SWORD2 = 1
- DISABLE_QUEEN = 1
- DISABLE_SAGA = 1
- DISABLE_KYRA = 1
- DISABLE_GOB = 1
- #DISABLE_LURE = 1
- DISABLE_CINE = 1
- DISABLE_AGI = 1
- DISABLE_TOUCHE = 1
- DISABLE_PARALLACTION = 1
- DISABLE_CRUISE = 1
- DISABLE_DRASCULA = 1
- DISABLE_IGOR = 1
+ ENABLE_LURE = STATIC_PLUGIN
BUILD=scummvm-G
-
endif
diff --git a/backends/platform/ds/arm9/source/dsmain.cpp b/backends/platform/ds/arm9/source/dsmain.cpp
index 0aed095244..d11e4e6f75 100644
--- a/backends/platform/ds/arm9/source/dsmain.cpp
+++ b/backends/platform/ds/arm9/source/dsmain.cpp
@@ -359,7 +359,7 @@ void initSprites() {
void saveGameBackBuffer() {
-#ifdef DISABLE_SCUMM
+#ifndef ENABLE_SCUMM
if (savedBuffer == NULL) savedBuffer = new u8[gameWidth * gameHeight];
for (int r = 0; r < gameHeight; r++) {
@@ -375,7 +375,7 @@ void saveGameBackBuffer() {
}
void restoreGameBackBuffer() {
-#ifdef DISABLE_SCUMM
+#ifndef ENABLE_SCUMM
if (savedBuffer) {
for (int r = 0; r < gameHeight; r++) {
diff --git a/backends/platform/ds/arm9/source/wordcompletion.cpp b/backends/platform/ds/arm9/source/wordcompletion.cpp
index b5bebddb54..bf4ce7c909 100644
--- a/backends/platform/ds/arm9/source/wordcompletion.cpp
+++ b/backends/platform/ds/arm9/source/wordcompletion.cpp
@@ -2,7 +2,7 @@
#include "engines/agi/agi.h"
#include "osystem_ds.h"
-#ifndef DISABLE_AGI
+#ifdef ENABLE_AGI
namespace DS {
// Default dictionary is about 64Kb, so 128Kb should be enough for future expansion
diff --git a/backends/platform/gp32/Makefile b/backends/platform/gp32/Makefile
index 327bee9d10..f7145bf860 100644
--- a/backends/platform/gp32/Makefile
+++ b/backends/platform/gp32/Makefile
@@ -153,26 +153,26 @@ HAVE_GCC3 = 1
DISABLE_SCALERS = 1
DISABLE_HQ_SCALERS = 1
-#DISABLE_SCUMM = 1
+ENABLE_SCUMM = STATIC_PLUGIN
# We can play The Dig with GP32 -- without any movies/musics/voices. But who would do that?
-DISABLE_SCUMM_7_8 = 1
-DISABLE_HE = 1
-
-#DISABLE_AGOS = 1
-#DISABLE_SKY = 1
-#DISABLE_QUEEN = 1
-#DISABLE_GOB = 1
-#DISABLE_LURE = 1
-#DISABLE_CINE = 1
-#DISABLE_SAGA = 1
-#DISABLE_KYRA = 1
-#DISABLE_AGI = 1
+#ENABLE_SCUMM_7_8 = 1
+#ENABLE_HE = 1
+
+ENABLE_AGOS = STATIC_PLUGIN
+ENABLE_SKY = STATIC_PLUGIN
+ENABLE_QUEEN = STATIC_PLUGIN
+ENABLE_GOB = STATIC_PLUGIN
+ENABLE_LURE = STATIC_PLUGIN
+ENABLE_CINE = STATIC_PLUGIN
+ENABLE_SAGA = STATIC_PLUGIN
+ENABLE_KYRA = STATIC_PLUGIN
+ENABLE_AGI = STATIC_PLUGIN
# The engines below are not supported on the GP32 port so there is
# no point compiling support into the binary.
-DISABLE_SWORD1 = 1
-DISABLE_SWORD2 = 1
+#ENABLE_SWORD1 = STATIC_PLUGIN
+#ENABLE_SWORD2 = STATIC_PLUGIN
#######################################################################
# Misc stuff - you should normally never have to edit this #
diff --git a/backends/platform/wince/Makefile b/backends/platform/wince/Makefile
index 51ff9d0a81..a99d9a6bde 100644
--- a/backends/platform/wince/Makefile
+++ b/backends/platform/wince/Makefile
@@ -13,27 +13,28 @@
## Do you want a build using plugins?
#BUILD_PLUGINS = 1
+# TODO: You'll need to change STATIC_PLUGIN to DYNAMIC_PLUGIN below
########################################################################
-## Disable whichever engines you want here
-
-#DISABLE_SCUMM = 1
-#DISABLE_SKY = 1
-#DISABLE_QUEEN = 1
-#DISABLE_GOB = 1
-#DISABLE_LURE = 1
-#DISABLE_CINE = 1
-#DISABLE_SAGA = 1
-#DISABLE_KYRA = 1
-#DISABLE_AGI = 1
-#DISABLE_AGOS = 1
-#DISABLE_SWORD1 = 1
-#DISABLE_SWORD2 = 1
-#DISABLE_TOUCHE = 1
-#DISABLE_PARALLACTION = 1
-DISABLE_CRUISE = 1
-DISABLE_DRASCULA = 1
-DISABLE_IGOR = 1
+## Enable whichever engines you want here
+
+ENABLE_SCUMM = STATIC_PLUGIN
+ENABLE_SKY = STATIC_PLUGIN
+ENABLE_QUEEN = STATIC_PLUGIN
+ENABLE_GOB = STATIC_PLUGIN
+ENABLE_LURE = STATIC_PLUGIN
+ENABLE_CINE = STATIC_PLUGIN
+ENABLE_SAGA = STATIC_PLUGIN
+ENABLE_KYRA = STATIC_PLUGIN
+ENABLE_AGI = STATIC_PLUGIN
+ENABLE_AGOS = STATIC_PLUGIN
+ENABLE_SWORD1 = STATIC_PLUGIN
+ENABLE_SWORD2 = STATIC_PLUGIN
+ENABLE_TOUCHE = STATIC_PLUGIN
+ENABLE_PARALLACTION = STATIC_PLUGIN
+#ENABLE_CRUISE = STATIC_PLUGIN
+#ENABLE_DRASCULA = STATIC_PLUGIN
+#ENABLE_IGOR = STATIC_PLUGIN
########################################################################
## Pick which libraries you want to use here
diff --git a/base/commandLine.cpp b/base/commandLine.cpp
index 573cb59c79..a4c867edee 100644
--- a/base/commandLine.cpp
+++ b/base/commandLine.cpp
@@ -116,14 +116,14 @@ static const char HELP_STRING[] =
" --render-mode=MODE Enable additional render modes (cga, ega, hercGreen,\n"
" hercAmber, amiga)\n"
"\n"
-#if !defined(DISABLE_SKY) || !defined(DISABLE_QUEEN)
+#if defined(ENABLE_SKY) || defined(ENABLE_QUEEN)
" --alt-intro Use alternative intro for CD versions of Beneath a\n"
" Steel Sky and Flight of the Amazon Queen\n"
#endif
" --copy-protection Enable copy protection in SCUMM games, when\n"
" ScummVM disables it by default.\n"
" --talkspeed=NUM Set talk speed for games (default: 60)\n"
-#ifndef DISABLE_SCUMM
+#ifdef ENABLE_SCUMM
" --demo-mode Start demo mode of Maniac Mansion\n"
" --tempo=NUM Set music tempo (in percent, 50-200) for SCUMM games\n"
" (default: 100)\n"
@@ -190,19 +190,19 @@ void registerDefaults() {
ConfMan.registerDefault("save_slot", -1);
ConfMan.registerDefault("autosave_period", 5 * 60); // By default, trigger autosave every 5 minutes
-#if !defined(DISABLE_SCUMM) || !defined(DISABLE_SWORD2)
+#if defined(ENABLE_SCUMM) || defined(ENABLE_SWORD2)
ConfMan.registerDefault("object_labels", true);
#endif
ConfMan.registerDefault("copy_protection", false);
ConfMan.registerDefault("talkspeed", 60);
-#ifndef DISABLE_SCUMM
+#ifdef ENABLE_SCUMM
ConfMan.registerDefault("demo_mode", false);
ConfMan.registerDefault("tempo", 0);
#endif
-#if !defined(DISABLE_SKY) || !defined(DISABLE_QUEEN)
+#if defined(ENABLE_SKY) || defined(ENABLE_QUEEN)
ConfMan.registerDefault("alt_intro", false);
#endif
@@ -513,7 +513,7 @@ Common::String parseCommandLine(Common::StringMap &settings, int argc, char **ar
DO_LONG_OPTION("target-md5")
END_OPTION
-#ifndef DISABLE_SCUMM
+#ifdef ENABLE_SCUMM
DO_LONG_OPTION_INT("tempo")
END_OPTION
@@ -521,7 +521,7 @@ Common::String parseCommandLine(Common::StringMap &settings, int argc, char **ar
END_OPTION
#endif
-#if !defined(DISABLE_SKY) || !defined(DISABLE_QUEEN)
+#if defined(ENABLE_SKY) || defined(ENABLE_QUEEN)
DO_LONG_OPTION_BOOL("alt-intro")
END_OPTION
#endif
diff --git a/base/plugins.cpp b/base/plugins.cpp
index c62d1a00b9..9e2c2599ce 100644
--- a/base/plugins.cpp
+++ b/base/plugins.cpp
@@ -63,7 +63,6 @@ SaveStateList Plugin::listSaves(const char *target) const {
}
-#ifndef DYNAMIC_MODULES
class StaticPlugin : public Plugin {
public:
StaticPlugin(PluginObject *pluginobject, PluginType type) {
@@ -100,61 +99,61 @@ public:
// "Loader" for the static plugins.
// Iterate over all registered (static) plugins and load them.
- #ifndef DISABLE_SCUMM
+ #if PLUGIN_ENABLED_STATIC(SCUMM)
LINK_PLUGIN(SCUMM)
#endif
- #ifndef DISABLE_AGI
+ #if PLUGIN_ENABLED_STATIC(AGI)
LINK_PLUGIN(AGI)
#endif
- #ifndef DISABLE_AGOS
+ #if PLUGIN_ENABLED_STATIC(AGOS)
LINK_PLUGIN(AGOS)
#endif
- #ifndef DISABLE_CINE
+ #if PLUGIN_ENABLED_STATIC(CINE)
LINK_PLUGIN(CINE)
#endif
- #ifndef DISABLE_CRUISE
+ #if PLUGIN_ENABLED_STATIC(CRUISE)
LINK_PLUGIN(CRUISE)
#endif
- #ifndef DISABLE_DRASCULA
+ #if PLUGIN_ENABLED_STATIC(DRASCULA)
LINK_PLUGIN(DRASCULA)
#endif
- #ifndef DISABLE_GOB
+ #if PLUGIN_ENABLED_STATIC(GOB)
LINK_PLUGIN(GOB)
#endif
- #ifndef DISABLE_IGOR
+ #if PLUGIN_ENABLED_STATIC(IGOR)
LINK_PLUGIN(IGOR)
#endif
- #ifndef DISABLE_KYRA
+ #if PLUGIN_ENABLED_STATIC(KYRA)
LINK_PLUGIN(KYRA)
#endif
- #ifndef DISABLE_LURE
+ #if PLUGIN_ENABLED_STATIC(LURE)
LINK_PLUGIN(LURE)
#endif
- #ifndef DISABLE_M4
+ #if PLUGIN_ENABLED_STATIC(M4)
LINK_PLUGIN(M4)
#endif
- #ifndef DISABLE_MADE
+ #if PLUGIN_ENABLED_STATIC(MADE)
LINK_PLUGIN(MADE)
#endif
- #ifndef DISABLE_PARALLACTION
+ #if PLUGIN_ENABLED_STATIC(PARALLACTION)
LINK_PLUGIN(PARALLACTION)
#endif
- #ifndef DISABLE_QUEEN
+ #if PLUGIN_ENABLED_STATIC(QUEEN)
LINK_PLUGIN(QUEEN)
#endif
- #ifndef DISABLE_SAGA
+ #if PLUGIN_ENABLED_STATIC(SAGA)
LINK_PLUGIN(SAGA)
#endif
- #ifndef DISABLE_SKY
+ #if PLUGIN_ENABLED_STATIC(SKY)
LINK_PLUGIN(SKY)
#endif
- #ifndef DISABLE_SWORD1
+ #if PLUGIN_ENABLED_STATIC(SWORD1)
LINK_PLUGIN(SWORD1)
#endif
- #ifndef DISABLE_SWORD2
+ #if PLUGIN_ENABLED_STATIC(SWORD2)
LINK_PLUGIN(SWORD2)
#endif
- #ifndef DISABLE_TOUCHE
+ #if PLUGIN_ENABLED_STATIC(TOUCHE)
LINK_PLUGIN(TOUCHE)
#endif
@@ -162,7 +161,7 @@ public:
}
};
-#else
+#ifdef DYNAMIC_MODULES
PluginList FilePluginProvider::getPlugins() {
PluginList pl;
@@ -222,18 +221,15 @@ void FilePluginProvider::addCustomDirectories(Common::StringList &dirs) const {
#endif
}
-#endif
+#endif // DYNAMIC_MODULES
#pragma mark -
DECLARE_SINGLETON(PluginManager);
PluginManager::PluginManager() {
-#ifndef DYNAMIC_MODULES
- // Add the static plugin provider if we do not build with dynamic
- // plugins.
+ // Always add the static plugin provider.
addPluginProvider(new StaticPluginProvider());
-#endif
}
PluginManager::~PluginManager() {
diff --git a/base/plugins.h b/base/plugins.h
index f317a533ae..ca08a0c628 100644
--- a/base/plugins.h
+++ b/base/plugins.h
@@ -100,6 +100,15 @@ public:
};
+#define STATIC_PLUGIN 1
+#define DYNAMIC_PLUGIN 2
+
+#define PLUGIN_ENABLED_STATIC(ID) \
+ (defined(ENABLE_##ID) && !PLUGIN_ENABLED_DYNAMIC(ID))
+
+#define PLUGIN_ENABLED_DYNAMIC(ID) \
+ (defined(ENABLE_##ID) && (ENABLE_##ID == DYNAMIC_PLUGIN) && defined(DYNAMIC_MODULES))
+
/**
* REGISTER_PLUGIN is a convenience macro meant to ease writing
* the plugin interface for our modules. In particular, using it
@@ -109,15 +118,16 @@ public:
* @todo add some means to query the plugin API version etc.
*/
-#ifndef DYNAMIC_MODULES
-#define REGISTER_PLUGIN(ID,TYPE,PLUGINCLASS) \
+#define REGISTER_PLUGIN_STATIC(ID,TYPE,PLUGINCLASS) \
PluginType g_##ID##_type = TYPE; \
PluginObject *g_##ID##_getObject() { \
return new PLUGINCLASS(); \
} \
void dummyFuncToAllowTrailingSemicolon()
-#else
-#define REGISTER_PLUGIN(ID,TYPE,PLUGINCLASS) \
+
+#ifdef DYNAMIC_MODULES
+
+#define REGISTER_PLUGIN_DYNAMIC(ID,TYPE,PLUGINCLASS) \
extern "C" { \
PLUGIN_EXPORT int32 PLUGIN_getVersion() { return PLUGIN_VERSION; } \
PLUGIN_EXPORT int32 PLUGIN_getType() { return TYPE; } \
@@ -127,7 +137,8 @@ public:
} \
} \
void dummyFuncToAllowTrailingSemicolon()
-#endif
+
+#endif // DYNAMIC_MODULES
/** List of plugins. */
diff --git a/configure b/configure
index aecd15d95e..4e6101a2b0 100755
--- a/configure
+++ b/configure
@@ -106,6 +106,7 @@ _endian=unknown
_need_memalign=no
_have_x86=no
_build_plugins=no
+_plugins_default=static
_nasm=auto
# more defaults
@@ -363,21 +364,33 @@ get_engine_sub() {
# Enable the given engine
engine_enable() {
- engine=`echo $1 | sed 's/-/_/g'`
- if test "`get_engine_build ${engine}`" = "no" ; then
- eval _engine_${engine}_build=yes
+ # Get the parameter
+ if ( echo $1 | grep '=' ) 2> /dev/null > /dev/null ; then
+ eng=`echo $1 | cut -d '=' -f 1`
+ opt=`echo $1 | cut -d '=' -f 2`
+ else
+ eng=$1
+ opt=yes
+ fi
+ engine=`echo $eng | sed 's/-/_/g'`
+ if test "$opt" == "static" -o "$opt" == "dynamic" -o "$opt" == "yes" ; then
+ if test "`get_engine_build ${engine}`" != "$opt" ; then
+ eval _engine_${engine}_build=$opt
+ else
+ option_error
+ fi
else
- option_error --enable-$1
+ option_error
fi
}
# Disable the given engine
engine_disable() {
engine=`echo $1 | sed 's/-/_/g'`
- if test "`get_engine_build $engine`" = "yes" ; then
+ if test "`get_engine_build $engine`" != "no" ; then
eval _engine_${engine}_build=no
else
- option_error --disable-$1
+ option_error
fi
}
@@ -420,27 +433,35 @@ show_subengine_help() {
# Prepare the strings about the engines to build
prepare_engine_build_strings() {
- string_yes=`get_engine_build_string $1 yes`
- if test -n "$string_yes" ; then
- _engines_built="${_engines_built}#$string_yes@"
+ string=`get_engine_build_string $1 static`
+ if test -n "$string" ; then
+ _engines_built_static="${_engines_built_static}#$string@"
fi
- string_no=`get_engine_build_string $1 no`
- if test -n "$string_no" ; then
- _engines_skipped="${_engines_skipped}#$string_no@"
+ string=`get_engine_build_string $1 dynamic`
+ if test -n "$string" ; then
+ _engines_built_dynamic="${_engines_built_dynamic}#$string@"
+ fi
+
+ string=`get_engine_build_string $1 no`
+ if test -n "$string" ; then
+ _engines_skipped="${_engines_skipped}#$string@"
fi
}
# Get the string about building an engine
get_engine_build_string() {
engine_string=""
- if test `get_engine_build $1` = no ; then
+ engine_build=`get_engine_build $1`
+ if test $engine_build = no ; then
+ # The engine is disabled
if test $2 = no ; then
engine_string=`get_engine_name $1`
else
engine_string=""
fi
else
+ # The engine is enabled, get the custom string
build_string_func=get_${1}_build_string
if ( type $build_string_func | grep function ) 2> /dev/null > /dev/null ; then
engine_string=`$build_string_func $1 $2`
@@ -448,12 +469,16 @@ get_engine_build_string() {
engine_string=`get_subengines_build_string $1 $2`
fi
- if test $2 = yes ; then
- engine_string="`get_engine_name $1` $engine_string"
- else
+ if test $2 = no ; then
if test -n "$engine_string" ; then
engine_string="`get_engine_name $1` $engine_string"
fi
+ else
+ if test $2 = $engine_build ; then
+ engine_string="`get_engine_name $1` $engine_string"
+ else
+ engine_string=""
+ fi
fi
fi
@@ -471,7 +496,7 @@ get_subengines_build_string() {
all=no
fi
done
- if test $2 = yes ; then
+ if test $2 != no ; then
if test -n "$subengine_string" ; then
if test $all = yes ; then
subengine_string="[all games]"
@@ -484,7 +509,7 @@ get_subengines_build_string() {
# Engine specific build strings
get_sword1_build_string() {
- if test $2 = yes ; then
+ if test $2 != no ; then
if test "$_mpeg2" = yes ; then
echo "(w/ mpeg2 cutscenes)"
else
@@ -498,7 +523,7 @@ get_sword2_build_string() {
}
get_scumm_build_string() {
- if test $2 = yes ; then
+ if test $2 != no ; then
base="[v0-v6 games]"
fi
get_subengines_build_string $1 $2 "$base"
@@ -551,8 +576,8 @@ Optional Features:
--disable-debug disable building with debugging symbols
--enable-Werror treat warnings as errors
$engines_help
- --enable-plugins build engines as loadable modules instead of
- static linking them
+ --enable-plugins enable the support for dynamic plugins
+ --default-dynamic make plugins dynamic by default
--disable-mt32emu don't enable the integrated MT-32 emulator
--disable-hq-scalers exclude HQ2x and HQ3x scalers
--disable-scalers exclude scalers
@@ -630,6 +655,7 @@ for ac_option in $@; do
--disable-mpeg2) _mpeg2=no ;;
--disable-fluidsynth) _fluidsynth=no ;;
--enable-plugins) _build_plugins=yes ;;
+ --default-dynamic) _plugins_default=dynamic ;;
--enable-mt32emu) _mt32emu=yes ;;
--disable-mt32emu) _mt32emu=no ;;
--with-fluidsynth-prefix=*)
@@ -725,7 +751,7 @@ for ac_option in $@; do
engine_disable `echo $ac_option | cut -d '-' -f 4-`
;;
*)
- option_error $ac_option
+ option_error
;;
esac;
done;
@@ -897,12 +923,6 @@ if test "$_cxx_major" -ge "3" ; then
add_line_to_config_mk 'HAVE_GCC3 = 1'
fi;
-#
-# Engine selection
-#
-for engine in $_engines; do
- add_to_config_mk_if_no `get_engine_build $engine` "DISABLE_`echo $engine | tr [a-z] [A-Z]` = 1"
-done
add_to_config_mk_if_no $_build_hq_scalers 'DISABLE_HQ_SCALERS = 1'
add_to_config_mk_if_no $_build_scalers 'DISABLE_SCALERS = 1'
@@ -1532,22 +1552,73 @@ DEFINES="$DEFINES -DPLUGIN_DIRECTORY=\\\"$_libdir/scummvm\\\""
#
-# Show which engines ("frontends") are to be built
+# Engine selection
#
-
-_engines_built=""
+_engines_built_static=""
+_engines_built_dynamic=""
_engines_skipped=""
for engine in $_engines; do
if test "`get_engine_sub $engine`" = "no" ; then
+ # It's a main engine
+ if test `get_engine_build $engine` = no ; then
+ isbuilt=no
+ else
+ # If dynamic plugins aren't supported, mark
+ # all the engines as static
+ if test $_build_plugins = no ; then
+ eval _engine_${engine}_build=static
+ else
+ # If it wasn't explicitly marked as static or
+ # dynamic, use the configured default
+ if test `get_engine_build $engine` = yes ; then
+ eval _engine_${engine}_build=${_plugins_default}
+ fi
+ fi
+
+ # Prepare the defines
+ if test `get_engine_build $engine` = dynamic ; then
+ isbuilt=DYNAMIC_PLUGIN
+ else
+ eval _engine_${engine}_build=static
+ isbuilt=STATIC_PLUGIN
+ fi
+ fi
+
+ # Prepare the information to be shown
prepare_engine_build_strings $engine
+ else
+ # It's a subengine, just say yes or no
+ if test "`get_engine_build $engine`" = "no" ; then
+ isbuilt=no
+ else
+ isbuilt=1
+ fi
+ fi
+
+ # Save the settings
+ defname="ENABLE_`echo $engine | tr [a-z] [A-Z]`"
+ if test "$isbuilt" = "no" ; then
+ add_line_to_config_mk "# $defname"
+ else
+ add_line_to_config_mk "$defname = $isbuilt"
fi
done
+#
+# Show which engines ("frontends") are to be built
+#
echo
-if test -n "$_engines_built" ; then
- echo "Engines:"
- echo $_engines_built | sed 's/@/\
+if test -n "$_engines_built_static" ; then
+ echo "Engines (builtin):"
+ echo $_engines_built_static | sed 's/@/\
+/g
+s/#/ /g'
+fi
+
+if test -n "$_engines_built_dynamic" ; then
+ echo "Engines (plugins):"
+ echo $_engines_built_dynamic | sed 's/@/\
/g
s/#/ /g'
fi
diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp
index 8a6aa53909..f526c51a27 100644
--- a/engines/agi/detection.cpp
+++ b/engines/agi/detection.cpp
@@ -2324,4 +2324,8 @@ const Common::ADGameDescription *AgiMetaEngine::fallbackDetect(const FSList *fsl
return 0;
}
-REGISTER_PLUGIN(AGI, PLUGIN_TYPE_ENGINE, AgiMetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(AGI)
+ REGISTER_PLUGIN_DYNAMIC(AGI, PLUGIN_TYPE_ENGINE, AgiMetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(AGI, PLUGIN_TYPE_ENGINE, AgiMetaEngine);
+#endif
diff --git a/engines/agi/module.mk b/engines/agi/module.mk
index e5e8555ba2..22592dd71f 100644
--- a/engines/agi/module.mk
+++ b/engines/agi/module.mk
@@ -38,7 +38,7 @@ MODULE_OBJS = \
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_AGI), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/agos/detection.cpp b/engines/agos/detection.cpp
index 90f593f7c9..26d8916ab7 100644
--- a/engines/agos/detection.cpp
+++ b/engines/agos/detection.cpp
@@ -149,7 +149,11 @@ bool AgosMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common
return res;
}
-REGISTER_PLUGIN(AGOS, PLUGIN_TYPE_ENGINE, AgosMetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(AGOS)
+ REGISTER_PLUGIN_DYNAMIC(AGOS, PLUGIN_TYPE_ENGINE, AgosMetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(AGOS, PLUGIN_TYPE_ENGINE, AgosMetaEngine);
+#endif
namespace AGOS {
diff --git a/engines/agos/module.mk b/engines/agos/module.mk
index d217dd7cfb..fe2dcba2f1 100644
--- a/engines/agos/module.mk
+++ b/engines/agos/module.mk
@@ -47,7 +47,7 @@ MODULE_OBJS := \
zones.o
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_AGOS), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/cine/detection.cpp b/engines/cine/detection.cpp
index 2b8af918af..8c940bcfd4 100644
--- a/engines/cine/detection.cpp
+++ b/engines/cine/detection.cpp
@@ -509,4 +509,8 @@ bool CineMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common
return gd != 0;
}
-REGISTER_PLUGIN(CINE, PLUGIN_TYPE_ENGINE, CineMetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(CINE)
+ REGISTER_PLUGIN_DYNAMIC(CINE, PLUGIN_TYPE_ENGINE, CineMetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(CINE, PLUGIN_TYPE_ENGINE, CineMetaEngine);
+#endif
diff --git a/engines/cine/module.mk b/engines/cine/module.mk
index 347af2dae1..131709e2ab 100644
--- a/engines/cine/module.mk
+++ b/engines/cine/module.mk
@@ -22,7 +22,7 @@ MODULE_OBJS = \
various.o
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_CINE), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/cruise/detection.cpp b/engines/cruise/detection.cpp
index d6108ab909..7d948acb36 100644
--- a/engines/cruise/detection.cpp
+++ b/engines/cruise/detection.cpp
@@ -144,4 +144,8 @@ bool CruiseMetaEngine::createInstance(OSystem *syst, Engine **engine, const Comm
return gd != 0;
}
-REGISTER_PLUGIN(CRUISE, PLUGIN_TYPE_ENGINE, CruiseMetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(CRUISE)
+ REGISTER_PLUGIN_DYNAMIC(CRUISE, PLUGIN_TYPE_ENGINE, CruiseMetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(CRUISE, PLUGIN_TYPE_ENGINE, CruiseMetaEngine);
+#endif
diff --git a/engines/cruise/module.mk b/engines/cruise/module.mk
index 2d5062dc38..384d7a1ecb 100644
--- a/engines/cruise/module.mk
+++ b/engines/cruise/module.mk
@@ -33,7 +33,7 @@ MODULE_OBJS := \
volume.o
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_CRUISE), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/drascula/detection.cpp b/engines/drascula/detection.cpp
index 2c057ad03a..80ea4f0eab 100644
--- a/engines/drascula/detection.cpp
+++ b/engines/drascula/detection.cpp
@@ -185,4 +185,8 @@ const Common::ADGameDescription *DrasculaMetaEngine::fallbackDetect(const FSList
return (const Common::ADGameDescription *)&Drascula::g_fallbackDesc;
}
-REGISTER_PLUGIN(DRASCULA, PLUGIN_TYPE_ENGINE, DrasculaMetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(DRASCULA)
+ REGISTER_PLUGIN_DYNAMIC(DRASCULA, PLUGIN_TYPE_ENGINE, DrasculaMetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(DRASCULA, PLUGIN_TYPE_ENGINE, DrasculaMetaEngine);
+#endif
diff --git a/engines/drascula/module.mk b/engines/drascula/module.mk
index ff51313fce..042b227ca3 100644
--- a/engines/drascula/module.mk
+++ b/engines/drascula/module.mk
@@ -10,7 +10,7 @@ MODULE_OBJS = \
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_DRASCULA), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/engines.mk b/engines/engines.mk
index b23ea597bd..cfb8e69f3e 100644
--- a/engines/engines.mk
+++ b/engines/engines.mk
@@ -1,122 +1,103 @@
-ifdef DISABLE_SCUMM
-DEFINES += -DDISABLE_SCUMM
-else
+ifdef ENABLE_SCUMM
+DEFINES += -DENABLE_SCUMM=$(ENABLE_SCUMM)
MODULES += engines/scumm
-ifdef DISABLE_SCUMM_7_8
-DEFINES += -DDISABLE_SCUMM_7_8
+ifdef ENABLE_SCUMM_7_8
+DEFINES += -DENABLE_SCUMM_7_8
endif
-ifdef DISABLE_HE
-DEFINES += -DDISABLE_HE
+ifdef ENABLE_HE
+DEFINES += -DENABLE_HE
endif
endif
-ifdef DISABLE_AGI
-DEFINES += -DDISABLE_AGI
-else
+ifdef ENABLE_AGI
+DEFINES += -DENABLE_AGI=$(ENABLE_AGI)
MODULES += engines/agi
endif
-ifdef DISABLE_AGOS
-DEFINES += -DDISABLE_AGOS
-else
+ifdef ENABLE_AGOS
+DEFINES += -DENABLE_AGOS=$(ENABLE_AGOS)
MODULES += engines/agos
endif
-ifdef DISABLE_CINE
-DEFINES += -DDISABLE_CINE
-else
+ifdef ENABLE_CINE
+DEFINES += -DENABLE_CINE=$(ENABLE_CINE)
MODULES += engines/cine
endif
-ifdef DISABLE_CRUISE
-DEFINES += -DDISABLE_CRUISE
-else
+ifdef ENABLE_CRUISE
+DEFINES += -DENABLE_CRUISE=$(ENABLE_CRUISE)
MODULES += engines/cruise
endif
-ifdef DISABLE_DRASCULA
-DEFINES += -DDISABLE_DRASCULA
-else
+ifdef ENABLE_DRASCULA
+DEFINES += -DENABLE_DRASCULA=$(ENABLE_DRASCULA)
MODULES += engines/drascula
endif
-ifdef DISABLE_GOB
-DEFINES += -DDISABLE_GOB
-else
+ifdef ENABLE_GOB
+DEFINES += -DENABLE_GOB=$(ENABLE_GOB)
MODULES += engines/gob
endif
-ifdef DISABLE_IGOR
-DEFINES += -DDISABLE_IGOR
-else
+ifdef ENABLE_IGOR
+DEFINES += -DENABLE_IGOR=$(ENABLE_IGOR)
MODULES += engines/igor
endif
-ifdef DISABLE_KYRA
-DEFINES += -DDISABLE_KYRA
-else
+ifdef ENABLE_KYRA
+DEFINES += -DENABLE_KYRA=$(ENABLE_KYRA)
MODULES += engines/kyra
endif
-ifdef DISABLE_LURE
-DEFINES += -DDISABLE_LURE
-else
+ifdef ENABLE_LURE
+DEFINES += -DENABLE_LURE=$(ENABLE_LURE)
MODULES += engines/lure
endif
-ifdef DISABLE_M4
-DEFINES += -DDISABLE_M4
-else
+ifdef ENABLE_M4
+DEFINES += -DENABLE_M4=$(ENABLE_M4)
MODULES += engines/m4
endif
-ifdef DISABLE_MADE
-DEFINES += -DDISABLE_MADE
-else
+ifdef ENABLE_MADE
+DEFINES += -DENABLE_MADE=$(ENABLE_MADE)
MODULES += engines/made
endif
-ifdef DISABLE_PARALLACTION
-DEFINES += -DDISABLE_PARALLACTION
-else
+ifdef ENABLE_PARALLACTION
+DEFINES += -DENABLE_PARALLACTION=$(ENABLE_PARALLACTION)
MODULES += engines/parallaction
endif
-ifdef DISABLE_QUEEN
-DEFINES += -DDISABLE_QUEEN
-else
+ifdef ENABLE_QUEEN
+DEFINES += -DENABLE_QUEEN=$(ENABLE_QUEEN)
MODULES += engines/queen
endif
-ifdef DISABLE_SAGA
-DEFINES += -DDISABLE_SAGA
-else
+ifdef ENABLE_SAGA
+DEFINES += -DENABLE_SAGA=$(ENABLE_SAGA)
MODULES += engines/saga
endif
-ifdef DISABLE_SKY
-DEFINES += -DDISABLE_SKY
-else
+ifdef ENABLE_SKY
+DEFINES += -DENABLE_SKY=$(ENABLE_SKY)
MODULES += engines/sky
endif
-ifdef DISABLE_SWORD1
-DEFINES += -DDISABLE_SWORD1
-else
+ifdef ENABLE_SWORD1
+DEFINES += -DENABLE_SWORD1=$(ENABLE_SWORD1)
MODULES += engines/sword1
endif
-ifdef DISABLE_SWORD2
-DEFINES += -DDISABLE_SWORD2
-else
+ifdef ENABLE_SWORD2
+DEFINES += -DENABLE_SWORD2=$(ENABLE_SWORD2)
MODULES += engines/sword2
endif
-ifdef DISABLE_TOUCHE
-DEFINES += -DDISABLE_TOUCHE
-else
+ifdef ENABLE_TOUCHE
+DEFINES += -DENABLE_TOUCHE=$(ENABLE_TOUCHE)
MODULES += engines/touche
endif
diff --git a/engines/gob/detection.cpp b/engines/gob/detection.cpp
index e5575f1e5b..7637605dcd 100644
--- a/engines/gob/detection.cpp
+++ b/engines/gob/detection.cpp
@@ -1907,7 +1907,11 @@ bool GobMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common:
return gd != 0;
}
-REGISTER_PLUGIN(GOB, PLUGIN_TYPE_ENGINE, GobMetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(GOB)
+ REGISTER_PLUGIN_DYNAMIC(GOB, PLUGIN_TYPE_ENGINE, GobMetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(GOB, PLUGIN_TYPE_ENGINE, GobMetaEngine);
+#endif
namespace Gob {
diff --git a/engines/gob/module.mk b/engines/gob/module.mk
index 734996ddd5..aa2a235327 100644
--- a/engines/gob/module.mk
+++ b/engines/gob/module.mk
@@ -56,7 +56,7 @@ MODULE_OBJS := \
video_v2.o
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_GOB), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/igor/detection.cpp b/engines/igor/detection.cpp
index 400db95f20..b04de19fb9 100644
--- a/engines/igor/detection.cpp
+++ b/engines/igor/detection.cpp
@@ -133,4 +133,8 @@ bool IgorMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common
return gd != 0;
}
-REGISTER_PLUGIN(IGOR, PLUGIN_TYPE_ENGINE, IgorMetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(IGOR)
+ REGISTER_PLUGIN_DYNAMIC(IGOR, PLUGIN_TYPE_ENGINE, IgorMetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(IGOR, PLUGIN_TYPE_ENGINE, IgorMetaEngine);
+#endif
diff --git a/engines/igor/module.mk b/engines/igor/module.mk
index ab75085782..48ef4e951c 100644
--- a/engines/igor/module.mk
+++ b/engines/igor/module.mk
@@ -38,7 +38,7 @@ MODULE_OBJS := \
parts/part_main.o
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_IGOR), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/kyra/detection.cpp b/engines/kyra/detection.cpp
index 30b0a17d4d..b921314e68 100644
--- a/engines/kyra/detection.cpp
+++ b/engines/kyra/detection.cpp
@@ -550,4 +550,8 @@ SaveStateList KyraMetaEngine::listSaves(const char *target) const {
return saveList;
}
-REGISTER_PLUGIN(KYRA, PLUGIN_TYPE_ENGINE, KyraMetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(KYRA)
+ REGISTER_PLUGIN_DYNAMIC(KYRA, PLUGIN_TYPE_ENGINE, KyraMetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(KYRA, PLUGIN_TYPE_ENGINE, KyraMetaEngine);
+#endif
diff --git a/engines/kyra/module.mk b/engines/kyra/module.mk
index be8341d90c..aec2778def 100644
--- a/engines/kyra/module.mk
+++ b/engines/kyra/module.mk
@@ -66,7 +66,7 @@ MODULE_OBJS := \
wsamovie.o
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_KYRA), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/lure/detection.cpp b/engines/lure/detection.cpp
index b498ec7f61..7dd1c77348 100644
--- a/engines/lure/detection.cpp
+++ b/engines/lure/detection.cpp
@@ -195,4 +195,8 @@ bool LureMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common
return gd != 0;
}
-REGISTER_PLUGIN(LURE, PLUGIN_TYPE_ENGINE, LureMetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(LURE)
+ REGISTER_PLUGIN_DYNAMIC(LURE, PLUGIN_TYPE_ENGINE, LureMetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(LURE, PLUGIN_TYPE_ENGINE, LureMetaEngine);
+#endif
diff --git a/engines/lure/module.mk b/engines/lure/module.mk
index 6b8bf35b77..ba158756b4 100644
--- a/engines/lure/module.mk
+++ b/engines/lure/module.mk
@@ -25,7 +25,7 @@ MODULE_OBJS := \
surface.o
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_LURE), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/m4/detection.cpp b/engines/m4/detection.cpp
index ff440e5d28..259c18f6a7 100644
--- a/engines/m4/detection.cpp
+++ b/engines/m4/detection.cpp
@@ -387,4 +387,8 @@ bool M4MetaEngine::createInstance(OSystem *syst, Engine **engine, const Common::
return gd != 0;
}
-REGISTER_PLUGIN(M4, PLUGIN_TYPE_ENGINE, M4MetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(M4)
+ REGISTER_PLUGIN_DYNAMIC(M4, PLUGIN_TYPE_ENGINE, M4MetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(M4, PLUGIN_TYPE_ENGINE, M4MetaEngine);
+#endif
diff --git a/engines/m4/module.mk b/engines/m4/module.mk
index 9791f66a58..eea75cab24 100644
--- a/engines/m4/module.mk
+++ b/engines/m4/module.mk
@@ -34,7 +34,7 @@ MODULE_OBJS = \
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_M4), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/made/detection.cpp b/engines/made/detection.cpp
index cae5e287ee..6da3189163 100644
--- a/engines/made/detection.cpp
+++ b/engines/made/detection.cpp
@@ -271,4 +271,8 @@ const Common::ADGameDescription *MadeMetaEngine::fallbackDetect(const FSList *fs
return (const Common::ADGameDescription *)&Made::g_fallbackDesc;
}
-REGISTER_PLUGIN(MADE, PLUGIN_TYPE_ENGINE, MadeMetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(MADE)
+ REGISTER_PLUGIN_DYNAMIC(MADE, PLUGIN_TYPE_ENGINE, MadeMetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(MADE, PLUGIN_TYPE_ENGINE, MadeMetaEngine);
+#endif
diff --git a/engines/made/module.mk b/engines/made/module.mk
index 2c1219d09e..164e1bfba4 100644
--- a/engines/made/module.mk
+++ b/engines/made/module.mk
@@ -18,7 +18,7 @@ MODULE_OBJS = \
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_MADE), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/parallaction/detection.cpp b/engines/parallaction/detection.cpp
index a84601f6f9..8841b9ca40 100644
--- a/engines/parallaction/detection.cpp
+++ b/engines/parallaction/detection.cpp
@@ -233,4 +233,8 @@ bool ParallactionMetaEngine::createInstance(OSystem *syst, Engine **engine, cons
return res;
}
-REGISTER_PLUGIN(PARALLACTION, PLUGIN_TYPE_ENGINE, ParallactionMetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(PARALLACTION)
+ REGISTER_PLUGIN_DYNAMIC(PARALLACTION, PLUGIN_TYPE_ENGINE, ParallactionMetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(PARALLACTION, PLUGIN_TYPE_ENGINE, ParallactionMetaEngine);
+#endif
diff --git a/engines/parallaction/module.mk b/engines/parallaction/module.mk
index 9a66b317e2..c7e7af14bf 100644
--- a/engines/parallaction/module.mk
+++ b/engines/parallaction/module.mk
@@ -29,7 +29,7 @@ MODULE_OBJS := \
walk.o
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_PARALLACTION), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/queen/module.mk b/engines/queen/module.mk
index c691906558..5e0602cae7 100644
--- a/engines/queen/module.mk
+++ b/engines/queen/module.mk
@@ -24,7 +24,7 @@ MODULE_OBJS := \
walk.o
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_QUEEN), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/queen/queen.cpp b/engines/queen/queen.cpp
index cd492b7934..d1a1247c46 100644
--- a/engines/queen/queen.cpp
+++ b/engines/queen/queen.cpp
@@ -127,7 +127,11 @@ PluginError QueenMetaEngine::createInstance(OSystem *syst, Engine **engine) cons
return kNoError;
}
-REGISTER_PLUGIN(QUEEN, PLUGIN_TYPE_ENGINE, QueenMetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(QUEEN)
+ REGISTER_PLUGIN_DYNAMIC(QUEEN, PLUGIN_TYPE_ENGINE, QueenMetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(QUEEN, PLUGIN_TYPE_ENGINE, QueenMetaEngine);
+#endif
namespace Queen {
diff --git a/engines/saga/detection.cpp b/engines/saga/detection.cpp
index 687018f491..b7d2a3aa39 100644
--- a/engines/saga/detection.cpp
+++ b/engines/saga/detection.cpp
@@ -162,7 +162,11 @@ bool SagaMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common
return gd != 0;
}
-REGISTER_PLUGIN(SAGA, PLUGIN_TYPE_ENGINE, SagaMetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(SAGA)
+ REGISTER_PLUGIN_DYNAMIC(SAGA, PLUGIN_TYPE_ENGINE, SagaMetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(SAGA, PLUGIN_TYPE_ENGINE, SagaMetaEngine);
+#endif
namespace Saga {
diff --git a/engines/saga/module.mk b/engines/saga/module.mk
index c1b1c364f6..76783a17ae 100644
--- a/engines/saga/module.mk
+++ b/engines/saga/module.mk
@@ -35,7 +35,7 @@ MODULE_OBJS := \
sound.o
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_SAGA), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/scumm/actor.cpp b/engines/scumm/actor.cpp
index 63718fbb5a..df6660523a 100644
--- a/engines/scumm/actor.cpp
+++ b/engines/scumm/actor.cpp
@@ -902,7 +902,7 @@ void Actor::putActor(int dstX, int dstY, int newRoom) {
}
adjustActorPos();
} else {
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
if (_vm->_game.heversion >= 71)
((ScummEngine_v71he *)_vm)->queueAuxBlock(this);
#endif
@@ -1379,7 +1379,7 @@ void ScummEngine_v6::processActors() {
akos_processQueue();
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
void ScummEngine_v71he::processActors() {
preProcessAuxQueue();
@@ -1543,7 +1543,7 @@ void Actor::drawActorCostume(bool hitTestMode) {
}
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
bool Actor::actorHitTest(int x, int y) {
AkosRenderer *ar = (AkosRenderer *)_vm->_costumeRenderer;
@@ -1681,7 +1681,7 @@ void Actor::animateCostume() {
}
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void Actor::animateLimb(int limb, int f) {
// This methods is very similiar to animateCostume().
// However, instead of animating *all* the limbs, it only animates
@@ -1853,7 +1853,7 @@ void ScummEngine::resetV1ActorTalkColor() {
}
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v7::actorTalk(const byte *msg) {
Actor *a;
bool stringWrap = false;
@@ -2021,7 +2021,7 @@ void ScummEngine::stopTalk() {
_keepText = false;
if (_game.version >= 7) {
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
((ScummEngine_v7 *)this)->clearSubtitleQueue();
#endif
} else {
@@ -2054,7 +2054,7 @@ void Actor::setActorCostume(int c) {
if (_vm->_game.features & GF_NEW_COSTUMES) {
memset(_animVariable, 0, sizeof(_animVariable));
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
if (_vm->_game.heversion >= 71)
((ScummEngine_v71he *)_vm)->queueAuxBlock(this);
#endif
@@ -2293,7 +2293,7 @@ bool Actor::isTalkConditionSet(int slot) const {
return (_heCondMask & (1 << (slot - 1))) != 0;
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
void ScummEngine_v71he::preProcessAuxQueue() {
if (!_skipProcessActors) {
for (int i = 0; i < _auxBlocksNum; ++i) {
diff --git a/engines/scumm/akos.cpp b/engines/scumm/akos.cpp
index 31e7f75878..8e8fff938d 100644
--- a/engines/scumm/akos.cpp
+++ b/engines/scumm/akos.cpp
@@ -1272,7 +1272,7 @@ byte AkosRenderer::codec16(int xmoveCur, int ymoveCur) {
}
byte AkosRenderer::codec32(int xmoveCur, int ymoveCur) {
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
Common::Rect src, dst;
if (!_mirror) {
@@ -1767,7 +1767,7 @@ void ScummEngine_v6::akos_processQueue() {
a->_offsY = param_2;
break;
case 7:
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
assert(_game.heversion >= 71);
((ScummEngine_v71he *)this)->queueAuxEntry(a->_number, param_1);
#endif
@@ -1793,7 +1793,7 @@ void ScummEngine_v6::akos_processQueue() {
}
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v7::akos_processQueue() {
byte cmd;
int actor, param_1, param_2;
diff --git a/engines/scumm/camera.cpp b/engines/scumm/camera.cpp
index e2e6ff0cb6..288441695f 100644
--- a/engines/scumm/camera.cpp
+++ b/engines/scumm/camera.cpp
@@ -221,7 +221,7 @@ void ScummEngine::actorFollowCamera(int act) {
}
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v7::setCameraAt(int pos_x, int pos_y) {
Common::Point old;
diff --git a/engines/scumm/charset.cpp b/engines/scumm/charset.cpp
index d0a43dd519..46d034d880 100644
--- a/engines/scumm/charset.cpp
+++ b/engines/scumm/charset.cpp
@@ -795,7 +795,7 @@ void CharsetRendererClassic::printCharIntern(bool is2byte, const byte *charPtr,
int drawTop = _top - vs->topline;
if ((_vm->_game.heversion >= 71 && _bitDepth >= 8) || (_vm->_game.heversion >= 90 && _bitDepth == 0)) {
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
if (ignoreCharsetMask || !vs->hasTwoBuffers) {
dstPtr = vs->getPixels(0, 0);
} else {
@@ -971,7 +971,7 @@ void CharsetRendererCommon::drawBits1(const Graphics::Surface &s, byte *dst, con
}
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
CharsetRendererNut::CharsetRendererNut(ScummEngine *vm)
: CharsetRenderer(vm) {
_current = 0;
diff --git a/engines/scumm/charset.h b/engines/scumm/charset.h
index 2f1ce1129f..b62dbc6006 100644
--- a/engines/scumm/charset.h
+++ b/engines/scumm/charset.h
@@ -172,7 +172,7 @@ public:
int getCharWidth(byte chr) { return 8; }
};
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
class CharsetRendererNut : public CharsetRenderer {
protected:
NutRenderer *_fr[5];
diff --git a/engines/scumm/detection.cpp b/engines/scumm/detection.cpp
index 989ff67627..9359c6610c 100644
--- a/engines/scumm/detection.cpp
+++ b/engines/scumm/detection.cpp
@@ -873,7 +873,7 @@ PluginError ScummMetaEngine::createInstance(OSystem *syst, Engine **engine) cons
break;
case 6:
switch (res.game.heversion) {
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
case 200:
*engine = new ScummEngine_vCUPhe(syst, res);
break;
@@ -910,7 +910,7 @@ PluginError ScummMetaEngine::createInstance(OSystem *syst, Engine **engine) cons
*engine = new ScummEngine_v6(syst, res);
}
break;
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
case 7:
*engine = new ScummEngine_v7(syst, res);
break;
@@ -966,4 +966,8 @@ SaveStateList ScummMetaEngine::listSaves(const char *target) const {
return saveList;
}
-REGISTER_PLUGIN(SCUMM, PLUGIN_TYPE_ENGINE, ScummMetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(SCUMM)
+ REGISTER_PLUGIN_DYNAMIC(SCUMM, PLUGIN_TYPE_ENGINE, ScummMetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(SCUMM, PLUGIN_TYPE_ENGINE, ScummMetaEngine);
+#endif
diff --git a/engines/scumm/detection_tables.h b/engines/scumm/detection_tables.h
index 500a2b47b8..18d51e133d 100644
--- a/engines/scumm/detection_tables.h
+++ b/engines/scumm/detection_tables.h
@@ -67,7 +67,7 @@ static const PlainGameDescriptor gameDescriptions[] = {
{ "tentacle", "Day of the Tentacle" },
{ "zak", "Zak McKracken and the Alien Mindbenders" },
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
{ "ft", "Full Throttle" },
{ "dig", "The Dig" },
{ "comi", "The Curse of Monkey Island" },
@@ -81,7 +81,7 @@ static const PlainGameDescriptor gameDescriptions[] = {
{ "puttmoon", "Putt-Putt Goes to the Moon" },
{ "puttputt", "Putt-Putt Joins the Parade" },
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
{ "airport", "Let's Explore the Airport with Buzzy" },
{ "arttime", "Blue's Art Time Activities" },
{ "balloon", "Putt-Putt and Pep's Balloon-O-Rama" },
@@ -231,7 +231,7 @@ static const GameSettings gameVariantsTable[] = {
{"samnmax", 0, 0, GID_SAMNMAX, 6, 0, MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK},
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
{"ft", 0, 0, GID_FT, 7, 0, MDT_NONE, 0, UNK},
{"dig", 0, 0, GID_DIG, 7, 0, MDT_NONE, 0, UNK},
@@ -259,7 +259,7 @@ static const GameSettings gameVariantsTable[] = {
// they'll override more specific entries that follow later on.
{"", "HE 70", 0, GID_HEGAME, 6, 70, MDT_NONE, GF_USE_KEY, UNK},
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
// HE CUP demos
{"", "HE CUP", 0, GID_HECUP, 6, 200, MDT_NONE, 0, UNK},
@@ -443,7 +443,7 @@ static const GameFilenamePattern gameFilenamesTable[] = {
{ "samnmax", "snmidemo.%03d", kGenDiskNum, UNK_LANG, UNK, 0 },
{ "samnmax", "sdemo.sm%d", kGenDiskNum, Common::DE_DEU, UNK, 0 },
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
{ "dig", "dig.la%d", kGenDiskNum, UNK_LANG, UNK, 0 },
{ "dig", "The Dig Data", kGenUnchanged, UNK_LANG, Common::kPlatformMacintosh, 0 },
{ "dig", "The Dig Demo Data", kGenUnchanged, UNK_LANG, Common::kPlatformMacintosh, "Demo" },
@@ -482,7 +482,7 @@ static const GameFilenamePattern gameFilenamesTable[] = {
{ "puttputt", "Putt-Putt's Demo", kGenHEMacNoParens, UNK_LANG, Common::kPlatformMacintosh, 0 },
{ "puttputt", "Putt-Putt Parade", kGenHEMacNoParens, UNK_LANG, Common::kPlatformMacintosh, 0 },
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
{ "airport", "airport", kGenHEPC, UNK_LANG, UNK, 0 },
{ "airport", "airdemo", kGenHEPC, UNK_LANG, UNK, 0 },
{ "airport", "Airport Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
diff --git a/engines/scumm/gfx.cpp b/engines/scumm/gfx.cpp
index 2ca50a725c..6c8d24d25a 100644
--- a/engines/scumm/gfx.cpp
+++ b/engines/scumm/gfx.cpp
@@ -28,7 +28,7 @@
#include "scumm/actor.h"
#include "scumm/charset.h"
#include "scumm/intern.h"
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
#include "scumm/he/intern_he.h"
#endif
#include "scumm/resource.h"
@@ -907,7 +907,7 @@ void ScummEngine::redrawBGAreas() {
_bgNeedsRedraw = false;
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
void ScummEngine_v71he::redrawBGAreas() {
if (camera._cur.x != camera._last.x && _charset->_hasMask)
stopTalk();
@@ -1834,7 +1834,7 @@ void GdiV2::decodeMask(int x, int y, const int width, const int height,
// Do nothing here for V2 games - zplane was already handled.
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
/**
* Draw a bitmap onto a virtual screen. This is main drawing method for room backgrounds
* used throughout HE71+ versions.
diff --git a/engines/scumm/gfx.h b/engines/scumm/gfx.h
index 4e92fad0fd..e03fdd1c53 100644
--- a/engines/scumm/gfx.h
+++ b/engines/scumm/gfx.h
@@ -246,7 +246,7 @@ public:
void drawBitmap(const byte *ptr, VirtScreen *vs, int x, int y, const int width, const int height,
int stripnr, int numstrip, byte flag);
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
void drawBMAPBg(const byte *ptr, VirtScreen *vs);
void drawBMAPObject(const byte *ptr, VirtScreen *vs, int obj, int x, int y, int w, int h);
#endif
diff --git a/engines/scumm/he/cup_player_he.h b/engines/scumm/he/cup_player_he.h
index b9f257add1..1b1c32d86f 100644
--- a/engines/scumm/he/cup_player_he.h
+++ b/engines/scumm/he/cup_player_he.h
@@ -24,7 +24,7 @@
*/
-#if !defined(SCUMM_HE_CUP_PLAYER_HE_H) && !defined(DISABLE_HE)
+#if !defined(SCUMM_HE_CUP_PLAYER_HE_H) && defined(ENABLE_HE)
#define SCUMM_HE_CUP_PLAYER_HE_H
#include "common/stream.h"
diff --git a/engines/scumm/he/floodfill_he.h b/engines/scumm/he/floodfill_he.h
index d449599f7d..cfc672436c 100644
--- a/engines/scumm/he/floodfill_he.h
+++ b/engines/scumm/he/floodfill_he.h
@@ -23,7 +23,7 @@
*
*/
-#if !defined(SCUMM_HE_FLOODFILL_HE_H) && !defined(DISABLE_HE)
+#if !defined(SCUMM_HE_FLOODFILL_HE_H) && defined(ENABLE_HE)
#define SCUMM_HE_FLOODFILL_HE_H
#include "common/rect.h"
diff --git a/engines/scumm/he/intern_he.h b/engines/scumm/he/intern_he.h
index 324c975213..fff8502134 100644
--- a/engines/scumm/he/intern_he.h
+++ b/engines/scumm/he/intern_he.h
@@ -27,7 +27,7 @@
#define SCUMM_HE_INTERN_HE_H
#include "scumm/intern.h"
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
#include "scumm/he/floodfill_he.h"
#include "scumm/he/wiz_he.h"
#endif
@@ -40,7 +40,7 @@ class WriteStream;
namespace Scumm {
class ResExtractor;
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
class LogicHE;
class MoviePlayer;
class Sprite;
@@ -178,7 +178,7 @@ protected:
byte VAR_NUM_SOUND_CHANNELS;
};
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
class ScummEngine_v71he : public ScummEngine_v70he {
friend class Wiz;
diff --git a/engines/scumm/he/logic_he.h b/engines/scumm/he/logic_he.h
index 96de40f287..b144f78c46 100644
--- a/engines/scumm/he/logic_he.h
+++ b/engines/scumm/he/logic_he.h
@@ -23,7 +23,7 @@
*
*/
-#if !defined(SCUMM_HE_LOGIC_HE_H) && !defined(DISABLE_HE)
+#if !defined(SCUMM_HE_LOGIC_HE_H) && defined(ENABLE_HE)
#define SCUMM_HE_LOGIC_HE_H
diff --git a/engines/scumm/he/resource_he.cpp b/engines/scumm/he/resource_he.cpp
index 75da8cd04a..33e6748860 100644
--- a/engines/scumm/he/resource_he.cpp
+++ b/engines/scumm/he/resource_he.cpp
@@ -1524,7 +1524,7 @@ void ScummEngine_v70he::readGlobalObjects() {
#endif
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
void ScummEngine_v99he::readMAXS(int blockSize) {
if (blockSize == 52) {
debug(0, "ScummEngine_v99he readMAXS: MAXS has blocksize %d", blockSize);
diff --git a/engines/scumm/he/sprite_he.h b/engines/scumm/he/sprite_he.h
index 55c1093f00..73a05af579 100644
--- a/engines/scumm/he/sprite_he.h
+++ b/engines/scumm/he/sprite_he.h
@@ -23,7 +23,7 @@
*
*/
-#if !defined(SCUMM_HE_SPRITE_HE_H) && !defined(DISABLE_HE)
+#if !defined(SCUMM_HE_SPRITE_HE_H) && defined(ENABLE_HE)
#define SCUMM_HE_SPRITE_HE_H
namespace Scumm {
diff --git a/engines/scumm/he/wiz_he.h b/engines/scumm/he/wiz_he.h
index 186dbced6d..6887b45299 100644
--- a/engines/scumm/he/wiz_he.h
+++ b/engines/scumm/he/wiz_he.h
@@ -23,7 +23,7 @@
*
*/
-#if !defined(SCUMM_HE_WIZ_HE_H) && !defined(DISABLE_HE)
+#if !defined(SCUMM_HE_WIZ_HE_H) && defined(ENABLE_HE)
#define SCUMM_HE_WIZ_HE_H
#include "common/rect.h"
diff --git a/engines/scumm/imuse_digi/dimuse.h b/engines/scumm/imuse_digi/dimuse.h
index 8cb6562bd3..bcd6e45244 100644
--- a/engines/scumm/imuse_digi/dimuse.h
+++ b/engines/scumm/imuse_digi/dimuse.h
@@ -22,7 +22,7 @@
* $Id$
*/
-#if !defined(SCUMM_IMUSE_DIGI_H) && !defined(DISABLE_SCUMM_7_8)
+#if !defined(SCUMM_IMUSE_DIGI_H) && defined(ENABLE_SCUMM_7_8)
#define SCUMM_IMUSE_DIGI_H
#include "common/scummsys.h"
diff --git a/engines/scumm/imuse_digi/dimuse_tables.h b/engines/scumm/imuse_digi/dimuse_tables.h
index ddd7c571f3..942acd721f 100644
--- a/engines/scumm/imuse_digi/dimuse_tables.h
+++ b/engines/scumm/imuse_digi/dimuse_tables.h
@@ -22,7 +22,7 @@
* $Id$
*/
-#if !defined(SCUMM_IMUSE_DIGI_TABLES_H) && !defined(DISABLE_SCUMM_7_8)
+#if !defined(SCUMM_IMUSE_DIGI_TABLES_H) && defined(ENABLE_SCUMM_7_8)
#define SCUMM_IMUSE_DIGI_TABLES_H
#include "common/scummsys.h"
diff --git a/engines/scumm/imuse_digi/dimuse_track.h b/engines/scumm/imuse_digi/dimuse_track.h
index 0c6445c43a..33147128cb 100644
--- a/engines/scumm/imuse_digi/dimuse_track.h
+++ b/engines/scumm/imuse_digi/dimuse_track.h
@@ -22,7 +22,7 @@
* $Id$
*/
-#if !defined(SCUMM_IMUSE_DIGI_TRACK_H) && !defined(DISABLE_SCUMM_7_8)
+#if !defined(SCUMM_IMUSE_DIGI_TRACK_H) && defined(ENABLE_SCUMM_7_8)
#define SCUMM_IMUSE_DIGI_TRACK_H
#include "common/scummsys.h"
diff --git a/engines/scumm/input.cpp b/engines/scumm/input.cpp
index b53867ca3d..35028c7e1c 100644
--- a/engines/scumm/input.cpp
+++ b/engines/scumm/input.cpp
@@ -36,7 +36,7 @@
#include "scumm/dialogs.h"
#include "scumm/insane/insane.h"
#include "scumm/imuse/imuse.h"
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
#include "scumm/he/intern_he.h"
#include "scumm/he/logic_he.h"
#endif
@@ -202,7 +202,7 @@ void ScummEngine::parseEvents() {
}
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
void ScummEngine_v90he::clearClickedStatus() {
ScummEngine::clearClickedStatus();
if (_game.heversion >= 98) {
@@ -328,7 +328,7 @@ void ScummEngine::processInput() {
processKeyboard(lastKeyHit);
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v8::processKeyboard(Common::KeyState lastKeyHit) {
if (!(_game.features & GF_DEMO)) {
diff --git a/engines/scumm/insane/insane.h b/engines/scumm/insane/insane.h
index 761ca8b96c..28eafb6f73 100644
--- a/engines/scumm/insane/insane.h
+++ b/engines/scumm/insane/insane.h
@@ -23,7 +23,7 @@
*
*/
-#if !defined(SCUMM_INSANE_H) && !defined(DISABLE_SCUMM_7_8)
+#if !defined(SCUMM_INSANE_H) && defined(ENABLE_SCUMM_7_8)
#define SCUMM_INSANE_H
#include "engines/engine.h"
diff --git a/engines/scumm/intern.h b/engines/scumm/intern.h
index 391e7216fa..2dfbcdcdbb 100644
--- a/engines/scumm/intern.h
+++ b/engines/scumm/intern.h
@@ -848,7 +848,7 @@ protected:
byte VAR_TIMEDATE_SECOND;
};
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
class ScummEngine_v7 : public ScummEngine_v6 {
friend class SmushPlayer;
friend class Insane;
diff --git a/engines/scumm/module.mk b/engines/scumm/module.mk
index 7ae4577432..7d52a02116 100644
--- a/engines/scumm/module.mk
+++ b/engines/scumm/module.mk
@@ -64,7 +64,7 @@ MODULE_OBJS += \
proc3ARM.o
endif
-ifndef DISABLE_SCUMM_7_8
+ifdef ENABLE_SCUMM_7_8
MODULE_OBJS += \
nut_renderer.o \
script_v8.o \
@@ -104,7 +104,7 @@ MODULE_OBJS += \
gfxARM.o
endif
-ifndef DISABLE_HE
+ifdef ENABLE_HE
MODULE_OBJS += \
he/animation_he.o \
he/cup_player_he.o \
@@ -121,7 +121,7 @@ MODULE_OBJS += \
endif
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_SCUMM), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/scumm/nut_renderer.h b/engines/scumm/nut_renderer.h
index 55a445e957..5783646d11 100644
--- a/engines/scumm/nut_renderer.h
+++ b/engines/scumm/nut_renderer.h
@@ -22,7 +22,7 @@
* $Id$
*/
-#if !defined(SCUMM_NUT_RENDERER_H) && !defined(DISABLE_SCUMM_7_8)
+#if !defined(SCUMM_NUT_RENDERER_H) && defined(ENABLE_SCUMM_7_8)
#define SCUMM_NUT_RENDERER_H
#include "common/file.h"
diff --git a/engines/scumm/object.cpp b/engines/scumm/object.cpp
index b512c83b94..8bcd92fd3b 100644
--- a/engines/scumm/object.cpp
+++ b/engines/scumm/object.cpp
@@ -491,7 +491,7 @@ int ScummEngine::findObject(int x, int y) {
a = _objs[b].parentstate;
b = _objs[b].parent;
if (b == 0) {
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
if (_game.heversion >= 71) {
if (((ScummEngine_v71he *)this)->_wiz->polygonHit(_objs[i].obj_nr, x, y))
return _objs[i].obj_nr;
@@ -614,7 +614,7 @@ void ScummEngine::drawObject(int obj, int arg) {
(_game.id == GID_FT && getClass(od.obj_nr, kObjectClassPlayer)))
flags |= Gdi::dbDrawMaskOnAll;
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
if (_game.heversion >= 70 && findResource(MKID_BE('SMAP'), ptr) == NULL)
_gdi->drawBMAPObject(ptr, &_virtscr[kMainVirtScreen], obj, od.x_pos, od.y_pos, od.width, od.height);
else
@@ -1071,7 +1071,7 @@ void ScummEngine_v6::clearDrawQueues() {
_blastObjectQueuePos = 0;
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
void ScummEngine_v71he::clearDrawQueues() {
ScummEngine_v6::clearDrawQueues();
@@ -1304,7 +1304,7 @@ int ScummEngine::getObjectImageCount(int object) {
}
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
int ScummEngine_v8::getObjectIdFromOBIM(const byte *obim) {
// In V8, IMHD has no obj_id, but rather a name string. We map the name
// back to an object id using a table derived from the DOBJ resource.
diff --git a/engines/scumm/palette.cpp b/engines/scumm/palette.cpp
index 775aa52a14..fb0e55a2dc 100644
--- a/engines/scumm/palette.cpp
+++ b/engines/scumm/palette.cpp
@@ -714,7 +714,7 @@ void ScummEngine::darkenPalette(int redScale, int greenScale, int blueScale, int
}
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
static int HSL2RGBHelper(int n1, int n2, int hue) {
if (hue > 360)
hue = hue - 360;
diff --git a/engines/scumm/resource.cpp b/engines/scumm/resource.cpp
index 19c27b4bc3..acdc2bc222 100644
--- a/engines/scumm/resource.cpp
+++ b/engines/scumm/resource.cpp
@@ -218,7 +218,7 @@ void ScummEngine::askForDisk(const char *filename, int disknum) {
char buf[128];
if (_game.version == 8) {
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
char result;
_imuseDigital->stopAllSounds();
@@ -347,7 +347,7 @@ bool checkTryMedia(BaseScummFile *handle) {
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v7::readIndexBlock(uint32 blocktype, uint32 itemsize) {
int num;
char *ptr;
@@ -1081,7 +1081,7 @@ void ScummEngine_v5::readMAXS(int blockSize) {
_shadowPalette = (byte *)calloc(_shadowPaletteSize, 1);
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v8::readMAXS(int blockSize) {
debug(9, "ScummEngine_v8 readMAXS: MAXS has blocksize %d", blockSize);
@@ -1204,7 +1204,7 @@ void ScummEngine::readGlobalObjects() {
#endif
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v8::readGlobalObjects() {
int i;
int num = _fileHandle->readUint32LE();
diff --git a/engines/scumm/room.cpp b/engines/scumm/room.cpp
index 04cd13e126..6fedb34b47 100644
--- a/engines/scumm/room.cpp
+++ b/engines/scumm/room.cpp
@@ -28,7 +28,7 @@
#include "scumm/actor.h"
#include "scumm/boxes.h"
#include "scumm/intern.h"
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
#include "scumm/he/intern_he.h"
#endif
#include "scumm/object.h"
@@ -560,7 +560,7 @@ void ScummEngine::resetRoomSubBlocks() {
}
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
// Polygons in HE 80+ games
if (_game.heversion >= 80) {
ptr = findResourceData(MKID_BE('POLD'), roomptr);
diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp
index 8d23e47bbf..a8ef26c484 100644
--- a/engines/scumm/saveload.cpp
+++ b/engines/scumm/saveload.cpp
@@ -235,7 +235,7 @@ bool ScummEngine::loadState(int slot, bool compat) {
if (!_imuse || _saveSound || !_saveTemporaryState)
_sound->stopAllSounds();
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
if (_imuseDigital) {
_imuseDigital->stopAllSounds();
_imuseDigital->resetState();
@@ -1239,7 +1239,7 @@ void ScummEngine_v5::saveOrLoad(Serializer *s) {
s->saveLoadEntries(this, cursorEntries);
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v7::saveOrLoad(Serializer *s) {
ScummEngine::saveOrLoad(s);
@@ -1292,7 +1292,7 @@ void ScummEngine_v70he::saveOrLoad(Serializer *s) {
s->saveLoadEntries(this, HE70Entries);
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
void ScummEngine_v71he::saveOrLoad(Serializer *s) {
ScummEngine_v70he::saveOrLoad(s);
diff --git a/engines/scumm/script_v6.cpp b/engines/scumm/script_v6.cpp
index 420ee6a739..faae72b6dd 100644
--- a/engines/scumm/script_v6.cpp
+++ b/engines/scumm/script_v6.cpp
@@ -1102,7 +1102,7 @@ void ScummEngine_v6::o6_startSound() {
if (_game.heversion >= 60 && (_game.id != GID_PUTTDEMO))
offset = pop();
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
if (_game.version >= 7)
_imuseDigital->startSfx(pop(), 64);
else
@@ -2545,7 +2545,7 @@ void ScummEngine_v6::o6_setBlastObjectWindow() {
// So, we just handle this as no-op opcode.
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v7::o6_kernelSetFunctions() {
int args[30];
int num;
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 7c412970bb..c99856b3a3 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -736,7 +736,7 @@ ScummEngine_v70he::~ScummEngine_v70he() {
free(_storedFlObjects);
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
ScummEngine_v71he::ScummEngine_v71he(OSystem *syst, const DetectorResult &dr)
: ScummEngine_v70he(syst, dr) {
_auxBlocksNum = 0;
@@ -858,7 +858,7 @@ void ScummEngine_vCUPhe::parseEvents() {
#endif
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
ScummEngine_v7::ScummEngine_v7(OSystem *syst, const DetectorResult &dr)
: ScummEngine_v6(syst, dr) {
_verbLineSpacing = 10;
@@ -927,7 +927,7 @@ int ScummEngine::init() {
File::addDefaultDirectory(_gameDataPath + "Rooms 3/");
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
#ifdef MACOSX
if (_game.version == 8 && !memcmp(_gameDataPath.c_str(), "/Volumes/MONKEY3_", 17)) {
// Special case for COMI on Mac OS X. The mount points on OS X depend
@@ -1212,7 +1212,7 @@ void ScummEngine::setupScumm() {
_compositeBuf = (byte *)malloc(_screenWidth * _textSurfaceMultiplier * _screenHeight * _textSurfaceMultiplier);
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v7::setupScumm() {
_musicEngine = _imuseDigital = new IMuseDigital(this, _mixer, 10);
@@ -1238,7 +1238,7 @@ void ScummEngine::setupCharsetRenderer() {
_charset = new CharsetRendererV2(this, _language);
else if (_game.version == 3)
_charset = new CharsetRendererV3(this);
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
else if (_game.version == 8)
_charset = new CharsetRendererNut(this);
#endif
@@ -1479,7 +1479,7 @@ void ScummEngine_v60he::resetScumm() {
setCursorHotspot(16, 16);
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
void ScummEngine_v72he::resetScumm() {
ScummEngine_v60he::resetScumm();
@@ -1954,7 +1954,7 @@ load_game:
CursorMan.showMouse(_cursor.state > 0);
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
void ScummEngine_v90he::scummLoop(int delta) {
_moviePlay->handleNextFrame();
if (_game.heversion >= 98) {
@@ -2051,7 +2051,7 @@ void ScummEngine::scummLoop_handleSaveLoad() {
}
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v8::scummLoop_handleSaveLoad() {
ScummEngine::scummLoop_handleSaveLoad();
@@ -2067,7 +2067,7 @@ void ScummEngine::scummLoop_handleDrawing() {
processDrawQue();
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v7::scummLoop_handleDrawing() {
ScummEngine_v6::scummLoop_handleDrawing();
@@ -2077,7 +2077,7 @@ void ScummEngine_v7::scummLoop_handleDrawing() {
}
#endif
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
void ScummEngine_v90he::scummLoop_handleDrawing() {
ScummEngine_v80he::scummLoop_handleDrawing();
@@ -2125,7 +2125,7 @@ void ScummEngine::scummLoop_handleSound() {
_sound->processSound();
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v7::scummLoop_handleSound() {
ScummEngine_v6::scummLoop_handleSound();
if (_imuseDigital) {
@@ -2226,7 +2226,7 @@ void ScummEngine::runBootscript() {
runScript(1, 0, 0, args);
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
void ScummEngine_v90he::runBootscript() {
if (_game.heversion >= 98) {
_logicHE->initOnce();
@@ -2284,7 +2284,7 @@ int ScummEngine::runDialog(Dialog &dialog) {
return result;
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
int ScummEngine_v7::runDialog(Dialog &dialog) {
_splayer->pause();
int result = ScummEngine::runDialog(dialog);
diff --git a/engines/scumm/smush/smush_player.h b/engines/scumm/smush/smush_player.h
index 486c8d23e6..413a5895d3 100644
--- a/engines/scumm/smush/smush_player.h
+++ b/engines/scumm/smush/smush_player.h
@@ -23,7 +23,7 @@
*
*/
-#if !defined(SCUMM_SMUSH_PLAYER_H) && !defined(DISABLE_SCUMM_7_8)
+#if !defined(SCUMM_SMUSH_PLAYER_H) && defined(ENABLE_SCUMM_7_8)
#define SCUMM_SMUSH_PLAYER_H
#include "common/util.h"
diff --git a/engines/scumm/sound.cpp b/engines/scumm/sound.cpp
index d7e3ec1508..fdd0598378 100644
--- a/engines/scumm/sound.cpp
+++ b/engines/scumm/sound.cpp
@@ -675,7 +675,7 @@ void Sound::startTalkSound(uint32 offset, uint32 b, int mode, Audio::SoundHandle
}
if (_vm->_imuseDigital) {
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
//_vm->_imuseDigital->stopSound(kTalkSoundID);
_vm->_imuseDigital->startVoice(kTalkSoundID, input);
#endif
@@ -688,7 +688,7 @@ void Sound::startTalkSound(uint32 offset, uint32 b, int mode, Audio::SoundHandle
void Sound::stopTalkSound() {
if (_sfxMode & 2) {
if (_vm->_imuseDigital) {
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
_vm->_imuseDigital->stopSound(kTalkSoundID);
#endif
} else if (_vm->_game.heversion >= 60) {
@@ -718,7 +718,7 @@ bool Sound::isMouthSyncOff(uint pos) {
}
int Sound::isSoundRunning(int sound) const {
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
if (_vm->_imuseDigital)
return (_vm->_imuseDigital->getSoundStatus(sound) != 0);
#endif
@@ -754,7 +754,7 @@ int Sound::isSoundRunning(int sound) const {
*/
bool Sound::isSoundInUse(int sound) const {
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
if (_vm->_imuseDigital)
return (_vm->_imuseDigital->getSoundStatus(sound) != 0);
#endif
@@ -848,7 +848,7 @@ void Sound::stopAllSounds() {
void Sound::soundKludge(int *list, int num) {
int i;
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
if (_vm->_imuseDigital) {
_vm->_imuseDigital->parseScriptCmds(list[0], list[1], list[2], list[3], list[4],
list[5], list[6], list[7]);
@@ -912,7 +912,7 @@ void Sound::pauseSounds(bool pause) {
_soundsPaused = pause;
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
if (_vm->_imuseDigital) {
_vm->_imuseDigital->pause(pause);
}
diff --git a/engines/scumm/string.cpp b/engines/scumm/string.cpp
index e31c3ed9c9..f42a803a3d 100644
--- a/engines/scumm/string.cpp
+++ b/engines/scumm/string.cpp
@@ -34,7 +34,7 @@
#include "scumm/file.h"
#include "scumm/imuse_digi/dimuse.h"
#include "scumm/intern.h"
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
#include "scumm/he/intern_he.h"
#endif
#include "scumm/verbs.h"
@@ -66,7 +66,7 @@ void ScummEngine::printString(int m, const byte *msg) {
}
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v8::printString(int m, const byte *msg) {
if (m == 4) {
const StringTab &st = _string[m];
@@ -220,7 +220,7 @@ void ScummEngine_v6::removeBlastTexts() {
#pragma mark -
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v7::processSubtitleQueue() {
for (int i = 0; i < _subtitleQueuePos; ++i) {
SubtitleText *st = &_subtitleQueue[i];
@@ -353,7 +353,7 @@ bool ScummEngine::handleNextCharsetCode(Actor *a, int *code) {
return (c != 2 && c != 3);
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
bool ScummEngine_v72he::handleNextCharsetCode(Actor *a, int *code) {
const int charsetCode = (_game.heversion >= 80) ? 127 : 64;
uint32 talk_sound_a = 0;
@@ -431,7 +431,7 @@ bool ScummEngine_v72he::handleNextCharsetCode(Actor *a, int *code) {
void ScummEngine::CHARSET_1() {
Actor *a;
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
byte subtitleBuffer[200];
byte *subtitleLine = subtitleBuffer;
Common::Point subtitlePos;
@@ -533,7 +533,7 @@ void ScummEngine::CHARSET_1() {
if (!_keepText) {
if (_game.version >= 7) {
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
((ScummEngine_v7 *)this)->clearSubtitleQueue();
_nextLeft = _string[0].xpos;
_nextTop = _string[0].ypos + _screenTop;
@@ -574,7 +574,7 @@ void ScummEngine::CHARSET_1() {
if (c == 13) {
newLine:;
_nextLeft = _string[0].xpos;
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
if (_game.version >= 7 && subtitleLine != subtitleBuffer) {
((ScummEngine_v7 *)this)->addSubtitleToQueue(subtitleBuffer, subtitlePos, _charsetColor, _charset->getCurID());
subtitleLine = subtitleBuffer;
@@ -613,7 +613,7 @@ void ScummEngine::CHARSET_1() {
_charset->_top = _nextTop;
if (_game.version >= 7) {
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
if (subtitleLine == subtitleBuffer) {
subtitlePos.x = _charset->_left;
// BlastText position is relative to the top of the screen, adjust y-coordinate
@@ -660,14 +660,14 @@ void ScummEngine::CHARSET_1() {
}
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
if (_game.version >= 7 && subtitleLine != subtitleBuffer) {
((ScummEngine_v7 *)this)->addSubtitleToQueue(subtitleBuffer, subtitlePos, _charsetColor, _charset->getCurID());
}
#endif
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v7::CHARSET_1() {
if (_game.id == GID_FT) {
ScummEngine::CHARSET_1();
@@ -1128,7 +1128,7 @@ int ScummEngine::convertMessageToString(const byte *msg, byte *dst, int dstSize)
return dstSize - (end - dst);
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
int ScummEngine_v72he::convertMessageToString(const byte *msg, byte *dst, int dstSize) {
uint num = 0;
byte chr;
@@ -1245,7 +1245,7 @@ int ScummEngine::convertStringMessage(byte *dst, int dstSize, int var) {
#pragma mark -
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
void ScummEngine_v80he::initCharset(int charsetno) {
ScummEngine::initCharset(charsetno);
VAR(VAR_CURRENT_CHARSET) = charsetno;
@@ -1273,7 +1273,7 @@ void ScummEngine::initCharset(int charsetno) {
#pragma mark -
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
static int indexCompare(const void *p1, const void *p2) {
const ScummEngine_v7::LangIndexNode *i1 = (const ScummEngine_v7::LangIndexNode *) p1;
const ScummEngine_v7::LangIndexNode *i2 = (const ScummEngine_v7::LangIndexNode *) p2;
diff --git a/engines/scumm/vars.cpp b/engines/scumm/vars.cpp
index a71ff19b6e..aade7899aa 100644
--- a/engines/scumm/vars.cpp
+++ b/engines/scumm/vars.cpp
@@ -216,7 +216,7 @@ void ScummEngine_v70he::setupScummVars() {
VAR_SOUND_CHANNEL = 14;
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
void ScummEngine_v72he::setupScummVars() {
VAR_KEYPRESS = 0;
VAR_DEBUGMODE = 1;
@@ -333,7 +333,7 @@ void ScummEngine_v90he::setupScummVars() {
}
#endif
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v7::setupScummVars() {
VAR_MOUSE_X = 1;
VAR_MOUSE_Y = 2;
@@ -568,7 +568,7 @@ void ScummEngine_v5::resetScummVars() {
_scummVars[74] = 1225;
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v7::resetScummVars() {
ScummEngine::resetScummVars();
@@ -633,7 +633,7 @@ void ScummEngine_v70he::resetScummVars() {
VAR(VAR_TALK_CHANNEL) = 2;
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
void ScummEngine_v72he::resetScummVars() {
ScummEngine_v70he::resetScummVars();
diff --git a/engines/scumm/verbs.cpp b/engines/scumm/verbs.cpp
index eece5a6d24..cf4711f6a2 100644
--- a/engines/scumm/verbs.cpp
+++ b/engines/scumm/verbs.cpp
@@ -514,7 +514,7 @@ void ScummEngine_v0::handleMouseOver(bool updateInventory) {
drawSentence();
}
-#ifndef DISABLE_HE
+#ifdef ENABLE_HE
void ScummEngine_v72he::checkExecVerbs() {
VAR(VAR_MOUSE_STATE) = 0;
@@ -797,7 +797,7 @@ int ScummEngine::findVerbAtPos(int x, int y) const {
return 0;
}
-#ifndef DISABLE_SCUMM_7_8
+#ifdef ENABLE_SCUMM_7_8
void ScummEngine_v7::drawVerb(int verb, int mode) {
VerbSlot *vs;
diff --git a/engines/sky/module.mk b/engines/sky/module.mk
index 67b3b19e5d..9cab69ce9d 100644
--- a/engines/sky/module.mk
+++ b/engines/sky/module.mk
@@ -24,7 +24,7 @@ MODULE_OBJS := \
music/musicbase.o
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_SKY), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/sky/sky.cpp b/engines/sky/sky.cpp
index ae1abc677d..e53458e33a 100644
--- a/engines/sky/sky.cpp
+++ b/engines/sky/sky.cpp
@@ -247,7 +247,11 @@ SaveStateList SkyMetaEngine::listSaves(const char *target) const {
return saveList;
}
-REGISTER_PLUGIN(SKY, PLUGIN_TYPE_ENGINE, SkyMetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(SKY)
+ REGISTER_PLUGIN_DYNAMIC(SKY, PLUGIN_TYPE_ENGINE, SkyMetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(SKY, PLUGIN_TYPE_ENGINE, SkyMetaEngine);
+#endif
namespace Sky {
diff --git a/engines/sword1/module.mk b/engines/sword1/module.mk
index 1ee62af853..87c0061c3c 100644
--- a/engines/sword1/module.mk
+++ b/engines/sword1/module.mk
@@ -21,7 +21,7 @@ MODULE_OBJS := \
text.o
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_SWORD1), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/sword1/sword1.cpp b/engines/sword1/sword1.cpp
index f58f39c986..7372779199 100644
--- a/engines/sword1/sword1.cpp
+++ b/engines/sword1/sword1.cpp
@@ -187,7 +187,11 @@ PluginError SwordMetaEngine::createInstance(OSystem *syst, Engine **engine) cons
return kNoError;
}
-REGISTER_PLUGIN(SWORD1, PLUGIN_TYPE_ENGINE, SwordMetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(SWORD1)
+ REGISTER_PLUGIN_DYNAMIC(SWORD1, PLUGIN_TYPE_ENGINE, SwordMetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(SWORD1, PLUGIN_TYPE_ENGINE, SwordMetaEngine);
+#endif
namespace Sword1 {
diff --git a/engines/sword2/module.mk b/engines/sword2/module.mk
index 3b21023fa8..c675b9561e 100644
--- a/engines/sword2/module.mk
+++ b/engines/sword2/module.mk
@@ -34,7 +34,7 @@ MODULE_OBJS := \
walker.o
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_SWORD2), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/engines/sword2/sword2.cpp b/engines/sword2/sword2.cpp
index d86c5b6c9e..0601d11791 100644
--- a/engines/sword2/sword2.cpp
+++ b/engines/sword2/sword2.cpp
@@ -180,7 +180,11 @@ PluginError Sword2MetaEngine::createInstance(OSystem *syst, Engine **engine) con
return kNoGameDataFoundError;
}
-REGISTER_PLUGIN(SWORD2, PLUGIN_TYPE_ENGINE, Sword2MetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(SWORD2)
+ REGISTER_PLUGIN_DYNAMIC(SWORD2, PLUGIN_TYPE_ENGINE, Sword2MetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(SWORD2, PLUGIN_TYPE_ENGINE, Sword2MetaEngine);
+#endif
namespace Sword2 {
diff --git a/engines/touche/detection.cpp b/engines/touche/detection.cpp
index faf997812c..d2798d7060 100644
--- a/engines/touche/detection.cpp
+++ b/engines/touche/detection.cpp
@@ -146,4 +146,8 @@ bool ToucheMetaEngine::createInstance(OSystem *syst, Engine **engine, const Comm
return gd != 0;
}
-REGISTER_PLUGIN(TOUCHE, PLUGIN_TYPE_ENGINE, ToucheMetaEngine);
+#if PLUGIN_ENABLED_DYNAMIC(TOUCHE)
+ REGISTER_PLUGIN_DYNAMIC(TOUCHE, PLUGIN_TYPE_ENGINE, ToucheMetaEngine);
+#else
+ REGISTER_PLUGIN_STATIC(TOUCHE, PLUGIN_TYPE_ENGINE, ToucheMetaEngine);
+#endif
diff --git a/engines/touche/module.mk b/engines/touche/module.mk
index 1cfd2d2929..30965e1155 100644
--- a/engines/touche/module.mk
+++ b/engines/touche/module.mk
@@ -12,7 +12,7 @@ MODULE_OBJS := \
touche.o
# This module can be built as a plugin
-ifdef BUILD_PLUGINS
+ifeq ($(ENABLE_TOUCHE), DYNAMIC_PLUGIN)
PLUGIN := 1
endif
diff --git a/sound/mididrv.cpp b/sound/mididrv.cpp
index 9108aa450b..53bc224180 100644
--- a/sound/mididrv.cpp
+++ b/sound/mididrv.cpp
@@ -68,7 +68,7 @@ static const MidiDriverDescription s_musicDrivers[] = {
#if defined(PALMOS_MODE)
# if defined(COMPILE_CLIE)
{"ypa1", "Yamaha Pa1", MD_YPA1, MDT_MIDI},
-# elif defined(COMPILE_ZODIAC) && (defined(DISABLE_SCUMM) || !defined(PALMOS_ARM))
+# elif defined(COMPILE_ZODIAC) && (!defined(ENABLE_SCUMM) || !defined(PALMOS_ARM))
{"zodiac", "Tapwave Zodiac", MD_ZODIAC, MDT_MIDI},
# endif
#endif
@@ -239,7 +239,7 @@ MidiDriver *MidiDriver::createMidi(int midiDriver) {
#if defined(PALMOS_MODE)
#if defined(COMPILE_CLIE)
case MD_YPA1: return MidiDriver_YamahaPa1_create();
-#elif defined(COMPILE_ZODIAC) && (defined(DISABLE_SCUMM) || !defined(PALMOS_ARM))
+#elif defined(COMPILE_ZODIAC) && (!defined(ENABLE_SCUMM) || !defined(PALMOS_ARM))
case MD_ZODIAC: return MidiDriver_Zodiac_create();
#endif
#endif