[Scummvm-git-logs] scummvm master -> ba147f5ad5eb562d102fdcf09f7f45fb4cedd086
bluegr
bluegr at gmail.com
Sun Feb 16 11:08:04 UTC 2020
This automated email contains information about 73 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
7b721eaac1 ENGINES: Adding debugger to base Engine class
35c30cdad8 ACCESS: Refactor to use Engine debugger
19bf2b7b7b ADL: Refactor to use Engine debugger
f603a695af AGI: Refactor to use Engine debugger
644a71440b AGOS: Refactor to use Engine debugger
43f49b7307 AVALANCHE: Refactor to use Engine debugger
e708906916 BLADERUNNER: Refactor to use Engine debugger
5b25e3ec7e CGE: Refactor to use Engine debugger
bef176fb3a CGE2: Refactor to use Engine debugger
0e8e735c8f CHEWEY: Refactor to use Engine debugger
21dd3be444 CINE: Refactor to use Engine debugger
3ed59e42fa COMPOSER: Refactor to use Engine debugger
35f615eb5b CRUISE: Refactor to use Engine debugger
e86c21351a CRYO: Refactor to use Engine debugger
cefb7cfdfe DM: Refactor to use Engine debugger
a9ea15fef4 DRACI: Refactor to use Engine debugger
71a517d1db DRASCULA: Refactor to use Engine debugger
f21ffdca33 DREAMWEB: Refactor to use Engine debugger
8c32bb6c6f FULLPIPE: Refactor to use Engine debugger
a54b19976f GLK: Refactor to use Engine debugger
fb9d51be0e GNAP: Refactor to use Engine debugger
c99c187983 GOB: Refactor to use Engine debugger
d91ec90db9 GRIFFON: Refactor to use Engine debugger
be402cfac9 GROOVIE: Refactor to use Engine debugger
22d7c1c15e HOPKINS: Refactor to use Engine debugger
f1b47670bf HUGO: Refactor to use Engine debugger
ce9bf175a5 KYRA: Refactor to use Engine debugger
72d0d84be2 LAB: Refactor to use Engine debugger
d3e88f72e5 LASTEXPRESS: Refactor to use Engine debugger
afa27aa7c5 LILLIPUT: Refactor to use Engine debugger
83d7030d84 LURE: Refactor to use Engine debugger
0b46eaf913 MACVENTURE: Refactor to use Engine debugger
87406e66b7 MADE: Refactor to use Engine debugger
3487af4b9c MADS: Refactor to use Engine debugger
3a66feb5d9 MORTEVIELLE: Refactor to use Engine debugger
7a2dc70d20 NEVERHOOD: Refactor to use Engine debugger
e8dc9b3747 PARALLACTION: Refactor to use Engine debugger
118e024bdd PEGASUS: Refactor to use Engine debugger
4b09375739 PINK: Refactor to use Engine debugger
ed7852f853 PLUMBERS: Refactor to use Engine debugger
edcf6b9112 PRINCE: Refactor to use Engine debugger
7243eaf907 QUEEN: Refactor to use Engine debugger
00848cff4c SAGA: Refactor to use Engine debugger
45cda9db22 SCUMM: Refactor to use Engine debugger
9e15215b2d SHERLOCK: Refactor to use Engine debugger
b396e56bd0 SKY: Refactor to use Engine debugger
b6630049cd SLUDGE: Refactor to use Engine debugger
bd381ae8d0 STARTREK: Refactor to use Engine debugger
3da28a4c25 SUPERNOVA: Refactor to use Engine debugger
46a1f92ef6 SWORD1: Refactor to use Engine debugger
0d0ea44c31 SWORD2: Refactor to use Engine debugger
7d57569dd7 TEENAGENT: Refactor to use Engine debugger
17dc909e2c TINSEL: Refactor to use Engine debugger
7f90c4e961 TITANIC: Refactor to use Engine debugger
b97f66ba17 TOLTECS: Refactor to use Engine debugger
5a18e495e0 TONY: Refactor to use Engine debugger
ed71bef83b TOON: Refactor to use Engine debugger
6b096f3a9f TOUCHE: Refactor to use Engine debugger
0107aace67 TSAGE: Refactor to use Engine debugger
85b469ff5d TUCKER: Refactor to use Engine debugger
c811d4c658 ULTIMA: Refactor to use Engine debugger
11dd04aa6b VOYEUR: Refactor to use Engine debugger
813226095a WAGE: Refactor to use Engine debugger
848cb075f3 WINTERMUTE: Refactor to use Engine debugger
528d62930a XEEN: Refactor to use Engine debugger
c44a028ae7 ZVISION: Refactor to use Engine debugger
03ca59c17d MOHAWK: Refactor to use Engine debugger
0d0191fb44 SWORD25: Refactor to use Engine debugger
73f17c2ae0 MUTATIONOFJB: Refactor to use Engine debugger
98f9c4f254 ENGINES: Create a default debugger when needed if none is yet set
b76b6d0e41 NEWS: Add line for error display in debugger
818d9bab27 ENGINES: Change debugger trigger to Ctrl+Alt+D using keymapper
ba147f5ad5 SCI: Refactor to use Engine debugger
Commit: 7b721eaac12ab199e7577950d1898ce413b31b05
https://github.com/scummvm/scummvm/commit/7b721eaac12ab199e7577950d1898ce413b31b05
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
ENGINES: Adding debugger to base Engine class
Changed paths:
backends/events/default/default-events.cpp
backends/graphics/opengl/opengl-graphics.cpp
backends/graphics/surfacesdl/surfacesdl-graphics.cpp
engines/engine.cpp
engines/engine.h
diff --git a/backends/events/default/default-events.cpp b/backends/events/default/default-events.cpp
index 413d428..a7c03f5 100644
--- a/backends/events/default/default-events.cpp
+++ b/backends/events/default/default-events.cpp
@@ -34,6 +34,7 @@
#include "backends/vkeybd/virtual-keyboard.h"
#include "engines/engine.h"
+#include "gui/debugger.h"
#include "gui/message.h"
DefaultEventManager::DefaultEventManager(Common::EventSource *boss) :
@@ -109,6 +110,14 @@ bool DefaultEventManager::pollEvent(Common::Event &event) {
// making invalid assumptions about ascii values.
event.kbd.ascii = Common::KEYCODE_BACKSPACE;
_currentKeyDown.ascii = Common::KEYCODE_BACKSPACE;
+
+ } else if (event.kbd.keycode == Common::KEYCODE_d && (_modifierState & Common::KBD_CTRL)) {
+ GUI::Debugger *debugger = g_engine->getDebugger();
+ if (debugger) {
+ debugger->attach();
+ debugger->onFrame();
+ forwardEvent = false;
+ }
}
break;
diff --git a/backends/graphics/opengl/opengl-graphics.cpp b/backends/graphics/opengl/opengl-graphics.cpp
index 1bf0b36..b9ee145 100644
--- a/backends/graphics/opengl/opengl-graphics.cpp
+++ b/backends/graphics/opengl/opengl-graphics.cpp
@@ -33,6 +33,8 @@
#include "common/translation.h"
#include "common/algorithm.h"
#include "common/file.h"
+#include "gui/debugger.h"
+#include "engines/engine.h"
#ifdef USE_OSD
#include "common/tokenizer.h"
#include "common/rect.h"
@@ -472,6 +474,11 @@ void OpenGLGraphicsManager::updateScreen() {
}
#endif
+ // If there's an active debugger, update it
+ GUI::Debugger *debugger = g_engine ? g_engine->getDebugger() : nullptr;
+ if (debugger)
+ debugger->onFrame();
+
// We only update the screen when there actually have been any changes.
if ( !_forceRedraw
&& !_cursorNeedsRedraw
diff --git a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
index c6c584b..cc9acdd 100644
--- a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
+++ b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
@@ -39,6 +39,7 @@
#include "graphics/scaler.h"
#include "graphics/scaler/aspect.h"
#include "graphics/surface.h"
+#include "gui/debugger.h"
#include "gui/EventRecorder.h"
#ifdef USE_PNG
#include "common/file.h"
@@ -1201,6 +1202,11 @@ void SurfaceSdlGraphicsManager::internUpdateScreen() {
ScalerProc *scalerProc;
int scale1;
+ // If there's an active debugger, update it
+ GUI::Debugger *debugger = g_engine ? g_engine->getDebugger() : nullptr;
+ if (debugger)
+ debugger->onFrame();
+
#if !SDL_VERSION_ATLEAST(2, 0, 0)
// If the shake position changed, fill the dirty area with blackness
// When building with SDL2, the shake offset is added to the active rect instead,
diff --git a/engines/engine.cpp b/engines/engine.cpp
index 7140bbf..d6e267f 100644
--- a/engines/engine.cpp
+++ b/engines/engine.cpp
@@ -147,7 +147,8 @@ Engine::Engine(OSystem *syst)
_pauseStartTime(0),
_saveSlotToLoad(-1),
_engineStartTime(_system->getMillis()),
- _mainMenuDialog(NULL) {
+ _mainMenuDialog(NULL),
+ _debugger(NULL) {
g_engine = this;
Common::setErrorOutputFormatter(defaultOutputFormatter);
@@ -181,6 +182,7 @@ Engine::Engine(OSystem *syst)
Engine::~Engine() {
_mixer->stopAll();
+ delete _debugger;
delete _mainMenuDialog;
g_engine = NULL;
diff --git a/engines/engine.h b/engines/engine.h
index b819721..4172d12 100644
--- a/engines/engine.h
+++ b/engines/engine.h
@@ -98,6 +98,10 @@ private:
*/
int _saveSlotToLoad;
+ /**
+ * Optional debugger for the engine
+ */
+ GUI::Debugger *_debugger;
public:
@@ -173,7 +177,16 @@ public:
* Return the engine's debugger instance, if any. Used by error() to
* invoke the debugger when a severe error is reported.
*/
- virtual GUI::Debugger *getDebugger() { return 0; }
+ virtual GUI::Debugger *getDebugger() { return _debugger; }
+
+ /**
+ * Sets the engine's debugger. Once set, the Engine class is responsible for managing
+ * the debugger, and freeing it on exit
+ */
+ void setDebugger(GUI::Debugger *debugger) {
+ assert(!_debugger);
+ _debugger = debugger;
+ }
/**
* Determine whether the engine supports the specified feature.
Commit: 35c30cdad855622edf0e70dc3488a470b7999e4a
https://github.com/scummvm/scummvm/commit/35c30cdad855622edf0e70dc3488a470b7999e4a
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
ACCESS: Refactor to use Engine debugger
Changed paths:
engines/access/access.cpp
engines/access/access.h
engines/access/amazon/amazon_logic.h
engines/access/events.cpp
engines/access/room.cpp
engines/access/screen.cpp
engines/access/scripts.cpp
diff --git a/engines/access/access.cpp b/engines/access/access.cpp
index 6d000cc..ee15273 100644
--- a/engines/access/access.cpp
+++ b/engines/access/access.cpp
@@ -28,6 +28,7 @@
#include "graphics/scaler.h"
#include "graphics/thumbnail.h"
#include "access/access.h"
+#include "access/debugger.h"
namespace Access {
@@ -44,7 +45,6 @@ AccessEngine::AccessEngine(OSystem *syst, const AccessGameDescription *gameDesc)
_animation = nullptr;
_bubbleBox = nullptr;
_char = nullptr;
- _debugger = nullptr;
_events = nullptr;
_files = nullptr;
_invBox = nullptr;
@@ -135,7 +135,6 @@ AccessEngine::~AccessEngine() {
delete _invBox;
delete _aboutBox;
delete _char;
- delete _debugger;
delete _events;
delete _files;
delete _inventory;
@@ -187,7 +186,6 @@ void AccessEngine::initialize() {
_aboutBox = nullptr;
}
_char = new CharManager(this);
- _debugger = Debugger::init(this);
_events = new EventsManager(this);
_files = new FileManager(this);
_inventory = new InventoryManager(this);
@@ -197,6 +195,7 @@ void AccessEngine::initialize() {
_midi = new MusicManager(this);
_video = new VideoPlayer(this);
+ setDebugger(Debugger::init(this));
_buffer1.create(g_system->getWidth() + TILE_WIDTH, g_system->getHeight());
_buffer2.create(g_system->getWidth(), g_system->getHeight());
_vidBuf.create(160, 101);
diff --git a/engines/access/access.h b/engines/access/access.h
index 442f771..c5d2108 100644
--- a/engines/access/access.h
+++ b/engines/access/access.h
@@ -36,7 +36,6 @@
#include "access/bubble_box.h"
#include "access/char.h"
#include "access/data.h"
-#include "access/debugger.h"
#include "access/events.h"
#include "access/files.h"
#include "access/font.h"
@@ -143,7 +142,6 @@ public:
BubbleBox *_invBox;
BubbleBox *_aboutBox;
CharManager *_char;
- Debugger *_debugger;
EventsManager *_events;
FileManager *_files;
InventoryManager *_inventory;
diff --git a/engines/access/amazon/amazon_logic.h b/engines/access/amazon/amazon_logic.h
index 0d96248..5509425 100644
--- a/engines/access/amazon/amazon_logic.h
+++ b/engines/access/amazon/amazon_logic.h
@@ -26,9 +26,9 @@
#include "common/scummsys.h"
#include "access/scripts.h"
#include "access/asurface.h"
+#include "access/amazon/amazon_resources.h"
namespace Access {
-
namespace Amazon {
class AmazonEngine;
diff --git a/engines/access/events.cpp b/engines/access/events.cpp
index 3d3b97e..f610d6e 100644
--- a/engines/access/events.cpp
+++ b/engines/access/events.cpp
@@ -153,13 +153,7 @@ void EventsManager::pollEvents(bool skipTimers) {
case Common::EVENT_KEYDOWN:
// Check for debugger
- if (event.kbd.keycode == Common::KEYCODE_d && (event.kbd.flags & Common::KBD_CTRL)) {
- // Attach to the debugger
- _vm->_debugger->attach();
- _vm->_debugger->onFrame();
- } else {
- keyControl(event.kbd.keycode, true);
- }
+ keyControl(event.kbd.keycode, true);
return;
case Common::EVENT_KEYUP:
keyControl(event.kbd.keycode, false);
@@ -278,9 +272,6 @@ bool EventsManager::checkForNextTimerUpdate() {
}
void EventsManager::nextFrame() {
- // Give time to the debugger
- _vm->_debugger->onFrame();
-
_vm->_screen->update();
}
diff --git a/engines/access/room.cpp b/engines/access/room.cpp
index a41de63..558acb0 100644
--- a/engines/access/room.cpp
+++ b/engines/access/room.cpp
@@ -25,6 +25,8 @@
#include "access/access.h"
#include "access/resources.h"
#include "access/room.h"
+#include "access/amazon/amazon_resources.h"
+#include "access/martian/martian_resources.h"
namespace Access {
diff --git a/engines/access/screen.cpp b/engines/access/screen.cpp
index 7da9dfc..7fc011d 100644
--- a/engines/access/screen.cpp
+++ b/engines/access/screen.cpp
@@ -29,6 +29,7 @@
#include "access/access.h"
#include "access/screen.h"
#include "access/resources.h"
+#include "access/martian/martian_resources.h"
namespace Access {
diff --git a/engines/access/scripts.cpp b/engines/access/scripts.cpp
index e9103a2..a1b5384 100644
--- a/engines/access/scripts.cpp
+++ b/engines/access/scripts.cpp
@@ -24,6 +24,7 @@
#include "access/access.h"
#include "access/resources.h"
#include "access/scripts.h"
+#include "access/martian/martian_resources.h"
namespace Access {
Commit: 19bf2b7b7bcc9a3cbe7b6d6926bc92445624e1a9
https://github.com/scummvm/scummvm/commit/19bf2b7b7bcc9a3cbe7b6d6926bc92445624e1a9
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
ADL: Refactor to use Engine debugger
Changed paths:
engines/adl/adl.cpp
engines/adl/adl.h
diff --git a/engines/adl/adl.cpp b/engines/adl/adl.cpp
index a1ae30a..3495c1b 100644
--- a/engines/adl/adl.cpp
+++ b/engines/adl/adl.cpp
@@ -74,7 +74,6 @@ private:
AdlEngine::~AdlEngine() {
delete _display;
delete _graphics;
- delete _console;
delete _dumpFile;
delete _inputScript;
delete _random;
@@ -95,7 +94,6 @@ AdlEngine::AdlEngine(OSystem *syst, const AdlGameDescription *gd) :
_inputScript(nullptr),
_scriptDelay(1000),
_scriptPaused(false),
- _console(nullptr),
_messageIds(),
_saveVerb(0),
_saveNoun(0),
@@ -109,8 +107,6 @@ AdlEngine::AdlEngine(OSystem *syst, const AdlGameDescription *gd) :
}
bool AdlEngine::pollEvent(Common::Event &event) const {
- _console->onFrame();
-
if (g_system->getEventManager()->pollEvent(event)) {
if (event.type != Common::EVENT_KEYDOWN)
return false;
@@ -120,11 +116,6 @@ bool AdlEngine::pollEvent(Common::Event &event) const {
quitGame();
return false;
}
-
- if (event.kbd.keycode == Common::KEYCODE_d) {
- _console->attach();
- return false;
- }
}
return true;
@@ -736,7 +727,7 @@ Common::Error AdlEngine::run() {
if (!_display)
return Common::kUnsupportedColorMode;
- _console = new Console(this);
+ setDebugger(new Console(this));
_display->init();
setupOpcodeTables();
diff --git a/engines/adl/adl.h b/engines/adl/adl.h
index feb5a14..88ada3b 100644
--- a/engines/adl/adl.h
+++ b/engines/adl/adl.h
@@ -453,8 +453,6 @@ private:
byte convertKey(uint16 ascii) const;
Common::String getWord(const Common::String &line, uint &index) const;
- Console *_console;
- GUI::Debugger *getDebugger() override { return _console; }
byte _saveVerb, _saveNoun, _restoreVerb, _restoreNoun;
};
Commit: f603a695af313fec78f7434fb38ad9a5691dc05b
https://github.com/scummvm/scummvm/commit/f603a695af313fec78f7434fb38ad9a5691dc05b
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
AGI: Refactor to use Engine debugger
Changed paths:
engines/agi/agi.cpp
engines/agi/agi.h
engines/agi/keyboard.cpp
engines/agi/preagi.cpp
engines/agi/preagi_mickey.cpp
engines/agi/preagi_mickey.h
engines/agi/preagi_winnie.cpp
engines/agi/preagi_winnie.h
diff --git a/engines/agi/agi.cpp b/engines/agi/agi.cpp
index 4e799b8..8382b10 100644
--- a/engines/agi/agi.cpp
+++ b/engines/agi/agi.cpp
@@ -66,7 +66,6 @@ void AgiEngine::wait(uint32 msec, bool busy) {
do {
processScummVMEvents();
- _console->onFrame();
_system->updateScreen();
_system->delayMillis(10);
} while (_system->getMillis() < endTime);
@@ -409,7 +408,6 @@ AgiEngine::AgiEngine(OSystem *syst, const AGIGameDescription *gameDesc) : AgiBas
memset(_keyQueue, 0, sizeof(_keyQueue));
- _console = nullptr;
_font = nullptr;
_gfx = nullptr;
_sound = nullptr;
@@ -465,7 +463,7 @@ void AgiEngine::initialize() {
initRenderMode();
- _console = new Console(this);
+ setDebugger(new Console(this));
_words = new Words(this);
_font = new GfxFont(this);
_gfx = new GfxMgr(this, _font);
@@ -531,7 +529,6 @@ AgiEngine::~AgiEngine() {
delete _gfx;
delete _font;
delete _words;
- delete _console;
}
Common::Error AgiBase::init() {
diff --git a/engines/agi/agi.h b/engines/agi/agi.h
index cd30a7b..caaf08d 100644
--- a/engines/agi/agi.h
+++ b/engines/agi/agi.h
@@ -905,9 +905,6 @@ public:
void wait(uint32 msec, bool busy = false);
- Console *_console;
- GUI::Debugger *getDebugger() override { return _console; }
-
int agiInit();
int agiDeinit();
int agiDetectGame();
diff --git a/engines/agi/keyboard.cpp b/engines/agi/keyboard.cpp
index 1c6bbea..a24f1d7 100644
--- a/engines/agi/keyboard.cpp
+++ b/engines/agi/keyboard.cpp
@@ -131,11 +131,6 @@ void AgiEngine::processScummVMEvents() {
}
break;
case Common::EVENT_KEYDOWN:
- if (event.kbd.hasFlags(Common::KBD_CTRL | Common::KBD_SHIFT) && event.kbd.keycode == Common::KEYCODE_d) {
- _console->attach();
- break;
- }
-
key = event.kbd.ascii;
if (event.kbd.keycode >= Common::KEYCODE_KP0 && event.kbd.keycode <= Common::KEYCODE_KP9) {
if (!(event.kbd.flags & Common::KBD_NUM)) {
diff --git a/engines/agi/preagi.cpp b/engines/agi/preagi.cpp
index aff00a7..ec69c2e 100644
--- a/engines/agi/preagi.cpp
+++ b/engines/agi/preagi.cpp
@@ -189,7 +189,6 @@ void PreAgiEngine::printStrXOR(char *szMsg) {
int PreAgiEngine::getSelection(SelectionTypes type) {
Common::Event event;
- GUI::Debugger *console = getDebugger();
while (!shouldQuit()) {
while (_eventMan->pollEvent(event)) {
@@ -204,14 +203,6 @@ int PreAgiEngine::getSelection(SelectionTypes type) {
return 1;
break;
case Common::EVENT_KEYDOWN:
- if (event.kbd.keycode == Common::KEYCODE_d && (event.kbd.flags & Common::KBD_CTRL) && console) {
- console->attach();
- console->onFrame();
- //FIXME: If not cleared, clicking again will start the console
- event.kbd.keycode = Common::KEYCODE_INVALID;
- event.kbd.flags = 0;
- continue;
- }
switch (event.kbd.keycode) {
case Common::KEYCODE_y:
if (type == kSelYesNo)
diff --git a/engines/agi/preagi_mickey.cpp b/engines/agi/preagi_mickey.cpp
index 52dde91..c0eca87 100644
--- a/engines/agi/preagi_mickey.cpp
+++ b/engines/agi/preagi_mickey.cpp
@@ -465,12 +465,6 @@ bool MickeyEngine::getMenuSelRow(MSA_MENU &menu, int *sel0, int *sel1, int iRow)
}
break;
case Common::EVENT_KEYDOWN:
- if (event.kbd.keycode == Common::KEYCODE_d && (event.kbd.flags & Common::KBD_CTRL) && _console) {
- _console->attach();
- _console->onFrame();
- continue;
- }
-
switch (event.kbd.keycode) {
case Common::KEYCODE_2:
// Hidden message
@@ -2237,10 +2231,10 @@ void MickeyEngine::waitAnyKey(bool anim) {
// Console-related functions
void MickeyEngine::debugCurRoom() {
- _console->debugPrintf("Current Room = %d\n", _gameStateMickey.iRoom);
+ getDebugger()->debugPrintf("Current Room = %d\n", _gameStateMickey.iRoom);
if (_gameStateMickey.iRmObj[_gameStateMickey.iRoom] != IDI_MSA_OBJECT_NONE) {
- _console->debugPrintf("Object %d is in the room\n", _gameStateMickey.iRmObj[_gameStateMickey.iRoom]);
+ getDebugger()->debugPrintf("Object %d is in the room\n", _gameStateMickey.iRmObj[_gameStateMickey.iRoom]);
}
}
@@ -2250,11 +2244,11 @@ void MickeyEngine::debugGotoRoom(int room) {
}
MickeyEngine::MickeyEngine(OSystem *syst, const AGIGameDescription *gameDesc) : PreAgiEngine(syst, gameDesc) {
- _console = new MickeyConsole(this);
+ setDebugger(new MickeyConsole(this));
}
MickeyEngine::~MickeyEngine() {
- delete _console;
+ //_console deleted by Engine
}
void MickeyEngine::init() {
diff --git a/engines/agi/preagi_mickey.h b/engines/agi/preagi_mickey.h
index 89e1306..9f67bbe 100644
--- a/engines/agi/preagi_mickey.h
+++ b/engines/agi/preagi_mickey.h
@@ -689,11 +689,7 @@ public:
void drawPic(int);
void drawObj(ENUM_MSA_OBJECT, int, int);
- GUI::Debugger *getDebugger() override { return _console; }
-
protected:
- MickeyConsole *_console;
-
MSA_GAME _gameStateMickey;
bool _clickToMove;
diff --git a/engines/agi/preagi_winnie.cpp b/engines/agi/preagi_winnie.cpp
index 41ff714..cdf2ba3 100644
--- a/engines/agi/preagi_winnie.cpp
+++ b/engines/agi/preagi_winnie.cpp
@@ -906,12 +906,6 @@ void WinnieEngine::getMenuSel(char *szMenu, int *iSel, int fCanSel[]) {
incMenuSel(iSel, fCanSel);
break;
case Common::EVENT_KEYDOWN:
- if (event.kbd.keycode == Common::KEYCODE_d && (event.kbd.flags & Common::KBD_CTRL) && _console) {
- _console->attach();
- _console->onFrame();
- continue;
- }
-
switch (event.kbd.keycode) {
case Common::KEYCODE_ESCAPE:
*iSel = IDI_WTP_SEL_HOME;
@@ -1322,15 +1316,14 @@ void WinnieEngine::printStrWinnie(char *szMsg) {
// Console-related functions
void WinnieEngine::debugCurRoom() {
- _console->debugPrintf("Current Room = %d\n", _room);
+ getDebugger()->debugPrintf("Current Room = %d\n", _room);
}
WinnieEngine::WinnieEngine(OSystem *syst, const AGIGameDescription *gameDesc) : PreAgiEngine(syst, gameDesc) {
- _console = new WinnieConsole(this);
+ setDebugger(new WinnieConsole(this));
}
WinnieEngine::~WinnieEngine() {
- delete _console;
}
void WinnieEngine::init() {
diff --git a/engines/agi/preagi_winnie.h b/engines/agi/preagi_winnie.h
index 41ad7a6..227a5b4 100644
--- a/engines/agi/preagi_winnie.h
+++ b/engines/agi/preagi_winnie.h
@@ -291,11 +291,7 @@ public:
void debugCurRoom();
- GUI::Debugger *getDebugger() override { return _console; }
-
private:
- WinnieConsole *_console;
-
WTP_SAVE_GAME _gameStateWinnie;
int _room;
int _mist;
Commit: 644a71440bef89cc0064035cc935d1e53c977d90
https://github.com/scummvm/scummvm/commit/644a71440bef89cc0064035cc935d1e53c977d90
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
AGOS: Refactor to use Engine debugger
Changed paths:
engines/agos/agos.cpp
engines/agos/agos.h
engines/agos/event.cpp
diff --git a/engines/agos/agos.cpp b/engines/agos/agos.cpp
index 108d5a9..9a36069 100644
--- a/engines/agos/agos.cpp
+++ b/engines/agos/agos.cpp
@@ -158,8 +158,6 @@ AGOSEngine::AGOSEngine(OSystem *system, const AGOSGameDescription *gd)
_vcGetOutOfCode = 0;
_gameOffsetsPtr = 0;
- _debugger = 0;
-
_gameFile = 0;
_opcode = 0;
@@ -633,7 +631,7 @@ Common::Error AGOSEngine::init() {
setupGame();
- _debugger = new Debugger(this);
+ setDebugger(new Debugger(this));
_sound = new Sound(this, gss, _mixer);
if (ConfMan.hasKey("music_mute") && ConfMan.getBool("music_mute") == 1) {
@@ -974,15 +972,10 @@ AGOSEngine::~AGOSEngine() {
delete _dummyWindow;
delete[] _windowList;
- delete _debugger;
delete _sound;
delete _gameFile;
}
-GUI::Debugger *AGOSEngine::getDebugger() {
- return _debugger;
-}
-
void AGOSEngine::pauseEngineIntern(bool pauseIt) {
if (pauseIt) {
_keyPressed.reset();
diff --git a/engines/agos/agos.h b/engines/agos/agos.h
index be5bc27..cf42e78 100644
--- a/engines/agos/agos.h
+++ b/engines/agos/agos.h
@@ -223,10 +223,10 @@ protected:
return err;
return go();
}
- GUI::Debugger *getDebugger() override;
- bool hasFeature(EngineFeature f) const override;
- void syncSoundSettings() override;
- void pauseEngineIntern(bool pause) override;
+
+ virtual bool hasFeature(EngineFeature f) const override;
+ virtual void syncSoundSettings() override;
+ virtual void pauseEngineIntern(bool pause) override;
virtual void setupOpcodes();
uint16 _numOpcodes, _opcode;
@@ -590,8 +590,6 @@ protected:
bool _ambientPaused;
bool _musicPaused;
- Debugger *_debugger;
-
uint8 _saveGameNameLen;
uint16 _saveLoadRowCurPos;
uint16 _numSaveGameRows;
diff --git a/engines/agos/event.cpp b/engines/agos/event.cpp
index 62d59ca..60f0d8a 100644
--- a/engines/agos/event.cpp
+++ b/engines/agos/event.cpp
@@ -430,8 +430,6 @@ void AGOSEngine::delay(uint amount) {
_system->getAudioCDManager()->update();
- _debugger->onFrame();
-
vgaPeriod = (_fastMode) ? 10 : _vgaPeriod;
if (getGameType() == GType_PP && getGameId() != GID_DIMP) {
if (vgaPeriod == 15 && _variableArray[999] == 0)
@@ -484,8 +482,6 @@ void AGOSEngine::delay(uint amount) {
_aboutDialog->runModal();
} else if (event.kbd.keycode == Common::KEYCODE_f) {
_fastMode = !_fastMode;
- } else if (event.kbd.keycode == Common::KEYCODE_d) {
- _debugger->attach();
}
}
Commit: 43f49b7307df94644d3e72779b9790913219983e
https://github.com/scummvm/scummvm/commit/43f49b7307df94644d3e72779b9790913219983e
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
AVALANCHE: Refactor to use Engine debugger
Changed paths:
engines/avalanche/avalanche.cpp
engines/avalanche/avalanche.h
diff --git a/engines/avalanche/avalanche.cpp b/engines/avalanche/avalanche.cpp
index 303fb0c..c2274ec 100644
--- a/engines/avalanche/avalanche.cpp
+++ b/engines/avalanche/avalanche.cpp
@@ -36,7 +36,7 @@ namespace Avalanche {
AvalancheEngine::AvalancheEngine(OSystem *syst, const AvalancheGameDescription *gd) : Engine(syst), _gameDescription(gd), _fxHidden(false), _interrogation(0) {
_system = syst;
- _console = new AvalancheConsole(this);
+ setDebugger(new AvalancheConsole(this));
_rnd = new Common::RandomSource("avalanche");
_showDebugLines = false;
@@ -61,7 +61,6 @@ AvalancheEngine::AvalancheEngine(OSystem *syst, const AvalancheGameDescription *
}
AvalancheEngine::~AvalancheEngine() {
- delete _console;
delete _rnd;
delete _graphics;
@@ -174,10 +173,6 @@ Common::ErrorCode AvalancheEngine::initialize() {
return Common::kNoError;
}
-GUI::Debugger *AvalancheEngine::getDebugger() {
- return _console;
-}
-
bool AvalancheEngine::hasFeature(EngineFeature f) const {
return (f == kSupportsSavingDuringRuntime) || (f == kSupportsLoadingDuringRuntime);
}
@@ -503,12 +498,7 @@ void AvalancheEngine::updateEvents() {
_holdLeftMouse = false; // Same as above.
break;
case Common::EVENT_KEYDOWN:
- if ((event.kbd.keycode == Common::KEYCODE_d) && (event.kbd.flags & Common::KBD_CTRL)) {
- // Attach to the debugger
- _console->attach();
- _console->onFrame();
- } else
- handleKeyDown(event);
+ handleKeyDown(event);
break;
default:
break;
diff --git a/engines/avalanche/avalanche.h b/engines/avalanche/avalanche.h
index ffc7397..dea1809 100644
--- a/engines/avalanche/avalanche.h
+++ b/engines/avalanche/avalanche.h
@@ -98,7 +98,6 @@ public:
~AvalancheEngine() override;
Common::ErrorCode initialize();
- GUI::Debugger *getDebugger() override;
Common::RandomSource *_rnd;
@@ -128,9 +127,6 @@ protected:
// Engine APIs
Common::Error run() override;
-private:
- AvalancheConsole *_console;
-
public:
// For Thinkabout:
static const bool kThing = true;
Commit: e70890691621fb75a120fba605709016874a9edb
https://github.com/scummvm/scummvm/commit/e70890691621fb75a120fba605709016874a9edb
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
BLADERUNNER: Refactor to use Engine debugger
Changed paths:
engines/bladerunner/bladerunner.cpp
engines/bladerunner/bladerunner.h
diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp
index 85b9339..529a74b 100644
--- a/engines/bladerunner/bladerunner.cpp
+++ b/engines/bladerunner/bladerunner.cpp
@@ -502,6 +502,7 @@ bool BladeRunnerEngine::startup(bool hasSavegames) {
_sceneScript = new SceneScript(this);
_debugger = new Debugger(this);
+ setDebugger(_debugger);
// This is the original startup in the game
@@ -933,7 +934,7 @@ void BladeRunnerEngine::shutdown() {
// These are static objects in original game
- delete _debugger;
+ //delete _debugger; Debugger deletion is handled by Engine
_debugger = nullptr;
delete _sceneScript;
@@ -1269,12 +1270,6 @@ void BladeRunnerEngine::handleKeyUp(Common::Event &event) {
}
void BladeRunnerEngine::handleKeyDown(Common::Event &event) {
- if ((event.kbd.keycode == Common::KEYCODE_d) && (event.kbd.flags & Common::KBD_CTRL)) {
- getDebugger()->attach();
- getDebugger()->onFrame();
- return;
- }
-
if (_vqaIsPlaying && (event.kbd.keycode == Common::KEYCODE_ESCAPE || event.kbd.keycode == Common::KEYCODE_RETURN)) {
_vqaStopIsRequested = true;
_vqaIsPlaying = false;
@@ -2319,10 +2314,6 @@ Graphics::Surface BladeRunnerEngine::generateThumbnail() const {
return thumbnail;
}
-GUI::Debugger *BladeRunnerEngine::getDebugger() {
- return _debugger;
-}
-
Common::String BladeRunnerEngine::getTargetName() const {
return _targetName;
}
diff --git a/engines/bladerunner/bladerunner.h b/engines/bladerunner/bladerunner.h
index 1281301..e5cb6dd 100644
--- a/engines/bladerunner/bladerunner.h
+++ b/engines/bladerunner/bladerunner.h
@@ -322,7 +322,6 @@ public:
void blitToScreen(const Graphics::Surface &src) const;
Graphics::Surface generateThumbnail() const;
- GUI::Debugger *getDebugger() override;
Common::String getTargetName() const;
};
Commit: 5b25e3ec7eed16c0da6ab3d6a5747593f3752664
https://github.com/scummvm/scummvm/commit/5b25e3ec7eed16c0da6ab3d6a5747593f3752664
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
CGE: Refactor to use Engine debugger
Changed paths:
engines/cge/cge.cpp
engines/cge/cge.h
engines/cge/events.cpp
diff --git a/engines/cge/cge.cpp b/engines/cge/cge.cpp
index 3212683..4e73240 100644
--- a/engines/cge/cge.cpp
+++ b/engines/cge/cge.cpp
@@ -75,7 +75,6 @@ CGEEngine::CGEEngine(OSystem *syst, const ADGameDescription *gameDescription)
_midiPlayer = nullptr;
_miniShp = nullptr;
_miniShpList = nullptr;
- _console = nullptr;
_sprTv = nullptr;
_sprK1 = nullptr;
_sprK2 = nullptr;
@@ -140,7 +139,7 @@ void CGEEngine::init() {
_resman = new ResourceManager();
// Create debugger console
- _console = new CGEConsole(this);
+ setDebugger(new CGEConsole(this));
// Initialize engine objects
_font = new Font(this, "CGE");
@@ -173,8 +172,6 @@ void CGEEngine::deinit() {
// Remove all of our debug levels here
DebugMan.clearAllDebugChannels();
- delete _console;
-
// Delete engine objects
delete _vga;
delete _sys;
diff --git a/engines/cge/cge.h b/engines/cge/cge.h
index e81fc04..337079d 100644
--- a/engines/cge/cge.h
+++ b/engines/cge/cge.h
@@ -205,10 +205,7 @@ public:
BitmapPtr *_miniShpList;
int _startGameSlot;
- Common::Error run() override;
- GUI::Debugger *getDebugger() override {
- return _console;
- }
+ virtual Common::Error run() override;
void cge_main();
void switchScene(int newScene);
@@ -326,7 +323,6 @@ protected:
int _recentStep;
private:
- CGEConsole *_console;
void init();
void deinit();
};
diff --git a/engines/cge/events.cpp b/engines/cge/events.cpp
index 5291ced..1634b26 100644
--- a/engines/cge/events.cpp
+++ b/engines/cge/events.cpp
@@ -72,14 +72,6 @@ bool Keyboard::getKey(Common::Event &event) {
case Common::KEYCODE_F7:
_vm->loadGameDialog();
return false;
- case Common::KEYCODE_d:
- if (event.kbd.flags & Common::KBD_CTRL) {
- // Start the debugger
- _vm->getDebugger()->attach();
- _vm->getDebugger()->onFrame();
- return false;
- }
- break;
case Common::KEYCODE_x:
if (event.kbd.flags & Common::KBD_ALT) {
_vm->quit();
Commit: bef176fb3a26a050b314431b7011fa25bada118d
https://github.com/scummvm/scummvm/commit/bef176fb3a26a050b314431b7011fa25bada118d
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
CGE2: Refactor to use Engine debugger
Changed paths:
engines/cge2/cge2.cpp
engines/cge2/cge2.h
engines/cge2/events.cpp
diff --git a/engines/cge2/cge2.cpp b/engines/cge2/cge2.cpp
index 04b9db1..8040525 100644
--- a/engines/cge2/cge2.cpp
+++ b/engines/cge2/cge2.cpp
@@ -76,7 +76,6 @@ CGE2Engine::CGE2Engine(OSystem *syst, const ADGameDescription *gameDescription)
_vol[i] = nullptr;
_eventManager = nullptr;
_map = nullptr;
- _console = nullptr;
_quitFlag = false;
_bitmapPalette = nullptr;
_gamePhase = kPhaseIntro;
@@ -113,7 +112,7 @@ CGE2Engine::CGE2Engine(OSystem *syst, const ADGameDescription *gameDescription)
void CGE2Engine::init() {
// Create debugger console
- _console = new CGE2Console(this);
+ setDebugger(new CGE2Console(this));
_resman = new ResourceManager();
_vga = new Vga(this);
_fx = new Fx(this, 16);
@@ -149,8 +148,6 @@ void CGE2Engine::deinit() {
// Remove all of our debug levels here
DebugMan.clearAllDebugChannels();
- delete _console;
-
delete _spare;
delete _resman;
delete _vga;
diff --git a/engines/cge2/cge2.h b/engines/cge2/cge2.h
index ee40d22..66de6aa 100644
--- a/engines/cge2/cge2.h
+++ b/engines/cge2/cge2.h
@@ -143,7 +143,6 @@ private:
uint32 _lastFrame, _lastTick;
void tick();
- CGE2Console *_console;
void init();
void deinit();
@@ -165,10 +164,6 @@ public:
WARN_UNUSED_RESULT static bool readSavegameHeader(Common::InSaveFile *in, SavegameHeader &header, bool skipThumbnail = true);
- GUI::Debugger *getDebugger() override {
- return _console;
- }
-
bool showTitle(const char *name);
void cge2_main();
char *mergeExt(char *buf, const char *name, const char *ext);
diff --git a/engines/cge2/events.cpp b/engines/cge2/events.cpp
index 5ab7f59..a9c1212 100644
--- a/engines/cge2/events.cpp
+++ b/engines/cge2/events.cpp
@@ -65,14 +65,6 @@ bool Keyboard::getKey(Common::Event &event) {
case Common::KEYCODE_F7:
_vm->loadGameDialog();
return false;
- case Common::KEYCODE_d:
- if (event.kbd.flags & Common::KBD_CTRL) {
- // Start the debugger
- _vm->getDebugger()->attach();
- _vm->getDebugger()->onFrame();
- return false;
- }
- break;
case Common::KEYCODE_x:
if (event.kbd.flags & Common::KBD_ALT) {
_vm->quit();
Commit: 0e8e735c8f5d2952d402c4347aade93c15b50eb1
https://github.com/scummvm/scummvm/commit/0e8e735c8f5d2952d402c4347aade93c15b50eb1
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
CHEWEY: Refactor to use Engine debugger
Changed paths:
engines/chewy/chewy.cpp
engines/chewy/chewy.h
engines/chewy/events.cpp
engines/chewy/events.h
diff --git a/engines/chewy/chewy.cpp b/engines/chewy/chewy.cpp
index 81f8c7d..87d4698 100644
--- a/engines/chewy/chewy.cpp
+++ b/engines/chewy/chewy.cpp
@@ -64,17 +64,16 @@ ChewyEngine::~ChewyEngine() {
delete _cursor;
delete _scene;
delete _graphics;
- delete _console;
}
void ChewyEngine::initialize() {
- _console = new Console(this);
+ setDebugger(new Console(this));
_cursor = new Cursor();
_graphics = new Graphics(this);
_scene = new Scene(this);
_sound = new Sound(_mixer);
_text = new Text();
- _events = new Events(this, _console);
+ _events = new Events(this);
_curCursor = 0;
_elapsedFrames = 0;
@@ -104,8 +103,6 @@ Common::Error ChewyEngine::run() {
while (!shouldQuit()) {
_events->processEvents();
- _console->onFrame();
-
// Cursor animation
if (_elapsedFrames % 30 == 0)
_cursor->animateCursor();
diff --git a/engines/chewy/chewy.h b/engines/chewy/chewy.h
index 79c090b..5b1a915 100644
--- a/engines/chewy/chewy.h
+++ b/engines/chewy/chewy.h
@@ -74,7 +74,6 @@ protected:
void initialize();
void shutdown();
- Console *_console;
Events *_events;
uint _curCursor;
diff --git a/engines/chewy/events.cpp b/engines/chewy/events.cpp
index 532b1ac..d5e9dc4 100644
--- a/engines/chewy/events.cpp
+++ b/engines/chewy/events.cpp
@@ -32,8 +32,7 @@
namespace Chewy {
-Events::Events(ChewyEngine *vm, Console *console) :
- _vm(vm), _console(console) {
+Events::Events(ChewyEngine *vm) : _vm(vm) {
_eventManager = g_system->getEventManager();
}
@@ -48,10 +47,6 @@ void Events::processEvents() {
case Common::KEYCODE_SPACE:
_vm->_cursor->nextCursor();
break;
- case Common::KEYCODE_d:
- if (_event.kbd.flags & Common::KBD_CTRL)
- _console->attach();
- break;
default:
break;
}
diff --git a/engines/chewy/events.h b/engines/chewy/events.h
index efeafe0..d35a2dd 100644
--- a/engines/chewy/events.h
+++ b/engines/chewy/events.h
@@ -33,7 +33,7 @@ class Console;
class Events {
public:
- Events(ChewyEngine *vm, Console *console);
+ Events(ChewyEngine *vm);
virtual ~Events() {}
void processEvents();
@@ -42,7 +42,6 @@ private:
Common::Event _event;
Common::EventManager *_eventManager;
ChewyEngine *_vm;
- Console *_console;
};
} // End of namespace Chewy
Commit: 21dd3be44418dd7f9d2be1d5c11b1abefe8e0a00
https://github.com/scummvm/scummvm/commit/21dd3be44418dd7f9d2be1d5c11b1abefe8e0a00
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
CINE: Refactor to use Engine debugger
Changed paths:
engines/cine/cine.cpp
engines/cine/cine.h
engines/cine/main_loop.cpp
diff --git a/engines/cine/cine.cpp b/engines/cine/cine.cpp
index 5ecf78d..a84a657 100644
--- a/engines/cine/cine.cpp
+++ b/engines/cine/cine.cpp
@@ -57,7 +57,7 @@ CineEngine::CineEngine(OSystem *syst, const CINEGameDescription *gameDesc)
// Setup mixer
syncSoundSettings();
- _console = new CineConsole(this);
+ setDebugger(new CineConsole(this));
g_cine = this;
@@ -76,7 +76,6 @@ CineEngine::~CineEngine() {
}
DebugMan.clearAllDebugChannels();
- delete _console;
}
void CineEngine::syncSoundSettings() {
diff --git a/engines/cine/cine.h b/engines/cine/cine.h
index cbdb7eb..c83a444 100644
--- a/engines/cine/cine.h
+++ b/engines/cine/cine.h
@@ -140,8 +140,6 @@ public:
StringPtrHashMap _volumeEntriesMap;
TextHandler _textHandler;
- GUI::Debugger *getDebugger() override { return _console; }
-
bool _restartRequested;
private:
@@ -157,7 +155,6 @@ private:
void mainLoop(int bootScriptIdx);
void readVolCnf();
- CineConsole *_console;
bool _preLoad;
int _timerDelayMultiplier;
diff --git a/engines/cine/main_loop.cpp b/engines/cine/main_loop.cpp
index 19cc848..6cf7c5c 100644
--- a/engines/cine/main_loop.cpp
+++ b/engines/cine/main_loop.cpp
@@ -166,12 +166,6 @@ static void processEvent(Common::Event &event) {
case Common::KEYCODE_KP3:
moveUsingKeyboard(+1, -1); // Down & Right
break;
- case Common::KEYCODE_d:
- if (event.kbd.hasFlags(Common::KBD_CTRL)) {
- g_cine->getDebugger()->attach();
- g_cine->getDebugger()->onFrame();
- }
- // fall through
default:
lastKeyStroke = event.kbd.keycode;
break;
Commit: 3ed59e42fa142676cfca0a0ad89c1a39194a0579
https://github.com/scummvm/scummvm/commit/3ed59e42fa142676cfca0a0ad89c1a39194a0579
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
COMPOSER: Refactor to use Engine debugger
Changed paths:
engines/composer/composer.cpp
engines/composer/composer.h
diff --git a/engines/composer/composer.cpp b/engines/composer/composer.cpp
index 9931298..17ad32c 100644
--- a/engines/composer/composer.cpp
+++ b/engines/composer/composer.cpp
@@ -52,7 +52,6 @@ ComposerEngine::ComposerEngine(OSystem *syst, const ComposerGameDescription *gam
_mouseEnabled = false;
_mouseSpriteId = 0;
_lastButton = NULL;
- _console = NULL;
}
ComposerEngine::~ComposerEngine() {
@@ -69,7 +68,6 @@ ComposerEngine::~ComposerEngine() {
i->_surface.free();
delete _rnd;
- delete _console;
}
Common::Error ComposerEngine::run() {
@@ -106,7 +104,7 @@ Common::Error ComposerEngine::run() {
CursorMan.replaceCursor(cursor);
delete cursor;
- _console = new Console(this);
+ setDebugger(new Console(this));
loadLibrary(0);
@@ -201,14 +199,6 @@ Common::Error ComposerEngine::run() {
case Common::EVENT_KEYDOWN:
switch (event.kbd.keycode) {
- case Common::KEYCODE_d:
- if (event.kbd.hasFlags(Common::KBD_CTRL)) {
- // Start the debugger
- getDebugger()->attach();
- getDebugger()->onFrame();
- }
- break;
-
case Common::KEYCODE_q:
if (event.kbd.hasFlags(Common::KBD_CTRL))
quitGame();
diff --git a/engines/composer/composer.h b/engines/composer/composer.h
index b570a64..f74467b 100644
--- a/engines/composer/composer.h
+++ b/engines/composer/composer.h
@@ -186,9 +186,6 @@ public:
const ComposerGameDescription *_gameDescription;
- Console *_console;
- GUI::Debugger *getDebugger() override { return _console; }
-
private:
Common::RandomSource *_rnd;
Commit: 35f615eb5b939b449a662811c72ccf1d03a83815
https://github.com/scummvm/scummvm/commit/35f615eb5b939b449a662811c72ccf1d03a83815
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
CRUISE: Refactor to use Engine debugger
Changed paths:
engines/cruise/cruise.cpp
engines/cruise/cruise.h
engines/cruise/cruise_main.cpp
diff --git a/engines/cruise/cruise.cpp b/engines/cruise/cruise.cpp
index df525c0..1c0888a 100644
--- a/engines/cruise/cruise.cpp
+++ b/engines/cruise/cruise.cpp
@@ -47,7 +47,7 @@ CruiseEngine::CruiseEngine(OSystem * syst, const CRUISEGameDescription *gameDesc
DebugMan.addDebugChannel(kCruiseDebugSound, "sound", "Sound debug level");
_vm = this;
- _debugger = new Debugger();
+ setDebugger(new Debugger());
_sound = new PCSound(_mixer, this);
PCFadeFlag = false;
@@ -66,7 +66,6 @@ CruiseEngine::CruiseEngine(OSystem * syst, const CRUISEGameDescription *gameDesc
extern void listMemory();
CruiseEngine::~CruiseEngine() {
- delete _debugger;
delete _sound;
freeSystem();
diff --git a/engines/cruise/cruise.h b/engines/cruise/cruise.h
index e5d2818..4e04586 100644
--- a/engines/cruise/cruise.h
+++ b/engines/cruise/cruise.h
@@ -56,7 +56,6 @@ struct CRUISEGameDescription;
class CruiseEngine: public Engine {
private:
bool _preLoad;
- Debugger *_debugger;
PCSound *_sound;
Common::StringArray _langStrings;
CursorType _savedCursor;
@@ -88,7 +87,6 @@ public:
Common::Language getLanguage() const;
Common::Platform getPlatform() const;
PCSound &sound() { return *_sound; }
- GUI::Debugger *getDebugger() override { return _debugger; }
virtual void pauseEngine(bool pause);
const char *langString(LangStringId langId) { return _langStrings[(int)langId].c_str(); }
diff --git a/engines/cruise/cruise_main.cpp b/engines/cruise/cruise_main.cpp
index 0ad1416..aed7579 100644
--- a/engines/cruise/cruise_main.cpp
+++ b/engines/cruise/cruise_main.cpp
@@ -1730,15 +1730,9 @@ bool manageEvents() {
break;
}
- if (event.kbd.hasFlags(Common::KBD_CTRL)) {
- if (event.kbd.keycode == Common::KEYCODE_d) {
- // Start the debugger
- _vm->getDebugger()->attach();
- keyboardCode = Common::KEYCODE_INVALID;
- } else if (event.kbd.keycode == Common::KEYCODE_f) {
- bFastMode = !bFastMode;
- keyboardCode = Common::KEYCODE_INVALID;
- }
+ if (event.kbd.hasFlags(Common::KBD_CTRL) && event.kbd.keycode == Common::KEYCODE_f) {
+ bFastMode = !bFastMode;
+ keyboardCode = Common::KEYCODE_INVALID;
}
default:
@@ -1838,7 +1832,6 @@ void CruiseEngine::mainLoop() {
if (_playerDontAskQuit)
break;
- _vm->getDebugger()->onFrame();
} while (currentTick < _lastTick + _gameSpeed && !bFastMode);
if (_playerDontAskQuit)
break;
Commit: e86c21351ab8cfa4b4109685a499e6f46dec7598
https://github.com/scummvm/scummvm/commit/e86c21351ab8cfa4b4109685a499e6f46dec7598
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
CRYO: Refactor to use Engine debugger
Changed paths:
engines/cryo/cryo.cpp
engines/cryo/cryo.h
engines/cryo/cryolib.cpp
diff --git a/engines/cryo/cryo.cpp b/engines/cryo/cryo.cpp
index 52fb2ae..92e3d52 100644
--- a/engines/cryo/cryo.cpp
+++ b/engines/cryo/cryo.cpp
@@ -42,7 +42,6 @@ CryoEngine *g_ed = nullptr;
CryoEngine::CryoEngine(OSystem *syst, const ADGameDescription *gameDesc) : Engine(syst), _gameDescription(gameDesc) {
_rnd = new Common::RandomSource("cryo");
- _debugger = nullptr;
_game = nullptr;
_video = nullptr;
@@ -59,7 +58,6 @@ CryoEngine::~CryoEngine() {
delete _game;
delete _video;
delete _screenView;
- delete _debugger;
DebugMan.clearAllDebugChannels();
}
@@ -68,7 +66,7 @@ Common::Error CryoEngine::run() {
_game = new EdenGame(this);
_video = new HnmPlayer(this);
_screenView = new View(320, 200);
- _debugger = new Debugger(this);
+ setDebugger(new Debugger(this));
///// CLTimer
_timerTicks = 0; // incremented in realtime
diff --git a/engines/cryo/cryo.h b/engines/cryo/cryo.h
index ebbc69e..e248368 100644
--- a/engines/cryo/cryo.h
+++ b/engines/cryo/cryo.h
@@ -71,7 +71,6 @@ public:
Graphics::Surface _screen;
EdenGame *_game;
HnmPlayer *_video;
- Debugger *_debugger;
View *_screenView;
volatile int32 _timerTicks;
diff --git a/engines/cryo/cryolib.cpp b/engines/cryo/cryolib.cpp
index 9d291c2..5b81b9a 100644
--- a/engines/cryo/cryolib.cpp
+++ b/engines/cryo/cryolib.cpp
@@ -267,12 +267,6 @@ void CryoEngine::pollEvents() {
return;
case Common::EVENT_KEYDOWN:
- // Check for debugger
- if ((event.kbd.keycode == Common::KEYCODE_d) && (event.kbd.flags & Common::KBD_CTRL)) {
- // Attach to the debugger
- _debugger->attach();
- _debugger->onFrame();
- }
return;
case Common::EVENT_KEYUP:
// _keyState[(byte)toupper(event.kbd.ascii)] = false;
Commit: cefb7cfdfef43f241565e57f21c1036fe3e54c29
https://github.com/scummvm/scummvm/commit/cefb7cfdfef43f241565e57f21c1036fe3e54c29
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
DM: Refactor to use Engine debugger
Changed paths:
engines/dm/dm.cpp
engines/dm/dm.h
engines/dm/eventman.cpp
engines/dm/gfx.cpp
diff --git a/engines/dm/dm.cpp b/engines/dm/dm.cpp
index 29ba665..73ef939 100644
--- a/engines/dm/dm.cpp
+++ b/engines/dm/dm.cpp
@@ -185,7 +185,7 @@ DMEngine::~DMEngine() {
// dispose of resources
delete _rnd;
- delete _console;
+ //delete _console; Debugger is deleted by Engine
delete _displayMan;
delete _dungeonMan;
delete _eventMan;
@@ -359,6 +359,7 @@ Common::Error DMEngine::run() {
// scummvm/engine specific
initGraphics(320, 200);
_console = new Console(this);
+ setDebugger(_console);
_displayMan = new DisplayMan(this);
_dungeonMan = new DungeonMan(this);
_eventMan = new EventManager(this);
diff --git a/engines/dm/dm.h b/engines/dm/dm.h
index 81fff04..839dc8f 100644
--- a/engines/dm/dm.h
+++ b/engines/dm/dm.h
@@ -230,8 +230,6 @@ public:
bool isDemo() const;
- GUI::Debugger *getDebugger() override { return _console; }
-
void delay(uint16 verticalBlank); // @ F0022_MAIN_Delay
uint16 getScaledProduct(uint16 val, uint16 scale, uint16 vale2); // @ F0030_MAIN_GetScaledProduct
uint16 getRandomNumber(uint32 max) { return _rnd->getRandomNumber(max - 1); }
diff --git a/engines/dm/eventman.cpp b/engines/dm/eventman.cpp
index 96309c4..f87c171 100644
--- a/engines/dm/eventman.cpp
+++ b/engines/dm/eventman.cpp
@@ -614,11 +614,6 @@ Common::EventType EventManager::processInput(Common::Event *grabKey, Common::Eve
if (event.kbdRepeat)
break;
- if (event.kbd.keycode == Common::KEYCODE_d && event.kbd.hasFlags(Common::KBD_CTRL)) {
- _vm->_console->attach();
- return Common::EVENT_INVALID;
- }
-
if (grabKey) {
*grabKey = event;
return event.type;
diff --git a/engines/dm/gfx.cpp b/engines/dm/gfx.cpp
index e54e4e5..cdf92a8 100644
--- a/engines/dm/gfx.cpp
+++ b/engines/dm/gfx.cpp
@@ -1143,7 +1143,7 @@ void DisplayMan::updateScreen() {
for (uint32 i = 320 * 30; i < 320 * 170; ++i)
_bitmapScreen[i] += 16;
g_system->copyRectToScreen(_bitmapScreen, _screenWidth, 0, 0, _screenWidth, _screenHeight);
- _vm->_console->onFrame();
+
g_system->updateScreen();
for (uint32 i = 320 * 30; i < 320 * 170; ++i)
_bitmapScreen[i] -= 16;
Commit: a9ea15fef4627c5f8b21736a4c5f38a529d7652b
https://github.com/scummvm/scummvm/commit/a9ea15fef4627c5f8b21736a4c5f38a529d7652b
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
DRACI: Refactor to use Engine debugger
Changed paths:
engines/draci/draci.cpp
engines/draci/draci.h
diff --git a/engines/draci/draci.cpp b/engines/draci/draci.cpp
index 0de1121..ed36216 100644
--- a/engines/draci/draci.cpp
+++ b/engines/draci/draci.cpp
@@ -79,7 +79,7 @@ DraciEngine::DraciEngine(OSystem *syst, const ADGameDescription *gameDesc)
DebugMan.addDebugChannel(kDraciSoundDebugLevel, "sound", "Sound debug info");
DebugMan.addDebugChannel(kDraciWalkingDebugLevel, "walking", "Walking debug info");
- _console = new DraciConsole(this);
+ setDebugger(new DraciConsole(this));
_screen = 0;
_mouse = 0;
@@ -348,12 +348,6 @@ void DraciEngine::handleEvents() {
_game->inventorySwitch(event.kbd.keycode);
}
break;
- case Common::KEYCODE_d:
- if (event.kbd.hasFlags(Common::KBD_CTRL)) {
- this->getDebugger()->attach();
- this->getDebugger()->onFrame();
- }
- break;
default:
break;
}
@@ -407,8 +401,6 @@ DraciEngine::~DraciEngine() {
// Remove all of our debug levels here
DebugMan.clearAllDebugChannels();
-
- delete _console;
}
Common::Error DraciEngine::run() {
diff --git a/engines/draci/draci.h b/engines/draci/draci.h
index 84a6a3b..20d33ee 100644
--- a/engines/draci/draci.h
+++ b/engines/draci/draci.h
@@ -73,8 +73,6 @@ public:
Common::Error saveGameState(int slot, const Common::String &desc) override;
bool canSaveGameStateCurrently() override;
- GUI::Debugger *getDebugger() override { return _console; }
-
Screen *_screen;
Mouse *_mouse;
Game *_game;
@@ -107,8 +105,6 @@ public:
Common::RandomSource _rnd;
int32 _pauseStartTime;
-private:
- DraciConsole *_console;
};
enum {
Commit: 71a517d1dbd70894e064611cdf51a532c256a5f8
https://github.com/scummvm/scummvm/commit/71a517d1dbd70894e064611cdf51a532c256a5f8
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
DRASCULA: Refactor to use Engine debugger
Changed paths:
engines/drascula/drascula.cpp
engines/drascula/drascula.h
diff --git a/engines/drascula/drascula.cpp b/engines/drascula/drascula.cpp
index bf9e9fb..b2a5f87 100644
--- a/engines/drascula/drascula.cpp
+++ b/engines/drascula/drascula.cpp
@@ -166,8 +166,6 @@ DrasculaEngine::DrasculaEngine(OSystem *syst, const DrasculaGameDescription *gam
_rnd = new Common::RandomSource("drascula");
- _console = 0;
-
const Common::FSNode gameDataDir(ConfMan.get("path"));
SearchMan.addSubDirectoryMatching(gameDataDir, "audio");
@@ -186,8 +184,6 @@ DrasculaEngine::~DrasculaEngine() {
freeRoomsTable();
- delete _console;
-
free(_charMap);
free(_itemLocations);
free(_polX);
@@ -254,7 +250,7 @@ Common::Error DrasculaEngine::run() {
_lang = kEnglish;
}
- _console = new Console(this);
+ setDebugger(new Console(this));
if (!loadDrasculaDat())
return Common::kUnknownError;
@@ -695,9 +691,6 @@ bool DrasculaEngine::runCurrentChapter() {
} else if (key == Common::KEYCODE_ESCAPE) {
if (!confirmExit())
return false;
- } else if (key == Common::KEYCODE_TILDE || key == Common::KEYCODE_BACKQUOTE) {
- _console->attach();
- _console->onFrame();
} else if (currentChapter == 6 && key == Common::KEYCODE_0 && _roomNumber == 61) {
loadPic("alcbar.alg", bgSurface, 255);
}
@@ -821,11 +814,6 @@ void DrasculaEngine::updateEvents() {
while (eventMan->pollEvent(event)) {
switch (event.type) {
case Common::EVENT_KEYDOWN:
- if (event.kbd.keycode == Common::KEYCODE_d && event.kbd.hasFlags(Common::KBD_CTRL)) {
- // Start the debugger
- getDebugger()->attach();
- getDebugger()->onFrame();
- }
addKeyToBuffer(event.kbd);
break;
case Common::EVENT_KEYUP:
diff --git a/engines/drascula/drascula.h b/engines/drascula/drascula.h
index b0a4bed..ecd73c2 100644
--- a/engines/drascula/drascula.h
+++ b/engines/drascula/drascula.h
@@ -733,9 +733,6 @@ public:
void update_62_pre();
void update_102();
- Console *_console;
- GUI::Debugger *getDebugger() override { return _console; }
-
private:
int _lang;
Commit: f21ffdca330c362b46837c5fb32e68942f2a2fd2
https://github.com/scummvm/scummvm/commit/f21ffdca330c362b46837c5fb32e68942f2a2fd2
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
DREAMWEB: Refactor to use Engine debugger
Changed paths:
engines/dreamweb/dreamweb.cpp
engines/dreamweb/dreamweb.h
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp
index 76db211..de2e464 100644
--- a/engines/dreamweb/dreamweb.cpp
+++ b/engines/dreamweb/dreamweb.cpp
@@ -49,7 +49,6 @@ DreamWebEngine::DreamWebEngine(OSystem *syst, const DreamWebGameDescription *gam
DebugMan.addDebugChannel(kDebugAnimation, "Animation", "Animation Debug Flag");
DebugMan.addDebugChannel(kDebugSaveLoad, "SaveLoad", "Track Save/Load Function");
- _console = 0;
_sound = 0;
_speed = 1;
_turbo = false;
@@ -270,7 +269,6 @@ DreamWebEngine::DreamWebEngine(OSystem *syst, const DreamWebGameDescription *gam
DreamWebEngine::~DreamWebEngine() {
DebugMan.clearAllDebugChannels();
- delete _console;
delete _sound;
}
@@ -321,11 +319,6 @@ void DreamWebEngine::processEvents(bool processSoundEvents) {
if (event.kbd.flags & Common::KBD_CTRL) {
switch (event.kbd.keycode) {
- case Common::KEYCODE_d:
- _console->attach();
- _console->onFrame();
- break;
-
case Common::KEYCODE_f:
setSpeed(_speed != 20? 20: 1);
break;
@@ -399,7 +392,7 @@ void DreamWebEngine::processEvents(bool processSoundEvents) {
Common::Error DreamWebEngine::run() {
syncSoundSettings();
- _console = new DreamWebConsole(this);
+ setDebugger(new DreamWebConsole(this));
_sound = new DreamWebSound(this);
_hasSpeech = Common::File::exists(_speechDirName + "/r01c0000.raw") && !ConfMan.getBool("speech_mute");
diff --git a/engines/dreamweb/dreamweb.h b/engines/dreamweb/dreamweb.h
index 7e36a1d..7c09f4d 100644
--- a/engines/dreamweb/dreamweb.h
+++ b/engines/dreamweb/dreamweb.h
@@ -100,7 +100,6 @@ class DreamWebSound;
class DreamWebEngine : public Engine {
private:
- DreamWebConsole *_console;
DreamWebSound *_sound;
protected:
@@ -108,8 +107,6 @@ protected:
Common::Error run() override;
bool hasFeature(EngineFeature f) const override;
- GUI::Debugger *getDebugger() override { return _console; }
-
public:
DreamWebEngine(OSystem *syst, const DreamWebGameDescription *gameDesc);
~DreamWebEngine() override;
Commit: 8c32bb6c6f43b2424fd133b626df054234fcb17b
https://github.com/scummvm/scummvm/commit/8c32bb6c6f43b2424fd133b626df054234fcb17b
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
FULLPIPE: Refactor to use Engine debugger
Changed paths:
engines/fullpipe/console.cpp
engines/fullpipe/console.h
engines/fullpipe/fullpipe.cpp
engines/fullpipe/fullpipe.h
diff --git a/engines/fullpipe/console.cpp b/engines/fullpipe/console.cpp
index dd3d1bf..95a9345 100644
--- a/engines/fullpipe/console.cpp
+++ b/engines/fullpipe/console.cpp
@@ -20,6 +20,7 @@
*
*/
+#include "fullpipe/console.h"
#include "fullpipe/constants.h"
#include "fullpipe/fullpipe.h"
#include "fullpipe/gameloader.h"
diff --git a/engines/fullpipe/console.h b/engines/fullpipe/console.h
index 24f213a..0204527 100644
--- a/engines/fullpipe/console.h
+++ b/engines/fullpipe/console.h
@@ -23,6 +23,8 @@
#ifndef FULLPIPE_CONSOLE_H
#define FULLPIPE_CONSOLE_H
+#include "gui/debugger.h"
+
namespace Fullpipe {
class FullpipeEngine;
diff --git a/engines/fullpipe/fullpipe.cpp b/engines/fullpipe/fullpipe.cpp
index 409f886..de4c633 100644
--- a/engines/fullpipe/fullpipe.cpp
+++ b/engines/fullpipe/fullpipe.cpp
@@ -51,7 +51,6 @@ Vars *g_vars = nullptr;
FullpipeEngine::FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc) :
Engine(syst),
_gameDescription(gameDesc),
- _console(this),
_rnd("fullpipe"),
_gameProject(nullptr),
_modalObject(nullptr),
@@ -78,6 +77,8 @@ FullpipeEngine::FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc)
_sfxVolume = ConfMan.getInt("sfx_volume") * 39 - 10000;
_musicVolume = ConfMan.getInt("music_volume");
+ setDebugger(new Console(this));
+
_gameProjectVersion = 0;
_pictureScale = 8;
_scrollSpeed = 0;
@@ -378,11 +379,6 @@ void FullpipeEngine::updateEvents() {
return;
break;
default:
- if (event.kbd.keycode == Common::KEYCODE_d && event.kbd.hasFlags(Common::KBD_CTRL)) {
- // Start the debugger
- getDebugger()->attach();
- getDebugger()->onFrame();
- }
ex = new ExCommand(0, 17, 36, 0, 0, 0, 1, 0, 0, 0);
ex->_param = event.kbd.keycode;
ex->_excFlags |= 3;
diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h
index 41fab8a..609a7a0 100644
--- a/engines/fullpipe/fullpipe.h
+++ b/engines/fullpipe/fullpipe.h
@@ -34,8 +34,6 @@
#include "graphics/surface.h"
#include "engines/engine.h"
-
-#include "gui/debugger.h"
#include "fullpipe/console.h"
struct ADGameDescription;
@@ -110,9 +108,6 @@ public:
FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc);
~FullpipeEngine() override;
- Console _console;
- GUI::Debugger *getDebugger() override { return &_console; }
-
void initialize();
void restartGame();
bool shouldQuit();
Commit: a54b19976f8666d2f911664902df8e79da15aeeb
https://github.com/scummvm/scummvm/commit/a54b19976f8666d2f911664902df8e79da15aeeb
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
GLK: Refactor to use Engine debugger
Changed paths:
engines/glk/events.cpp
engines/glk/glk.cpp
engines/glk/glk.h
diff --git a/engines/glk/events.cpp b/engines/glk/events.cpp
index a1a71fc..4255030 100644
--- a/engines/glk/events.cpp
+++ b/engines/glk/events.cpp
@@ -186,13 +186,7 @@ void Events::pollEvents() {
switch (event.type) {
case Common::EVENT_KEYDOWN: {
- // Check for debugger
- Debugger *dbg = g_vm->_debugger;
- if (dbg && event.kbd.keycode == Common::KEYCODE_d && (event.kbd.flags & Common::KBD_CTRL)) {
- // Attach to the debugger
- dbg->attach();
- dbg->onFrame();
- } else if (!isModifierKey(event.kbd.keycode)) {
+ if (!isModifierKey(event.kbd.keycode)) {
// Handle all other keypresses
setCursor(CURSOR_NONE);
handleKeyDown(event.kbd);
diff --git a/engines/glk/glk.cpp b/engines/glk/glk.cpp
index 5af9983..a168051 100644
--- a/engines/glk/glk.cpp
+++ b/engines/glk/glk.cpp
@@ -32,6 +32,7 @@
#include "glk/glk.h"
#include "glk/blorb.h"
#include "glk/conf.h"
+#include "glk/debugger.h"
#include "glk/events.h"
#include "glk/picture.h"
#include "glk/quetzal.h"
@@ -47,8 +48,8 @@ GlkEngine *g_vm;
GlkEngine::GlkEngine(OSystem *syst, const GlkGameDescription &gameDesc) :
_gameDescription(gameDesc), Engine(syst), _random("Glk"), _quitFlag(false), _blorb(nullptr),
- _clipboard(nullptr), _conf(nullptr), _debugger(nullptr), _events(nullptr), _pictures(nullptr),
- _screen(nullptr), _selection(nullptr), _sounds(nullptr), _streams(nullptr), _windows(nullptr),
+ _clipboard(nullptr), _conf(nullptr),_events(nullptr), _pictures(nullptr), _screen(nullptr),
+ _selection(nullptr), _sounds(nullptr), _streams(nullptr), _windows(nullptr),
_copySelect(false), _terminated(false), _pcSpeaker(nullptr), _loadSaveSlot(-1),
gli_register_obj(nullptr), gli_unregister_obj(nullptr), gli_register_arr(nullptr),
gli_unregister_arr(nullptr) {
@@ -65,7 +66,6 @@ GlkEngine::~GlkEngine() {
delete _blorb;
delete _clipboard;
delete _conf;
- delete _debugger;
delete _events;
delete _pcSpeaker;
delete _pictures;
@@ -78,9 +78,9 @@ GlkEngine::~GlkEngine() {
void GlkEngine::initialize() {
initGraphicsMode();
+ setDebugger(new Debugger());
_conf = new Conf(getInterpreterType());
- _debugger = createDebugger();
_screen = createScreen();
_screen->initialize();
_clipboard = new Clipboard();
diff --git a/engines/glk/glk.h b/engines/glk/glk.h
index ca09089..7cc6bc2 100644
--- a/engines/glk/glk.h
+++ b/engines/glk/glk.h
@@ -28,7 +28,6 @@
#include "common/system.h"
#include "common/serializer.h"
#include "engines/engine.h"
-#include "glk/debugger.h"
#include "glk/glk_types.h"
#include "glk/streams.h"
#include "glk/pc_speaker.h"
@@ -101,13 +100,6 @@ protected:
virtual Screen *createScreen();
/**
- * Creates a debugger instance
- */
- virtual Debugger *createDebugger() {
- return new Debugger();
- }
-
- /**
* Main game loop for the individual interpreters
*/
virtual void runGame() = 0;
@@ -115,7 +107,6 @@ public:
Blorb *_blorb;
Clipboard *_clipboard;
Conf *_conf;
- Debugger *_debugger;
Events *_events;
Pictures *_pictures;
Screen *_screen;
Commit: fb9d51be0edaf0eeec93906eb3810f45edc8d685
https://github.com/scummvm/scummvm/commit/fb9d51be0edaf0eeec93906eb3810f45edc8d685
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
GNAP: Refactor to use Engine debugger
Changed paths:
engines/gnap/gnap.cpp
diff --git a/engines/gnap/gnap.cpp b/engines/gnap/gnap.cpp
index ac4cc91..e75be5d 100644
--- a/engines/gnap/gnap.cpp
+++ b/engines/gnap/gnap.cpp
@@ -252,6 +252,7 @@ Common::Error GnapEngine::run() {
_gameSys = new GameSys(this);
_soundMan = new SoundMan(this);
_debugger = new Debugger();
+ setDebugger(_debugger);
_gnap = new PlayerGnap(this);
_plat = new PlayerPlat(this);
@@ -268,7 +269,7 @@ Common::Error GnapEngine::run() {
delete _soundCache;
delete _spriteCache;
delete _dat;
- delete _debugger;
+ //delete _debugger; Debugger is deleted by Engine
delete _font;
delete _exe;
@@ -281,13 +282,6 @@ void GnapEngine::updateEvents() {
while (_eventMan->pollEvent(event)) {
switch (event.type) {
case Common::EVENT_KEYDOWN:
- // Check for debugger
- if (event.kbd.keycode == Common::KEYCODE_d && (event.kbd.flags & Common::KBD_CTRL)) {
- // Attach to the debugger
- _debugger->attach();
- _debugger->onFrame();
- }
-
_keyPressState[event.kbd.keycode] = true;
_keyDownState[event.kbd.keycode] = true;
break;
Commit: c99c1879835dac7bffab3700570e01b19c09d916
https://github.com/scummvm/scummvm/commit/c99c1879835dac7bffab3700570e01b19c09d916
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
GOB: Refactor to use Engine debugger
Changed paths:
engines/gob/gob.cpp
engines/gob/gob.h
engines/gob/minigames/geisha/penetration.cpp
engines/gob/util.cpp
diff --git a/engines/gob/gob.cpp b/engines/gob/gob.cpp
index a936f29..23b6669 100644
--- a/engines/gob/gob.cpp
+++ b/engines/gob/gob.cpp
@@ -150,12 +150,12 @@ GobEngine::GobEngine(OSystem *syst) : Engine(syst), _rnd("gob") {
_copyProtection = ConfMan.getBool("copy_protection");
_console = new GobConsole(this);
+ setDebugger(_console);
}
GobEngine::~GobEngine() {
deinitGameParts();
-
- delete _console;
+ //_console is deleted by Engine
}
const char *GobEngine::getLangDesc(int16 language) const {
diff --git a/engines/gob/gob.h b/engines/gob/gob.h
index 18fa002..b5287b8 100644
--- a/engines/gob/gob.h
+++ b/engines/gob/gob.h
@@ -257,8 +257,6 @@ public:
void setTrueColor(bool trueColor);
- GUI::Debugger *getDebugger() override { return _console; }
-
const Graphics::PixelFormat &getPixelFormat() const;
GobEngine(OSystem *syst);
diff --git a/engines/gob/minigames/geisha/penetration.cpp b/engines/gob/minigames/geisha/penetration.cpp
index a69d998..549dfc6 100644
--- a/engines/gob/minigames/geisha/penetration.cpp
+++ b/engines/gob/minigames/geisha/penetration.cpp
@@ -983,10 +983,6 @@ void Penetration::checkInput() {
_keys[kKeyRight] = true;
else if (event.kbd.keycode == Common::KEYCODE_SPACE)
_keys[kKeySpace] = true;
- else if (event.kbd.keycode == Common::KEYCODE_d) {
- _vm->getDebugger()->attach();
- _vm->getDebugger()->onFrame();
- }
break;
case Common::EVENT_KEYUP:
diff --git a/engines/gob/util.cpp b/engines/gob/util.cpp
index 8ca8e03..19840d8 100644
--- a/engines/gob/util.cpp
+++ b/engines/gob/util.cpp
@@ -126,10 +126,6 @@ void Util::processInput(bool scroll) {
_fastMode ^= 2;
else if (event.kbd.keycode == Common::KEYCODE_p)
_vm->pauseGame();
- else if (event.kbd.keycode == Common::KEYCODE_d) {
- _vm->getDebugger()->attach();
- _vm->getDebugger()->onFrame();
- }
break;
}
addKeyToBuffer(event.kbd);
Commit: d91ec90db95493b93e692b2bed698a5dc4ad55c3
https://github.com/scummvm/scummvm/commit/d91ec90db95493b93e692b2bed698a5dc4ad55c3
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
GRIFFON: Refactor to use Engine debugger
Changed paths:
engines/griffon/engine.cpp
engines/griffon/griffon.cpp
engines/griffon/input.cpp
diff --git a/engines/griffon/engine.cpp b/engines/griffon/engine.cpp
index ae781b5..9da522d 100644
--- a/engines/griffon/engine.cpp
+++ b/engines/griffon/engine.cpp
@@ -106,9 +106,6 @@ void GriffonEngine::mainLoop() {
drawView();
updateMusic();
-
- _console->onFrame();
-
updateEngine();
} while (!_shouldQuit && _gameMode == kGameModePlay);
}
diff --git a/engines/griffon/griffon.cpp b/engines/griffon/griffon.cpp
index e869d7b..ace6ba9 100644
--- a/engines/griffon/griffon.cpp
+++ b/engines/griffon/griffon.cpp
@@ -98,6 +98,7 @@ GriffonEngine::GriffonEngine(OSystem *syst) : Engine(syst) {
GriffonEngine::~GriffonEngine() {
delete _rnd;
+ //delete _console; Debugger is deleted by Engine
}
void GriffonEngine::syncSoundSettings() {
@@ -134,6 +135,7 @@ Common::Error GriffonEngine::run() {
_mixer = g_system->getMixer();
_console = new Console();
+ setDebugger(_console);
initialize();
diff --git a/engines/griffon/input.cpp b/engines/griffon/input.cpp
index 5caa5af..5db7421 100644
--- a/engines/griffon/input.cpp
+++ b/engines/griffon/input.cpp
@@ -78,9 +78,6 @@ void GriffonEngine::checkInputs() {
if (_event.kbd.keycode == Common::KEYCODE_ESCAPE) {
if (_itemTicks < _ticks)
title(1);
- } else if (_event.kbd.keycode == Common::KEYCODE_d && _event.kbd.hasFlags(Common::KBD_CTRL)) {
- _console->attach();
- _event.type = Common::EVENT_INVALID;
} else if (_event.kbd.hasFlags(Common::KBD_CTRL)) {
if (!_itemSelOn && (_itemTicks < _ticks))
attack();
Commit: be402cfac979476518a551b15a53bfc63f558a5e
https://github.com/scummvm/scummvm/commit/be402cfac979476518a551b15a53bfc63f558a5e
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
GROOVIE: Refactor to use Engine debugger
Changed paths:
engines/groovie/groovie.cpp
engines/groovie/groovie.h
diff --git a/engines/groovie/groovie.cpp b/engines/groovie/groovie.cpp
index 3b21dd5..213ceb4 100644
--- a/engines/groovie/groovie.cpp
+++ b/engines/groovie/groovie.cpp
@@ -48,7 +48,7 @@
namespace Groovie {
GroovieEngine::GroovieEngine(OSystem *syst, const GroovieGameDescription *gd) :
- Engine(syst), _gameDescription(gd), _debugger(NULL), _script(NULL),
+ Engine(syst), _gameDescription(gd), _script(NULL),
_resMan(NULL), _grvCursorMan(NULL), _videoPlayer(NULL), _musicPlayer(NULL),
_graphicsMan(NULL), _macResFork(NULL), _waitingForInput(false), _font(NULL),
_spookyMode(false) {
@@ -79,7 +79,6 @@ GroovieEngine::GroovieEngine(OSystem *syst, const GroovieGameDescription *gd) :
GroovieEngine::~GroovieEngine() {
// Delete the remaining objects
- delete _debugger;
delete _resMan;
delete _grvCursorMan;
delete _videoPlayer;
@@ -124,8 +123,9 @@ Common::Error GroovieEngine::run() {
}
// Create debugger. It requires GFX to be initialized
- _debugger = new Debugger(this);
- _script->setDebugger(_debugger);
+ Debugger *debugger = new Debugger(this);
+ setDebugger(debugger);
+ _script->setDebugger(debugger);
// Create the graphics manager
_graphicsMan = new GraphicsMan(this);
@@ -262,18 +262,11 @@ Common::Error GroovieEngine::run() {
}
while (!shouldQuit()) {
- // Give the debugger a chance to act
- _debugger->onFrame();
-
// Handle input
Common::Event ev;
while (_eventMan->pollEvent(ev)) {
switch (ev.type) {
case Common::EVENT_KEYDOWN:
- // CTRL-D: Attach the debugger
- if ((ev.kbd.flags & Common::KBD_CTRL) && ev.kbd.keycode == Common::KEYCODE_d)
- _debugger->attach();
-
// Send the event to the scripts
_script->setKbdChar(ev.kbd.ascii);
diff --git a/engines/groovie/groovie.h b/engines/groovie/groovie.h
index b322b89..73f07ca 100644
--- a/engines/groovie/groovie.h
+++ b/engines/groovie/groovie.h
@@ -108,8 +108,6 @@ protected:
Common::Error saveGameState(int slot, const Common::String &desc) override;
void syncSoundSettings() override;
- Debugger *getDebugger() override { return _debugger; }
-
public:
void waitForInput();
@@ -129,7 +127,6 @@ public:
private:
const GroovieGameDescription *_gameDescription;
- Debugger *_debugger;
bool _waitingForInput;
T7GFont _sphinxFont;
};
Commit: 22d7c1c15e1a82042ee3436d8d29a64669c70dcd
https://github.com/scummvm/scummvm/commit/22d7c1c15e1a82042ee3436d8d29a64669c70dcd
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
HOPKINS: Refactor to use Engine debugger
Changed paths:
engines/hopkins/events.cpp
engines/hopkins/hopkins.cpp
engines/hopkins/hopkins.h
diff --git a/engines/hopkins/events.cpp b/engines/hopkins/events.cpp
index 58b8be1..f840f67 100644
--- a/engines/hopkins/events.cpp
+++ b/engines/hopkins/events.cpp
@@ -230,9 +230,6 @@ void EventsManager::checkForNextFrameCounter() {
++_gameCounter;
_priorFrameTime = milli;
_vm->_graphicsMan->updateScreen();
-
- // Signal the ScummVM debugger
- _vm->_debug->onFrame();
}
}
@@ -295,14 +292,6 @@ void EventsManager::handleKey(const Common::Event &event) {
_gameKey = KEY_LOAD;
else if (event.kbd.keycode == Common::KEYCODE_F1 || event.kbd.keycode == Common::KEYCODE_o)
_gameKey = KEY_OPTIONS;
-
- // Check for debugger
- if ((event.kbd.keycode == Common::KEYCODE_d) && (event.kbd.flags & Common::KBD_CTRL)) {
- // Attach to the debugger
- _vm->_debug->attach();
- _vm->_debug->onFrame();
- }
-
}
/**
diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp
index 7b16cd3..c9d44ee 100644
--- a/engines/hopkins/hopkins.cpp
+++ b/engines/hopkins/hopkins.cpp
@@ -42,7 +42,7 @@ HopkinsEngine::HopkinsEngine(OSystem *syst, const HopkinsGameDescription *gameDe
_animMan = new AnimationManager(this);
_computer = new ComputerManager(this);
_dialog = new DialogsManager(this);
- _debug = new Debugger(this);
+ setDebugger(new Debugger(this));
_events = new EventsManager(this);
_fileIO = new FileManager(this);
_fontMan = new FontManager(this);
@@ -72,7 +72,6 @@ HopkinsEngine::~HopkinsEngine() {
delete _fontMan;
delete _fileIO;
delete _events;
- delete _debug;
delete _dialog;
delete _computer;
delete _animMan;
diff --git a/engines/hopkins/hopkins.h b/engines/hopkins/hopkins.h
index 5a1060a..9e2510a 100644
--- a/engines/hopkins/hopkins.h
+++ b/engines/hopkins/hopkins.h
@@ -131,13 +131,10 @@ protected:
Common::Error run() override;
bool hasFeature(EngineFeature f) const override;
- GUI::Debugger *getDebugger() override{ return _debug; }
-
public:
AnimationManager *_animMan;
ComputerManager *_computer;
DialogsManager *_dialog;
- Debugger *_debug;
EventsManager *_events;
FileManager *_fileIO;
FontManager *_fontMan;
Commit: f1b47670bf68b35598040668f9a9e3024aed9ecc
https://github.com/scummvm/scummvm/commit/f1b47670bf68b35598040668f9a9e3024aed9ecc
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
HUGO: Refactor to use Engine debugger
Changed paths:
engines/hugo/hugo.cpp
engines/hugo/hugo.h
engines/hugo/parser.cpp
diff --git a/engines/hugo/hugo.cpp b/engines/hugo/hugo.cpp
index 9c609c3..cdecac8 100644
--- a/engines/hugo/hugo.cpp
+++ b/engines/hugo/hugo.cpp
@@ -68,7 +68,7 @@ HugoEngine::HugoEngine(OSystem *syst, const HugoGameDescription *gd) : Engine(sy
DebugMan.addDebugChannel(kDebugObject, "Object", "Object debug level");
DebugMan.addDebugChannel(kDebugMusic, "Music", "Music debug level");
- _console = new HugoConsole(this);
+ setDebugger(new HugoConsole(this));
_rnd = 0;
_screen = nullptr;
@@ -149,14 +149,9 @@ HugoEngine::~HugoEngine() {
delete _text;
DebugMan.clearAllDebugChannels();
- delete _console;
delete _rnd;
}
-GUI::Debugger *HugoEngine::getDebugger() {
- return _console;
-}
-
Status &HugoEngine::getGameStatus() {
return _status;
}
diff --git a/engines/hugo/hugo.h b/engines/hugo/hugo.h
index 886f9ff..45422c9 100644
--- a/engines/hugo/hugo.h
+++ b/engines/hugo/hugo.h
@@ -239,8 +239,6 @@ public:
Maze _maze; // Maze control structure
hugoBoot _boot; // Boot info structure
- GUI::Debugger *getDebugger() override;
-
Common::RandomSource *_rnd;
const char *_episode;
@@ -320,8 +318,6 @@ private:
static HugoEngine *s_Engine;
- HugoConsole *_console;
-
GameType _gameType;
Common::Platform _platform;
bool _packedFl;
diff --git a/engines/hugo/parser.cpp b/engines/hugo/parser.cpp
index 7ee0198..c853023 100644
--- a/engines/hugo/parser.cpp
+++ b/engines/hugo/parser.cpp
@@ -286,10 +286,6 @@ void Parser::keyHandler(Common::Event event) {
if (event.kbd.hasFlags(Common::KBD_CTRL)) {
switch (nChar) {
- case Common::KEYCODE_d:
- _vm->getDebugger()->attach();
- _vm->getDebugger()->onFrame();
- break;
case Common::KEYCODE_l:
_vm->_file->restoreGame(-1);
break;
Commit: ce9bf175a5afa6fca9785ca55373d56bb66462f4
https://github.com/scummvm/scummvm/commit/ce9bf175a5afa6fca9785ca55373d56bb66462f4
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
KYRA: Refactor to use Engine debugger
Changed paths:
engines/kyra/engine/eobcommon.cpp
engines/kyra/engine/kyra_hof.cpp
engines/kyra/engine/kyra_lok.cpp
engines/kyra/engine/kyra_mr.cpp
engines/kyra/engine/kyra_v1.cpp
engines/kyra/engine/lol.cpp
engines/kyra/kyra_v1.h
diff --git a/engines/kyra/engine/eobcommon.cpp b/engines/kyra/engine/eobcommon.cpp
index d51f132..002c7c2 100644
--- a/engines/kyra/engine/eobcommon.cpp
+++ b/engines/kyra/engine/eobcommon.cpp
@@ -48,7 +48,6 @@ EoBCoreEngine::EoBCoreEngine(OSystem *system, const GameFlags &flags) : KyraRpgE
_screen = 0;
_gui = 0;
- _debugger = 0;
_playFinale = false;
_runFlag = true;
@@ -337,8 +336,6 @@ EoBCoreEngine::~EoBCoreEngine() {
_inf = 0;
delete _timer;
_timer = 0;
- delete _debugger;
- _debugger = 0;
delete _txt;
_txt = 0;
}
@@ -458,8 +455,7 @@ Common::Error EoBCoreEngine::init() {
assert(_txt);
_inf = new EoBInfProcessor(this, _screen);
assert(_inf);
- _debugger = new Debugger_EoB(this);
- assert(_debugger);
+ setDebugger(new Debugger_EoB(this));
if (_flags.platform == Common::kPlatformAmiga) {
if (_res->exists("EOBF6.FONT"))
@@ -571,7 +567,7 @@ Common::Error EoBCoreEngine::init() {
}
Common::Error EoBCoreEngine::go() {
- _debugger->initialize();
+ static_cast<Debugger_EoB *>(getDebugger())->initialize();
_txt->removePageBreakFlag();
_screen->setFont(_flags.platform == Common::kPlatformPC98 ? Screen::FID_SJIS_FNT : Screen::FID_8_FNT);
loadItemsAndDecorationsShapes();
diff --git a/engines/kyra/engine/kyra_hof.cpp b/engines/kyra/engine/kyra_hof.cpp
index 11d82f2..043d35b 100644
--- a/engines/kyra/engine/kyra_hof.cpp
+++ b/engines/kyra/engine/kyra_hof.cpp
@@ -177,8 +177,7 @@ Common::Error KyraEngine_HoF::init() {
assert(_screen);
_screen->setResolution();
- _debugger = new Debugger_HoF(this);
- assert(_debugger);
+ setDebugger(new Debugger_HoF(this));
KyraEngine_v1::init();
initStaticResource();
@@ -397,7 +396,7 @@ void KyraEngine_HoF::startup() {
void KyraEngine_HoF::runLoop() {
// Initialize debugger since how it should be fully usable
- _debugger->initialize();
+ static_cast<Debugger_HoF *>(getDebugger())->initialize();
_screen->updateScreen();
diff --git a/engines/kyra/engine/kyra_lok.cpp b/engines/kyra/engine/kyra_lok.cpp
index 30a83b2..a6b0a20 100644
--- a/engines/kyra/engine/kyra_lok.cpp
+++ b/engines/kyra/engine/kyra_lok.cpp
@@ -168,8 +168,7 @@ Common::Error KyraEngine_LoK::init() {
assert(_screen);
_screen->setResolution();
- _debugger = new Debugger_LoK(this);
- assert(_debugger);
+ setDebugger(new Debugger_LoK(this));
KyraEngine_v1::init();
@@ -432,7 +431,7 @@ void KyraEngine_LoK::startup() {
void KyraEngine_LoK::mainLoop() {
// Initialize debugger since how it should be fully usable
- _debugger->initialize();
+ static_cast<Debugger_LoK *>(getDebugger())->initialize();
_eventList.clear();
diff --git a/engines/kyra/engine/kyra_mr.cpp b/engines/kyra/engine/kyra_mr.cpp
index 03c309c..a1c0108 100644
--- a/engines/kyra/engine/kyra_mr.cpp
+++ b/engines/kyra/engine/kyra_mr.cpp
@@ -205,8 +205,7 @@ Common::Error KyraEngine_MR::init() {
assert(_screen);
_screen->setResolution();
- _debugger = new Debugger_v2(this);
- assert(_debugger);
+ setDebugger(new Debugger_v2(this));
KyraEngine_v1::init();
initStaticResource();
@@ -885,7 +884,7 @@ bool KyraEngine_MR::checkCharCollision(int x, int y) {
void KyraEngine_MR::runLoop() {
// Initialize debugger since how it should be fully usable
- _debugger->initialize();
+ static_cast<Debugger_v2 *>(getDebugger())->initialize();
_eventList.clear();
diff --git a/engines/kyra/engine/kyra_v1.cpp b/engines/kyra/engine/kyra_v1.cpp
index 97cb69e..ccb6280 100644
--- a/engines/kyra/engine/kyra_v1.cpp
+++ b/engines/kyra/engine/kyra_v1.cpp
@@ -40,7 +40,6 @@ KyraEngine_v1::KyraEngine_v1(OSystem *system, const GameFlags &flags)
_staticres = 0;
_timer = 0;
_emc = 0;
- _debugger = 0;
_configRenderMode = Common::kRenderDefault;
_configNullSound = false;
@@ -83,10 +82,6 @@ KyraEngine_v1::KyraEngine_v1(OSystem *system, const GameFlags &flags)
DebugMan.addDebugChannel(kDebugLevelTimer, "Timer", "Timer debug level");
}
-::GUI::Debugger *KyraEngine_v1::getDebugger() {
- return _debugger;
-}
-
void KyraEngine_v1::pauseEngineIntern(bool pause) {
Engine::pauseEngineIntern(pause);
if (_sound)
@@ -217,7 +212,6 @@ KyraEngine_v1::~KyraEngine_v1() {
delete _text;
delete _timer;
delete _emc;
- delete _debugger;
}
Common::Point KyraEngine_v1::getMousePos() {
@@ -284,11 +278,7 @@ int KyraEngine_v1::checkInput(Button *buttonList, bool mainLoop, int eventFlag)
saveGameStateIntern(saveLoadSlot, savegameName, 0);
}
} else if (event.kbd.hasFlags(Common::KBD_CTRL)) {
- if (event.kbd.keycode == Common::KEYCODE_d) {
- if (_debugger)
- _debugger->attach();
- breakLoop = true;
- } else if (event.kbd.keycode == Common::KEYCODE_q) {
+ if (event.kbd.keycode == Common::KEYCODE_q) {
quitGame();
}
} else {
@@ -346,9 +336,6 @@ int KyraEngine_v1::checkInput(Button *buttonList, bool mainLoop, int eventFlag)
break;
}
- if (_debugger)
- _debugger->onFrame();
-
if (breakLoop)
break;
diff --git a/engines/kyra/engine/lol.cpp b/engines/kyra/engine/lol.cpp
index cb48a27..e0f7f15 100644
--- a/engines/kyra/engine/lol.cpp
+++ b/engines/kyra/engine/lol.cpp
@@ -367,8 +367,7 @@ Common::Error LoLEngine::init() {
assert(_screen);
_screen->setResolution();
- _debugger = new Debugger_LoL(this);
- assert(_debugger);
+ setDebugger(new Debugger_LoL(this));
KyraEngine_v1::init();
initStaticResource();
@@ -857,7 +856,7 @@ void LoLEngine::startupNew() {
void LoLEngine::runLoop() {
// Initialize debugger since how it should be fully usable
- _debugger->initialize();
+ static_cast<Debugger_LoL *>(getDebugger())->initialize();
enableSysTimer(2);
diff --git a/engines/kyra/kyra_v1.h b/engines/kyra/kyra_v1.h
index 534e567..ff3a3c6 100644
--- a/engines/kyra/kyra_v1.h
+++ b/engines/kyra/kyra_v1.h
@@ -256,7 +256,6 @@ protected:
return go();
}
- ::GUI::Debugger *getDebugger() override;
bool hasFeature(EngineFeature f) const override;
void pauseEngineIntern(bool pause) override;
@@ -267,7 +266,6 @@ protected:
StaticResource *_staticres;
TimerManager *_timer;
EMCInterpreter *_emc;
- Debugger *_debugger;
// input
void setupKeyMap();
Commit: 72d0d84be2868c0c6a96e924eb8a89850101eee5
https://github.com/scummvm/scummvm/commit/72d0d84be2868c0c6a96e924eb8a89850101eee5
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
LAB: Refactor to use Engine debugger
Changed paths:
engines/lab/dispman.cpp
engines/lab/eventman.cpp
engines/lab/lab.cpp
engines/lab/lab.h
diff --git a/engines/lab/dispman.cpp b/engines/lab/dispman.cpp
index d642f2f..1ff6ab1 100644
--- a/engines/lab/dispman.cpp
+++ b/engines/lab/dispman.cpp
@@ -414,7 +414,6 @@ void DisplayMan::screenUpdate() {
_vm->_event->processInput();
_vm->_system->copyRectToScreen(_displayBuffer, _screenWidth, 0, 0, _screenWidth, _screenHeight);
- _vm->_console->onFrame();
_vm->_system->updateScreen();
}
diff --git a/engines/lab/eventman.cpp b/engines/lab/eventman.cpp
index 62e1f75..8242d58 100644
--- a/engines/lab/eventman.cpp
+++ b/engines/lab/eventman.cpp
@@ -117,13 +117,6 @@ void EventManager::processInput() {
case Common::KEYCODE_RIGHTBRACKET:
_vm->changeVolume(1);
break;
- case Common::KEYCODE_d:
- if (event.kbd.hasFlags(Common::KBD_CTRL)) {
- // Open debugger console
- _vm->_console->attach();
- continue;
- }
- // Intentional fall through
default:
_keyPressed = event.kbd;
break;
diff --git a/engines/lab/lab.cpp b/engines/lab/lab.cpp
index ee67d3a..5584464 100644
--- a/engines/lab/lab.cpp
+++ b/engines/lab/lab.cpp
@@ -90,7 +90,6 @@ LabEngine::LabEngine(OSystem *syst, const ADGameDescription *gameDesc)
_roomsFound = nullptr;
_specialLocks = nullptr;
_utils = nullptr;
- _console = nullptr;
_journalBackImage = nullptr;
_lastTooLong = false;
@@ -154,7 +153,6 @@ LabEngine::~LabEngine() {
delete _graphics;
delete _specialLocks;
delete _utils;
- delete _console;
delete _journalBackImage;
}
@@ -172,7 +170,7 @@ Common::Error LabEngine::run() {
_anim = new Anim(this);
_specialLocks = new SpecialLocks(this);
_utils = new Utils(this);
- _console = new Console(this);
+ setDebugger(new Console(this));
_journalBackImage = new Image(this);
go();
diff --git a/engines/lab/lab.h b/engines/lab/lab.h
index e33272b..a72a99e 100644
--- a/engines/lab/lab.h
+++ b/engines/lab/lab.h
@@ -199,8 +199,6 @@ public:
TextFont *_msgFont;
SpecialLocks *_specialLocks;
Utils *_utils;
- Console *_console;
- GUI::Debugger *getDebugger() override { return _console; }
public:
LabEngine(OSystem *syst, const ADGameDescription *gameDesc);
Commit: d3e88f72e5a449a4494c8cb03ad003efcdf9b682
https://github.com/scummvm/scummvm/commit/d3e88f72e5a449a4494c8cb03ad003efcdf9b682
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
LASTEXPRESS: Refactor to use Engine debugger
Changed paths:
engines/lastexpress/lastexpress.cpp
engines/lastexpress/lastexpress.h
diff --git a/engines/lastexpress/lastexpress.cpp b/engines/lastexpress/lastexpress.cpp
index 92cb0f5..144a474 100644
--- a/engines/lastexpress/lastexpress.cpp
+++ b/engines/lastexpress/lastexpress.cpp
@@ -91,7 +91,7 @@ LastExpressEngine::~LastExpressEngine() {
SAFE_DELETE(_resMan);
SAFE_DELETE(_sceneMan);
SAFE_DELETE(_soundMan);
- SAFE_DELETE(_debugger);
+ //_debugger is deleted by Engine
// Cleanup event handlers
SAFE_DELETE(_eventMouse);
@@ -115,6 +115,7 @@ Common::Error LastExpressEngine::run() {
// Create debugger. It requires GFX to be initialized
_debugger = new Debugger(this);
+ setDebugger(_debugger);
// Start the resource and graphics managers
_resMan = new ResourceManager(isDemo());
@@ -195,19 +196,12 @@ bool LastExpressEngine::handleEvents() {
_debugger->attach();
}
- // Show the debugger if required
- _debugger->onFrame();
-
// Handle input
Common::Event ev;
while (_eventMan->pollEvent(ev)) {
switch (ev.type) {
case Common::EVENT_KEYDOWN:
- // CTRL-D: Attach the debugger
- if ((ev.kbd.flags & Common::KBD_CTRL) && ev.kbd.keycode == Common::KEYCODE_d)
- _debugger->attach();
-
//// DEBUG: Quit game on escape
//if (ev.kbd.keycode == Common::KEYCODE_ESCAPE)
// quitGame();
diff --git a/engines/lastexpress/lastexpress.h b/engines/lastexpress/lastexpress.h
index ed94fc6..52b97f3 100644
--- a/engines/lastexpress/lastexpress.h
+++ b/engines/lastexpress/lastexpress.h
@@ -72,7 +72,6 @@ protected:
// Engine APIs
Common::Error run() override;
bool hasFeature(EngineFeature f) const override;
- Debugger *getDebugger() override { return _debugger; }
public:
LastExpressEngine(OSystem *syst, const ADGameDescription *gd);
Commit: afa27aa7c5c3fa42329a6f37b78638f53e1a2b24
https://github.com/scummvm/scummvm/commit/afa27aa7c5c3fa42329a6f37b78638f53e1a2b24
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
LILLIPUT: Refactor to use Engine debugger
Changed paths:
engines/lilliput/lilliput.cpp
engines/lilliput/lilliput.h
diff --git a/engines/lilliput/lilliput.cpp b/engines/lilliput/lilliput.cpp
index eaf3e5f..cec5a84 100644
--- a/engines/lilliput/lilliput.cpp
+++ b/engines/lilliput/lilliput.cpp
@@ -116,7 +116,7 @@ LilliputEngine::LilliputEngine(OSystem *syst, const LilliputGameDescription *gd)
DebugMan.addDebugChannel(kDebugEngineTBC, "EngineTBC", "Engine debug level");
DebugMan.addDebugChannel(kDebugScriptTBC, "ScriptTBC", "Script debug level");
- _console = new LilliputConsole(this);
+ setDebugger(new LilliputConsole(this));
_rnd = 0;
_mousePos = Common::Point(0, 0);
_oldMousePos = Common::Point(0, 0);
@@ -263,16 +263,11 @@ LilliputEngine::LilliputEngine(OSystem *syst, const LilliputGameDescription *gd)
LilliputEngine::~LilliputEngine() {
DebugMan.clearAllDebugChannels();
- delete _console;
delete _soundHandler;
delete _scriptHandler;
delete _rnd;
}
-GUI::Debugger *LilliputEngine::getDebugger() {
- return _console;
-}
-
void LilliputEngine::update() {
// update every 20 ms.
int currentTime = _system->getMillis();
diff --git a/engines/lilliput/lilliput.h b/engines/lilliput/lilliput.h
index 804e5f8..3921b5f 100644
--- a/engines/lilliput/lilliput.h
+++ b/engines/lilliput/lilliput.h
@@ -94,8 +94,6 @@ public:
OSystem *_system;
- GUI::Debugger *getDebugger() override;
-
Common::RandomSource *_rnd;
LilliputScript *_scriptHandler;
LilliputSound *_soundHandler;
@@ -372,7 +370,6 @@ protected:
private:
static LilliputEngine *s_Engine;
- LilliputConsole *_console;
GameType _gameType;
Common::Platform _platform;
Commit: 83d7030d84b454ea63af78c0575c77cce4868a4a
https://github.com/scummvm/scummvm/commit/83d7030d84b454ea63af78c0575c77cce4868a4a
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
LURE: Refactor to use Engine debugger
Changed paths:
engines/lure/fights.cpp
engines/lure/game.cpp
engines/lure/game.h
engines/lure/lure.cpp
engines/lure/lure.h
diff --git a/engines/lure/fights.cpp b/engines/lure/fights.cpp
index ed3e2d7..219a5d1 100644
--- a/engines/lure/fights.cpp
+++ b/engines/lure/fights.cpp
@@ -129,7 +129,6 @@ void FightsManager::fightLoop() {
}
Screen::getReference().update();
- game.debugger().onFrame();
g_system->delayMillis(10);
}
@@ -200,14 +199,6 @@ void FightsManager::checkEvents() {
engine.quitGame();
return;
- case Common::KEYCODE_d:
- if (events.event().kbd.hasFlags(Common::KBD_CTRL)) {
- // Activate the debugger
- game.debugger().attach();
- return;
- }
- break;
-
default:
// Scan through the mapping list for a move for the keypress
const KeyMapping *keyPtr = &keyList[0];
diff --git a/engines/lure/game.cpp b/engines/lure/game.cpp
index b1c2283..5d9f489 100644
--- a/engines/lure/game.cpp
+++ b/engines/lure/game.cpp
@@ -47,7 +47,7 @@ Game &Game::getReference() {
Game::Game() {
int_game = this;
- _debugger = new Debugger();
+ g_engine->setDebugger(new Debugger());
_fastTextFlag = false;
_preloadFlag = false;
_debugFlag = gDebugLevel >= ERROR_BASIC;
@@ -56,7 +56,6 @@ Game::Game() {
}
Game::~Game() {
- delete _debugger;
}
void Game::tick() {
@@ -190,13 +189,6 @@ void Game::execute() {
if (events.type() == Common::EVENT_KEYDOWN) {
uint16 roomNum = room.roomNumber();
- if ((events.event().kbd.hasFlags(Common::KBD_CTRL)) &&
- (events.event().kbd.keycode == Common::KEYCODE_d)) {
- // Activate the debugger
- _debugger->attach();
- break;
- }
-
// Handle special keys
bool handled = true;
switch (events.event().kbd.keycode) {
@@ -276,8 +268,6 @@ void Game::execute() {
system.updateScreen();
system.delayMillis(10);
-
- _debugger->onFrame();
}
room.leaveRoom();
diff --git a/engines/lure/game.h b/engines/lure/game.h
index ddf9fac..88faeac 100644
--- a/engines/lure/game.h
+++ b/engines/lure/game.h
@@ -43,7 +43,6 @@ enum GameState {GS_ERROR = 1, GS_TICK = 2, GS_TOCK = 4, GS_PROT = 8, GS_RESTART
class Game {
private:
- Debugger *_debugger;
bool _fastTextFlag, _soundFlag;
uint8 _state;
uint16 _tellCommands[MAX_TELL_COMMANDS * 3 + 1];
@@ -82,7 +81,6 @@ public:
bool &debugFlag() { return _debugFlag; }
bool fastTextFlag() { return _fastTextFlag; }
bool soundFlag() { return _soundFlag; }
- Debugger &debugger() { return *_debugger; }
// Menu item support methods
void doDebugMenu();
diff --git a/engines/lure/lure.cpp b/engines/lure/lure.cpp
index 6512caa..d6eccb1 100644
--- a/engines/lure/lure.cpp
+++ b/engines/lure/lure.cpp
@@ -248,10 +248,6 @@ bool LureEngine::loadGame(uint8 slotNumber) {
return true;
}
-GUI::Debugger *LureEngine::getDebugger() {
- return !Game::isCreated() ? NULL : &Game::getReference().debugger();
-}
-
void LureEngine::syncSoundSettings() {
Engine::syncSoundSettings();
diff --git a/engines/lure/lure.h b/engines/lure/lure.h
index 35c8422..821b28b 100644
--- a/engines/lure/lure.h
+++ b/engines/lure/lure.h
@@ -116,7 +116,6 @@ public:
LureLanguage getLureLanguage() const;
Common::Language getLanguage() const;
Common::Platform getPlatform() const;
- GUI::Debugger *getDebugger() override;
bool isEGA() const { return (getFeatures() & GF_EGA) != 0; }
Common::Error loadGameState(int slot) override {
Commit: 0b46eaf913ed5783c0d97ca0c094bac3616d5c5d
https://github.com/scummvm/scummvm/commit/0b46eaf913ed5783c0d97ca0c094bac3616d5c5d
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
MACVENTURE: Refactor to use Engine debugger
Changed paths:
engines/macventure/macventure.cpp
engines/macventure/macventure.h
diff --git a/engines/macventure/macventure.cpp b/engines/macventure/macventure.cpp
index 4de266a..40ce781 100644
--- a/engines/macventure/macventure.cpp
+++ b/engines/macventure/macventure.cpp
@@ -66,7 +66,6 @@ MacVentureEngine::MacVentureEngine(OSystem *syst, const ADGameDescription *gameD
initDebugChannels();
- _debugger = NULL;
_resourceManager = NULL;
_globalSettings = NULL;
_gui = NULL;
@@ -94,9 +93,6 @@ MacVentureEngine::~MacVentureEngine() {
if (_rnd)
delete _rnd;
- if (_debugger)
- delete _debugger;
-
if (_resourceManager)
delete _resourceManager;
@@ -150,7 +146,7 @@ Common::Error MacVentureEngine::run() {
setInitialFlags();
- _debugger = new Console(this);
+ setDebugger(new Console(this));
// Additional setup.
debug("MacVentureEngine::init");
diff --git a/engines/macventure/macventure.h b/engines/macventure/macventure.h
index f0fdaf6..1e45e7b 100644
--- a/engines/macventure/macventure.h
+++ b/engines/macventure/macventure.h
@@ -327,7 +327,6 @@ private: // Attributes
Common::MacResManager *_resourceManager;
- Console *_debugger;
Gui *_gui;
World *_world;
ScriptEngine *_scriptEngine;
Commit: 87406e66b742d76251c1fb9e7cfcf4adc767c693
https://github.com/scummvm/scummvm/commit/87406e66b742d76251c1fb9e7cfcf4adc767c693
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
MADE: Refactor to use Engine debugger
Changed paths:
engines/made/made.cpp
engines/made/made.h
diff --git a/engines/made/made.cpp b/engines/made/made.cpp
index 13178b0..c9f20ba 100644
--- a/engines/made/made.cpp
+++ b/engines/made/made.cpp
@@ -53,7 +53,7 @@ MadeEngine::MadeEngine(OSystem *syst, const MadeGameDescription *gameDesc) : Eng
_rnd = new Common::RandomSource("made");
- _console = new MadeConsole(this);
+ setDebugger(new MadeConsole(this));
_system->getAudioCDManager()->open();
@@ -98,7 +98,6 @@ MadeEngine::~MadeEngine() {
_system->getAudioCDManager()->stop();
delete _rnd;
- delete _console;
delete _pmvPlayer;
delete _res;
delete _screen;
@@ -123,10 +122,6 @@ int16 MadeEngine::getTicks() {
return g_system->getMillis() * 30 / 1000;
}
-GUI::Debugger *MadeEngine::getDebugger() {
- return _console;
-}
-
int16 MadeEngine::getTimer(int16 timerNum) {
if (timerNum > 0 && timerNum <= ARRAYSIZE(_timers) && _timers[timerNum - 1] != -1)
return (getTicks() - _timers[timerNum - 1]);
@@ -246,12 +241,6 @@ void MadeEngine::handleEvents() {
_eventKey = event.kbd.ascii;
break;
}
-
- // Check for Debugger Activation
- if (event.kbd.hasFlags(Common::KBD_CTRL) && event.kbd.keycode == Common::KEYCODE_d) {
- this->getDebugger()->attach();
- this->getDebugger()->onFrame();
- }
break;
default:
diff --git a/engines/made/made.h b/engines/made/made.h
index 2aea976..aaf1813 100644
--- a/engines/made/made.h
+++ b/engines/made/made.h
@@ -81,8 +81,6 @@ public:
bool hasFeature(EngineFeature f) const override;
void syncSoundSettings() override;
- GUI::Debugger *getDebugger() override;
-
Common::RandomSource *_rnd;
const MadeGameDescription *_gameDescription;
uint32 getGameID() const;
@@ -90,8 +88,6 @@ public:
uint16 getVersion() const;
Common::Platform getPlatform() const;
-private:
- MadeConsole *_console;
public:
PmvPlayer *_pmvPlayer;
ResourceReader *_res;
Commit: 3487af4b9c8b8ae5a68cb230ab872900dff0634c
https://github.com/scummvm/scummvm/commit/3487af4b9c8b8ae5a68cb230ab872900dff0634c
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
MADS: Refactor to use Engine debugger
Changed paths:
engines/mads/events.cpp
engines/mads/mads.cpp
diff --git a/engines/mads/events.cpp b/engines/mads/events.cpp
index de83260..82e2258 100644
--- a/engines/mads/events.cpp
+++ b/engines/mads/events.cpp
@@ -152,13 +152,7 @@ void EventsManager::pollEvents() {
case Common::EVENT_KEYDOWN:
// Check for debugger
- if (event.kbd.keycode == Common::KEYCODE_d && (event.kbd.flags & Common::KBD_CTRL)) {
- // Attach to the debugger
- _vm->_debugger->attach();
- _vm->_debugger->onFrame();
- } else {
- _pendingKeys.push(event.kbd);
- }
+ _pendingKeys.push(event.kbd);
return;
case Common::EVENT_KEYUP:
return;
@@ -213,15 +207,9 @@ bool EventsManager::checkForNextFrameCounter() {
// Do any palette cycling
_vm->_game->_scene.animatePalette();
- // Give time to the debugger
- _vm->_debugger->onFrame();
-
// Display the frame
_vm->_screen->update();
- // Signal the ScummVM debugger
- _vm->_debugger->onFrame();
-
return true;
}
diff --git a/engines/mads/mads.cpp b/engines/mads/mads.cpp
index c86593e..4475c03 100644
--- a/engines/mads/mads.cpp
+++ b/engines/mads/mads.cpp
@@ -53,7 +53,6 @@ MADSEngine::MADSEngine(OSystem *syst, const MADSGameDescription *gameDesc) :
_dithering = false;
_disableFastwalk = false;
- _debugger = nullptr;
_dialogs = nullptr;
_events = nullptr;
_font = nullptr;
@@ -67,7 +66,6 @@ MADSEngine::MADSEngine(OSystem *syst, const MADSGameDescription *gameDesc) :
}
MADSEngine::~MADSEngine() {
- delete _debugger;
delete _dialogs;
delete _events;
delete _font;
@@ -78,6 +76,7 @@ MADSEngine::~MADSEngine() {
delete _resources;
delete _sound;
delete _audio;
+ //_debugger Debugger is deleted by Engine
_mixer->stopAll();
}
@@ -90,6 +89,7 @@ void MADSEngine::initialize() {
Resources::init(this);
Conversation::init(this);
_debugger = new Debugger(this);
+ setDebugger(_debugger);
_dialogs = Dialogs::init(this);
_events = new EventsManager(this);
_palette = new Palette(this);
Commit: 3a66feb5d9dac1d5f1954effe03ebbb45f135a40
https://github.com/scummvm/scummvm/commit/3a66feb5d9dac1d5f1954effe03ebbb45f135a40
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
MORTEVIELLE: Refactor to use Engine debugger
Changed paths:
engines/mortevielle/mortevielle.cpp
engines/mortevielle/mortevielle.h
engines/mortevielle/utils.cpp
diff --git a/engines/mortevielle/mortevielle.cpp b/engines/mortevielle/mortevielle.cpp
index 21e96e6..16609ca 100644
--- a/engines/mortevielle/mortevielle.cpp
+++ b/engines/mortevielle/mortevielle.cpp
@@ -54,7 +54,7 @@ MortevielleEngine::MortevielleEngine(OSystem *system, const MortevielleGameDescr
DebugMan.addDebugChannel(kMortevielleGraphics, "graphics", "Graphics debugging");
g_vm = this;
- _debugger = new Debugger(this);
+ setDebugger(new Debugger(this));
_dialogManager = new DialogManager(this);
_screenSurface = new ScreenSurface(this);
_mouse = new MouseHandler(this);
@@ -161,7 +161,6 @@ MortevielleEngine::~MortevielleEngine() {
delete _mouse;
delete _screenSurface;
delete _dialogManager;
- delete _debugger;
free(_curPict);
free(_curAnim);
diff --git a/engines/mortevielle/mortevielle.h b/engines/mortevielle/mortevielle.h
index 5d21994..03df3a0 100644
--- a/engines/mortevielle/mortevielle.h
+++ b/engines/mortevielle/mortevielle.h
@@ -428,7 +428,6 @@ public:
GfxSurface _backgroundSurface;
Common::RandomSource _randomSource;
- Debugger *_debugger;
ScreenSurface *_screenSurface;
SoundManager *_soundManager;
SavegameManager *_savegameManager;
@@ -446,7 +445,6 @@ public:
Common::Error saveGameState(int slot, const Common::String &desc) override;
Common::Error run() override;
void pauseEngineIntern(bool pause) override;
- GUI::Debugger *getDebugger() override { return _debugger; }
uint32 getGameFlags() const;
Common::Language getLanguage() const;
Common::Language getOriginalLanguage() const;
diff --git a/engines/mortevielle/utils.cpp b/engines/mortevielle/utils.cpp
index 0efa58f..04ecb08 100644
--- a/engines/mortevielle/utils.cpp
+++ b/engines/mortevielle/utils.cpp
@@ -51,8 +51,6 @@ bool MortevielleEngine::keyPressed() {
_lastGameFrame = g_system->getMillis();
_screenSurface->updateScreen();
-
- _debugger->onFrame();
}
// Delay briefly to keep CPU usage down
@@ -118,12 +116,7 @@ void MortevielleEngine::addKeypress(Common::Event &evt) {
// Character to add
char ch = evt.kbd.ascii;
- // Check for debugger
- if ((evt.kbd.keycode == Common::KEYCODE_d) && (evt.kbd.flags & Common::KBD_CTRL)) {
- // Attach to the debugger
- _debugger->attach();
- _debugger->onFrame();
- } else if ((evt.kbd.keycode >= Common::KEYCODE_a) && (evt.kbd.keycode <= Common::KEYCODE_z)) {
+ if ((evt.kbd.keycode >= Common::KEYCODE_a) && (evt.kbd.keycode <= Common::KEYCODE_z)) {
// Handle alphabetic keys
if (evt.kbd.hasFlags(Common::KBD_CTRL))
ch = evt.kbd.keycode - Common::KEYCODE_a + 1;
@@ -239,8 +232,6 @@ void MortevielleEngine::delay(int amount) {
if (g_system->getMillis() > (_lastGameFrame + GAME_FRAME_DELAY)) {
_lastGameFrame = g_system->getMillis();
_screenSurface->updateScreen();
-
- _debugger->onFrame();
}
g_system->delayMillis(10);
Commit: 7a2dc70d20ceec6026294e5908a952f375e9dc78
https://github.com/scummvm/scummvm/commit/7a2dc70d20ceec6026294e5908a952f375e9dc78
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
NEVERHOOD: Refactor to use Engine debugger
Changed paths:
engines/neverhood/neverhood.cpp
engines/neverhood/neverhood.h
diff --git a/engines/neverhood/neverhood.cpp b/engines/neverhood/neverhood.cpp
index 0f7a1d1..d33fb56 100644
--- a/engines/neverhood/neverhood.cpp
+++ b/engines/neverhood/neverhood.cpp
@@ -47,7 +47,8 @@
namespace Neverhood {
-NeverhoodEngine::NeverhoodEngine(OSystem *syst, const NeverhoodGameDescription *gameDesc) : Engine(syst), _gameDescription(gameDesc), _console(nullptr) {
+NeverhoodEngine::NeverhoodEngine(OSystem *syst, const NeverhoodGameDescription *gameDesc) :
+ Engine(syst), _gameDescription(gameDesc) {
// Setup mixer
if (!_mixer->isReady()) {
warning("Sound initialization failed.");
@@ -84,7 +85,7 @@ Common::Error NeverhoodEngine::run() {
_gameVars = new GameVars();
_screen = new Screen(this);
_res = new ResourceMan();
- _console = new Console(this);
+ setDebugger(new Console(this));
if (isDemo()) {
_res->addArchive("a.blb");
@@ -135,7 +136,6 @@ Common::Error NeverhoodEngine::run() {
delete _soundMan;
delete _audioResourceMan;
- delete _console;
delete _res;
delete _screen;
@@ -153,11 +153,6 @@ void NeverhoodEngine::mainLoop() {
while (eventMan->pollEvent(event)) {
switch (event.type) {
case Common::EVENT_KEYDOWN:
- if (event.kbd.hasFlags(Common::KBD_CTRL) && event.kbd.keycode == Common::KEYCODE_d) {
- // Open debugger console
- _console->attach();
- continue;
- }
_gameModule->handleKeyDown(event.kbd.keycode);
_gameModule->handleAsciiKey(event.kbd.ascii);
break;
@@ -190,7 +185,6 @@ void NeverhoodEngine::mainLoop() {
_gameModule->checkRequests();
_gameModule->handleUpdate();
_gameModule->draw();
- _console->onFrame();
_screen->update();
if (_updateSound)
_soundMan->update();
diff --git a/engines/neverhood/neverhood.h b/engines/neverhood/neverhood.h
index 9df17e7..ccf1488 100644
--- a/engines/neverhood/neverhood.h
+++ b/engines/neverhood/neverhood.h
@@ -89,8 +89,6 @@ public:
ResourceMan *_res;
GameModule *_gameModule;
StaticData *_staticData;
- Console *_console;
- GUI::Debugger *getDebugger() override { return _console; }
SoundMan *_soundMan;
AudioResourceMan *_audioResourceMan;
Commit: e8dc9b374700748a16c53c9477c28a080e44204e
https://github.com/scummvm/scummvm/commit/e8dc9b374700748a16c53c9477c28a080e44204e
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
PARALLACTION: Refactor to use Engine debugger
Changed paths:
engines/parallaction/input.cpp
engines/parallaction/parallaction.cpp
engines/parallaction/parallaction.h
diff --git a/engines/parallaction/input.cpp b/engines/parallaction/input.cpp
index 8636c4c..eb54864 100644
--- a/engines/parallaction/input.cpp
+++ b/engines/parallaction/input.cpp
@@ -115,9 +115,6 @@ void Input::readInput() {
_hasKeyPressEvent = true;
_keyPressed = e.kbd;
- if (e.kbd.hasFlags(Common::KBD_CTRL) && e.kbd.keycode == Common::KEYCODE_d)
- _vm->_debugger->attach();
-
updateMousePos = false;
break;
@@ -151,11 +148,6 @@ void Input::readInput() {
if (updateMousePos) {
setCursorPos(e.mouse);
}
-
- _vm->_debugger->onFrame();
-
- return;
-
}
bool Input::getLastKeyDown(uint16 &ascii) {
diff --git a/engines/parallaction/parallaction.cpp b/engines/parallaction/parallaction.cpp
index ca0ff21..4c4b272 100644
--- a/engines/parallaction/parallaction.cpp
+++ b/engines/parallaction/parallaction.cpp
@@ -67,7 +67,6 @@ Parallaction::Parallaction(OSystem *syst, const PARALLACTIONGameDescription *gam
_gfx = 0;
_disk = 0;
_input = 0;
- _debugger = 0;
_saveLoad = 0;
_menuHelper = 0;
_soundMan = 0;
@@ -91,7 +90,6 @@ Parallaction::Parallaction(OSystem *syst, const PARALLACTIONGameDescription *gam
}
Parallaction::~Parallaction() {
- delete _debugger;
delete _globalFlagsNames;
delete _callableNames;
delete _cmdExec;
@@ -141,7 +139,7 @@ Common::Error Parallaction::init() {
_gfx = new Gfx(this);
- _debugger = new Debugger(this);
+ setDebugger(new Debugger(this));
_menuHelper = 0;
@@ -154,10 +152,6 @@ void Parallaction::pauseEngineIntern(bool pause) {
}
}
-GUI::Debugger *Parallaction::getDebugger() {
- return _debugger;
-}
-
void Parallaction::updateView() {
if ((g_engineFlags & kEnginePauseJobs) && (_input->_inputMode != Input::kInputModeInventory)) {
diff --git a/engines/parallaction/parallaction.h b/engines/parallaction/parallaction.h
index 2159c28..49eadd8 100644
--- a/engines/parallaction/parallaction.h
+++ b/engines/parallaction/parallaction.h
@@ -273,7 +273,6 @@ public:
bool hasFeature(EngineFeature f) const override;
void pauseEngineIntern(bool pause) override;
- GUI::Debugger *getDebugger() override;
// info
int32 _screenWidth;
@@ -285,7 +284,6 @@ public:
Gfx *_gfx;
Disk *_disk;
Input *_input;
- Debugger *_debugger;
SaveLoad *_saveLoad;
MenuInputHelper *_menuHelper;
Common::RandomSource _rnd;
Commit: 118e024bdd7bfb1231dc04f87bd962d23217384d
https://github.com/scummvm/scummvm/commit/118e024bdd7bfb1231dc04f87bd962d23217384d
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
PEGASUS: Refactor to use Engine debugger
Changed paths:
engines/pegasus/input.cpp
engines/pegasus/input.h
engines/pegasus/pegasus.cpp
engines/pegasus/pegasus.h
diff --git a/engines/pegasus/input.cpp b/engines/pegasus/input.cpp
index 97db74e..a6053df 100644
--- a/engines/pegasus/input.cpp
+++ b/engines/pegasus/input.cpp
@@ -105,10 +105,6 @@ void InputDeviceManager::getInput(Input &input, const InputBits filter) {
// Update the last bits
_lastRawBits = currentBits;
- // Set the console to be requested or not
- input.setConsoleRequested(_consoleRequested);
- _consoleRequested = false;
-
// WORKAROUND: The original had this in currentBits, but then
// pressing alt would count as an event (and mess up someone
// trying to do alt+enter or something). Since it's only used
diff --git a/engines/pegasus/input.h b/engines/pegasus/input.h
index 698104b..a42ebc3 100644
--- a/engines/pegasus/input.h
+++ b/engines/pegasus/input.h
@@ -390,25 +390,21 @@ public:
bool anyInputBitSet(const InputBits bits) const { return (_inputState & bits) != 0; }
bool isAltDown() const { return _altDown; }
- bool isConsoleRequested() const { return _consoleRequested; }
void clearInput() {
_inputState = kAllUpBits;
_inputLocation.x = 0;
_inputLocation.y = 0;
- _consoleRequested = false;
_altDown = false;
}
protected:
void setInputBits(const InputBits state) { _inputState = state; }
void setInputLocation(const Common::Point &where) { _inputLocation = where; }
- void setConsoleRequested(bool consoleRequested) { _consoleRequested = consoleRequested; }
void setAltDown(bool altDown) { _altDown = altDown; }
InputBits _inputState;
Common::Point _inputLocation;
- bool _consoleRequested;
bool _altDown;
};
diff --git a/engines/pegasus/pegasus.cpp b/engines/pegasus/pegasus.cpp
index ac95dd2..1e17792 100644
--- a/engines/pegasus/pegasus.cpp
+++ b/engines/pegasus/pegasus.cpp
@@ -103,7 +103,6 @@ PegasusEngine::~PegasusEngine() {
throwAwayEverything();
delete _resFork;
- delete _console;
delete _cursor;
delete _continuePoint;
delete _gameMenu;
@@ -123,7 +122,7 @@ PegasusEngine::~PegasusEngine() {
}
Common::Error PegasusEngine::run() {
- _console = new PegasusConsole(this);
+ setDebugger(new PegasusConsole(this));
_gfx = new GraphicsManager(this);
_resFork = new Common::MacResManager();
_cursor = new Cursor();
@@ -390,11 +389,6 @@ void PegasusEngine::showSaveFailedDialog(const Common::Error &status) {
dialog.runModal();
}
-
-GUI::Debugger *PegasusEngine::getDebugger() {
- return _console;
-}
-
void PegasusEngine::addIdler(Idler *idler) {
idler->_nextIdler = _idlerHead;
if (_idlerHead)
@@ -1018,12 +1012,6 @@ void PegasusEngine::handleInput(const Input &input, const Hotspot *cursorSpot) {
if (!checkGameMenu())
shellGameInput(input, cursorSpot);
- // Handle the console here
- if (input.isConsoleRequested()) {
- _console->attach();
- _console->onFrame();
- }
-
// Handle save requests here
if (_saveRequested && _saveAllowed) {
_saveRequested = false;
diff --git a/engines/pegasus/pegasus.h b/engines/pegasus/pegasus.h
index d80749a..ae47ce8 100644
--- a/engines/pegasus/pegasus.h
+++ b/engines/pegasus/pegasus.h
@@ -78,7 +78,6 @@ public:
// Engine stuff
const PegasusGameDescription *_gameDescription;
bool hasFeature(EngineFeature f) const override;
- GUI::Debugger *getDebugger() override;
bool canLoadGameStateCurrently() override;
bool canSaveGameStateCurrently() override;
Common::Error loadGameState(int slot) override;
@@ -221,9 +220,6 @@ protected:
bool wantsCursor() override;
private:
- // Console
- PegasusConsole *_console;
-
// Intro
void runIntro();
void stopIntroTimer();
Commit: 4b0937573968589d2bf0b2d8af44b00a4cd4a2ed
https://github.com/scummvm/scummvm/commit/4b0937573968589d2bf0b2d8af44b00a4cd4a2ed
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
PINK: Refactor to use Engine debugger
Changed paths:
engines/pink/pink.cpp
engines/pink/pink.h
diff --git a/engines/pink/pink.cpp b/engines/pink/pink.cpp
index 35686e3..e9e58b0 100644
--- a/engines/pink/pink.cpp
+++ b/engines/pink/pink.cpp
@@ -41,7 +41,7 @@
namespace Pink {
PinkEngine::PinkEngine(OSystem *system, const ADGameDescription *desc)
- : Engine(system), _console(nullptr), _rnd("pink"), _exeResources(nullptr),
+ : Engine(system), _rnd("pink"), _exeResources(nullptr),
_desc(desc), _bro(nullptr), _menu(nullptr), _actor(nullptr),
_module(nullptr), _director(nullptr), _pdaMgr(this) {
@@ -56,7 +56,6 @@ PinkEngine::PinkEngine(OSystem *system, const ADGameDescription *desc)
}
PinkEngine::~PinkEngine() {
- delete _console;
delete _exeResources;
delete _bro;
_pdaMgr.close();
@@ -80,7 +79,7 @@ Common::Error PinkEngine::init() {
return Common::kNoGameDataFoundError;
}
- _console = new Console(this);
+ setDebugger(new Console(this));
_director = new Director();
initMenu();
@@ -145,12 +144,7 @@ Common::Error Pink::PinkEngine::run() {
_actor->onRightButtonClick(event.mouse);
break;
case Common::EVENT_KEYDOWN:
- if (event.kbd.keycode == Common::KEYCODE_d && event.kbd.hasFlags(Common::KBD_CTRL)) {
- _console->attach();
- _console->onFrame();
- } else {
- _actor->onKeyboardButtonClick(event.kbd.keycode);
- }
+ _actor->onKeyboardButtonClick(event.kbd.keycode);
break;
default:
break;
diff --git a/engines/pink/pink.h b/engines/pink/pink.h
index 9512404..85c5890 100644
--- a/engines/pink/pink.h
+++ b/engines/pink/pink.h
@@ -146,7 +146,6 @@ private:
void openLocalWebPage(const Common::String &pageName) const;
private:
- Console *_console;
Common::RandomSource _rnd;
Common::Array<Graphics::WinCursorGroup *> _cursors;
Commit: ed7852f85337b662fbc82eae26ccffe81a85fdf5
https://github.com/scummvm/scummvm/commit/ed7852f85337b662fbc82eae26ccffe81a85fdf5
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
PLUMBERS: Refactor to use Engine debugger
Changed paths:
engines/plumbers/plumbers.cpp
diff --git a/engines/plumbers/plumbers.cpp b/engines/plumbers/plumbers.cpp
index a6d4944..5ccf7ee 100644
--- a/engines/plumbers/plumbers.cpp
+++ b/engines/plumbers/plumbers.cpp
@@ -46,9 +46,8 @@
namespace Plumbers {
-PlumbersGame::PlumbersGame(OSystem *syst, const ADGameDescription *gameDesc) : Engine(syst), _gameDescription(gameDesc) {
- _image = nullptr;
- _console = nullptr;
+PlumbersGame::PlumbersGame(OSystem *syst, const ADGameDescription *gameDesc) :
+ Engine(syst), _gameDescription(gameDesc), _console(0), _image(0) {
_timerInstalled = false;
_showScoreFl = false;
_setDurationFl = false;
@@ -66,7 +65,7 @@ PlumbersGame::PlumbersGame(OSystem *syst, const ADGameDescription *gameDesc) : E
PlumbersGame::~PlumbersGame() {
delete _image;
- delete _console;
+ //_console is deleted by Engine
}
static const byte MOUSECURSOR_SCI[] = {
@@ -96,8 +95,9 @@ static const byte cursorPalette[] = {
Common::Error PlumbersGame::run() {
initGraphics(640, 480);
- _console = new Console();
_image = new Image::BitmapDecoder();
+ _console = new Console();
+ setDebugger(_console);
CursorMan.replaceCursor(MOUSECURSOR_SCI, 11, 16, 0, 0, 0);
CursorMan.replaceCursorPalette(cursorPalette, 0, 3);
@@ -143,11 +143,6 @@ Common::Error PlumbersGame::run() {
onTimer(this);
}
break;
- case Common::EVENT_KEYDOWN:
- if (event.kbd.keycode == Common::KEYCODE_d && event.kbd.hasFlags(Common::KBD_CTRL))
- _console->attach();
-
- break;
default:
break;
}
@@ -231,8 +226,6 @@ void PlumbersGame::drawScreen() {
g_system->getPaletteManager()->setPalette(_image->getPalette(), 0, 256);
g_system->updateScreen();
}
-
- _console->onFrame();
}
void PlumbersGame::playSound() {
Commit: edcf6b911271fd0b111989376578824a055e19f6
https://github.com/scummvm/scummvm/commit/edcf6b911271fd0b111989376578824a055e19f6
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
PRINCE: Refactor to use Engine debugger
Changed paths:
engines/prince/draw.cpp
engines/prince/inventory.cpp
engines/prince/prince.cpp
engines/prince/prince.h
diff --git a/engines/prince/draw.cpp b/engines/prince/draw.cpp
index 275b66a..fc766eb 100644
--- a/engines/prince/draw.cpp
+++ b/engines/prince/draw.cpp
@@ -640,8 +640,6 @@ void PrinceEngine::drawScreen() {
showPower();
- getDebugger()->onFrame();
-
} else {
displayInventory();
}
diff --git a/engines/prince/inventory.cpp b/engines/prince/inventory.cpp
index e66815b..22b5534 100644
--- a/engines/prince/inventory.cpp
+++ b/engines/prince/inventory.cpp
@@ -669,7 +669,6 @@ void PrinceEngine::displayInventory() {
if (shouldQuit())
return;
- getDebugger()->onFrame();
_graph->update(_graph->_screenForInventory);
pausePrinceEngine();
}
diff --git a/engines/prince/prince.cpp b/engines/prince/prince.cpp
index 8f6acd7..24d61eb 100644
--- a/engines/prince/prince.cpp
+++ b/engines/prince/prince.cpp
@@ -102,7 +102,6 @@ PrinceEngine::~PrinceEngine() {
DebugMan.clearAllDebugChannels();
delete _rnd;
- delete _debugger;
delete _cursor1;
delete _cursor3;
delete _midiPlayer;
@@ -118,6 +117,7 @@ PrinceEngine::~PrinceEngine() {
free(_dialogDat);
delete _graph;
delete _room;
+ //_debugger is deleted by Engine
if (_cursor2 != nullptr) {
_cursor2->free();
@@ -198,10 +198,6 @@ PrinceEngine::~PrinceEngine() {
free(_mobTranslationData);
}
-GUI::Debugger *PrinceEngine::getDebugger() {
- return _debugger;
-}
-
void PrinceEngine::init() {
const Common::FSNode gameDataDir(ConfMan.get("path"));
@@ -272,6 +268,7 @@ void PrinceEngine::init() {
_interpreter = new Interpreter(this, _script, _flags);
_debugger = new Debugger(this, _flags);
+ setDebugger(_debugger);
_variaTxt = new VariaTxt();
if (getFeatures() & GF_TRANSLATED) {
@@ -552,11 +549,6 @@ void PrinceEngine::keyHandler(Common::Event event) {
if (canSaveGameStateCurrently())
scummVMSaveLoadDialog(true);
break;
- case Common::KEYCODE_d:
- if (event.kbd.hasFlags(Common::KBD_CTRL)) {
- getDebugger()->attach();
- }
- break;
case Common::KEYCODE_z:
if (_flags->getFlagValue(Flags::POWERENABLED)) {
_flags->setFlagValue(Flags::MBFLAG, 1);
@@ -926,7 +918,7 @@ void PrinceEngine::dialogRun() {
break;
}
- getDebugger()->onFrame();
+
_graph->update(_graph->_frontScreen);
pausePrinceEngine();
}
diff --git a/engines/prince/prince.h b/engines/prince/prince.h
index 51effe2..2bd130c 100644
--- a/engines/prince/prince.h
+++ b/engines/prince/prince.h
@@ -340,8 +340,6 @@ public:
void setVoice(uint16 slot, uint32 sampleSlot, uint16 flag);
- GUI::Debugger *getDebugger() override;
-
void changeCursor(uint16 curId);
void printAt(uint32 slot, uint8 color, char *s, uint16 x, uint16 y);
int calcTextLines(const char *s);
Commit: 7243eaf907d225253a3ba721f84cba5a7bdb2387
https://github.com/scummvm/scummvm/commit/7243eaf907d225253a3ba721f84cba5a7bdb2387
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
QUEEN: Refactor to use Engine debugger
Changed paths:
engines/queen/input.cpp
engines/queen/input.h
engines/queen/queen.cpp
engines/queen/queen.h
diff --git a/engines/queen/input.cpp b/engines/queen/input.cpp
index bea8d96..eb52e3d 100644
--- a/engines/queen/input.cpp
+++ b/engines/queen/input.cpp
@@ -54,7 +54,7 @@ Input::Input(Common::Language language, OSystem *system) :
_system(system), _eventMan(system->getEventManager()), _fastMode(false),
_keyVerb(VERB_NONE), _cutawayRunning(false), _canQuit(false),
_cutawayQuit(false), _dialogueRunning(false), _talkQuit(false),
- _quickSave(false), _quickLoad(false), _debugger(false), _inKey(Common::KEYCODE_INVALID),
+ _quickSave(false), _quickLoad(false), _inKey(Common::KEYCODE_INVALID),
_mouseButton(0), _idleTime(0) {
switch (language) {
@@ -99,9 +99,7 @@ void Input::delay(uint amount) {
switch (event.type) {
case Common::EVENT_KEYDOWN:
if (event.kbd.hasFlags(Common::KBD_CTRL)) {
- if (event.kbd.keycode == Common::KEYCODE_d) {
- _debugger = true;
- } else if (event.kbd.keycode == Common::KEYCODE_f) {
+ if (event.kbd.keycode == Common::KEYCODE_f) {
_fastMode = !_fastMode;
}
} else {
diff --git a/engines/queen/input.h b/engines/queen/input.h
index 87f6b20..bb0c95e 100644
--- a/engines/queen/input.h
+++ b/engines/queen/input.h
@@ -73,8 +73,6 @@ public:
void quickSaveReset() { _quickSave = false; }
bool quickLoad() const { return _quickLoad; }
void quickLoadReset() { _quickLoad = false; }
- bool debugger() const { return _debugger; }
- void debuggerReset() { _debugger = false; }
bool fastMode() const { return _fastMode; }
void fastMode(bool fm) { _fastMode = fm; }
@@ -123,9 +121,6 @@ private:
//! set if quickload requested
bool _quickLoad;
- //! set if debugger requested
- bool _debugger;
-
//! set by delay();
Common::KeyCode _inKey;
diff --git a/engines/queen/queen.cpp b/engines/queen/queen.cpp
index 74ea20c..3f70249 100644
--- a/engines/queen/queen.cpp
+++ b/engines/queen/queen.cpp
@@ -50,7 +50,10 @@
namespace Queen {
QueenEngine::QueenEngine(OSystem *syst)
- : Engine(syst), _gameStarted(false), _debugger(0), randomizer("queen") {
+ : Engine(syst), _bam(nullptr), _bankMan(nullptr), _command(nullptr), _debugger(nullptr),
+ _display(nullptr), _graphics(nullptr), _grid(nullptr), _input(nullptr), _logic(nullptr),
+ _sound(nullptr), _resource(nullptr), _walk(nullptr), _gameStarted(false),
+ randomizer("queen") {
}
QueenEngine::~QueenEngine() {
@@ -58,7 +61,6 @@ QueenEngine::~QueenEngine() {
delete _resource;
delete _bankMan;
delete _command;
- delete _debugger;
delete _display;
delete _graphics;
delete _grid;
@@ -66,6 +68,7 @@ QueenEngine::~QueenEngine() {
delete _logic;
delete _sound;
delete _walk;
+ //_debugger is deleted by Engine
}
void QueenEngine::registerDefaultSettings() {
@@ -124,8 +127,6 @@ void QueenEngine::writeOptionSettings() {
}
void QueenEngine::update(bool checkPlayerInput) {
- _debugger->onFrame();
-
_graphics->update(_logic->currentRoom());
_logic->update();
@@ -143,10 +144,7 @@ void QueenEngine::update(bool checkPlayerInput) {
_display->update(joe->active, joe->x, joe->y);
_input->checkKeys();
- if (_input->debugger()) {
- _input->debuggerReset();
- _debugger->attach();
- }
+
if (canLoadOrSave()) {
if (_input->quickSave()) {
_input->quickSaveReset();
@@ -311,10 +309,6 @@ void QueenEngine::findGameStateDescriptions(char descriptions[100][32]) {
}
}
-GUI::Debugger *QueenEngine::getDebugger() {
- return _debugger;
-}
-
bool Queen::QueenEngine::hasFeature(EngineFeature f) const {
return
(f == kSupportsRTL) ||
@@ -332,6 +326,7 @@ Common::Error QueenEngine::run() {
_bankMan = new BankManager(_resource);
_command = new Command(this);
_debugger = new Debugger(this);
+ setDebugger(_debugger);
_display = new Display(this, _system);
_graphics = new Graphics(this);
_grid = new Grid(this);
diff --git a/engines/queen/queen.h b/engines/queen/queen.h
index 5f6ad50..a69ef2f 100644
--- a/engines/queen/queen.h
+++ b/engines/queen/queen.h
@@ -120,7 +120,6 @@ protected:
// Engine APIs
Common::Error run() override;
- GUI::Debugger *getDebugger() override;
bool hasFeature(EngineFeature f) const override;
void syncSoundSettings() override;
Commit: 00848cff4c105016b3e57a129bdb99ca8a98d660
https://github.com/scummvm/scummvm/commit/00848cff4c105016b3e57a129bdb99ca8a98d660
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
SAGA: Refactor to use Engine debugger
Changed paths:
engines/saga/input.cpp
engines/saga/saga.cpp
engines/saga/saga.h
diff --git a/engines/saga/input.cpp b/engines/saga/input.cpp
index cf30c5f..ac253b6 100644
--- a/engines/saga/input.cpp
+++ b/engines/saga/input.cpp
@@ -41,21 +41,12 @@ int SagaEngine::processInput() {
while (_eventMan->pollEvent(event)) {
switch (event.type) {
case Common::EVENT_KEYDOWN:
- if (event.kbd.hasFlags(Common::KBD_CTRL)) {
- if (event.kbd.keycode == Common::KEYCODE_d)
- _console->attach();
- }
if (_interface->_textInput || _interface->_statusTextInput) {
_interface->processAscii(event.kbd);
return SUCCESS;
}
switch (event.kbd.keycode) {
- case Common::KEYCODE_HASH:
- case Common::KEYCODE_BACKQUOTE:
- case Common::KEYCODE_TILDE: // tilde ("~")
- _console->attach();
- break;
case Common::KEYCODE_r:
_interface->draw();
break;
diff --git a/engines/saga/saga.cpp b/engines/saga/saga.cpp
index e2fc38d..a16f505 100644
--- a/engines/saga/saga.cpp
+++ b/engines/saga/saga.cpp
@@ -197,7 +197,7 @@ SagaEngine::~SagaEngine() {
delete _gfx;
_gfx = NULL;
- delete _console;
+ //_console is deleted by Engine
_console = NULL;
delete _resource;
@@ -280,6 +280,7 @@ Common::Error SagaEngine::run() {
// Graphics driver should be initialized before console
_console = new Console(this);
+ setDebugger(_console);
// Graphics should be initialized before music
_music = new Music(this, _mixer);
@@ -352,8 +353,6 @@ Common::Error SagaEngine::run() {
uint32 currentTicks;
while (!shouldQuit()) {
- _console->onFrame();
-
if (_render->getFlags() & RF_RENDERPAUSE) {
// Freeze time while paused
_previousTicks = _system->getMillis();
@@ -630,10 +629,6 @@ int SagaEngine::getTalkspeed() const {
return (ConfMan.getInt("talkspeed") * 3 + 255 / 2) / 255;
}
-GUI::Debugger *SagaEngine::getDebugger() {
- return _console;
-}
-
void SagaEngine::syncSoundSettings() {
Engine::syncSoundSettings();
diff --git a/engines/saga/saga.h b/engines/saga/saga.h
index 7fc8de9..ae7497b 100644
--- a/engines/saga/saga.h
+++ b/engines/saga/saga.h
@@ -471,8 +471,6 @@ public:
void syncSoundSettings() override;
void pauseEngineIntern(bool pause) override;
- GUI::Debugger *getDebugger() override;
-
SagaEngine(OSystem *syst, const SAGAGameDescription *gameDesc);
~SagaEngine() override;
Commit: 45cda9db2211dc0a9a585addaa83c207fa684530
https://github.com/scummvm/scummvm/commit/45cda9db2211dc0a9a585addaa83c207fa684530
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
SCUMM: Refactor to use Engine debugger
Changed paths:
engines/scumm/input.cpp
engines/scumm/scumm.cpp
engines/scumm/scumm.h
diff --git a/engines/scumm/input.cpp b/engines/scumm/input.cpp
index 6c6d009..374cf97 100644
--- a/engines/scumm/input.cpp
+++ b/engines/scumm/input.cpp
@@ -120,9 +120,6 @@ void ScummEngine::parseEvent(Common::Event event) {
_fastMode ^= 1;
} else if (event.kbd.hasFlags(Common::KBD_CTRL) && event.kbd.keycode == Common::KEYCODE_g) {
_fastMode ^= 2;
- } else if ((event.kbd.hasFlags(Common::KBD_CTRL) && event.kbd.keycode == Common::KEYCODE_d)
- || event.kbd.ascii == '~' || event.kbd.ascii == '#') {
- _debugger->attach();
} else if (event.kbd.hasFlags(Common::KBD_CTRL) && event.kbd.keycode == Common::KEYCODE_s) {
_res->resourceStats();
} else if (event.kbd.hasFlags(Common::KBD_ALT) && event.kbd.keycode == Common::KEYCODE_x) {
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index e3919ee..c499c8d 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -118,7 +118,6 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr)
_game(dr.game),
_filenamePattern(dr.fp),
_language(dr.language),
- _debugger(0),
_currentScript(0xFF), // Let debug() work on init stage
_messageDialog(0), _pauseDialog(0), _versionDialog(0),
_rnd("scumm")
@@ -659,8 +658,6 @@ ScummEngine::~ScummEngine() {
#endif
#endif
- delete _debugger;
-
delete _res;
delete _gdi;
}
@@ -1324,7 +1321,7 @@ Common::Error ScummEngine::init() {
readIndexFile();
// Create the debugger now that _numVariables has been set
- _debugger = new ScummDebugger(this);
+ setDebugger(new ScummDebugger(this));
resetScumm();
resetScummVars();
@@ -2121,9 +2118,6 @@ Common::Error ScummEngine::go() {
int diff = 0; // Duration of one loop iteration
while (!shouldQuit()) {
-
- _debugger->onFrame();
-
// Randomize the PRNG by calling it at regular intervals. This ensures
// that it will be in a different state each time you run the program.
_rnd.getRandomNumber(2);
@@ -2868,10 +2862,6 @@ char ScummEngine::displayMessage(const char *altButton, const char *message, ...
#pragma mark --- Miscellaneous ---
#pragma mark -
-GUI::Debugger *ScummEngine::getDebugger() {
- return _debugger;
-}
-
void ScummEngine::errorString(const char *buf1, char *buf2, int buf2Size) {
if (_currentScript != 0xFF) {
snprintf(buf2, buf2Size, "(%d:%d:0x%lX): %s", _roomResource,
diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h
index a7bffd9..a4c2bbc 100644
--- a/engines/scumm/scumm.h
+++ b/engines/scumm/scumm.h
@@ -393,7 +393,6 @@ public:
VerbSlot *_verbs;
ObjectData *_objs;
- ScummDebugger *_debugger;
// Core variables
GameSettings _game;
@@ -428,8 +427,8 @@ public:
return err;
return go();
}
+
void errorString(const char *buf_input, char *buf_output, int buf_output_size) override;
- GUI::Debugger *getDebugger() override;
bool hasFeature(EngineFeature f) const override;
void syncSoundSettings() override;
Commit: 9e15215b2d30f4e43cb7abd17f86e05f3f837753
https://github.com/scummvm/scummvm/commit/9e15215b2d30f4e43cb7abd17f86e05f3f837753
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
SHERLOCK: Refactor to use Engine debugger
Changed paths:
engines/sherlock/events.cpp
engines/sherlock/sherlock.cpp
diff --git a/engines/sherlock/events.cpp b/engines/sherlock/events.cpp
index 12ea1db..0598710 100644
--- a/engines/sherlock/events.cpp
+++ b/engines/sherlock/events.cpp
@@ -206,14 +206,7 @@ void Events::pollEvents() {
return;
case Common::EVENT_KEYDOWN:
- // Check for debugger
- if (event.kbd.keycode == Common::KEYCODE_d && (event.kbd.flags & Common::KBD_CTRL)) {
- // Attach to the debugger
- _vm->_debugger->attach();
- _vm->_debugger->onFrame();
- } else {
- _pendingKeys.push(event.kbd);
- }
+ _pendingKeys.push(event.kbd);
return;
case Common::EVENT_KEYUP:
return;
@@ -274,9 +267,6 @@ bool Events::checkForNextFrameCounter() {
++_frameCounter;
_priorFrameTime = milli;
- // Give time to the debugger
- _vm->_debugger->onFrame();
-
// Display the frame
_vm->_screen->update();
diff --git a/engines/sherlock/sherlock.cpp b/engines/sherlock/sherlock.cpp
index fcc092f..ce000d0 100644
--- a/engines/sherlock/sherlock.cpp
+++ b/engines/sherlock/sherlock.cpp
@@ -61,7 +61,7 @@ SherlockEngine::SherlockEngine(OSystem *syst, const SherlockGameDescription *gam
SherlockEngine::~SherlockEngine() {
delete _animation;
- delete _debugger;
+ //_debugger is deleted by Engine
delete _events;
delete _fixedText;
delete _journal;
@@ -95,6 +95,7 @@ void SherlockEngine::initialize() {
_res = new Resources(this);
_animation = new Animation(this);
_debugger = Debugger::init(this);
+ setDebugger(_debugger);
_events = new Events(this);
_fixedText = FixedText::init(this);
_inventory = Inventory::init(this);
Commit: b396e56bd0b8939675b8fd2b829177641c2044fa
https://github.com/scummvm/scummvm/commit/b396e56bd0b8939675b8fd2b829177641c2044fa
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
SKY: Refactor to use Engine debugger
Changed paths:
engines/sky/sky.cpp
engines/sky/sky.h
diff --git a/engines/sky/sky.cpp b/engines/sky/sky.cpp
index 9c134a2..17785c0 100644
--- a/engines/sky/sky.cpp
+++ b/engines/sky/sky.cpp
@@ -81,7 +81,7 @@ SkyEngine::~SkyEngine() {
delete _skyText;
delete _skyMouse;
delete _skyScreen;
- delete _debugger;
+ //_debugger is deleted by Engine
delete _skyDisk;
delete _skyControl;
delete _skyCompact;
@@ -107,10 +107,6 @@ void SkyEngine::syncSoundSettings() {
_skyMusic->setVolume(mute ? 0: ConfMan.getInt("music_volume") >> 1);
}
-GUI::Debugger *SkyEngine::getDebugger() {
- return _debugger;
-}
-
void SkyEngine::initVirgin() {
_skyScreen->setPalette(60111);
_skyScreen->showScreen(60110);
@@ -126,8 +122,6 @@ void SkyEngine::handleKey() {
_fastMode ^= 1;
else if (_keyPressed.keycode == Common::KEYCODE_g)
_fastMode ^= 2;
- else if (_keyPressed.keycode == Common::KEYCODE_d)
- _debugger->attach();
} else if (_keyPressed.keycode) {
switch (_keyPressed.keycode) {
case Common::KEYCODE_BACKQUOTE:
@@ -196,8 +190,6 @@ Common::Error SkyEngine::go() {
uint32 delayCount = _system->getMillis();
while (!shouldQuit()) {
- _debugger->onFrame();
-
if (shouldPerformAutoSave(_lastSaveTime)) {
if (_skyControl->loadSaveAllowed()) {
_lastSaveTime = _system->getMillis();
@@ -353,6 +345,7 @@ Common::Error SkyEngine::init() {
syncSoundSettings();
_debugger = new Debugger(_skyLogic, _skyMouse, _skyScreen, _skyCompact);
+ setDebugger(_debugger);
return Common::kNoError;
}
diff --git a/engines/sky/sky.h b/engines/sky/sky.h
index ab59e78..b802d8c 100644
--- a/engines/sky/sky.h
+++ b/engines/sky/sky.h
@@ -107,7 +107,7 @@ protected:
return err;
return go();
}
- GUI::Debugger *getDebugger() override;
+
bool hasFeature(EngineFeature f) const override;
byte _fastMode;
Commit: b6630049cd6266579cda527924ae5a4773e3072c
https://github.com/scummvm/scummvm/commit/b6630049cd6266579cda527924ae5a4773e3072c
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
SLUDGE: Refactor to use Engine debugger
Changed paths:
engines/sludge/sludge.cpp
engines/sludge/sludge.h
diff --git a/engines/sludge/sludge.cpp b/engines/sludge/sludge.cpp
index 821539d..942c710 100644
--- a/engines/sludge/sludge.cpp
+++ b/engines/sludge/sludge.cpp
@@ -46,7 +46,7 @@ Graphics::PixelFormat *SludgeEngine::getScreenPixelFormat() const { return _pixe
Graphics::PixelFormat *SludgeEngine::getOrigPixelFormat() const { return _origFormat; }
SludgeEngine::SludgeEngine(OSystem *syst, const SludgeGameDescription *gameDesc) :
- Engine(syst), _gameDescription(gameDesc), _console(nullptr) {
+ Engine(syst), _gameDescription(gameDesc) {
// register your random source
_rnd = new Common::RandomSource("sludge");
@@ -98,10 +98,6 @@ SludgeEngine::~SludgeEngine() {
// Remove debug levels
DebugMan.clearAllDebugChannels();
- // Dispose console
- delete _console;
- _console = nullptr;
-
// Dispose pixel formats
delete _origFormat;
_origFormat = nullptr;
@@ -142,7 +138,7 @@ Common::Error SludgeEngine::run() {
g_sludge = this;
// create console
- _console = new SludgeConsole(this);
+ setDebugger(new SludgeConsole(this));
// debug log
main_loop(getGameFile());
diff --git a/engines/sludge/sludge.h b/engines/sludge/sludge.h
index e26fbc6..257bd3a 100644
--- a/engines/sludge/sludge.h
+++ b/engines/sludge/sludge.h
@@ -110,7 +110,6 @@ public:
const SludgeGameDescription *_gameDescription;
private:
- SludgeConsole *_console;
Common::RandomSource *_rnd;
Graphics::PixelFormat *_pixelFormat;
Graphics::PixelFormat *_origFormat;
Commit: bd381ae8d03d068f2be732ff69bd1a6a361391bb
https://github.com/scummvm/scummvm/commit/bd381ae8d03d068f2be732ff69bd1a6a361391bb
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
STARTREK: Refactor to use Engine debugger
Changed paths:
engines/startrek/events.cpp
engines/startrek/graphics.cpp
engines/startrek/startrek.cpp
engines/startrek/startrek.h
diff --git a/engines/startrek/events.cpp b/engines/startrek/events.cpp
index c425b09..650fa06 100644
--- a/engines/startrek/events.cpp
+++ b/engines/startrek/events.cpp
@@ -62,9 +62,6 @@ void StarTrekEngine::pollEvents(bool queueEvents) {
break;
case Common::EVENT_KEYDOWN:
- if (event.kbd.keycode == Common::KEYCODE_d && (event.kbd.flags & Common::KBD_CTRL))
- _console->attach();
-
if (queueEvents) {
trekEvent.type = TREKEVENT_KEYDOWN;
addEventToQueue(trekEvent);
diff --git a/engines/startrek/graphics.cpp b/engines/startrek/graphics.cpp
index 1bef521..8a70908 100644
--- a/engines/startrek/graphics.cpp
+++ b/engines/startrek/graphics.cpp
@@ -594,7 +594,6 @@ void Graphics::updateScreen() {
if (_lockedMousePos.x != -1)
_vm->_system->warpMouse(_lockedMousePos.x, _lockedMousePos.y);
- _vm->_console->onFrame();
_vm->_system->updateScreen();
_vm->_system->delayMillis(10);
}
diff --git a/engines/startrek/startrek.cpp b/engines/startrek/startrek.cpp
index 6a312f3..6dfcbca 100644
--- a/engines/startrek/startrek.cpp
+++ b/engines/startrek/startrek.cpp
@@ -114,7 +114,6 @@ StarTrekEngine::~StarTrekEngine() {
delete _activeMenu->nextMenu;
delete _activeMenu;
- delete _console;
delete _gfx;
delete _sound;
delete _macResFork;
@@ -123,7 +122,7 @@ StarTrekEngine::~StarTrekEngine() {
Common::Error StarTrekEngine::run() {
_gfx = new Graphics(this);
_sound = new Sound(this);
- _console = new Console(this);
+ setDebugger(new Console(this));
if (getPlatform() == Common::kPlatformMacintosh) {
_macResFork = new Common::MacResManager();
diff --git a/engines/startrek/startrek.h b/engines/startrek/startrek.h
index f062050..8b27c07 100644
--- a/engines/startrek/startrek.h
+++ b/engines/startrek/startrek.h
@@ -763,7 +763,6 @@ public:
Graphics *_gfx;
Sound *_sound;
- Console *_console;
IWFile *_iwFile;
private:
Commit: 3da28a4c25dd6e69bc856b6fa78ce261051e76a6
https://github.com/scummvm/scummvm/commit/3da28a4c25dd6e69bc856b6fa78ce261051e76a6
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
SUPERNOVA: Refactor to use Engine debugger
Changed paths:
engines/supernova/game-manager.cpp
engines/supernova/supernova.cpp
engines/supernova/supernova.h
diff --git a/engines/supernova/game-manager.cpp b/engines/supernova/game-manager.cpp
index 8dee92f..9dfa91b 100644
--- a/engines/supernova/game-manager.cpp
+++ b/engines/supernova/game-manager.cpp
@@ -286,10 +286,6 @@ void GameManager::processInput(Common::KeyState &state) {
_vm->quitGame();
}
break;
- case Common::KEYCODE_d:
- if (state.flags & Common::KBD_CTRL)
- _vm->_console->attach();
- break;
default:
break;
}
diff --git a/engines/supernova/supernova.cpp b/engines/supernova/supernova.cpp
index e23251c..3f69d54 100644
--- a/engines/supernova/supernova.cpp
+++ b/engines/supernova/supernova.cpp
@@ -77,7 +77,6 @@ ObjectType &operator^=(ObjectType &a, ObjectType b) {
SupernovaEngine::SupernovaEngine(OSystem *syst)
: Engine(syst)
- , _console(nullptr)
, _gm(nullptr)
, _sound(nullptr)
, _resMan(nullptr)
@@ -107,7 +106,6 @@ SupernovaEngine::~SupernovaEngine() {
DebugMan.clearAllDebugChannels();
delete _sleepAutoSave;
- delete _console;
delete _gm;
delete _sound;
delete _resMan;
@@ -121,7 +119,6 @@ Common::Error SupernovaEngine::run() {
uint32 start = _system->getMillis();
_gm->updateEvents();
_gm->executeRoom();
- _console->onFrame();
_system->updateScreen();
int end = _delay - (_system->getMillis() - start);
if (end > 0)
@@ -151,7 +148,7 @@ void SupernovaEngine::init() {
_gm = new GameManager1(this, _sound);
else if (_MSPart == 2)
_gm = new GameManager2(this, _sound);
- _console = new Console(this, _gm);
+ setDebugger(new Console(this, _gm));
setTotalPlayTime(0);
diff --git a/engines/supernova/supernova.h b/engines/supernova/supernova.h
index 4635b34..84f82b8 100644
--- a/engines/supernova/supernova.h
+++ b/engines/supernova/supernova.h
@@ -73,7 +73,6 @@ public:
void pauseEngineIntern(bool pause) override;
GameManager *_gm;
- Console *_console;
Sound *_sound;
ResourceManager *_resMan;
Screen *_screen;
Commit: 46a1f92ef6d46c371c5ccc7e8cc61f626a14bf4c
https://github.com/scummvm/scummvm/commit/46a1f92ef6d46c371c5ccc7e8cc61f626a14bf4c
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
SWORD1: Refactor to use Engine debugger
Changed paths:
engines/sword1/sword1.cpp
engines/sword1/sword1.h
diff --git a/engines/sword1/sword1.cpp b/engines/sword1/sword1.cpp
index 8b12fef..f76c46b 100644
--- a/engines/sword1/sword1.cpp
+++ b/engines/sword1/sword1.cpp
@@ -65,7 +65,7 @@ SwordEngine::SwordEngine(OSystem *syst)
SearchMan.addSubDirectoryMatching(gameDataDir, "english"); // PSX Demo
SearchMan.addSubDirectoryMatching(gameDataDir, "italian"); // PSX Demo
- _console = new SwordConsole(this);
+ setDebugger(new SwordConsole(this));
_mouseState = 0;
_resMan = 0;
@@ -89,7 +89,6 @@ SwordEngine::~SwordEngine() {
delete _mouse;
delete _objectMan;
delete _resMan;
- delete _console;
}
Common::Error SwordEngine::init() {
@@ -692,12 +691,6 @@ uint8 SwordEngine::mainLoop() {
_screen->fullRefresh();
}
- // Check for Debugger Activation
- if (_keyPressed.hasFlags(Common::KBD_CTRL) && _keyPressed.keycode == Common::KEYCODE_d) {
- this->getDebugger()->attach();
- this->getDebugger()->onFrame();
- }
-
_mouseState = 0;
_keyPressed.reset();
} while ((Logic::_scriptVars[SCREEN] == Logic::_scriptVars[NEW_SCREEN]) && (retCode == 0) && (!shouldQuit()));
diff --git a/engines/sword1/sword1.h b/engines/sword1/sword1.h
index db9f923..c90630a 100644
--- a/engines/sword1/sword1.h
+++ b/engines/sword1/sword1.h
@@ -108,8 +108,6 @@ protected:
bool hasFeature(EngineFeature f) const override;
void syncSoundSettings() override;
- GUI::Debugger *getDebugger() override { return _console; }
-
Common::Error loadGameState(int slot) override;
bool canLoadGameStateCurrently() override;
Common::Error saveGameState(int slot, const Common::String &desc) override;
@@ -125,8 +123,6 @@ private:
void reinitRes(); //Reinits the resources after a GMM load
- SwordConsole *_console;
-
uint8 mainLoop();
Common::Point _mouseCoord;
Commit: 0d0ea44c31f9b3905036f37083d16a6c0964fdce
https://github.com/scummvm/scummvm/commit/0d0ea44c31f9b3905036f37083d16a6c0964fdce
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
SWORD2: Refactor to use Engine debugger
Changed paths:
engines/sword2/sword2.cpp
engines/sword2/sword2.h
diff --git a/engines/sword2/sword2.cpp b/engines/sword2/sword2.cpp
index 0ae106c..fafdddc 100644
--- a/engines/sword2/sword2.cpp
+++ b/engines/sword2/sword2.cpp
@@ -349,7 +349,7 @@ Sword2Engine::Sword2Engine(OSystem *syst) : Engine(syst), _rnd("sword2") {
}
Sword2Engine::~Sword2Engine() {
- delete _debugger;
+ //_debugger is deleted by Engine
delete _sound;
delete _fontRenderer;
delete _screen;
@@ -359,10 +359,6 @@ Sword2Engine::~Sword2Engine() {
delete _memory;
}
-GUI::Debugger *Sword2Engine::getDebugger() {
- return _debugger;
-}
-
void Sword2Engine::registerDefaultSettings() {
ConfMan.registerDefault("gfx_details", 2);
ConfMan.registerDefault("reverse_stereo", false);
@@ -458,6 +454,7 @@ Common::Error Sword2Engine::run() {
// visible to the user.
_debugger = new Debugger(this);
+ setDebugger(_debugger);
_memory = new MemoryManager();
_resman = new ResourceManager(this);
@@ -521,8 +518,6 @@ Common::Error Sword2Engine::run() {
_screen->initializeRenderCycle();
while (1) {
- _debugger->onFrame();
-
// Handle GMM Loading
if (_gmmLoadSlot != -1) {
@@ -546,9 +541,7 @@ Common::Error Sword2Engine::run() {
KeyboardEvent *ke = keyboardEvent();
if (ke) {
- if ((ke->kbd.hasFlags(Common::KBD_CTRL) && ke->kbd.keycode == Common::KEYCODE_d) || ke->kbd.ascii == '#' || ke->kbd.ascii == '~') {
- _debugger->attach();
- } else if (ke->kbd.hasFlags(0) || ke->kbd.hasFlags(Common::KBD_SHIFT)) {
+ if (ke->kbd.hasFlags(0) || ke->kbd.hasFlags(Common::KBD_SHIFT)) {
switch (ke->kbd.keycode) {
case Common::KEYCODE_p:
if (isPaused()) {
diff --git a/engines/sword2/sword2.h b/engines/sword2/sword2.h
index c665320..0d77805 100644
--- a/engines/sword2/sword2.h
+++ b/engines/sword2/sword2.h
@@ -143,7 +143,6 @@ private:
protected:
// Engine APIs
Common::Error run() override;
- GUI::Debugger *getDebugger() override;
bool hasFeature(EngineFeature f) const override;
void syncSoundSettings() override;
void pauseEngineIntern(bool pause) override;
Commit: 7d57569dd7ce4f67888c7ebb850ad75b62eaa7cd
https://github.com/scummvm/scummvm/commit/7d57569dd7ce4f67888c7ebb850ad75b62eaa7cd
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
TEENAGENT: Refactor to use Engine debugger
Changed paths:
engines/teenagent/teenagent.cpp
engines/teenagent/teenagent.h
diff --git a/engines/teenagent/teenagent.cpp b/engines/teenagent/teenagent.cpp
index f70f244..c97902f 100644
--- a/engines/teenagent/teenagent.cpp
+++ b/engines/teenagent/teenagent.cpp
@@ -70,7 +70,6 @@ TeenAgentEngine::TeenAgentEngine(OSystem *system, const ADGameDescription *gd)
dialog = new Dialog(this);
res = new Resources();
- console = 0;
scene = 0;
inventory = 0;
_sceneBusy = false;
@@ -96,7 +95,6 @@ TeenAgentEngine::~TeenAgentEngine() {
CursorMan.popCursor();
- delete console;
DebugMan.clearAllDebugChannels();
}
@@ -545,7 +543,7 @@ Common::Error TeenAgentEngine::run() {
Common::EventManager *_event = _system->getEventManager();
initGraphics(kScreenWidth, kScreenHeight);
- console = new Console(this);
+ setDebugger(new Console(this));
scene = new Scene(this);
inventory = new Inventory(this);
@@ -600,10 +598,7 @@ Common::Error TeenAgentEngine::run() {
debug(5, "event");
switch (event.type) {
case Common::EVENT_KEYDOWN:
- if ((event.kbd.hasFlags(Common::KBD_CTRL) && event.kbd.keycode == Common::KEYCODE_d) ||
- event.kbd.ascii == '~' || event.kbd.ascii == '#') {
- console->attach();
- } else if (event.kbd.hasFlags(0) && event.kbd.keycode == Common::KEYCODE_F5) {
+ if (event.kbd.hasFlags(0) && event.kbd.keycode == Common::KEYCODE_F5) {
openMainMenuDialog();
} if (event.kbd.hasFlags(Common::KBD_CTRL) && event.kbd.keycode == Common::KEYCODE_f) {
_markDelay = _markDelay == 80 ? 40 : 80;
@@ -704,8 +699,6 @@ Common::Error TeenAgentEngine::run() {
_system->updateScreen();
- console->onFrame();
-
uint32 nextTick = MIN(gameTimer, markTimer);
if (nextTick > 0) {
_system->delayMillis(nextTick > 40 ? 40 : nextTick);
diff --git a/engines/teenagent/teenagent.h b/engines/teenagent/teenagent.h
index f42e18d..f0324ab 100644
--- a/engines/teenagent/teenagent.h
+++ b/engines/teenagent/teenagent.h
@@ -93,8 +93,6 @@ public:
bool canSaveGameStateCurrently() override { return !_sceneBusy; }
bool hasFeature(EngineFeature f) const override;
- GUI::Debugger *getDebugger() override { return console; }
-
void init();
enum Action { kActionNone, kActionExamine, kActionUse };
@@ -159,7 +157,6 @@ public:
Inventory *inventory;
MusicPlayer *music;
Dialog *dialog;
- Console *console;
void setMusic(byte id);
Commit: 17dc909e2c1678515fabb5ead1f3c1a5f3f0d2c9
https://github.com/scummvm/scummvm/commit/17dc909e2c1678515fabb5ead1f3c1a5f3f0d2c9
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
TINSEL: Refactor to use Engine debugger
Changed paths:
engines/tinsel/tinsel.cpp
engines/tinsel/tinsel.h
diff --git a/engines/tinsel/tinsel.cpp b/engines/tinsel/tinsel.cpp
index 76a8325..78107ea 100644
--- a/engines/tinsel/tinsel.cpp
+++ b/engines/tinsel/tinsel.cpp
@@ -820,7 +820,7 @@ const char *const TinselEngine::_textFiles[][3] = {
TinselEngine::TinselEngine(OSystem *syst, const TinselGameDescription *gameDesc) :
Engine(syst), _gameDescription(gameDesc), _random("tinsel"),
- _console(0), _sound(0), _midiMusic(0), _pcmMusic(0), _bmv(0) {
+ _sound(0), _midiMusic(0), _pcmMusic(0), _bmv(0) {
// Register debug flags
DebugMan.addDebugChannel(kTinselDebugAnimations, "animations", "Animations debugging");
DebugMan.addDebugChannel(kTinselDebugActions, "actions", "Actions debugging");
@@ -858,7 +858,6 @@ TinselEngine::~TinselEngine() {
delete _sound;
delete _midiMusic;
delete _pcmMusic;
- delete _console;
_screenSurface.free();
FreeSaveScenes();
FreeTextBuffer();
@@ -910,7 +909,7 @@ Common::Error TinselEngine::run() {
_screenSurface.create(320, 200, Graphics::PixelFormat::createFormatCLUT8());
}
- _console = new Console();
+ setDebugger(new Console());
CoroScheduler.reset();
@@ -970,9 +969,6 @@ Common::Error TinselEngine::run() {
// Foreground loop
uint32 timerVal = 0;
while (!shouldQuit()) {
- assert(_console);
- _console->onFrame();
-
// Check for time to do next game cycle
if ((g_system->getMillis() > timerVal + GAME_FRAME_DELAY)) {
timerVal = g_system->getMillis();
@@ -1184,22 +1180,6 @@ void TinselEngine::ChopDrivers() {
* Process a keyboard event
*/
void TinselEngine::ProcessKeyEvent(const Common::Event &event) {
-
- // Handle any special keys immediately
- switch (event.kbd.keycode) {
- case Common::KEYCODE_d:
- // Checks for CTRL flag, ignoring all the sticky flags
- if (event.kbd.hasFlags(Common::KBD_CTRL) && event.type == Common::EVENT_KEYDOWN) {
- // Activate the debugger
- assert(_console);
- _console->attach();
- return;
- }
- break;
- default:
- break;
- }
-
// Check for movement keys
int idx = 0;
switch (event.kbd.keycode) {
diff --git a/engines/tinsel/tinsel.h b/engines/tinsel/tinsel.h
index 01cff3f..1917a8a 100644
--- a/engines/tinsel/tinsel.h
+++ b/engines/tinsel/tinsel.h
@@ -151,8 +151,6 @@ class TinselEngine : public Engine {
Graphics::Surface _screenSurface;
Common::Point _mousePos;
uint8 _dosPlayerDir;
- Console *_console;
- GUI::Debugger *getDebugger() override { return _console; }
static const char *const _sampleIndices[][3];
static const char *const _sampleFiles[][3];
Commit: 7f90c4e961138803a63288f0c0b0f0e0dd48e4e5
https://github.com/scummvm/scummvm/commit/7f90c4e961138803a63288f0c0b0f0e0dd48e4e5
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
TITANIC: Refactor to use Engine debugger
Changed paths:
engines/titanic/events.cpp
engines/titanic/main_game_window.cpp
engines/titanic/titanic.cpp
engines/titanic/titanic.h
diff --git a/engines/titanic/events.cpp b/engines/titanic/events.cpp
index 4cf7e77..2b3f04e 100644
--- a/engines/titanic/events.cpp
+++ b/engines/titanic/events.cpp
@@ -141,9 +141,6 @@ bool Events::checkForNextFrameCounter() {
// Handle any idle updates
eventTarget()->onIdle();
- // Give time to the debugger
- _vm->_debugger->onFrame();
-
// Display the frame
_vm->_screen->update();
diff --git a/engines/titanic/main_game_window.cpp b/engines/titanic/main_game_window.cpp
index ab2c8be7..4f7276e 100644
--- a/engines/titanic/main_game_window.cpp
+++ b/engines/titanic/main_game_window.cpp
@@ -345,12 +345,7 @@ void CMainGameWindow::mouseWheel(const Point &mousePos, bool wheelUp) {
}
void CMainGameWindow::keyDown(Common::KeyState keyState) {
- if (keyState.keycode == Common::KEYCODE_d && (keyState.flags & Common::KBD_CTRL)) {
- // Attach to the debugger
- _vm->_debugger->attach();
- _vm->_debugger->onFrame();
-
- } else if (keyState.keycode == Common::KEYCODE_c && (keyState.flags & Common::KBD_CTRL)) {
+ if (keyState.keycode == Common::KEYCODE_c && (keyState.flags & Common::KBD_CTRL)) {
// Cheat action
if (_project && g_vm->canLoadGameStateCurrently()) {
CViewItem *newView = _project->parseView("Cheat Room.Node 1.Cheat Rooms View");
diff --git a/engines/titanic/titanic.cpp b/engines/titanic/titanic.cpp
index 4bde64c..f11e851 100644
--- a/engines/titanic/titanic.cpp
+++ b/engines/titanic/titanic.cpp
@@ -60,7 +60,6 @@ TitanicEngine::TitanicEngine(OSystem *syst, const TitanicGameDescription *gameDe
: _gameDescription(gameDesc), Engine(syst), _randomSource("Titanic") {
g_vm = this;
g_language = getLanguage();
- _debugger = nullptr;
_events = nullptr;
_filesManager = nullptr;
_window = nullptr;
@@ -93,7 +92,7 @@ bool TitanicEngine::initialize() {
return false;
}
- _debugger = new Debugger(this);
+ setDebugger(new Debugger(this));
CSaveableObject::initClassList();
CEnterExitFirstClassState::init();
@@ -127,7 +126,6 @@ bool TitanicEngine::initialize() {
}
void TitanicEngine::deinitialize() {
- delete _debugger;
delete _events;
delete _window;
delete _screenManager;
diff --git a/engines/titanic/titanic.h b/engines/titanic/titanic.h
index 584bd9b..1dab3e5 100644
--- a/engines/titanic/titanic.h
+++ b/engines/titanic/titanic.h
@@ -73,7 +73,6 @@ class CFilesManager;
class CMainGameWindow;
class CString;
class CTrueTalkManager;
-class Debugger;
class Events;
class OSScreenManager;
class CScriptHandler;
@@ -109,7 +108,6 @@ protected:
Common::Error run() override;
bool hasFeature(EngineFeature f) const override;
public:
- Debugger *_debugger;
Events *_events;
CFilesManager *_filesManager;
CMovieManager _movieManager;
Commit: b97f66ba17ec00a3a226df219d87daa4aa14a703
https://github.com/scummvm/scummvm/commit/b97f66ba17ec00a3a226df219d87daa4aa14a703
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
TOLTECS: Refactor to use Engine debugger
Changed paths:
engines/toltecs/toltecs.cpp
engines/toltecs/toltecs.h
diff --git a/engines/toltecs/toltecs.cpp b/engines/toltecs/toltecs.cpp
index 2eebe91..7d8a622 100644
--- a/engines/toltecs/toltecs.cpp
+++ b/engines/toltecs/toltecs.cpp
@@ -123,7 +123,7 @@ Common::Error ToltecsEngine::run() {
_menuSystem = new MenuSystem(this);
_sound = new Sound(this);
- _console = new Console(this);
+ setDebugger(new Console(this));
_cfgText = ConfMan.getBool("subtitles");
_cfgVoices = !ConfMan.getBool("speech_mute");
@@ -176,7 +176,6 @@ Common::Error ToltecsEngine::run() {
_music->stopSequence();
_sound->stopAll();
- delete _console;
delete _arc;
delete _res;
delete _screen;
@@ -305,7 +304,6 @@ void ToltecsEngine::drawScreen() {
_screen->_guiRefresh = false;
}
- _console->onFrame();
_system->updateScreen();
_system->delayMillis(10);
@@ -322,9 +320,6 @@ void ToltecsEngine::updateInput() {
//debug("key: flags = %02X; keycode = %d", _keyState.flags, _keyState.keycode);
- if (event.kbd.hasFlags(Common::KBD_CTRL) && event.kbd.keycode == Common::KEYCODE_d)
- _console->attach();
-
switch (event.kbd.keycode) {
case Common::KEYCODE_F5:
showMenu(kMenuIdSave);
diff --git a/engines/toltecs/toltecs.h b/engines/toltecs/toltecs.h
index 8a4bc22..aed237a 100644
--- a/engines/toltecs/toltecs.h
+++ b/engines/toltecs/toltecs.h
@@ -112,8 +112,6 @@ public:
const Common::String& getTargetName() const { return _targetName; }
void syncSoundSettings() override;
- GUI::Debugger *getDebugger() override { return _console; }
-
void setupSysStrings();
void requestSavegame(int slotNum, Common::String &description);
void requestLoadgame(int slotNum);
@@ -149,7 +147,6 @@ public:
AnimationPlayer *_anim;
ArchiveReader *_arc;
- Console *_console;
Input *_input;
MenuSystem *_menuSystem;
MoviePlayer *_moviePlayer;
Commit: 5a18e495e09f9b8050b8bc11281c73079c16402e
https://github.com/scummvm/scummvm/commit/5a18e495e09f9b8050b8bc11281c73079c16402e
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
TONY: Refactor to use Engine debugger
Changed paths:
engines/tony/input.cpp
engines/tony/tony.cpp
engines/tony/tony.h
diff --git a/engines/tony/input.cpp b/engines/tony/input.cpp
index 787fb21..9a6f151 100644
--- a/engines/tony/input.cpp
+++ b/engines/tony/input.cpp
@@ -64,15 +64,8 @@ void RMInput::poll() {
return;
case Common::EVENT_KEYDOWN:
- // Check for debugger
- if ((_event.kbd.keycode == Common::KEYCODE_d) && (_event.kbd.flags & Common::KBD_CTRL)) {
- // Attach to the debugger
- g_vm->_debugger->attach();
- g_vm->_debugger->onFrame();
- } else {
- // Flag the given key as being down
- _keyDown.push_back(_event.kbd.keycode);
- }
+ // Flag the given key as being down
+ _keyDown.push_back(_event.kbd.keycode);
return;
case Common::EVENT_KEYUP:
diff --git a/engines/tony/tony.cpp b/engines/tony/tony.cpp
index b3338e7..5bcfd84 100644
--- a/engines/tony/tony.cpp
+++ b/engines/tony/tony.cpp
@@ -44,7 +44,7 @@ TonyEngine::TonyEngine(OSystem *syst, const TonyGameDescription *gameDesc) : Eng
_loadSlotNumber = -1;
// Set the up the debugger
- _debugger = new Debugger();
+ setDebugger(new Debugger());
DebugMan.addDebugChannel(kTonyDebugAnimations, "animations", "Animations debugging");
DebugMan.addDebugChannel(kTonyDebugActions, "actions", "Actions debugging");
DebugMan.addDebugChannel(kTonyDebugSound, "sound", "Sound debugging");
@@ -95,8 +95,6 @@ TonyEngine::~TonyEngine() {
// Reset the coroutine scheduler
CoroScheduler.reset();
CoroScheduler.setResourceCallback(NULL);
-
- delete _debugger;
}
/**
@@ -692,9 +690,6 @@ void TonyEngine::playProcess(CORO_PARAM, const void *param) {
// Paint the frame onto the screen
g_vm->_window.repaint();
-
- // Signal the ScummVM debugger
- g_vm->_debugger->onFrame();
}
CORO_END_CODE;
diff --git a/engines/tony/tony.h b/engines/tony/tony.h
index 54c9bdd..e963c48 100644
--- a/engines/tony/tony.h
+++ b/engines/tony/tony.h
@@ -109,8 +109,6 @@ public:
FPSound _theSound;
Common::List<FPSfx *> _activeSfx;
Globals _globals;
- Debugger *_debugger;
- GUI::Debugger *getDebugger() override { return _debugger; }
int16 _cTableDialog[256];
int16 _lTableDialog[256];
Commit: ed71bef83b8bce9afbff578dfaa35aa78d459f24
https://github.com/scummvm/scummvm/commit/ed71bef83b8bce9afbff578dfaa35aa78d459f24
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
TOON: Refactor to use Engine debugger
Changed paths:
engines/toon/toon.cpp
engines/toon/toon.h
diff --git a/engines/toon/toon.cpp b/engines/toon/toon.cpp
index 0f03536..90f62a2 100644
--- a/engines/toon/toon.cpp
+++ b/engines/toon/toon.cpp
@@ -249,11 +249,6 @@ void ToonEngine::parseInput() {
dialog.runModal();
}
}
-
- if (event.kbd.keycode == Common::KEYCODE_d) {
- _console->attach();
- _console->onFrame();
- }
}
break;
default:
@@ -1215,7 +1210,7 @@ ToonEngine::ToonEngine(OSystem *syst, const ADGameDescription *gameDescription)
_saveBufferStream = NULL;
_pathFinding = NULL;
- _console = new ToonConsole(this);
+ setDebugger(new ToonConsole(this));
_cursorAnimation = NULL;
_cursorAnimationInstance = NULL;
@@ -1378,7 +1373,6 @@ ToonEngine::~ToonEngine() {
unloadToonDat();
DebugMan.clearAllDebugChannels();
- delete _console;
}
void ToonEngine::flushPalette(bool deferFlushToNextRender) {
diff --git a/engines/toon/toon.h b/engines/toon/toon.h
index e6e4923..5a64718 100644
--- a/engines/toon/toon.h
+++ b/engines/toon/toon.h
@@ -110,7 +110,6 @@ public:
char **_specialInfoLine;
Common::Error run() override;
- GUI::Debugger *getDebugger() override { return _console; }
bool showMainmenu(bool &loadedGame);
bool showOptions();
void init();
@@ -437,8 +436,6 @@ protected:
bool _showConversationText;
bool _useAlternativeFont;
bool _needPaletteFlush;
-private:
- ToonConsole *_console;
};
} // End of namespace Toon
Commit: 6b096f3a9fb117334c5374cebe56d35378be09d3
https://github.com/scummvm/scummvm/commit/6b096f3a9fb117334c5374cebe56d35378be09d3
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
TOUCHE: Refactor to use Engine debugger
Changed paths:
engines/touche/touche.cpp
engines/touche/touche.h
diff --git a/engines/touche/touche.cpp b/engines/touche/touche.cpp
index 4bc8822..61fbc49 100644
--- a/engines/touche/touche.cpp
+++ b/engines/touche/touche.cpp
@@ -110,7 +110,7 @@ ToucheEngine::ToucheEngine(OSystem *system, Common::Language language)
DebugMan.addDebugChannel(kDebugMenu, "Menu", "Menu debug level");
DebugMan.addDebugChannel(kDebugCharset, "Charset", "Charset debug level");
- _console = new ToucheConsole(this);
+ setDebugger(new ToucheConsole(this));
_newEpisodeNum = 0;
_currentEpisodeNum = 0;
@@ -192,7 +192,6 @@ ToucheEngine::ToucheEngine(OSystem *system, Common::Language language)
ToucheEngine::~ToucheEngine() {
DebugMan.clearAllDebugChannels();
- delete _console;
stopMusic();
delete _midiPlayer;
@@ -434,9 +433,6 @@ void ToucheEngine::processEvents(bool handleKeyEvents) {
if (event.kbd.hasFlags(Common::KBD_CTRL)) {
if (event.kbd.keycode == Common::KEYCODE_f) {
_fastMode = !_fastMode;
- } else if (event.kbd.keycode == Common::KEYCODE_d) {
- this->getDebugger()->attach();
- this->getDebugger()->onFrame();
}
} else {
if (event.kbd.keycode == Common::KEYCODE_t) {
diff --git a/engines/touche/touche.h b/engines/touche/touche.h
index 0f3d496..dfc34e6 100644
--- a/engines/touche/touche.h
+++ b/engines/touche/touche.h
@@ -475,7 +475,6 @@ public:
Common::Error run() override;
bool hasFeature(EngineFeature f) const override;
void syncSoundSettings() override;
- GUI::Debugger *getDebugger() override { return _console; }
protected:
@@ -610,8 +609,6 @@ protected:
bool canLoadGameStateCurrently() override;
bool canSaveGameStateCurrently() override;
- ToucheConsole *_console;
-
void setupOpcodes();
void op_nop();
void op_jnz();
Commit: 0107aace67aa3f29eaa5ba9be05012dd08c10680
https://github.com/scummvm/scummvm/commit/0107aace67aa3f29eaa5ba9be05012dd08c10680
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
TSAGE: Refactor to use Engine debugger
Changed paths:
engines/tsage/core.cpp
engines/tsage/tsage.cpp
engines/tsage/tsage.h
diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp
index f5cd722..50bc6e7 100644
--- a/engines/tsage/core.cpp
+++ b/engines/tsage/core.cpp
@@ -4351,14 +4351,6 @@ void SceneHandler::process(Event &event) {
g_globals->_events.setCursorFromFlag();
}
- // Check for debugger
- if ((event.eventType == EVENT_KEYPRESS) && (event.kbd.keycode == Common::KEYCODE_d) &&
- (event.kbd.flags & Common::KBD_CTRL)) {
- // Attach to the debugger
- g_vm->_debugger->attach();
- g_vm->_debugger->onFrame();
- }
-
if ((event.eventType == EVENT_KEYPRESS) && g_globals->_player._enabled) {
// Keyboard shortcuts for different actions
switch (event.kbd.keycode) {
@@ -4494,9 +4486,6 @@ void SceneHandler::dispatch() {
// Check to see if any scene change is required
g_globals->_sceneManager.checkScene();
- // Signal the ScummVM debugger
- g_vm->_debugger->onFrame();
-
// Delay between frames
g_globals->_events.delay(_delayTicks);
}
diff --git a/engines/tsage/tsage.cpp b/engines/tsage/tsage.cpp
index 417652d..6de5e2e 100644
--- a/engines/tsage/tsage.cpp
+++ b/engines/tsage/tsage.cpp
@@ -38,18 +38,18 @@ TSageEngine::TSageEngine(OSystem *system, const tSageGameDescription *gameDesc)
_gameDescription(gameDesc) {
g_vm = this;
DebugMan.addDebugChannel(kRingDebugScripts, "scripts", "Scripts debugging");
- _debugger = nullptr;
+
if (g_vm->getGameID() == GType_Ringworld) {
if (g_vm->getFeatures() & GF_DEMO)
- _debugger = new DemoDebugger();
+ setDebugger(new DemoDebugger());
else
- _debugger = new RingworldDebugger();
+ setDebugger(new RingworldDebugger());
} else if (g_vm->getGameID() == GType_BlueForce)
- _debugger = new BlueForceDebugger();
+ setDebugger(new BlueForceDebugger());
else if (g_vm->getGameID() == GType_Ringworld2)
- _debugger = new Ringworld2Debugger();
+ setDebugger(new Ringworld2Debugger());
else if (g_vm->getGameID() == GType_Sherlock1)
- _debugger = new DemoDebugger();
+ setDebugger(new DemoDebugger());
}
Common::Error TSageEngine::init() {
@@ -61,7 +61,6 @@ Common::Error TSageEngine::init() {
TSageEngine::~TSageEngine() {
// Remove all of our debug levels here
DebugMan.clearAllDebugChannels();
- delete _debugger;
}
bool TSageEngine::hasFeature(EngineFeature f) const {
diff --git a/engines/tsage/tsage.h b/engines/tsage/tsage.h
index f3c98f8..57e00ea 100644
--- a/engines/tsage/tsage.h
+++ b/engines/tsage/tsage.h
@@ -68,8 +68,6 @@ public:
bool hasFeature(EngineFeature f) const override;
MemoryManager _memoryManager;
- Debugger *_debugger;
- GUI::Debugger *getDebugger() override { return _debugger; }
const char *getGameId() const;
uint32 getGameID() const;
Commit: 85b469ff5dc81c97e9b4570ff469ba508484ecd7
https://github.com/scummvm/scummvm/commit/85b469ff5dc81c97e9b4570ff469ba508484ecd7
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
TUCKER: Refactor to use Engine debugger
Changed paths:
engines/tucker/tucker.cpp
engines/tucker/tucker.h
diff --git a/engines/tucker/tucker.cpp b/engines/tucker/tucker.cpp
index 29ce41c..c4725d1 100644
--- a/engines/tucker/tucker.cpp
+++ b/engines/tucker/tucker.cpp
@@ -43,7 +43,7 @@ namespace Tucker {
TuckerEngine::TuckerEngine(OSystem *system, Common::Language language, uint32 flags)
: Engine(system), _gameLang(language), _gameFlags(flags), _rnd("tucker") {
- _console = new TuckerConsole(this);
+ setDebugger(new TuckerConsole(this));
resetVariables();
@@ -75,7 +75,6 @@ TuckerEngine::TuckerEngine(OSystem *system, Common::Language language, uint32 fl
}
TuckerEngine::~TuckerEngine() {
- delete _console;
}
bool TuckerEngine::hasFeature(EngineFeature f) const {
@@ -680,12 +679,6 @@ void TuckerEngine::parseEvents() {
_inputKeys[kInputKeyEscape] = true;
_inputKeys[kInputKeySkipSpeech] = true;
break;
- case Common::KEYCODE_d:
- if (ev.kbd.hasFlags(Common::KBD_CTRL)) {
- this->getDebugger()->attach();
- this->getDebugger()->onFrame();
- }
- break;
default:
break;
}
diff --git a/engines/tucker/tucker.h b/engines/tucker/tucker.h
index 9532449..34a4f93 100644
--- a/engines/tucker/tucker.h
+++ b/engines/tucker/tucker.h
@@ -450,7 +450,6 @@ public:
Common::Error run() override;
bool hasFeature(EngineFeature f) const override;
- GUI::Debugger *getDebugger() override { return _console; }
WARN_UNUSED_RESULT static SavegameError readSavegameHeader(Common::InSaveFile *file, SavegameHeader &header, bool skipThumbnail = true);
WARN_UNUSED_RESULT static SavegameError readSavegameHeader(const char *target, int slot, SavegameHeader &header);
@@ -753,8 +752,6 @@ protected:
bool canSaveGameStateCurrently() override;
virtual bool existsSavegame();
- TuckerConsole *_console;
-
void handleIntroSequence();
void handleCreditsSequence();
void handleCongratulationsSequence();
Commit: c811d4c658cc6c40b090292845acb848d62f73de
https://github.com/scummvm/scummvm/commit/c811d4c658cc6c40b090292845acb848d62f73de
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
ULTIMA: Refactor to use Engine debugger
Changed paths:
engines/ultima/nuvie/nuvie.cpp
engines/ultima/nuvie/nuvie.h
engines/ultima/shared/early/ultima_early.cpp
engines/ultima/shared/early/ultima_early.h
engines/ultima/shared/engine/events.cpp
engines/ultima/shared/engine/events.h
engines/ultima/shared/engine/ultima.cpp
engines/ultima/shared/engine/ultima.h
engines/ultima/ultima8/ultima8.cpp
engines/ultima/ultima8/ultima8.h
diff --git a/engines/ultima/nuvie/nuvie.cpp b/engines/ultima/nuvie/nuvie.cpp
index 876ea07..39597f2 100644
--- a/engines/ultima/nuvie/nuvie.cpp
+++ b/engines/ultima/nuvie/nuvie.cpp
@@ -49,7 +49,7 @@ NuvieEngine *g_engine;
NuvieEngine::NuvieEngine(OSystem *syst, const Ultima::UltimaGameDescription *gameDesc) :
Ultima::Shared::UltimaEngine(syst, gameDesc), _config(nullptr), _savegame(nullptr),
- _screen(nullptr), _script(nullptr), _game(nullptr), _debugger(nullptr) {
+ _screen(nullptr), _script(nullptr), _game(nullptr) {
g_engine = this;
}
@@ -60,7 +60,6 @@ NuvieEngine::~NuvieEngine() {
delete _screen;
delete _script;
delete _game;
- delete _debugger;
g_engine = nullptr;
}
@@ -108,7 +107,7 @@ bool NuvieEngine::initialize() {
_savegame = new SaveGame(_config);
// Setup debugger
- _debugger = new Debugger();
+ setDebugger(new Debugger());
// Setup screen
_screen = new Screen(_config);
diff --git a/engines/ultima/nuvie/nuvie.h b/engines/ultima/nuvie/nuvie.h
index 42f2ada..d99432a 100644
--- a/engines/ultima/nuvie/nuvie.h
+++ b/engines/ultima/nuvie/nuvie.h
@@ -46,7 +46,6 @@ private:
Script *_script;
Game *_game;
SaveGame *_savegame;
- ::GUI::Debugger *_debugger;
private:
void initConfig();
void assignGameConfigValues(uint8 game_type);
@@ -100,10 +99,6 @@ public:
*/
Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave) override;
- ::GUI::Debugger *getDebugger() override {
- return _debugger;
- }
-
/**
* Either starts the most recently saved game, or falls back on starting a new game
*/
diff --git a/engines/ultima/shared/early/ultima_early.cpp b/engines/ultima/shared/early/ultima_early.cpp
index ac40d29..235ab9f 100644
--- a/engines/ultima/shared/early/ultima_early.cpp
+++ b/engines/ultima/shared/early/ultima_early.cpp
@@ -51,7 +51,6 @@ UltimaEarlyEngine::UltimaEarlyEngine(OSystem *syst, const UltimaGameDescription
}
UltimaEarlyEngine::~UltimaEarlyEngine() {
- delete _debugger;
delete _events;
delete _game;
delete _mouseCursor;
@@ -70,7 +69,7 @@ bool UltimaEarlyEngine::initialize() {
}
SearchMan.add("ultima", res);
- _debugger = new Debugger();
+ setDebugger(new Debugger());
_events = new EventsManager(this);
_screen = new Gfx::Screen();
diff --git a/engines/ultima/shared/early/ultima_early.h b/engines/ultima/shared/early/ultima_early.h
index 239cf27..1a27a53 100644
--- a/engines/ultima/shared/early/ultima_early.h
+++ b/engines/ultima/shared/early/ultima_early.h
@@ -131,8 +131,6 @@ public:
* Creates a new hierarchy for the game, that contains all the logic for playing that particular game.
*/
Game *createGame() const;
-
- GUI::Debugger *getDebugger() override { return nullptr; }
};
} // End of namespace Shared
diff --git a/engines/ultima/shared/engine/events.cpp b/engines/ultima/shared/engine/events.cpp
index 32b19b2..9a6816b 100644
--- a/engines/ultima/shared/engine/events.cpp
+++ b/engines/ultima/shared/engine/events.cpp
@@ -78,16 +78,6 @@ bool EventsManager::pollEvent(Common::Event &event) {
switch (event.type) {
case Common::EVENT_KEYDOWN: {
handleKbdSpecial(event.kbd);
-
- // Check for debugger
- GUI::Debugger *debugger = _callback->getDebugger();
- if (debugger != nullptr && event.kbd.keycode == Common::KEYCODE_d
- && (event.kbd.flags & Common::KBD_CTRL)) {
- // Attach to the debugger
- debugger->attach();
- debugger->onFrame();
- return false;
- }
break;
}
case Common::EVENT_KEYUP:
@@ -167,11 +157,6 @@ void EventsManager::nextFrame() {
if (!_eventTargets.empty())
eventTarget()->onIdle();
- // Handle debugger updates
- GUI::Debugger *debugger = _callback->getDebugger();
- if (debugger)
- debugger->onFrame();
-
// Render anything pending for the screen
Graphics::Screen *screen = _callback->getScreen();
if (screen)
diff --git a/engines/ultima/shared/engine/events.h b/engines/ultima/shared/engine/events.h
index 590ab2a..f08fcbb 100644
--- a/engines/ultima/shared/engine/events.h
+++ b/engines/ultima/shared/engine/events.h
@@ -135,11 +135,6 @@ public:
virtual bool autoSaveCheck(int lastSaveTime) = 0;
/**
- * Get the debugger
- */
- virtual GUI::Debugger *getDebugger() = 0;
-
- /**
* Get the screen
*/
virtual Graphics::Screen *getScreen() const {
diff --git a/engines/ultima/shared/engine/ultima.cpp b/engines/ultima/shared/engine/ultima.cpp
index ce6b55a..e866876 100644
--- a/engines/ultima/shared/engine/ultima.cpp
+++ b/engines/ultima/shared/engine/ultima.cpp
@@ -36,7 +36,7 @@ UltimaEngine * g_ultima;
UltimaEngine::UltimaEngine(OSystem *syst, const Ultima::UltimaGameDescription *gameDesc) :
Engine(syst), _gameDescription(gameDesc), _randomSource("Ultima"),
- _dataArchive(nullptr), _debugger(nullptr), _events(nullptr) {
+ _dataArchive(nullptr), _events(nullptr) {
g_ultima = this;
}
diff --git a/engines/ultima/shared/engine/ultima.h b/engines/ultima/shared/engine/ultima.h
index 72c574b..4b985b6 100644
--- a/engines/ultima/shared/engine/ultima.h
+++ b/engines/ultima/shared/engine/ultima.h
@@ -44,7 +44,6 @@ private:
protected:
const UltimaGameDescription *_gameDescription;
Common::Archive *_dataArchive;
- Debugger *_debugger;
protected:
/**
* Initializes needed data for the engine
@@ -138,13 +137,6 @@ public:
bool autoSaveCheck(int lastSaveTime) override;
/**
- * Return the debugger
- */
- GUI::Debugger *getDebugger() override {
- return _debugger;
- }
-
- /**
* Returns a file system node for the game directory
*/
Common::FSNode getGameDirectory() const;
diff --git a/engines/ultima/ultima8/ultima8.cpp b/engines/ultima/ultima8/ultima8.cpp
index 5ff49df..b91c760 100644
--- a/engines/ultima/ultima8/ultima8.cpp
+++ b/engines/ultima/ultima8/ultima8.cpp
@@ -127,9 +127,9 @@ DEFINE_RUNTIME_CLASSTYPE_CODE(Ultima8Engine, CoreApp)
Ultima8Engine::Ultima8Engine(OSystem *syst, const Ultima::UltimaGameDescription *gameDesc) :
Shared::UltimaEngine(syst, gameDesc), CoreApp(gameDesc), _saveCount(0), _game(0),
- _kernel(0), _objectManager(0), _debugger(0), _hidManager(0), _mouse(0), _ucMachine(0),
- _screen(0), _fontManager(0), _fullScreen(false), _paletteManager(0), _gameData(0),
- _world(0), _desktopGump(0), _consoleGump(0), _gameMapGump(0), _avatarMoverProcess(0),
+ _kernel(0), _objectManager(0), _hidManager(0), _mouse(0), _ucMachine(0), _screen(0),
+ _fontManager(0), _fullScreen(false), _paletteManager(0), _gameData(0), _world(0),
+ _desktopGump(0), _consoleGump(0), _gameMapGump(0), _avatarMoverProcess(0),
_frameSkip(false), _frameLimit(true), _interpolate(true), _animationRate(100),
_avatarInStasis(false), _paintEditorItems(false), _inversion(0), _painting(false),
_showTouching(false), _timeOffset(0), _hasCheated(false), _cheatsEnabled(false),
@@ -157,7 +157,6 @@ Ultima8Engine::~Ultima8Engine() {
FORGET_OBJECT(_fontManager);
FORGET_OBJECT(_screen);
FORGET_OBJECT(_memoryManager);
- FORGET_OBJECT(_debugger);
}
Common::Error Ultima8Engine::run() {
@@ -344,7 +343,7 @@ void Ultima8Engine::startup() {
_kernel = new Kernel();
_memoryManager = new MemoryManager();
- _debugger = new Debugger();
+ setDebugger(new Debugger());
//!! move this elsewhere
_kernel->addProcessLoader("DelayProcess",
@@ -2029,10 +2028,6 @@ bool Ultima8Engine::isDataRequired(Common::String &folder, int &majorVersion, in
return true;
}
-GUI::Debugger *Ultima8Engine::getDebugger() {
- return _debugger;
-}
-
Graphics::Screen *Ultima8Engine::getScreen() const {
Graphics::Screen *scr = dynamic_cast<Graphics::Screen *>(_screen->getRawSurface());
assert(scr);
diff --git a/engines/ultima/ultima8/ultima8.h b/engines/ultima/ultima8/ultima8.h
index fd0c8ae..6f7dff4 100644
--- a/engines/ultima/ultima8/ultima8.h
+++ b/engines/ultima/ultima8/ultima8.h
@@ -93,7 +93,6 @@ private:
Kernel *_kernel;
MemoryManager *_memoryManager;
ObjectManager *_objectManager;
- GUI::Debugger *_debugger;
HIDManager *_hidManager;
UCMachine *_ucMachine;
RenderSurface *_screen;
@@ -241,7 +240,6 @@ public:
return _screen;
}
- GUI::Debugger *getDebugger() override;
Graphics::Screen *getScreen() const override;
void runGame() override;
Commit: 11dd04aa6b4a20a5ce577111900c859d2283042f
https://github.com/scummvm/scummvm/commit/11dd04aa6b4a20a5ce577111900c859d2283042f
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
VOYEUR: Refactor to use Engine debugger
Changed paths:
engines/voyeur/events.cpp
engines/voyeur/voyeur.cpp
diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp
index ae7e300..941c3f3 100644
--- a/engines/voyeur/events.cpp
+++ b/engines/voyeur/events.cpp
@@ -150,18 +150,12 @@ void EventsManager::checkForNextFrameCounter() {
if ((_gameCounter % GAME_FRAME_RATE) == 0)
mainVoyeurIntFunc();
- // Give time to the debugger
- _vm->_debugger->onFrame();
-
// If mouse position display is on, display the position
if (_vm->_debugger->_showMousePosition)
showMousePosition();
// Display the frame
_vm->_screen->update();
-
- // Signal the ScummVM debugger
- _vm->_debugger->onFrame();
}
}
@@ -254,12 +248,6 @@ void EventsManager::pollEvents() {
return;
case Common::EVENT_KEYDOWN:
- // Check for debugger
- if (event.kbd.keycode == Common::KEYCODE_d && (event.kbd.flags & Common::KBD_CTRL)) {
- // Attach to the debugger
- _vm->_debugger->attach();
- _vm->_debugger->onFrame();
- }
return;
case Common::EVENT_LBUTTONDOWN:
_newLeftClick = true;
diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp
index b7769c1..1b2837d 100644
--- a/engines/voyeur/voyeur.cpp
+++ b/engines/voyeur/voyeur.cpp
@@ -84,7 +84,7 @@ VoyeurEngine::~VoyeurEngine() {
delete _screen;
delete _filesManager;
delete _eventsManager;
- delete _debugger;
+ //_debugger is deleted by Engine
}
Common::Error VoyeurEngine::run() {
@@ -120,6 +120,7 @@ void VoyeurEngine::ESP_Init() {
void VoyeurEngine::globalInitBolt() {
_debugger = new Debugger(this);
+ setDebugger(_debugger);
_eventsManager = new EventsManager(this);
_filesManager = new FilesManager(this);
_screen = new Screen(this);
Commit: 813226095a8c33c63231b3a073a37e2943119050
https://github.com/scummvm/scummvm/commit/813226095a8c33c63231b3a073a37e2943119050
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
WAGE: Refactor to use Engine debugger
Changed paths:
engines/wage/wage.cpp
engines/wage/wage.h
diff --git a/engines/wage/wage.cpp b/engines/wage/wage.cpp
index 9a32b12..a3d33d0 100644
--- a/engines/wage/wage.cpp
+++ b/engines/wage/wage.cpp
@@ -83,11 +83,9 @@ WageEngine::WageEngine(OSystem *syst, const ADGameDescription *desc) : Engine(sy
_gui = NULL;
_world = NULL;
- _console = NULL;
_offer = NULL;
_resManager = NULL;
- _debugger = NULL;
debug("WageEngine::WageEngine()");
}
@@ -100,7 +98,6 @@ WageEngine::~WageEngine() {
delete _resManager;
delete _gui;
delete _rnd;
- delete _console;
}
Common::Error WageEngine::run() {
@@ -108,10 +105,7 @@ Common::Error WageEngine::run() {
initGraphics(512, 342);
- // Create debugger console. It requires GFX to be initialized
- _console = new Console(this);
-
- _debugger = new Debugger(this);
+ setDebugger(new Debugger(this));
// Your main event loop should be (invoked from) here.
_resManager = new Common::MacResManager();
@@ -143,8 +137,6 @@ Common::Error WageEngine::run() {
_temporarilyHidden = false;
while (!_shouldQuit) {
- _debugger->onFrame();
-
processEvents();
_gui->draw();
@@ -185,11 +177,6 @@ void WageEngine::processEvents() {
break;
}
default:
- if (event.kbd.ascii == '~') {
- _debugger->attach();
- break;
- }
-
break;
}
break;
diff --git a/engines/wage/wage.h b/engines/wage/wage.h
index 0ab2f3d..acf390a 100644
--- a/engines/wage/wage.h
+++ b/engines/wage/wage.h
@@ -177,8 +177,6 @@ public:
public:
Common::RandomSource *_rnd;
- Debugger *_debugger;
-
Gui *_gui;
World *_world;
@@ -227,13 +225,7 @@ private:
int loadGame(int slotId);
Common::String getSavegameFilename(int16 slotId) const;
-public:
-
- GUI::Debugger *getDebugger() override { return _debugger; }
-
private:
- Console *_console;
-
const ADGameDescription *_gameDescription;
Common::MacResManager *_resManager;
@@ -241,13 +233,6 @@ private:
Audio::SoundHandle _soundHandle;
};
-// Example console class
-class Console : public GUI::Debugger {
-public:
- Console(WageEngine *vm) {}
- ~Console(void) override {}
-};
-
} // End of namespace Wage
#endif
Commit: 848cb075f37805e29ac10141c792d500f49f3649
https://github.com/scummvm/scummvm/commit/848cb075f37805e29ac10141c792d500f49f3649
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
WINTERMUTE: Refactor to use Engine debugger
Changed paths:
engines/wintermute/platform_osystem.cpp
engines/wintermute/wintermute.cpp
engines/wintermute/wintermute.h
diff --git a/engines/wintermute/platform_osystem.cpp b/engines/wintermute/platform_osystem.cpp
index 119ea74..4a0d5ee 100644
--- a/engines/wintermute/platform_osystem.cpp
+++ b/engines/wintermute/platform_osystem.cpp
@@ -94,11 +94,6 @@ void BasePlatform::handleEvent(Common::Event *event) {
}
break;
case Common::EVENT_KEYDOWN:
- if (event->kbd.flags & Common::KBD_CTRL) {
- if (event->kbd.keycode == Common::KEYCODE_d) {
- _engineRef->trigDebugger();
- }
- }
if (_gameRef) {
_gameRef->handleKeypress(event);
}
diff --git a/engines/wintermute/wintermute.cpp b/engines/wintermute/wintermute.cpp
index d048c17..1f02199 100644
--- a/engines/wintermute/wintermute.cpp
+++ b/engines/wintermute/wintermute.cpp
@@ -55,7 +55,6 @@ WintermuteEngine::WintermuteEngine() : Engine(g_system) {
_game = new AdGame("");
_debugger = nullptr;
_dbgController = nullptr;
- _trigDebug = false;
_gameDescription = nullptr;
}
@@ -83,14 +82,13 @@ WintermuteEngine::WintermuteEngine(OSystem *syst, const WMEGameDescription *desc
_game = nullptr;
_debugger = nullptr;
_dbgController = nullptr;
- _trigDebug = false;
}
WintermuteEngine::~WintermuteEngine() {
// Dispose your resources here
deinit();
delete _game;
- delete _debugger;
+ //_debugger deleted by Engine
// Remove all of our debug levels here
DebugMan.clearAllDebugChannels();
@@ -129,6 +127,7 @@ Common::Error WintermuteEngine::run() {
// Create debugger console. It requires GFX to be initialized
_dbgController = new DebuggerController(this);
_debugger = new Console(this);
+ setDebugger(_debugger);
// DebugMan.enableDebugChannel("enginelog");
debugC(1, kWintermuteDebugLog, "Engine Debug-LOG enabled");
@@ -271,18 +270,12 @@ int WintermuteEngine::messageLoop() {
if (!_game) {
break;
}
- _debugger->onFrame();
Common::Event event;
while (_system->getEventManager()->pollEvent(event)) {
BasePlatform::handleEvent(&event);
}
- if (_trigDebug) {
- _debugger->attach();
- _trigDebug = false;
- }
-
if (_game && _game->_renderer->_active && _game->_renderer->isReady()) {
_game->displayContent();
_game->displayQuickMsg();
diff --git a/engines/wintermute/wintermute.h b/engines/wintermute/wintermute.h
index 4d0a4f3..9799cc5 100644
--- a/engines/wintermute/wintermute.h
+++ b/engines/wintermute/wintermute.h
@@ -59,7 +59,6 @@ public:
~WintermuteEngine() override;
virtual Wintermute::Console *getConsole() { return _debugger; }
- void trigDebugger() { _trigDebug = true; }
Common::Error run() override;
bool hasFeature(EngineFeature f) const override;
@@ -71,7 +70,6 @@ public:
// For detection-purposes:
static bool getGameInfo(const Common::FSList &fslist, Common::String &name, Common::String &caption);
private:
- bool _trigDebug;
int init();
void deinit();
int messageLoop();
Commit: 528d62930ad2553b8e2391c3d6aa16119c748df6
https://github.com/scummvm/scummvm/commit/528d62930ad2553b8e2391c3d6aa16119c748df6
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
XEEN: Refactor to use Engine debugger
Changed paths:
engines/xeen/debugger.cpp
engines/xeen/debugger.h
engines/xeen/events.cpp
engines/xeen/xeen.cpp
diff --git a/engines/xeen/debugger.cpp b/engines/xeen/debugger.cpp
index 7d8f170..b73ad77 100644
--- a/engines/xeen/debugger.cpp
+++ b/engines/xeen/debugger.cpp
@@ -59,7 +59,7 @@ Debugger::Debugger(XeenEngine *vm) : GUI::Debugger(), _vm(vm),
registerCmd("intangible", WRAP_METHOD(Debugger, cmdIntangible));
}
-void Debugger::update() {
+void Debugger::onFrame() {
Party &party = *_vm->_party;
Spells &spells = *_vm->_spells;
@@ -72,7 +72,7 @@ void Debugger::update() {
spells.castSpell(c, spellId);
}
- onFrame();
+ GUI::Debugger::onFrame();
}
bool Debugger::cmdSpell(int argc, const char **argv) {
diff --git a/engines/xeen/debugger.h b/engines/xeen/debugger.h
index 48eb8f3..4b870f6 100644
--- a/engines/xeen/debugger.h
+++ b/engines/xeen/debugger.h
@@ -92,9 +92,9 @@ public:
Debugger(XeenEngine *vm);
/**
- * Updates the debugger window if active
+ * Updates the debugger
*/
- void update();
+ virtual void onFrame() override;
};
} // End of namespace Xeen
diff --git a/engines/xeen/events.cpp b/engines/xeen/events.cpp
index 5243de6..090c6e0 100644
--- a/engines/xeen/events.cpp
+++ b/engines/xeen/events.cpp
@@ -89,14 +89,7 @@ void EventsManager::pollEvents() {
case Common::EVENT_RTL:
return;
case Common::EVENT_KEYDOWN:
- // Check for debugger
- if (event.kbd.keycode == Common::KEYCODE_d && (event.kbd.flags & Common::KBD_CTRL)) {
- // Attach to the debugger
- _vm->_debugger->attach();
- _vm->_debugger->onFrame();
- } else {
- addEvent(event.kbd);
- }
+ addEvent(event.kbd);
break;
case Common::EVENT_MOUSEMOVE:
_mousePos = event.mouse;
@@ -215,9 +208,6 @@ void EventsManager::nextFrame() {
++_frameCounter;
++_playTime;
- // Allow debugger to update
- _vm->_debugger->update();
-
// Update the screen
_vm->_screen->update();
}
diff --git a/engines/xeen/xeen.cpp b/engines/xeen/xeen.cpp
index 5f72623..fd0a041 100644
--- a/engines/xeen/xeen.cpp
+++ b/engines/xeen/xeen.cpp
@@ -70,7 +70,7 @@ XeenEngine::XeenEngine(OSystem *syst, const XeenGameDescription *gameDesc)
XeenEngine::~XeenEngine() {
delete _combat;
- delete _debugger;
+ //_debugger is deleted by Engine
delete _events;
delete _interface;
delete _locations;
@@ -97,6 +97,7 @@ bool XeenEngine::initialize() {
_resources = new Resources();
_combat = new Combat(this);
_debugger = new Debugger(this);
+ setDebugger(_debugger);
_events = new EventsManager(this);
_interface = new Interface(this);
_locations = new LocationManager();
Commit: c44a028ae7733deb62034b8370006ea459383a34
https://github.com/scummvm/scummvm/commit/c44a028ae7733deb62034b8370006ea459383a34
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
ZVISION: Refactor to use Engine debugger
Changed paths:
engines/zvision/core/events.cpp
engines/zvision/zvision.cpp
engines/zvision/zvision.h
diff --git a/engines/zvision/core/events.cpp b/engines/zvision/core/events.cpp
index f1922c6..4ef551a 100644
--- a/engines/zvision/core/events.cpp
+++ b/engines/zvision/core/events.cpp
@@ -224,14 +224,6 @@ void ZVision::processEvents() {
case Common::EVENT_KEYDOWN: {
switch (_event.kbd.keycode) {
- case Common::KEYCODE_d:
- if (_event.kbd.hasFlags(Common::KBD_CTRL)) {
- // Start the debugger
- _console->attach();
- _console->onFrame();
- }
- break;
-
case Common::KEYCODE_LEFT:
case Common::KEYCODE_RIGHT:
if (_renderManager->getRenderTable()->getRenderState() == RenderTable::PANORAMA)
diff --git a/engines/zvision/zvision.cpp b/engines/zvision/zvision.cpp
index 41b2297..c3dd189 100644
--- a/engines/zvision/zvision.cpp
+++ b/engines/zvision/zvision.cpp
@@ -90,7 +90,6 @@ ZVision::ZVision(OSystem *syst, const ZVisionGameDescription *gameDesc)
_cursorManager(nullptr),
_midiManager(nullptr),
_rnd(nullptr),
- _console(nullptr),
_menu(nullptr),
_searchManager(nullptr),
_textRenderer(nullptr),
@@ -112,7 +111,6 @@ ZVision::~ZVision() {
debug(1, "ZVision::~ZVision");
// Dispose of resources
- delete _console;
delete _cursorManager;
delete _stringManager;
delete _saveManager;
@@ -234,7 +232,7 @@ void ZVision::initialize() {
#endif
// Create debugger console. It requires GFX to be initialized
- _console = new Console(this);
+ setDebugger(new Console(this));
_doubleFPS = ConfMan.getBool("doublefps");
// Initialize FPS timer callback
@@ -382,10 +380,6 @@ bool ZVision::canRender() {
return _frameRenderDelay <= 0;
}
-GUI::Debugger *ZVision::getDebugger() {
- return _console;
-}
-
void ZVision::syncSoundSettings() {
Engine::syncSoundSettings();
diff --git a/engines/zvision/zvision.h b/engines/zvision/zvision.h
index 46192b9..b098670 100644
--- a/engines/zvision/zvision.h
+++ b/engines/zvision/zvision.h
@@ -112,7 +112,6 @@ public:
const Graphics::PixelFormat _screenPixelFormat;
private:
- Console *_console;
const ZVisionGameDescription *_gameDescription;
const int _desiredFrameTime;
@@ -231,7 +230,6 @@ public:
return _fps;
}
- GUI::Debugger *getDebugger() override;
void syncSoundSettings() override;
void loadSettings();
Commit: 03ca59c17d4d5aa54ceb319d4d520eadac0ea310
https://github.com/scummvm/scummvm/commit/03ca59c17d4d5aa54ceb319d4d520eadac0ea310
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
MOHAWK: Refactor to use Engine debugger
Changed paths:
engines/mohawk/cstime.cpp
engines/mohawk/cstime.h
engines/mohawk/livingbooks.cpp
engines/mohawk/livingbooks.h
engines/mohawk/myst.cpp
engines/mohawk/myst.h
engines/mohawk/riven.cpp
engines/mohawk/riven.h
diff --git a/engines/mohawk/cstime.cpp b/engines/mohawk/cstime.cpp
index 89044eb..9b05f7a 100644
--- a/engines/mohawk/cstime.cpp
+++ b/engines/mohawk/cstime.cpp
@@ -52,7 +52,6 @@ MohawkEngine_CSTime::MohawkEngine_CSTime(OSystem *syst, const MohawkGameDescript
reset();
- _console = 0;
_gfx = 0;
_video = 0;
_sound = 0;
@@ -67,7 +66,6 @@ MohawkEngine_CSTime::MohawkEngine_CSTime(OSystem *syst, const MohawkGameDescript
MohawkEngine_CSTime::~MohawkEngine_CSTime() {
delete _interface;
delete _view;
- delete _console;
delete _sound;
delete _video;
delete _gfx;
@@ -81,7 +79,7 @@ Common::Error MohawkEngine_CSTime::run() {
return Common::kAudioDeviceInitFailed;
}
- _console = new CSTimeConsole(this);
+ setDebugger(new CSTimeConsole(this));
_gfx = new CSTimeGraphics(this);
_video = new VideoManager(this);
_sound = new Sound(this);
@@ -156,13 +154,6 @@ void MohawkEngine_CSTime::update() {
case Common::EVENT_KEYDOWN:
switch (event.kbd.keycode) {
- case Common::KEYCODE_d:
- if (event.kbd.flags & Common::KBD_CTRL) {
- _console->attach();
- _console->onFrame();
- }
- break;
-
case Common::KEYCODE_SPACE:
pauseGame();
break;
diff --git a/engines/mohawk/cstime.h b/engines/mohawk/cstime.h
index 8a3ef7d..d4167ec 100644
--- a/engines/mohawk/cstime.h
+++ b/engines/mohawk/cstime.h
@@ -142,7 +142,6 @@ public:
CSTimeGraphics *_gfx;
bool _needsUpdate;
- GUI::Debugger *getDebugger() override { return _console; }
CSTimeView *getView() { return _view; }
CSTimeCase *getCase() { return _case; }
CSTimeInterface *getInterface() { return _interface; }
@@ -163,7 +162,6 @@ public:
private:
CSTimeCase *_case;
- CSTimeConsole *_console;
CSTimeInterface *_interface;
CSTimeView *_view;
diff --git a/engines/mohawk/livingbooks.cpp b/engines/mohawk/livingbooks.cpp
index b159bbe..f48daf0 100644
--- a/engines/mohawk/livingbooks.cpp
+++ b/engines/mohawk/livingbooks.cpp
@@ -159,7 +159,6 @@ MohawkEngine_LivingBooks::MohawkEngine_LivingBooks(OSystem *syst, const MohawkGa
MohawkEngine_LivingBooks::~MohawkEngine_LivingBooks() {
destroyPage();
- delete _console;
delete _sound;
delete _video;
delete _gfx;
@@ -174,7 +173,7 @@ Common::Error MohawkEngine_LivingBooks::run() {
return Common::kAudioDeviceInitFailed;
}
- _console = new LivingBooksConsole(this);
+ setDebugger(new LivingBooksConsole(this));
// Load the book info from the detected file
loadBookInfo(getBookInfoFileName());
@@ -235,13 +234,6 @@ Common::Error MohawkEngine_LivingBooks::run() {
case Common::EVENT_KEYDOWN:
switch (event.kbd.keycode) {
- case Common::KEYCODE_d:
- if (event.kbd.flags & Common::KBD_CTRL) {
- _console->attach();
- _console->onFrame();
- }
- break;
-
case Common::KEYCODE_SPACE:
pauseGame();
break;
diff --git a/engines/mohawk/livingbooks.h b/engines/mohawk/livingbooks.h
index 8ad3933..1d79d44 100644
--- a/engines/mohawk/livingbooks.h
+++ b/engines/mohawk/livingbooks.h
@@ -725,7 +725,6 @@ public:
Common::SeekableSubReadStreamEndian *wrapStreamEndian(uint32 tag, uint16 id);
Common::String readString(Common::ReadStream *stream);
Common::Rect readRect(Common::ReadStreamEndian *stream);
- GUI::Debugger *getDebugger() override { return _console; }
void addArchive(Archive *archive);
void removeArchive(Archive *archive);
@@ -761,7 +760,6 @@ public:
Archive *createArchive() const;
private:
- LivingBooksConsole *_console;
Common::INIFile _bookInfoFile;
Common::String getBookInfoFileName() const;
diff --git a/engines/mohawk/myst.cpp b/engines/mohawk/myst.cpp
index 6367e34..92c4c78 100644
--- a/engines/mohawk/myst.cpp
+++ b/engines/mohawk/myst.cpp
@@ -95,7 +95,6 @@ MohawkEngine_Myst::MohawkEngine_Myst(OSystem *syst, const MohawkGameDescription
_sound = nullptr;
_video = nullptr;
_gfx = nullptr;
- _console = nullptr;
_gameState = nullptr;
_optionsDialog = nullptr;
_rnd = nullptr;
@@ -112,7 +111,6 @@ MohawkEngine_Myst::~MohawkEngine_Myst() {
delete _gfx;
delete _video;
delete _sound;
- delete _console;
delete _gameState;
delete _optionsDialog;
delete _rnd;
@@ -420,7 +418,7 @@ Common::Error MohawkEngine_Myst::run() {
_gfx = new MystGraphics(this);
_video = new VideoManager(this);
_sound = new MystSound(this);
- _console = new MystConsole(this);
+ setDebugger(new MystConsole(this));
_gameState = new MystGameState(this, _saveFileMan);
_optionsDialog = new MystOptionsDialog(this);
_cursor = new MystCursorManager(this);
@@ -581,8 +579,7 @@ void MohawkEngine_Myst::doFrame() {
case Common::EVENT_CUSTOM_ENGINE_ACTION_START:
switch ((MystEventAction)event.customType) {
case kMystActionOpenDebugger:
- _console->attach();
- _console->onFrame();
+ getDebugger()->attach();
break;
case kMystActionInteract:
_mouseClicked = true;
diff --git a/engines/mohawk/myst.h b/engines/mohawk/myst.h
index 6367072..a7e6e25 100644
--- a/engines/mohawk/myst.h
+++ b/engines/mohawk/myst.h
@@ -178,8 +178,6 @@ public:
void playSoundBlocking(uint16 id);
- GUI::Debugger *getDebugger() override { return _console; }
-
/**
* Is the game currently interactive
*
@@ -202,7 +200,6 @@ public:
void runOptionsDialog();
private:
- MystConsole *_console;
MystOptionsDialog *_optionsDialog;
ResourceCache _cache;
diff --git a/engines/mohawk/riven.cpp b/engines/mohawk/riven.cpp
index 1ea7e81..faa40c6 100644
--- a/engines/mohawk/riven.cpp
+++ b/engines/mohawk/riven.cpp
@@ -71,7 +71,6 @@ MohawkEngine_Riven::MohawkEngine_Riven(OSystem *syst, const MohawkGameDescriptio
_sound = nullptr;
_rnd = nullptr;
_scriptMan = nullptr;
- _console = nullptr;
_saveLoad = nullptr;
_optionsDialog = nullptr;
_card = nullptr;
@@ -104,7 +103,6 @@ MohawkEngine_Riven::~MohawkEngine_Riven() {
delete _sound;
delete _video;
delete _gfx;
- delete _console;
delete _extrasFile;
delete _saveLoad;
delete _scriptMan;
@@ -115,10 +113,6 @@ MohawkEngine_Riven::~MohawkEngine_Riven() {
DebugMan.clearAllDebugChannels();
}
-GUI::Debugger *MohawkEngine_Riven::getDebugger() {
- return _console;
-}
-
Common::Error MohawkEngine_Riven::run() {
MohawkEngine::run();
@@ -138,7 +132,7 @@ Common::Error MohawkEngine_Riven::run() {
_gfx = new RivenGraphics(this);
_video = new RivenVideoManager(this);
_sound = new RivenSoundManager(this);
- _console = new RivenConsole(this);
+ setDebugger(new RivenConsole(this));
_saveLoad = new RivenSaveLoad(this, _saveFileMan);
_optionsDialog = new RivenOptionsDialog();
_scriptMan = new RivenScriptManager(this);
@@ -274,8 +268,7 @@ void MohawkEngine_Riven::processInput() {
_stack->onMouseDown(_eventMan->getMousePos());
break;
case kRivenActionOpenDebugger:
- _console->attach();
- _console->onFrame();
+ getDebugger()->attach();
break;
case kRivenActionPause:
pauseGame();
diff --git a/engines/mohawk/riven.h b/engines/mohawk/riven.h
index 69c4c2d..ba00caa 100644
--- a/engines/mohawk/riven.h
+++ b/engines/mohawk/riven.h
@@ -101,8 +101,6 @@ public:
// Display debug rectangles around the hotspots
bool _showHotspots;
- GUI::Debugger *getDebugger() override;
-
bool canLoadGameStateCurrently() override;
bool canSaveGameStateCurrently() override;
Common::Error loadGameState(int slot) override;
@@ -120,7 +118,6 @@ private:
void loadLanguageDatafile(char prefix, uint16 stackId);
bool checkDatafiles();
- RivenConsole *_console;
RivenSaveLoad *_saveLoad;
RivenOptionsDialog *_optionsDialog;
InstallerArchive _installerArchive;
Commit: 0d0191fb4488742ebfa85e68d12dfc42875f95cd
https://github.com/scummvm/scummvm/commit/0d0191fb4488742ebfa85e68d12dfc42875f95cd
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
SWORD25: Refactor to use Engine debugger
Changed paths:
engines/sword25/input/inputengine.cpp
engines/sword25/sword25.cpp
engines/sword25/sword25.h
diff --git a/engines/sword25/input/inputengine.cpp b/engines/sword25/input/inputengine.cpp
index 9bedca3..01544cc 100644
--- a/engines/sword25/input/inputengine.cpp
+++ b/engines/sword25/input/inputengine.cpp
@@ -118,11 +118,6 @@ void InputEngine::update() {
case Common::EVENT_KEYDOWN:
case Common::EVENT_KEYUP:
- if (event.kbd.hasFlags(Common::KBD_CTRL) && event.kbd.keycode == Common::KEYCODE_d && event.type == Common::EVENT_KEYDOWN) {
- g_engine->getDebugger()->attach();
- g_engine->getDebugger()->onFrame();
- }
-
alterKeyboardState(event.kbd.keycode, (event.type == Common::EVENT_KEYDOWN) ? 0x80 : 0);
break;
diff --git a/engines/sword25/sword25.cpp b/engines/sword25/sword25.cpp
index 9d8d02e..9b243fc 100644
--- a/engines/sword25/sword25.cpp
+++ b/engines/sword25/sword25.cpp
@@ -69,12 +69,11 @@ Sword25Engine::Sword25Engine(OSystem *syst, const ADGameDescription *gameDesc):
DebugMan.addDebugChannel(kDebugScript, "Scripts", "Script debug level");
DebugMan.addDebugChannel(kDebugSound, "Sound", "Sound debug level");
- _console = new Sword25Console(this);
+ setDebugger(new Sword25Console(this));
}
Sword25Engine::~Sword25Engine() {
DebugMan.clearAllDebugChannels();
- delete _console;
}
Common::Error Sword25Engine::run() {
diff --git a/engines/sword25/sword25.h b/engines/sword25/sword25.h
index 697c503..9b58cf9 100644
--- a/engines/sword25/sword25.h
+++ b/engines/sword25/sword25.h
@@ -74,8 +74,6 @@ private:
bool loadPackages();
- Sword25Console *_console;
-
protected:
Common::Error run() override;
bool hasFeature(EngineFeature f) const override;
@@ -86,8 +84,6 @@ protected:
// bool canLoadGameStateCurrently(); // TODO: Implement this?
// bool canSaveGameStateCurrently(); // TODO: Implement this?
- GUI::Debugger *getDebugger() override { return _console; }
-
void shutdown();
public:
Commit: 73f17c2ae004894a316c46f4518a3068cda2de97
https://github.com/scummvm/scummvm/commit/73f17c2ae004894a316c46f4518a3068cda2de97
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
MUTATIONOFJB: Refactor to use Engine debugger
Changed paths:
engines/mutationofjb/mutationofjb.cpp
engines/mutationofjb/mutationofjb.h
diff --git a/engines/mutationofjb/mutationofjb.cpp b/engines/mutationofjb/mutationofjb.cpp
index ea99b32..71e639f 100644
--- a/engines/mutationofjb/mutationofjb.cpp
+++ b/engines/mutationofjb/mutationofjb.cpp
@@ -46,7 +46,6 @@ namespace MutationOfJB {
MutationOfJBEngine::MutationOfJBEngine(OSystem *syst, const ADGameDescription *gameDesc)
: Engine(syst),
_gameDesc(gameDesc),
- _console(nullptr),
_screen(nullptr),
_game(nullptr),
_mapObjectId(0),
@@ -173,7 +172,7 @@ const ADGameDescription *MutationOfJBEngine::getGameDescription() const {
Common::Error MutationOfJBEngine::run() {
initGraphics(320, 200);
- _console = new Console(this);
+ setDebugger(new Console(this));
_screen = new Graphics::Screen();
_game = new Game(this);
_currentScreen = &_game->getGameScreen();
@@ -193,10 +192,6 @@ Common::Error MutationOfJBEngine::run() {
while (_eventMan->pollEvent(event)) {
switch (event.type) {
case Common::EVENT_KEYDOWN: {
- if ((event.kbd.hasFlags(Common::KBD_CTRL) && event.kbd.keycode == Common::KEYCODE_d) ||
- event.kbd.ascii == '~' || event.kbd.ascii == '#') {
- _console->attach();
- }
if (event.kbd.keycode == Common::KEYCODE_F5 && event.kbd.hasFlags(0)) {
openMainMenuDialog();
}
@@ -210,7 +205,6 @@ Common::Error MutationOfJBEngine::run() {
_currentScreen->handleEvent(event);
}
- _console->onFrame();
_game->update();
if (_currentScreen)
_currentScreen->update();
diff --git a/engines/mutationofjb/mutationofjb.h b/engines/mutationofjb/mutationofjb.h
index cedb753..30a4ec1 100644
--- a/engines/mutationofjb/mutationofjb.h
+++ b/engines/mutationofjb/mutationofjb.h
@@ -79,7 +79,6 @@ private:
void updateCursorPalette();
const ADGameDescription *_gameDesc;
- Console *_console;
Graphics::Screen *_screen;
Game *_game;
uint8 _mapObjectId;
Commit: 98f9c4f254f081202db3fb77e2438785c4cfaa9b
https://github.com/scummvm/scummvm/commit/98f9c4f254f081202db3fb77e2438785c4cfaa9b
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
ENGINES: Create a default debugger when needed if none is yet set
Changed paths:
backends/events/default/default-events.cpp
engines/engine.cpp
engines/engine.h
diff --git a/backends/events/default/default-events.cpp b/backends/events/default/default-events.cpp
index a7c03f5..929546e 100644
--- a/backends/events/default/default-events.cpp
+++ b/backends/events/default/default-events.cpp
@@ -112,7 +112,7 @@ bool DefaultEventManager::pollEvent(Common::Event &event) {
_currentKeyDown.ascii = Common::KEYCODE_BACKSPACE;
} else if (event.kbd.keycode == Common::KEYCODE_d && (_modifierState & Common::KBD_CTRL)) {
- GUI::Debugger *debugger = g_engine->getDebugger();
+ GUI::Debugger *debugger = g_engine->getOrCreateDebugger();
if (debugger) {
debugger->attach();
debugger->onFrame();
diff --git a/engines/engine.cpp b/engines/engine.cpp
index d6e267f..ac6a01b 100644
--- a/engines/engine.cpp
+++ b/engines/engine.cpp
@@ -86,7 +86,7 @@ static void defaultErrorHandler(const char *msg) {
// Unless this error -originated- within the debugger itself, we
// now invoke the debugger, if available / supported.
if (g_engine) {
- GUI::Debugger *debugger = g_engine->getDebugger();
+ GUI::Debugger *debugger = g_engine->getOrCreateDebugger();
#if defined(USE_TASKBAR)
g_system->getTaskbarManager()->notifyError();
@@ -760,6 +760,15 @@ bool Engine::shouldQuit() {
return (eventMan->shouldQuit() || eventMan->shouldRTL());
}
+GUI::Debugger *Engine::getOrCreateDebugger() {
+ if (!_debugger)
+ // Create a bare-bones debugger. This is useful for engines without their own
+ // debugger when an error occurs
+ _debugger = new GUI::Debugger();
+
+ return _debugger;
+}
+
/*
EnginePlugin *Engine::getMetaEnginePlugin() const {
return EngineMan.findPlugin(ConfMan.get("engineid"));
diff --git a/engines/engine.h b/engines/engine.h
index 4172d12..65a325f 100644
--- a/engines/engine.h
+++ b/engines/engine.h
@@ -174,8 +174,7 @@ public:
virtual void errorString(const char *buf_input, char *buf_output, int buf_output_size);
/**
- * Return the engine's debugger instance, if any. Used by error() to
- * invoke the debugger when a severe error is reported.
+ * Return the engine's debugger instance, if any.
*/
virtual GUI::Debugger *getDebugger() { return _debugger; }
@@ -189,6 +188,12 @@ public:
}
/**
+ * Return the engine's debugger instance, or create one if none is present.
+ * Used by error() to invoke the debugger when a severe error is reported.
+ */
+ GUI::Debugger *getOrCreateDebugger();
+
+ /**
* Determine whether the engine supports the specified feature.
*/
virtual bool hasFeature(EngineFeature f) const { return false; }
Commit: b76b6d0e41db2b311e868ceb7c6d435dbbece594
https://github.com/scummvm/scummvm/commit/b76b6d0e41db2b311e868ceb7c6d435dbbece594
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
NEWS: Add line for error display in debugger
Changed paths:
NEWS.md
diff --git a/NEWS.md b/NEWS.md
index 891361f..95dcbfe 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -3,6 +3,9 @@ For a more comprehensive changelog of the latest experimental code, see:
#### 2.2.0 (XXXX-XX-XX)
+General:
+ - Errors are more likely to open the debugger, and be displayed, then just crash ScummVM
+
Dreamweb:
- Added support for Russian fan-translation.
Commit: 818d9bab275aa13898cf3a38c4304b432240b36c
https://github.com/scummvm/scummvm/commit/818d9bab275aa13898cf3a38c4304b432240b36c
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
ENGINES: Change debugger trigger to Ctrl+Alt+D using keymapper
Changed paths:
backends/events/default/default-events.cpp
common/events.h
diff --git a/backends/events/default/default-events.cpp b/backends/events/default/default-events.cpp
index 929546e..6554663 100644
--- a/backends/events/default/default-events.cpp
+++ b/backends/events/default/default-events.cpp
@@ -110,14 +110,6 @@ bool DefaultEventManager::pollEvent(Common::Event &event) {
// making invalid assumptions about ascii values.
event.kbd.ascii = Common::KEYCODE_BACKSPACE;
_currentKeyDown.ascii = Common::KEYCODE_BACKSPACE;
-
- } else if (event.kbd.keycode == Common::KEYCODE_d && (_modifierState & Common::KBD_CTRL)) {
- GUI::Debugger *debugger = g_engine->getOrCreateDebugger();
- if (debugger) {
- debugger->attach();
- debugger->onFrame();
- forwardEvent = false;
- }
}
break;
@@ -206,10 +198,20 @@ bool DefaultEventManager::pollEvent(Common::Event &event) {
if (g_engine)
g_engine->pauseEngine(false);
_confirmExitDialogActive = false;
- } else
+ } else {
_shouldQuit = true;
+ }
+ break;
+ case Common::EVENT_DEBUGGER: {
+ GUI::Debugger *debugger = g_engine ? g_engine->getOrCreateDebugger() : nullptr;
+ if (debugger) {
+ debugger->attach();
+ debugger->onFrame();
+ forwardEvent = false;
+ }
break;
+ }
default:
break;
@@ -356,6 +358,11 @@ Common::Keymap *DefaultEventManager::getGlobalKeymap() {
globalKeymap->addAction(act);
+ act = new Action("DEBUGGER", _("Open Debugger"));
+ act->addDefaultInputMapping("C+A+d");
+ act->setEvent(EVENT_DEBUGGER);
+ globalKeymap->addAction(act);
+
return globalKeymap;
}
diff --git a/common/events.h b/common/events.h
index 80a109c..ba017b4 100644
--- a/common/events.h
+++ b/common/events.h
@@ -91,7 +91,8 @@ enum EventType {
EVENT_CLIPBOARD_UPDATE = 27,
- EVENT_CUSTOM_BACKEND_HARDWARE = 28
+ EVENT_CUSTOM_BACKEND_HARDWARE = 28,
+ EVENT_DEBUGGER = 29
};
const int16 JOYAXIS_MIN = -32768;
Commit: ba147f5ad5eb562d102fdcf09f7f45fb4cedd086
https://github.com/scummvm/scummvm/commit/ba147f5ad5eb562d102fdcf09f7f45fb4cedd086
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-02-16T13:07:19+02:00
Commit Message:
SCI: Refactor to use Engine debugger
Changed paths:
engines/sci/console.cpp
engines/sci/console.h
engines/sci/event.cpp
engines/sci/sci.cpp
engines/sci/sci.h
diff --git a/engines/sci/console.cpp b/engines/sci/console.cpp
index 0ca003c..ba71446 100644
--- a/engines/sci/console.cpp
+++ b/engines/sci/console.cpp
@@ -261,6 +261,15 @@ Console::Console(SciEngine *engine) : GUI::Debugger(),
Console::~Console() {
}
+void Console::attach(const char *entry) {
+ if (entry) {
+ // Attaching to display a severe error, let the engine know
+ _engine->severeError();
+ }
+
+ GUI::Debugger::attach(entry);
+}
+
void Console::preEnter() {
_engine->pauseEngine(true);
}
diff --git a/engines/sci/console.h b/engines/sci/console.h
index 60ff01d..852bd4f 100644
--- a/engines/sci/console.h
+++ b/engines/sci/console.h
@@ -41,6 +41,12 @@ public:
Console(SciEngine *engine);
~Console() override;
+ /**
+ * 'Attach' the debugger. This ensures that the next time onFrame()
+ * is invoked, the debugger will activate and accept user input.
+ */
+ void attach(const char *entry = nullptr) override;
+
private:
void preEnter() override;
void postEnter() override;
diff --git a/engines/sci/event.cpp b/engines/sci/event.cpp
index 2c9cc0b..9bbea4a 100644
--- a/engines/sci/event.cpp
+++ b/engines/sci/event.cpp
@@ -303,14 +303,6 @@ SciEvent EventManager::getScummVMEvent() {
return noEvent;
}
- // Check for Control-Shift-D (debug console)
- if (ev.type == Common::EVENT_KEYDOWN && ev.kbd.hasFlags(Common::KBD_CTRL | Common::KBD_SHIFT) && ev.kbd.keycode == Common::KEYCODE_d) {
- // Open debug console
- Console *con = g_sci->getSciDebugger();
- con->attach();
- return noEvent;
- }
-
// The IBM keyboard driver prior to SCI1.1 only sent keydown events to the
// interpreter
if (ev.type != Common::EVENT_KEYDOWN && getSciVersion() < SCI_VERSION_1_1) {
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index c72e268..6b2c0af 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -240,7 +240,7 @@ SciEngine::~SciEngine() {
delete _soundCmd;
delete _kernel;
delete _vocabulary;
- delete _console;
+ //_console deleted by Engine
delete _guestAdditions;
delete _features;
delete _gfxMacIconBar;
@@ -331,6 +331,7 @@ Common::Error SciEngine::run() {
// Create debugger console. It requires GFX and _gamestate to be initialized
_console = new Console(this);
+ setDebugger(_console);
// The game needs to be initialized before the graphics system is initialized, as
// the graphics code checks parts of the seg manager upon initialization (e.g. for
@@ -757,8 +758,8 @@ void SciEngine::exitGame() {
_gamestate->_fileHandles.resize(5);
}
-// Invoked by error() when a severe error occurs
-GUI::Debugger *SciEngine::getDebugger() {
+// Invoked by debugger when a severe error occurs
+void SciEngine::severeError() {
if (_gamestate) {
ExecStack *xs = &(_gamestate->_executionStack.back());
if (xs) {
@@ -769,11 +770,8 @@ GUI::Debugger *SciEngine::getDebugger() {
_debugState.runningStep = 0; // Stop multiple execution
_debugState.seeking = kDebugSeekNothing; // Stop special seeks
-
- return _console;
}
-// Used to obtain the engine's console in order to print messages to it
Console *SciEngine::getSciDebugger() {
return _console;
}
diff --git a/engines/sci/sci.h b/engines/sci/sci.h
index f44338f..fafd49f 100644
--- a/engines/sci/sci.h
+++ b/engines/sci/sci.h
@@ -257,7 +257,7 @@ public:
Common::Error run() override;
bool hasFeature(EngineFeature f) const override;
void pauseEngineIntern(bool pause) override;
- GUI::Debugger *getDebugger() override;
+ void severeError();
Console *getSciDebugger();
Common::Error loadGameState(int slot) override;
Common::Error saveGameState(int slot, const Common::String &desc) override;
More information about the Scummvm-git-logs
mailing list