89729 Commits

Author SHA1 Message Date
Alexander Tkachev
0a3d6d8054 GUI: Fix TabWidget's < and > buttons
These were incorrectly positioned (typos in code, missing value in one
expression).
2019-08-03 04:35:48 -04:00
Alexander Tkachev
c47b204ac3 GUI: Minor offsets fixes in Tooltip and EditTextWidget 2019-08-03 04:35:48 -04:00
Alexander Tkachev
9ba3cd594d GUI: Tune ScrollContainerWidget offsets
Well, it ain't a fix, because it's not exactly correct for any of the
themes. Yet it's the best for all of them. If I put what seems to be
correct, "modern" theme gets ruined, because it has this mystical 2px
offset in tabs/scrollcontainers.
2019-08-03 04:35:48 -04:00
Alexander Tkachev
c91bcbfb94 GUI: Fix scrollbars
- removed +1px in ListWidget, added in lordhoto's 2007 commit 68eb28a
(aka r29971 in svn) `Fix for bug #1670082 "GUI: Modern theme gfx glitch
in launcher".`, because it made clip this last line of scrollbar in all
themes, which doesn't look good. In 2007 theme was written in .ini,
which is not the case now. I don't see any glitches after removing this
"fix";

- fixed how scrollbar top and bottom scroll buttons are drawn in
ThemeEngine::drawScrollbar: there were these weird magic numbers, but in
reality extra space that buttons should occupy is hardcoded in
scrollbar.cpp (ScrollBarWidget) and is just +1px.
2019-08-03 04:35:48 -04:00
SupSuper
32a997d243 BUILD: Fix 8-bit Windows icon transparency
They were showing as black squares in Windows XP
2019-08-03 05:30:19 +01:00
Paul Gilbert
0ede777f55 GLK: FROTZ: Title screen for Arthur is partially showing 2019-08-02 20:29:51 -07:00
Paul Gilbert
2eb7479d91 GLK: Fix VS uninitialized field warnings 2019-08-02 19:45:14 -07:00
Paul Gilbert
7c15d0d232 GLK: GLULXE: Fix VS packing warnings 2019-08-02 19:04:10 -07:00
Paul Gilbert
7d4cbcd422 GLK: Remove unused _vm field of Debugger 2019-08-02 19:03:11 -07:00
Thanasis Antoniou
2c68c1a06c BLADERUNNER: Restore nu-sooch dumped comment 2019-08-02 14:56:07 +03:00
Cameron Cawley
d4cc366334 ANDROID: Don't hide the virtual keyboard when the Enter key is pressed 2019-08-02 11:25:47 +01:00
Paul Gilbert
efdf965170 GLK: Properly handle Blorb images that have an adaptive palette 2019-08-01 22:05:40 -07:00
Paul Gilbert
8a8ac63636 IMAGE: Add a paletted transparency mode flag to PNGDecoder
Previously, the PNGDecoder would always convert images that
have a palette with a transparent color(s) to a full RGBA
surface automatically. There needed to be a way to diable
this and keep the image paletted for the Glk engine, since
some Infocom V6 game Blorb files reuse the palettes from
previous images, so I couldn't have the decoder using the
dummy palette that comes with the image
2019-08-01 22:05:40 -07:00
Paul Gilbert
d680b0b029 GLK: Added Blorb mapping to the optional adaptive palette list 2019-08-01 22:05:40 -07:00
sluicebox
0554ec8000 SCI: Fix LB2 coal message in room 720 2019-08-01 19:58:46 -07:00
Paul Gilbert
ccf904d8ff SHERLOCK: SS: Add French version detection 2019-08-01 18:50:44 -07:00
Cameron Cawley
837ac7e7ec TEENAGENT: Add debug commands to play voices and sound effects 2019-08-02 00:08:58 +01:00
Thanasis Antoniou
cd8816428e BLADERUNNER: Make use of new text wrapping functionality
Even width length for subtitle lines, but prioritize explicit new lines if present
2019-08-02 01:59:22 +03:00
Cameron Cawley
c7307774ba TEENAGENT: Add the music directory to the search path
Needed by the GOG CD version.
2019-08-01 23:56:37 +01:00
Thanasis Antoniou
4630895ccc COMMON: Explain new params for wordWrapText() 2019-08-02 00:08:38 +02:00
Thanasis Antoniou
1bca3de594 COMMON: Support text wrapping with even width line segments
The new arguments are optional. The lines segments will be close to the same width.

The algorithm is similar to the one we had for Blade Runner but not exactly the same, since that one would wrap a line at a white space after the theoretical split point (quotient of full line text width divided by target lines number)
2019-08-02 00:08:38 +02:00
sluicebox
72c50d38ae SCI: Fix ICEMAN 'Climb down hatch'
Fixes bug #11039
2019-08-01 14:42:58 +03:00
sluicebox
487f616142 SCI: Fix LB1 fingerprint copy protection 2019-07-31 09:08:37 +03:00
Thierry Crozat
2cd224df60 I18N: Update translation (French)
Currently translated at 100.0% (1105 of 1105 strings)
2019-07-30 23:03:45 +02:00
Thierry Crozat
591ddf5b0b I18N: Update translations templates 2019-07-30 22:43:57 +02:00
Thierry Crozat
3e13bba28f GUI: Fix translation context for Cloud and LAN tabs 2019-07-30 21:43:08 +01:00
Thierry Crozat
74882eee54 I18N: Update translation (French)
Currently translated at 98.2% (1063 of 1083 strings)
2019-07-30 21:53:54 +02:00
Lothar Serra Mari
7ba0c446b5 I18N: Update translation (German)
Currently translated at 100.0% (1083 of 1083 strings)
2019-07-30 21:53:48 +02:00
Thierry Crozat
4b3e13e4bd I18N: Update translations templates 2019-07-30 21:42:06 +02:00
Lothar Serra Mari
0a1b8d8149 I18N: Remove obsolete POTFILES entry for storagewizarddialog.cpp 2019-07-30 21:41:28 +02:00
Niv Baehr
0377045f0e QUEEN: Skip talk on right click 2019-07-30 22:25:14 +03:00
Alexander Tkachev
cffd6d79ab GUI: Fix a label in Cloud tab 2019-07-30 14:51:41 -04:00
Alexander Tkachev
f6a17e679f CLOUD: Ask user to manually enable Storage
For more security, newly connected Storage only gets username/used space
information and is disabled until user manually presses the button.
2019-07-30 14:51:41 -04:00
Alexander Tkachev
85431c39bf CLOUD: Change interaction with /refresh endpoint
Refresh token is now passed as custom HTTP header, not in GET parameter,
to prevent them being written into server logs.
2019-07-30 14:51:41 -04:00
Alexander Tkachev
e7ca2b8db0 CLOUD: Ignore hidden files in sync/download
In PR#1754 we've discussed and decided to ignore hidden (having a name
starting with '.') files while syncing saves or downloading game files.
This commit adds a CloudManager method to test whether file should be
ignored, and this method could be extended later if we need to ignore
some other specific file names.
2019-07-30 14:51:41 -04:00
Alexander Tkachev
7fc6477ce2 COMMON: Update getHumanReadableBytes() in util.h
Function now casts bytes (as <1024) to unsigned long int to correspond
"%lu" format string. For consistency, KB are now printed as floating
number. Finally, it looks like double is pretty precise to be used in
comparisons, so I made the function a little bit shorter.
2019-07-30 14:51:41 -04:00
Alexander Tkachev
16d97b6948 CLOUD: Minor fixes for the PR#1754
- added missing 'd' in "%d" in SavesSyncRequest;
- removed trailing ',' in enum in gui/options.h;
- fixed #endif to have // before USE_LIBCURL in gui/options.h.
2019-07-30 14:51:41 -04:00
Alexander Tkachev
f7902583bc GUI: Change 'Wi-Fi Sharing' tab name to 'LAN' 2019-07-30 14:51:41 -04:00
Alexander Tkachev
e4da63823a GUI: Add feature description into Wi-Fi Sharing tab 2019-07-30 14:51:41 -04:00
Alexander Tkachev
a9d47a163e GUI: Fix Cloud tab scrolling problem
GlobalOptionsDialog is now also a CommandSender, so it could send
command "scroll to the top" when storage is disconnected in Cloud tab
(layout updates, that's why scrolling is needed).
2019-07-30 14:51:41 -04:00
Alexander Tkachev
a1b847a1ef GUI: Make Cloud tab wizard input box cleanup value
Now input box does not remember old code you've put in it if you changed
selected storage or disconnected one.
2019-07-30 14:51:41 -04:00
Alexander Tkachev
28c93ed027 GUI: Fix Cloud tab wizard elements displaying after connecting storage
Elements were displayed until scrollbar was used, now they are hidden
right after storage is connected.
2019-07-30 14:51:41 -04:00
Alexander Tkachev
3df126853a GUI: Separate Cloud tab in two
All local webserver-related settings are now shown in a separate, "Wi-Fi
Sharing" tab (shown if built with USE_SDL_NET). Cloud tab is only shown
if actual cloud storages are built (USE_LIBCURL).
2019-07-30 14:51:41 -04:00
Alexander Tkachev
99c2418d1a GUI: Rewrite Cloud tab
- StorageWizardDialog is removed, along with bmps it was using;
- EditTextWidget now accepts custom font in constructor;
- ScrollContainer scrollbar now jumps to top when content height changes
so it's "overscrolled";
- IndexPageHandler now does not awaits for `code` GET-parameter, as
local webserver is no longer used to connect Storages;
- CloudManager and all corresponding Storages are updated to support
disconnecting and to notify about successful connection.
2019-07-30 14:51:41 -04:00
Alexander Tkachev
31628d6428 CLOUD: Refactor BaseStorage largest methods
Not sure if that's really better, but it was really annoying to
copy-paste `delete a; delete b; return;` in every error-handling
section.
2019-07-30 14:51:41 -04:00
Alexander Tkachev
72c7f8226c CLOUD: Minor cleanup in OneDriveTokenRefresher 2019-07-30 14:51:41 -04:00
Alexander Tkachev
1e92e7b9f3 CLOUD: Fix saves syncing
This mostly affects OneDrive saves syncing, because it is the only cloud
provider to return 0 as timestamp of (non-)created file. 0 is treated as
EOF in /saves/timestamps file, thus all timestamps after such 0
timestamps were ignored and files were reuploaded as being "new". This
commit also adds more verbose debug information on SavesSyncRequest
decisions making for easier debugging.
2019-07-30 14:51:41 -04:00
Alexander Tkachev
c1124c9cda CLOUD: Handle Cloud requests more frequently
ConnectionManager used to poll Cloud requests every second, while curl
requests were polled every 1/20th of a second. If curl request was over
at, say, frame #21, corresponding Cloud request would've only work with
that at frame #40 (950 ms later), which was making everything
cloud-related slower than it could be. This commit fixes it by making
Cloud polling period the same as curl polling period, and additionally
raises FPS to 25.
2019-07-30 14:51:41 -04:00
Alexander Tkachev
edbea10c2e CLOUD: Fix OneDriveStorage API interaction
Something changed and old API endpoint "api.onedrive.com" now does not
work. The other one, "graph.microsoft.com", does, but there were some
other changes in JSON it returns. These changes are also in this commit.
2019-07-30 14:51:41 -04:00
Alexander Tkachev
e8669f693c CLOUD: Update BaseStorage to expect no refresh_token
While refreshing access_token, some cloud providers also pass a new
refresh_token. Google Drive does not, and accepts the same refresh_token
next time. These changes allow this to happen.
2019-07-30 14:51:41 -04:00