mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-12 06:00:48 +00:00
ULTIMA8: remove "enterTextMode" as it was only used to track modal gumps outside normal means
This commit is contained in:
parent
ffe0a92ddb
commit
d8552b1c32
@ -257,18 +257,13 @@ bool MenuGump::OnTextInput(int unicode) {
|
||||
|
||||
//static
|
||||
void MenuGump::showMenu() {
|
||||
Gump *gump = Ultima8Engine::get_instance()->getMenuGump();
|
||||
|
||||
if (gump) {
|
||||
gump->Close();
|
||||
} else {
|
||||
if (GAME_IS_U8)
|
||||
gump = new MenuGump();
|
||||
else
|
||||
gump = new CruMenuGump();
|
||||
gump->InitGump(0);
|
||||
gump->setRelativePosition(CENTER);
|
||||
}
|
||||
ModalGump *gump;
|
||||
if (GAME_IS_U8)
|
||||
gump = new MenuGump();
|
||||
else
|
||||
gump = new CruMenuGump();
|
||||
gump->InitGump(0);
|
||||
gump->setRelativePosition(CENTER);
|
||||
}
|
||||
|
||||
//static
|
||||
|
@ -48,9 +48,6 @@ ModalGump::~ModalGump() {
|
||||
void ModalGump::InitGump(Gump *newparent, bool take_focus) {
|
||||
Gump::InitGump(newparent, take_focus);
|
||||
|
||||
// lock keyboard
|
||||
Ultima8Engine::get_instance()->enterTextMode(this);
|
||||
|
||||
Kernel::get_instance()->pause();
|
||||
|
||||
AudioProcess *ap = AudioProcess::get_instance();
|
||||
@ -76,9 +73,6 @@ uint16 ModalGump::TraceObjId(int32 mx, int32 my) {
|
||||
}
|
||||
|
||||
void ModalGump::Close(bool no_del) {
|
||||
// free keyboard
|
||||
Ultima8Engine::get_instance()->leaveTextMode(this);
|
||||
|
||||
Kernel::get_instance()->unpause();
|
||||
|
||||
AudioProcess *ap = AudioProcess::get_instance();
|
||||
|
@ -462,8 +462,6 @@ void Ultima8Engine::shutdownGame(bool reloading) {
|
||||
|
||||
// Save config here....
|
||||
|
||||
_textModes.clear();
|
||||
|
||||
// reset mouse cursor
|
||||
_mouse->popAllCursors();
|
||||
_mouse->pushMouseCursor();
|
||||
@ -728,30 +726,10 @@ void Ultima8Engine::changeVideoMode(int width, int height) {
|
||||
GraphicSysInit();
|
||||
}
|
||||
|
||||
void Ultima8Engine::enterTextMode(Gump *gump) {
|
||||
if (!_textModes.empty()) {
|
||||
_textModes.remove(gump->getObjId());
|
||||
}
|
||||
_textModes.push_front(gump->getObjId());
|
||||
|
||||
_avatarMoverProcess->clearMovementFlag(AvatarMoverProcess::MOVE_ANY_DIRECTION);
|
||||
_avatarMoverProcess->clearMovementFlag(AvatarMoverProcess::MOVE_JUMP);
|
||||
}
|
||||
|
||||
void Ultima8Engine::leaveTextMode(Gump *gump) {
|
||||
if (!_textModes.empty())
|
||||
_textModes.remove(gump->getObjId());
|
||||
}
|
||||
|
||||
void Ultima8Engine::handleEvent(const Common::Event &event) {
|
||||
// Text mode input. A few hacks here
|
||||
Gump *gump = nullptr;
|
||||
while (!_textModes.empty()) {
|
||||
gump = dynamic_cast<Gump *>(_objectManager->getObject(_textModes.front()));
|
||||
if (gump)
|
||||
break;
|
||||
|
||||
_textModes.pop_front();
|
||||
Gump *gump = _desktopGump->FindGump<ModalGump>();
|
||||
if (gump) {
|
||||
_avatarMoverProcess->resetMovementFlags();
|
||||
}
|
||||
|
||||
Common::Keymapper *const keymapper = _eventMan->getKeymapper();
|
||||
@ -1115,8 +1093,6 @@ void Ultima8Engine::resetEngine() {
|
||||
_gameMapGump = nullptr;
|
||||
_inverterGump = nullptr;
|
||||
|
||||
_textModes.clear();
|
||||
|
||||
// reset mouse cursor
|
||||
_mouse->popAllCursors();
|
||||
_mouse->pushMouseCursor();
|
||||
@ -1698,12 +1674,5 @@ void Ultima8Engine::showSplashScreen() {
|
||||
_events->pollEvent(event);
|
||||
}
|
||||
|
||||
Gump *Ultima8Engine::getMenuGump() const {
|
||||
if (_textModes.empty())
|
||||
return nullptr;
|
||||
|
||||
return dynamic_cast<Gump *>(_objectManager->getObject(_textModes.front()));
|
||||
}
|
||||
|
||||
} // End of namespace Ultima8
|
||||
} // End of namespace Ultima
|
||||
|
@ -74,7 +74,6 @@ private:
|
||||
|
||||
static Ultima8Engine *_instance;
|
||||
|
||||
Std::list<ObjId> _textModes; //!< Gumps that want text mode
|
||||
bool _fontOverride;
|
||||
bool _fontAntialiasing;
|
||||
// Audio Mixer
|
||||
@ -351,12 +350,6 @@ public:
|
||||
//! \return true if succesful.
|
||||
bool newGame(int saveSlot = -1);
|
||||
|
||||
//! Enter gump text mode (aka Unicode keyhandling)
|
||||
void enterTextMode(Gump *);
|
||||
|
||||
//! Leave gump text mode (aka Unicode keyhandling)
|
||||
void leaveTextMode(Gump *);
|
||||
|
||||
//! Display an error message box
|
||||
//! \param message The message to display on the box
|
||||
void Error(Std::string message, Std::string title = Std::string());
|
||||
@ -383,8 +376,6 @@ public:
|
||||
void makeCheater() {
|
||||
_hasCheated = true;
|
||||
}
|
||||
Gump *getMenuGump() const;
|
||||
|
||||
bool isInterpolationEnabled() const {
|
||||
return _interpolate;
|
||||
}
|
||||
|
@ -57,7 +57,9 @@ public:
|
||||
virtual void clearMovementFlag(uint32 mask) {
|
||||
_movementFlags &= ~mask;
|
||||
}
|
||||
|
||||
void resetMovementFlags() {
|
||||
_movementFlags = 0;
|
||||
}
|
||||
void onMouseDown(int button, int32 mx, int32 my);
|
||||
void onMouseUp(int button);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user