[Scummvm-git-logs] scummvm master -> a96006d56bf16c5efe7429500fc533b0b486dc24
dreammaster
paulfgilbert at gmail.com
Fri May 8 01:33:18 UTC 2020
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
5be5920795 ULTIMA4: Deprecating in-game key repeat settings
314df69117 ULTIMA4: Cleanup of other remaining TODOs
57453ad556 ULTIMA4: Fix implementation of peer action
a96006d56b ULTIMA8: Fix negative uint warning
Commit: 5be5920795f861a24996d266d9a6211b62a8700f
https://github.com/scummvm/scummvm/commit/5be5920795f861a24996d266d9a6211b62a8700f
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-05-07T18:29:08-07:00
Commit Message:
ULTIMA4: Deprecating in-game key repeat settings
Changed paths:
engines/ultima/ultima4/controllers/intro_controller.cpp
engines/ultima/ultima4/controllers/intro_controller.h
engines/ultima/ultima4/controllers/key_handler_controller.cpp
engines/ultima/ultima4/controllers/key_handler_controller.h
engines/ultima/ultima4/core/settings.cpp
engines/ultima/ultima4/core/settings.h
engines/ultima/ultima4/gfx/screen.cpp
diff --git a/engines/ultima/ultima4/controllers/intro_controller.cpp b/engines/ultima/ultima4/controllers/intro_controller.cpp
index aa0c776827..f30aa219a3 100644
--- a/engines/ultima/ultima4/controllers/intro_controller.cpp
+++ b/engines/ultima/ultima4/controllers/intro_controller.cpp
@@ -234,11 +234,8 @@ IntroController::IntroController() : Controller(1),
_soundMenu.setClosesMenu(USE_SETTINGS);
_soundMenu.setClosesMenu(CANCEL);
- _inputMenu.setTitle("Keyboard Options:", 0, 0);
- _inputMenu.add(MI_INPUT_01, new IntMenuItem("Repeat Delay %4d msec", 2, 2,/*'d'*/ 7, &_settingsChanged._keyDelay, 100, MAX_KEY_DELAY, 100));
- _inputMenu.add(MI_INPUT_02, new IntMenuItem("Repeat Interval %4d msec", 2, 3,/*'i'*/ 7, &_settingsChanged._keyInterval, 10, MAX_KEY_INTERVAL, 10));
- /* "Mouse Options:" is drawn in the updateInputMenu() function */
- _inputMenu.add(MI_INPUT_03, new BoolMenuItem("Mouse %s", 2, 7,/*'m'*/ 0, &_settingsChanged._mouseOptions._enabled));
+ _inputMenu.setTitle("Mouse Options:", 0, 0);
+ _inputMenu.add(MI_INPUT_03, new BoolMenuItem("Mouse %s", 2, 2,/*'m'*/ 0, &_settingsChanged._mouseOptions._enabled));
_inputMenu.add(USE_SETTINGS, "\010 Use These Settings", 2, 11,/*'u'*/ 2);
_inputMenu.add(CANCEL, "\010 Cancel", 2, 12,/*'c'*/ 2);
_inputMenu.addShortcutKey(CANCEL, ' ');
@@ -1137,9 +1134,6 @@ void IntroController::updateInputMenu(MenuEvent &event) {
settings.setData(_settingsChanged);
settings.write();
- // re-initialize keyboard
- KeyHandler::setKeyRepeat(_settingsChanged._keyDelay, _settingsChanged._keyInterval);
-
#ifdef SLACK_ON_SDL_AGNOSTICISM
if (settings.mouseOptions.enabled) {
SDL_ShowCursor(SDL_ENABLE);
@@ -1161,9 +1155,6 @@ void IntroController::updateInputMenu(MenuEvent &event) {
// draw the extended background for all option screens
_backgroundArea.draw(BKGD_OPTIONS_TOP, 0, 0);
_backgroundArea.draw(BKGD_OPTIONS_BTM, 0, 120);
-
- // after drawing the menu, extra menu text can be added here
- _extendedMenuArea.textAt(0, 5, "Mouse Options:");
}
void IntroController::updateSpeedMenu(MenuEvent &event) {
diff --git a/engines/ultima/ultima4/controllers/intro_controller.h b/engines/ultima/ultima4/controllers/intro_controller.h
index 1d437be6eb..968e85b11e 100644
--- a/engines/ultima/ultima4/controllers/intro_controller.h
+++ b/engines/ultima/ultima4/controllers/intro_controller.h
@@ -126,7 +126,7 @@ public:
/**
* Update the screen when an observed menu is reset or has an item
* activated.
- * TODO, reduce duped code.
+ * TODO: Reduce duped code.
*/
void update(Menu *menu, MenuEvent &event);
void updateConfMenu(MenuEvent &event);
@@ -292,8 +292,6 @@ private:
MI_GFX_TILE_TRANSPARENCY_SHADOW_OPACITY,
MI_GFX_RETURN,
MI_SOUND_03,
- MI_INPUT_01,
- MI_INPUT_02,
MI_INPUT_03,
MI_SPEED_01,
MI_SPEED_02,
diff --git a/engines/ultima/ultima4/controllers/key_handler_controller.cpp b/engines/ultima/ultima4/controllers/key_handler_controller.cpp
index 61a56a95c4..a90b43887c 100644
--- a/engines/ultima/ultima4/controllers/key_handler_controller.cpp
+++ b/engines/ultima/ultima4/controllers/key_handler_controller.cpp
@@ -36,17 +36,6 @@ KeyHandler::KeyHandler(Callback func, void *d, bool asyncronous) :
_data(d) {
}
-/**
- * Sets the key-repeat characteristics of the keyboard.
- */
-int KeyHandler::setKeyRepeat(int delay, int interval) {
-#ifdef TODO
- return SDL_EnableKeyRepeat(delay, interval);
-#else
- return 0;
-#endif
-}
-
bool KeyHandler::globalHandler(int key) {
if (key == Common::KEYCODE_F5) {
(void)g_ultima->saveGameDialog();
diff --git a/engines/ultima/ultima4/controllers/key_handler_controller.h b/engines/ultima/ultima4/controllers/key_handler_controller.h
index 52dbf53892..190b3a56b6 100644
--- a/engines/ultima/ultima4/controllers/key_handler_controller.h
+++ b/engines/ultima/ultima4/controllers/key_handler_controller.h
@@ -55,9 +55,6 @@ public:
/* Constructors */
KeyHandler(Callback func, void *data = nullptr, bool asyncronous = true);
- /* Static functions */
- static int setKeyRepeat(int delay, int interval);
-
/**
* Handles any and all keystrokes.
* Generally used to exit the application, switch applications,
diff --git a/engines/ultima/ultima4/core/settings.cpp b/engines/ultima/ultima4/core/settings.cpp
index 24c672226a..e30ae72884 100644
--- a/engines/ultima/ultima4/core/settings.cpp
+++ b/engines/ultima/ultima4/core/settings.cpp
@@ -65,8 +65,6 @@ bool SettingsData::operator==(const SettingsData &s) const {
&& _screenAnimationFramesPerSecond == s._screenAnimationFramesPerSecond
&& _innAlwaysCombat == s._innAlwaysCombat
&& _innTime == s._innTime
- && _keyDelay == s._keyDelay
- && _keyInterval == s._keyInterval
&& _mouseOptions == s._mouseOptions
&& _screenShakes == s._screenShakes
&& _gamma == s._gamma
@@ -145,8 +143,6 @@ void Settings::synchronize(Shared::ConfSerializer &s) {
s.syncAsInt("gamma", _gamma, DEFAULT_GAMMA);
s.syncAsBool("volumeFades", _volumeFades, DEFAULT_VOLUME_FADES);
s.syncAsBool("shortcutCommands", _shortcutCommands, DEFAULT_SHORTCUT_COMMANDS);
- s.syncAsInt("keydelay", _keyDelay, DEFAULT_KEY_DELAY);
- s.syncAsInt("keyinterval", _keyInterval, DEFAULT_KEY_INTERVAL);
s.syncAsBool("filterMoveMessages", _filterMoveMessages, DEFAULT_FILTER_MOVE_MESSAGES);
s.syncAsInt("battlespeed", _battleSpeed, DEFAULT_BATTLE_SPEED);
s.syncAsBool("enhancements", _enhancements, DEFAULT_ENHANCEMENTS);
diff --git a/engines/ultima/ultima4/core/settings.h b/engines/ultima/ultima4/core/settings.h
index b6b51b2321..96c3320a67 100644
--- a/engines/ultima/ultima4/core/settings.h
+++ b/engines/ultima/ultima4/core/settings.h
@@ -118,8 +118,6 @@ public:
int _screenAnimationFramesPerSecond;
bool _innAlwaysCombat;
int _innTime;
- int _keyDelay;
- int _keyInterval;
MouseOptions _mouseOptions;
uint _scale;
bool _screenShakes;
diff --git a/engines/ultima/ultima4/gfx/screen.cpp b/engines/ultima/ultima4/gfx/screen.cpp
index 201511d789..ef451f7113 100644
--- a/engines/ultima/ultima4/gfx/screen.cpp
+++ b/engines/ultima/ultima4/gfx/screen.cpp
@@ -90,8 +90,6 @@ void Screen::init() {
debug(1, "using %s scaler\n", settings._filter.c_str());
- KeyHandler::setKeyRepeat(settings._keyDelay, settings._keyInterval);
-
/* find the tile animations for our tileset */
_tileAnims = nullptr;
for (Std::vector<TileAnimSet *>::const_iterator i = _tileAnimSets.begin(); i != _tileAnimSets.end(); i++) {
Commit: 314df6911776093318af7e611674fa9a66e28832
https://github.com/scummvm/scummvm/commit/314df6911776093318af7e611674fa9a66e28832
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-05-07T18:29:08-07:00
Commit Message:
ULTIMA4: Cleanup of other remaining TODOs
Changed paths:
engines/ultima/ultima4/events/timed_event_mgr.cpp
engines/ultima/ultima4/events/timed_event_mgr.h
engines/ultima/ultima4/gfx/image.cpp
engines/ultima/ultima4/gfx/screen.cpp
engines/ultima/ultima4/map/map.cpp
diff --git a/engines/ultima/ultima4/events/timed_event_mgr.cpp b/engines/ultima/ultima4/events/timed_event_mgr.cpp
index 51a2c66dbf..b6623a6337 100644
--- a/engines/ultima/ultima4/events/timed_event_mgr.cpp
+++ b/engines/ultima/ultima4/events/timed_event_mgr.cpp
@@ -43,24 +43,6 @@ void TimedEventMgr::poll() {
void TimedEventMgr::reset(uint interval) {
_baseInterval = interval;
- stop();
- start();
-}
-
-void TimedEventMgr::stop() {
-#ifdef TODO
- if (id) {
- SDL_RemoveTimer(static_cast<SDL_TimerID>(id));
- id = nullptr;
- }
-#endif
-}
-
-void TimedEventMgr::start() {
-#ifdef TODO
- if (!id)
- id = static_cast<void *>(SDL_AddTimer(baseInterval, &TimedEventMgr::callback, this));
-#endif
}
/*-------------------------------------------------------------------*/
diff --git a/engines/ultima/ultima4/events/timed_event_mgr.h b/engines/ultima/ultima4/events/timed_event_mgr.h
index 6d72cb45fa..d42c5935bb 100644
--- a/engines/ultima/ultima4/events/timed_event_mgr.h
+++ b/engines/ultima/ultima4/events/timed_event_mgr.h
@@ -110,8 +110,6 @@ public:
* Runs each of the callback functions of the TimedEvents associated with this manager.
*/
void tick();
- void stop();
- void start();
/**
* Re-initializes the timer manager to a new timer granularity
diff --git a/engines/ultima/ultima4/gfx/image.cpp b/engines/ultima/ultima4/gfx/image.cpp
index d7a5b2b13e..efbb43b924 100644
--- a/engines/ultima/ultima4/gfx/image.cpp
+++ b/engines/ultima/ultima4/gfx/image.cpp
@@ -229,9 +229,10 @@ bool Image::getTransparentIndex(uint &index) const {
void Image::initializeToBackgroundColor(RGBA backgroundColor) {
if (_paletted)
- error("Not supported"); //TODO, this better
- this->_backgroundColor = backgroundColor;
- this->fillRect(0, 0, _surface->w, _surface->h, backgroundColor.r,
+ error("initializeToBackgroundColor: Not supported");
+
+ _backgroundColor = backgroundColor;
+ fillRect(0, 0, _surface->w, _surface->h, backgroundColor.r,
backgroundColor.g, backgroundColor.b, backgroundColor.a);
}
@@ -280,7 +281,6 @@ void Image::makeBackgroundColorTransparent(int haloSize, int shadowOpacity) {
performTransparencyHack(bgColor, 1, 0, haloSize, shadowOpacity);
}
-//TODO Separate functionalities found in here
void Image::performTransparencyHack(uint colorValue, uint numFrames,
uint currentFrameIndex, uint haloWidth,
uint haloOpacityIncrementByPixelDistance) {
diff --git a/engines/ultima/ultima4/gfx/screen.cpp b/engines/ultima/ultima4/gfx/screen.cpp
index ef451f7113..a63b0a45ee 100644
--- a/engines/ultima/ultima4/gfx/screen.cpp
+++ b/engines/ultima/ultima4/gfx/screen.cpp
@@ -1208,7 +1208,7 @@ void Screen::screenGemUpdate() {
Layout *layout = screenGetGemLayout(g_context->_location->_map);
- //TODO, move the code responsible for determining 'peer' visibility to a non SDL specific part of the code.
+ // TODO: Move the code responsible for determining 'peer' visibility to a non SDL specific part of the code.
if (g_context->_location->_map->_type == Map::DUNGEON) {
//DO THE SPECIAL DUNGEON MAP TRAVERSAL
Std::vector<Std::vector<int> > drawnTiles(layout->_viewport.width(), Std::vector<int>(layout->_viewport.height(), 0));
diff --git a/engines/ultima/ultima4/map/map.cpp b/engines/ultima/ultima4/map/map.cpp
index af89855c07..9f9eb92d80 100644
--- a/engines/ultima/ultima4/map/map.cpp
+++ b/engines/ultima/ultima4/map/map.cpp
@@ -48,7 +48,6 @@ bool MapCoords::operator!=(const MapCoords &a) const {
return !operator==(a);
}
bool MapCoords::operator<(const MapCoords &a) const {
- // TODO: cooler boolean logic
if (x > a.x)
return false;
if (y > a.y)
Commit: 57453ad5567e53d775043a457f99d6a453d660b7
https://github.com/scummvm/scummvm/commit/57453ad5567e53d775043a457f99d6a453d660b7
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-05-07T18:29:08-07:00
Commit Message:
ULTIMA4: Fix implementation of peer action
Changed paths:
engines/ultima/shared/engine/debugger.h
engines/ultima/ultima4/core/debugger.cpp
engines/ultima/ultima4/core/debugger.h
engines/ultima/ultima4/game/game.cpp
engines/ultima/ultima4/meta_engine.cpp
engines/ultima/ultima4/meta_engine.h
diff --git a/engines/ultima/shared/engine/debugger.h b/engines/ultima/shared/engine/debugger.h
index 12767e387a..523e003ca3 100644
--- a/engines/ultima/shared/engine/debugger.h
+++ b/engines/ultima/shared/engine/debugger.h
@@ -41,6 +41,13 @@ protected:
*/
int strToInt(const char *s);
+ /**
+ * Converts a string to a boolean
+ */
+ bool strToBool(const char *s) {
+ return s && tolower(*s) == 't';
+ }
+
/**
* Split up a command string into arg values
*/
diff --git a/engines/ultima/ultima4/core/debugger.cpp b/engines/ultima/ultima4/core/debugger.cpp
index fe19f2d4d9..83cbbe3d15 100644
--- a/engines/ultima/ultima4/core/debugger.cpp
+++ b/engines/ultima/ultima4/core/debugger.cpp
@@ -108,6 +108,7 @@ Debugger::Debugger() : Shared::Debugger() {
registerCmd("mixtures", WRAP_METHOD(Debugger, cmdMixtures));
registerCmd("moon", WRAP_METHOD(Debugger, cmdMoon));
registerCmd("opacity", WRAP_METHOD(Debugger, cmdOpacity));
+ registerCmd("overhead", WRAP_METHOD(Debugger, cmdOverhead));
registerCmd("reagents", WRAP_METHOD(Debugger, cmdReagents));
registerCmd("summon", WRAP_METHOD(Debugger, cmdSummon));
registerCmd("torch", WRAP_METHOD(Debugger, cmdTorch));
@@ -898,14 +899,9 @@ bool Debugger::cmdPass(int argc, const char **argv) {
}
bool Debugger::cmdPeer(int argc, const char **argv) {
- if ((g_context->_location->_viewMode == VIEW_NORMAL) || (g_context->_location->_viewMode == VIEW_DUNGEON))
- g_context->_location->_viewMode = VIEW_GEM;
- else if (g_context->_location->_context == CTX_DUNGEON)
- g_context->_location->_viewMode = VIEW_DUNGEON;
- else
- g_context->_location->_viewMode = VIEW_NORMAL;
+ bool useGem = (argc != 2) ? true : strToBool(argv[1]);
+ peer(useGem);
- print("Toggle view");
return isDebuggerActive();
}
@@ -1522,6 +1518,18 @@ bool Debugger::cmdMixtures(int argc, const char **argv) {
return isDebuggerActive();
}
+bool Debugger::cmdOverhead(int argc, const char **argv) {
+ if ((g_context->_location->_viewMode == VIEW_NORMAL) || (g_context->_location->_viewMode == VIEW_DUNGEON))
+ g_context->_location->_viewMode = VIEW_GEM;
+ else if (g_context->_location->_context == CTX_DUNGEON)
+ g_context->_location->_viewMode = VIEW_DUNGEON;
+ else
+ g_context->_location->_viewMode = VIEW_NORMAL;
+
+ print("Toggle view");
+ return isDebuggerActive();
+}
+
bool Debugger::cmdMoon(int argc, const char **argv) {
int moonNum;
diff --git a/engines/ultima/ultima4/core/debugger.h b/engines/ultima/ultima4/core/debugger.h
index 5cdbaa7477..9fbe31ebe9 100644
--- a/engines/ultima/ultima4/core/debugger.h
+++ b/engines/ultima/ultima4/core/debugger.h
@@ -341,6 +341,11 @@ private:
*/
bool cmdOpacity(int argc, const char **argv);
+ /**
+ * Toggle overhead view
+ */
+ bool cmdOverhead(int argc, const char **argv);
+
/**
* Give all the reagents
*/
diff --git a/engines/ultima/ultima4/game/game.cpp b/engines/ultima/ultima4/game/game.cpp
index bc1bf71fee..4c845e50b1 100644
--- a/engines/ultima/ultima4/game/game.cpp
+++ b/engines/ultima/ultima4/game/game.cpp
@@ -319,7 +319,6 @@ bool gamePeerCity(int city, void *data) {
}
void peer(bool useGem) {
-
if (useGem) {
if (g_ultima->_saveGame->_gems <= 0) {
g_screen->screenMessage("%cPeer at What?%c\n", FG_GREY, FG_WHITE);
diff --git a/engines/ultima/ultima4/meta_engine.cpp b/engines/ultima/ultima4/meta_engine.cpp
index a1871351fe..46384354e6 100644
--- a/engines/ultima/ultima4/meta_engine.cpp
+++ b/engines/ultima/ultima4/meta_engine.cpp
@@ -112,6 +112,7 @@ static const KeybindingRecord CHEAT_KEYS[] = {
{ KEYBIND_CHEAT_KARMA, "CHEAT-KARMA", "List Karma", "karma", "A+k", nullptr },
{ KEYBIND_CHEAT_LEAVE, "CHEAT-LEAVE", "Leave Location", "leave", "A+l", nullptr },
{ KEYBIND_CHEAT_MIXTURES, "CHEAT-MIXTURES", "Give Mixtures", "mixtures", "A+m", nullptr },
+ { KEYBIND_CHEAT_OVERHEAD, "CHEAT_OVERHEAD", "Toggle Overhead View", "overhead", "A+o", nullptr },
{ KEYBIND_CHEAT_PARTY, "CHEAT-PARTY", "Full Party", "companions", "A+p", nullptr },
{ KEYBIND_CHEAT_REAGENTS, "CHEAT-REAGENTS", "Give Reagents", "reagents", "A+r", nullptr },
{ KEYBIND_CHEAT_STATS, "CHEAT-STATS", "Full Stats", "fullstats", "A+s", nullptr },
diff --git a/engines/ultima/ultima4/meta_engine.h b/engines/ultima/ultima4/meta_engine.h
index 854f366068..bdb6d61d65 100644
--- a/engines/ultima/ultima4/meta_engine.h
+++ b/engines/ultima/ultima4/meta_engine.h
@@ -51,9 +51,10 @@ enum KeybindingAction {
KEYBIND_CHEAT_DESTROY_CREATURES, KEYBIND_CHEAT_EQUIPMENT,
KEYBIND_CHEAT_FLEE, KEYBIND_CHEAT_GOTO, KEYBIND_CHEAT_HELP,
KEYBIND_CHEAT_ITEMS, KEYBIND_CHEAT_KARMA, KEYBIND_CHEAT_LEAVE,
- KEYBIND_CHEAT_MIXTURES, KEYBIND_CHEAT_PARTY, KEYBIND_CHEAT_REAGENTS,
- KEYBIND_CHEAT_STATS, KEYBIND_CHEAT_TRANSPORT, KEYBIND_CHEAT_UP,
- KEYBIND_CHEAT_DOWN, KEYBIND_CHEAT_VIRTUE, KEYBIND_CHEAT_WIND,
+ KEYBIND_CHEAT_MIXTURES, KEYBIND_CHEAT_OVERHEAD, KEYBIND_CHEAT_PARTY,
+ KEYBIND_CHEAT_REAGENTS, KEYBIND_CHEAT_STATS, KEYBIND_CHEAT_TRANSPORT,
+ KEYBIND_CHEAT_UP, KEYBIND_CHEAT_DOWN, KEYBIND_CHEAT_VIRTUE,
+ KEYBIND_CHEAT_WIND,
KEYBIND_NONE
};
Commit: a96006d56bf16c5efe7429500fc533b0b486dc24
https://github.com/scummvm/scummvm/commit/a96006d56bf16c5efe7429500fc533b0b486dc24
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-05-07T18:32:43-07:00
Commit Message:
ULTIMA8: Fix negative uint warning
Changed paths:
engines/ultima/ultima8/gumps/quit_gump.cpp
diff --git a/engines/ultima/ultima8/gumps/quit_gump.cpp b/engines/ultima/ultima8/gumps/quit_gump.cpp
index 73fd023712..05acfc9f6a 100644
--- a/engines/ultima/ultima8/gumps/quit_gump.cpp
+++ b/engines/ultima/ultima8/gumps/quit_gump.cpp
@@ -112,7 +112,7 @@ void QuitGump::InitGump(Gump *newparent, bool take_focus) {
widget = new ButtonWidget(0, 0, nobutton_up, nobutton_down);
widget->InitGump(this);
- widget->setRelativePosition(TOP_RIGHT, -_buttonXOff, _buttonYOff);
+ widget->setRelativePosition(TOP_RIGHT, -(int)_buttonXOff, _buttonYOff);
_noWidget = widget->getObjId();
}
More information about the Scummvm-git-logs
mailing list