Commit graph

139 commits

Author SHA1 Message Date
aryanrawlani28
bed05ea134 GUI: U32: Fix compilation errors across entire project
After the initial changes just to scummvm/gui for u32, this commit includes the whole project

- Widget creations now always have u32 descriptions, labels, or tooltips
- Message dialogs make use of default arguments instead of providing the same argument explicitly
- encode String::format properly before passing on as argument where necessary
- Modify hugo utils (yesNoBox and notify box) to use u32
- Also provide fake constructors for the above which redirect to the u32 constructor
- Convert all keymap descriptions to u32 across all engines
- showConfirmationDialog in mohawk now uses u32
- showScummVMDialog also uses u32
- Scumm engine has dialogs now which use u32
- General fixes and wrapping convertToU32String for setLabels and related functions
- Add a fake constructor to MesssageDialog which redirects to the u32 constructor
2020-08-30 14:43:41 +02:00
Cameron Cawley
2c1065188e SYMBIAN: Deprecate the actions system 2020-08-24 14:19:30 +02:00
aryanrawlani28
dde4200d35 GUI: RTL: Overload and simplify getWidgetData for getting rtl flag 2020-06-22 00:03:02 +02:00
aryanrawlani28
07ab77d065 GUI: RTL: Get internal widget RTL flag from theme 2020-06-22 00:03:02 +02:00
Eugene Sandulenko
6aacdb1938 GUI: Normalize width/height parameters
The fact that ThemeLayout had them int, and GuiObject as uint, was
leading to number of unexpected overflows.
2020-05-09 21:59:07 +02:00
Bastien Bouclet
730a1ee4cc SCUMM: Add override keywords 2020-02-09 12:43:16 +01:00
Bastien Bouclet
c0d8b6d9fc GUI: Introduce dynamic layouts
Prior to this change, a GUI layout was only affected by the screen size.
Now, a layout can additionally be influenced by the GUI dialog and widgets
that uses it. This capability is leveraged to implement the following
features:

* Layout elements that are not bound to a GUI widget do not take space.
   This means that dialogs where the widgets shown depend on for example
   a feature being enabled at configure time no longer have blank spaces.
* Widgets can define a minimal required size for their contents not to be
   cut. For now this is only used for buttons so their width is always
   sufficient for their caption not to be cut. This mechanism could be
   applied to other widget types in the future.
2020-01-04 10:56:25 +01:00
Bastien Bouclet
4d0bb753e4 GUI: Remove the ThemeItem draw queues
Drawing nows happens directly when the Dialog or Widget draw methods are
called. This makes it easy to debug why a particular low level draw
method was called, by inspecting the call stack.

This replaces the notion of "buffering" by two independant ways to
control what is drawn and where:
- The active layer is used to select whether the foreground or
  background part of the dialogs are rendered by the draw calls.
- The active surface is used to select if the draw calls affect the back
  buffer or the screen.

The foreground layer of the active dialog is drawn directly to the
screen. Its background layer is drawn to the back buffer. This way
widgets can restore the back buffer in order to update without having to
redraw the dialog's background.

Dialogs lower in the dialog stack are drawn entirely to the back buffer.
2018-03-12 11:46:04 +01:00
Bastien Bouclet
5878c618c9 GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
Eugene Sandulenko
0ebe534771 SCUMM: Fix dialog initialization 2016-11-27 14:02:52 +01:00
Ben Castricum
6a2059e13f SCUMM: Use exact strings in stringtable, fixes bug #6886
Similar (fix) to bug #6739
2016-07-01 07:33:36 +02:00
Ori Avtalion
3564032330 JANITORIAL: Reduce audio header dependencies 2016-04-14 16:10:21 +03:00
Ori Avtalion
253e18c440 JANITORIAL: Reduce GUI header dependencies 2016-04-14 13:30:14 +03:00
Eugene Sandulenko
777e6fde39 ALL: Split SMALL_SCREEN_DEVICE into GUI_ENABLE_KEYSDIALOG and GUI_ONLY_FULLSCREEN 2016-04-10 13:02:27 +02:00
Eugene Sandulenko
deb7623fbf SCUMM: Add safety check 2015-11-28 00:06:47 +01:00
Ben Castricum
df12402a58 SCUMM: Fix bug 6739 - Untranslated dialogs 2014-10-27 16:33:09 +01:00
Kirben
7761c75c31 SCUMM: Fix Bug #6711- Wrong quit message shown in Pajama Sam Lost and Found. 2014-08-20 08:36:40 +10:00
Johannes Schickel
3847465163 SCUMM: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Johannes Schickel
89abab97e3 JANITORIAL: Remove trailing whitespaces.
Powered by:
git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-26 04:17:55 +02:00
Johannes Schickel
95cabb0ffd SCUMM: Add a difficulty selection dialog for Loom FM-Towns.
It is in spirit of the DOS version's selection dialog, but it has the
description above the buttons instead of below it.
2011-12-26 15:25:41 +01:00
Johannes Schickel
6fe7b020a8 SCUMM: Made some static data const. 2011-09-08 20:13:13 +02:00
Johannes Schickel
59200bf426 SCUMM: Fix compilation when translation support is disabled.
For this I added a convenience version of getLanguageYesNo, which works on the
currently setup GUI translation language. All other code which requires this
acan also use it instead of having to worry about the USE_TRANSLATION and thus
having two code paths.
2011-08-20 19:36:54 +02:00
Eugene Sandulenko
c577ff1b2a SCUMM: Fix typo in comment 2011-08-20 17:53:55 +01:00
Eugene Sandulenko
03d3b683d2 I18N: Added comments to some of obscure translatable strings 2011-08-20 15:11:47 +01:00
Eugene Sandulenko
4294c6c67a SCUMM: Added support for localization in Y/N dialog 2011-08-20 12:52:36 +01:00
Eugene Sandulenko
ab8de3add5 SCUMM: Added translation support for V1 dialogs 2011-08-20 12:52:13 +01:00
Eugene Sandulenko
0e3c629ceb SCUMM: Added translation support to subtitle settings 2011-08-20 12:52:10 +01:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn
42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00
Max Horn
668adaa461 GUI: Rename gui/GuiManager.* to gui/gui-manager.*
svn-id: r54265
2010-11-16 10:19:01 +00:00
Max Horn
427dc1ae93 GUI: Move major widgets to new directory gui/widgets
Also renamed the source/header files, now they are more closely
aligned to how we rename most other source files

svn-id: r54264
2010-11-16 10:11:57 +00:00
Max Horn
a1dd7a07a1 ENGINES: Remove some 'using' statements
svn-id: r54001
2010-11-01 16:00:17 +00:00
Max Horn
d2a7a840c7 SCUMM: Move class Player_V2CMS to its own header file
svn-id: r53829
2010-10-25 16:41:39 +00:00
Johannes Schickel
70245181f1 SCUMM: Fix for bug #3064655 "Restart with F8 key not working properly".
svn-id: r52715
2010-09-13 23:35:55 +00:00
Eugene Sandulenko
01f9006ee7 GUI: Implement tooltips. FR #2821513.
FR #2821513: "GUI: add tooltips".
Added tooltips for Add Game button, clear field buttons and couple
other.

Current problem: Only first call correctly restores text. I could
not find where restore information gets lost.

svn-id: r49774
2010-06-15 10:52:35 +00:00
Eugene Sandulenko
3fafa07ab0 GUI: Added in-place hotkeys for widgets.
Now it is possible to specify hotkeys in place for ButtonWidget
and CheckboxWidget (the only widgets with hotkeys now).

Use de-facto standard with putting hotkey between tildes (~).
Like '~O~pen'. The tildes gets stripped before after hotkey
is extracted.

This is done for giving translators possibility to specify
their own hotkeys.

Old hotkeys defined at widget instance creation are left for
leaving possibility to specify non-printable hotkeys such as
Common::ASCII_ESCAPE.

Translation files were updated respectively.

svn-id: r49766
2010-06-15 10:47:31 +00:00
Max Horn
947edd08c3 Replace SCUMM F5 dialog by GMM & add help button to GMM
The new "Help" button in the GMM is currently only used by SCUMM.
To use it, an engine currently needs to subclass MainMenuDialog.

svn-id: r49249
2010-05-26 19:54:50 +00:00
Max Horn
894e2aefe6 GUI: Unify various definitions of kOKCmd and move it to namespace GUI
svn-id: r48564
2010-04-06 09:26:43 +00:00
Max Horn
7dafef752f SCUMM: Make HelpDialog & ConfigDialog internal
svn-id: r48562
2010-04-06 09:26:04 +00:00
Max Horn
3a8366526b Remove old & undocumented MSVC 6 workaround
svn-id: r48561
2010-04-06 09:25:44 +00:00
Max Horn
4fc8ebab01 GUI: Remove GuiObject::getMillis()
svn-id: r48241
2010-03-11 23:41:28 +00:00
Travis Howell
f40c466d5e Fix bug #2959947 - SPYFOX1: Saves don't work from menu.
svn-id: r48142
2010-02-27 02:49:27 +00:00
Yotam Barnoy
ef330ed9b4 Patch for bug 2943361 by littleboy, adding full kb modifier support to all engines + GUI and proper keypad handling
svn-id: r48101
2010-02-21 04:04:13 +00:00
Johannes Schickel
88b4bbb952 Fix broken Scumm dialogs, which is a regression from r46947. (They used a dummy name, which didn't exist in the theme config and later on just calculated the size on their own...)
svn-id: r47057
2010-01-05 22:18:09 +00:00
Johannes Schickel
b5ce08b2c6 Switch SCUMM engine to use the SaveLoadChooser from gui/ instead of implementing its own, which resulted in code duplication.
svn-id: r43552
2009-08-20 09:21:09 +00:00
Johannes Schickel
5a89bc058c Fix F5's save button in DOTT CD for me. Actually I was able to reproduce the issue before I wrote this code, after reverting it for more testing, I couldn't reproduce it anymore. Probably it was some random problem, at least this code should now assure the "Save" button's state is always matching the return value of ScummEngine::canSaveGameStateCurrently.
svn-id: r43436
2009-08-16 12:10:37 +00:00
Johannes Schickel
0e32d53341 Fix bug #2838464 "SCUMM: GUI messages misaligned".
svn-id: r43431
2009-08-16 11:28:59 +00:00
Travis Howell
fad11ade6e Simplify the code to check whether loading or saving a game is possible.
svn-id: r42671
2009-07-23 05:48:20 +00:00
Eugene Sandulenko
9b031982cf Fix bug #1745396: "MI: Saved game from the credits sequence fails to load".
Now we specifically disallow saves in room 0 for all v4+ games. Original
has exactly this check in all versions, and such games are impossible to load.

Still the problem is not resolved for v0-v3 and HE games.

svn-id: r42664
2009-07-22 19:25:53 +00:00
Johannes Schickel
1e3beb40c0 This commit is just for DrMcCoy. (forgot to fix two usages of whitespaces instead of tabs for indentation -.-)
svn-id: r42539
2009-07-16 17:44:05 +00:00