Commit Graph

7048 Commits

Author SHA1 Message Date
Eugene Sandulenko
27fbde1443 ANDROID: Added more logic for scraping the storage paths 2019-09-27 00:22:20 +02:00
Eugene Sandulenko
3c92722db6 ANDROID: Request permissions to external storage 2019-09-27 00:22:20 +02:00
Eugene Sandulenko
0481669b1f ANDROID: Fix exception 2019-09-27 00:22:20 +02:00
Eugene Sandulenko
f12d7160f8 ANDROID: Added list of external storages to the list of accessible directories 2019-09-27 00:22:20 +02:00
Eugene Sandulenko
23211392c0 ANDROID: Use external storage enumerator for the root directory 2019-09-27 00:22:20 +02:00
Eugene Sandulenko
580142c9ea ANDROID: Hook getAllStorageLocations() into JNI 2019-09-27 00:22:20 +02:00
Eugene Sandulenko
2b72cc0b5c ANDROID: Hook external storage class into ScummVMHelper 2019-09-27 00:22:20 +02:00
Eugene Sandulenko
4e5f26b44e ANDROID: Turn map into spliced list for easier marshalling 2019-09-27 00:22:20 +02:00
Eugene Sandulenko
bc1c4b3ec1 ANDROID: Initial code for external storage enumerator 2019-09-27 00:22:20 +02:00
Tarek Soliman
1074d600d2 MAEMO: Update debian/rules for new files 2019-09-24 11:19:28 -05:00
Tarek Soliman
d538d13ee0 SDL: Fix build for older SDL versions
This fixed the breakage caused by 6dba0bbfd4
in ancient SDL1 versions that don't have SDL_iconv_string()

Closes gh-1862
2019-09-24 09:55:27 -05:00
Thanasis Antoniou
f79d5d9b6b ANDROID: Use _system->destroy() instead of just delete in JNI::Destroy() 2019-09-24 12:40:18 +03:00
Thanasis Antoniou
b4b9ad1743 ANDROID: Remove duplicate _system->quit() from JNI::Destroy()
Since it is already called in Jni::main after scummvm_main() returns. The second call in destroy caused crashes on some devices.
2019-09-23 20:51:44 +03:00
Thanasis Antoniou
d39eca7e39 ANDROID: Fix crash when exiting a game (Blade Runner) 2019-09-23 16:02:30 +03:00
Eugene Sandulenko
41b49444b6 RELEASE: This is 2.2.0git 2019-09-23 00:12:30 +02:00
Cameron Cawley
1699a2e1cf SURFACESDL: Properly distinguish between 555 and 565 modes 2019-09-21 22:19:07 +03:00
Cameron Cawley
7bf22fa996 BACKENDS: Add EVENT_CLIPBOARD_UPDATE event 2019-09-21 22:16:01 +03:00
Cameron Cawley
014bef9eab BACKENDS: Add a default clipboard implementation 2019-09-21 22:16:01 +03:00
Thierry Crozat
caf0968078 NETWORKING: Convert translation results to UTF-8 for local webserver pages 2019-09-21 22:15:26 +03:00
Cameron Cawley
281c292d67 RISCOS: Minor build system improvements 2019-09-19 17:03:09 +01:00
Cameron Cawley
a46299ec37 RISCOS: Ignore non-convertible UTF-8 characters when converting the documentation 2019-09-18 17:14:10 +01:00
Cameron Cawley
00728b94e3
RISCOS: Fix building outside the main source tree 2019-09-18 12:40:39 +01:00
Alexander Tkachev
d488e1dd55 Revert "WIN32: Fix getting the parent directory of non-existant file nodes" 2019-09-16 13:15:23 +02:00
D G Turner
78495ae462 CLOUD: Fix MSVC Warning in Google Drive Token Refresher
This was reported by Henke37 on IRC.
2019-09-15 23:56:51 +01:00
Cameron Cawley
410923351b Revert "COMMON: Implement FSNode::createDirectoryRecursive()"
This reverts commit aca627bec7.
2019-09-15 00:07:46 +02:00
Thanasis Antoniou
e7d331fe94 ANDROID: Use FORBIDDEN_SYMBOL_EXCEPTION_getenv for browser_lastpath purposes 2019-09-15 00:46:02 +03:00
Thanasis Antoniou
1fd01c82ae ANDROID: Set default browser_lastpath to /storage
Avoid use of get_env
2019-09-15 00:28:44 +03:00
Thanasis Antoniou
8ca76c65fc ANDROID: Set default browser_lastpath 2019-09-15 00:21:40 +03:00
Eugene Sandulenko
f86f96e188 NETWORKING: Clarify where to put wwwroot.zip 2019-09-14 22:45:17 +02:00
Eugene Sandulenko
b2fff44647 NETWORKING: Clarify message when web server resources are not available 2019-09-14 22:23:04 +02:00
Antoniou Athanasios
186dfd7bd5 ANDROIDSDL: Remove warning about unhandled kFeature
The fix is borrowed from the Switch backend
2019-09-14 21:50:49 +03:00
Cameron Cawley
e55e429353 WIN32: Fix getting the parent directory of non-existant file nodes 2019-09-14 19:56:43 +03:00
sluicebox
e8f009e04f IOS: Call exit(0) when exiting to prevent hanging
Prevents the process from hanging on exit when using the
Quit button in launcher or a game's quit function
2019-09-10 13:02:28 +03:00
Cameron Cawley
7a05624e1b
ANDROID: Rewrite to make use of OpenGLGraphicsManager (#1695)
* ANDROID: Rewrite to make use of OpenGLGraphicsManager

* ANDROID: Fix emulated mouse button up events
2019-09-08 19:37:48 +01:00
Cameron Cawley
e1878a372c
PSP: Fix missing semicolon 2019-09-06 13:59:47 +01:00
Cameron Cawley
0b4869b92b RISCOS: Fix checking the "enable_reporter" config option 2019-09-06 13:53:26 +01:00
Cameron Cawley
7a8ddcbe38 PSP: Replace PSPSaveFileManager with DefaultSaveFileManager 2019-09-06 14:48:16 +02:00
Jaromir Wysoglad
6886ae0dae SDL: Copy result of SDL_iconv_string() 2019-09-05 23:52:46 +01:00
Jaromir Wysoglad
26bf329b95 TTS: Fix possible deadlock 2019-09-05 23:52:46 +01:00
Jaromir Wysoglad
ba859f1eed TTS: Minimize the time needed for stop() on Win32
This gets rid of freezes when using TTS on Windows.
2019-09-05 23:52:46 +01:00
SupSuper
1c1cc91ad5 COMMON: Don't include win32.h in common/encoding.h 2019-09-02 08:01:18 +03:00
Jaromir Wysoglad
55c399c7c0 TTS: Use Common::Encoding for encoding conversion. 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
d399c37e6e WIN32: Use uint instead of unsigned int. 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
4b5b812712 TTS: Better documentation of TTSVoice. 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
0d332e065e TTS: Rename LinuxTextToSpeechManager to SpeechDispatcherManager
Add a new define for the SpeechDispatcherManager
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
b97333d4b7 TTS: Remove USE_PLATFORM_TTS defines
Use defined(USE_TTS) && defined(PLATFORM) instead
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
d49331132a TTS: Add summary of changes in sphelper-scummvm.h 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
c402666635 TTS: Refactoring
Refactoring as suggested by bluegr on github.
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
c861581adc TTS: Fix missing indentation 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
c2c4458253 JANITORIAL: Remove some trailing whitespaces 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
b1bffaba86 TTS: Implement our own queuing on windows.
Similarly as on linux, there isn't enough control of the speech
queue to properly implement INTERRUPT_NO_REPEAT. So since this
commit we use our own queuing and use SAPI to speak each speech.
This is done outside the main thread.
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
be5c865c50 TTS: Add proper speech queuing, update INT_NO_REP.
Before I used SPD to queue messages and I had a copy of the queue,
so I could requeue everything when resume is called(). But more
control of the queue is needed, so I don't use the SPD's queue
and instead start speeches from my queue one by one from another
thread.

INTERRUPT_NO_REPEAT now behaves as described in the documentation
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
bc10117980 TTS: Restart SPD if resume() fails. 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
4036b73b6c TTS: Fix INTERRUPT_NO_REPEAT on Windows 2019-09-01 22:47:55 +03:00
Thierry Crozat
13a32fc5e9 TTS: Implement *_NO_REPEAT actions and Fix state synchronization issues on macOS
The NSSpeechSynthesizer is asynchronous and does not immediately start, pause,
or stop the speech. As a result querrying the state of the NSSpeechSynthesizer
does not alwats return the expected result (for example isSpeaking may not
yet been true just after we requested starting to speak). So instead the
TextToSpeechManager on macOS keeps track of the state itself.
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
21fb4cef06 TTS: Implement our own queuing for linux
It seems like, that at least some versions of speech-dispatcher
aren't able to successfuly pause and resume. For me, when trying
to pause, it still finishes the speech just being said instead
of pausing it and then it puts it at the end of the speech queue
with some speech-dispatcher internal commands added to it, which
are also hearable.

There is no way to find out where the speech ended when calling
pause, so it is just stopped and when resume is called it is
read from it's start again.
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
4bae32ffe7 TTS: Add *_NO_REPEAT actions 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
feaba6fff6 TTS: Reimplement isSpeaking on Windows. 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
1234f8e42f TTS: Fix pause() and resume() on linux 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
7ec4f03a08 TTS: Make state switching faster on Linux 2019-09-01 22:47:55 +03:00
Thierry Crozat
9ca2602e82 TTS: Implement speech queueing on macOS 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
6703f88f7f TTS: Implement speech queueing on Linux and Win 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
bbbb608c52 TTS: Implement OSD message reading 2019-09-01 22:47:55 +03:00
Thierry Crozat
bac880816b TTS: Stop or pause speaking on word boundaries in macOS implementation 2019-09-01 22:47:55 +03:00
Thierry Crozat
0434419b31 TTS: Implement TextToSpeechManager for macOS 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
e965df1e88 TTS: Add TTS support when compiling with msvc. 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
c7dbf192ef TTS: Remove unneeded code
Remove debuging outputs
Remove commented iconv implementation of text conversion to UTF-8
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
58065ceacd TTS: Refactoring
* Delete multiple empty rows
 * Make getVolume non-virtual and leave just the implementation
    in base class
 * Resolve warning about signed / unsigned comparison in
    gui-manager
 * Clear availableVoices when updating voices on linux
 * By default set language to transMan language on windows
    (if the transMan is available)
 * Remove freeVoices method from Windows ttsMan, it isn't needed
    anymore
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
0631070833 TTS: Fix state switching on windows
Voice is changed when changing language on windows, so when poping
state, the voice, that should get set has to be saved before
changing the language.

The speech shouldn't continue when changing state, so it is stopped
in pushState and popState.
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
e4363ba229 TTS: Minor Windows TTS refactoring
Main changes are:
 * Save age information about each voice
 * Remove Sample TTS Voice from available voices, because it
 	basicaly cannot speak.
 * Stop speech after silently playing the test speech (the last
 	voice could be heard speaking after the volume got
	restored to its original value)
 * Remove voice data freeing from freeVoices, because it gets
 	freed automaticaly
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
134d955006 TTS: Add iconv implementation of strToUtf8
This might be useful in the future, because SDL cannot convert
from some important encodings (for example CP850)
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
3027acc12e TTS: Minor refactorisations
- Add comment to tts initialization on Windows
 - Correctly free the voicesInfo in linux ttsMan
 - Remove popState method from linux-text-to-speech.h and
	windows-text-to-speech.h
 - Add tts to help in configure
 - Refactor language setting in gui-manager.cpp
	It counted with english being the default language in
	ttsMan constructors, which isn't true anymore.
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
b5d5576f90 TTS: Add check to getVoice, fix typo.
Check if _availableVoices isn't empty.
Replace availaible with available
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
788b15652d TTS: Change String == "" to String.empty() 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
7c78912931 TTS: Move popState to the base class 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
d31ffb676a TTS: Implement conversion to unicode in say on win 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
5c1f562452 TTS: Implement conversion to UTF-8 in say on linux 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
4d95720731 TTS: Fix voice setting on startup
The ScummVM was crashing because of an assert, when there was less
voices availaible, than what was set in the ConfMan.

Now the voice just falls back to 0th voice, if there are not
enough voices.
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
5d9f03e71d TTS: Add reference counting to TTSVoice
Also refactor TTSVoice destruction to use this reference counting.
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
8e4a24f55e TTS: Unify setters between linux and win backends. 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
ce64528129 TTS: Make sure that TTS lang matches transMan lang 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
33f8aadfeb TTS: Add age to TTSVoice 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
318c6d7ec6 TTS: Finish implementing the Windows TTS manager 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
d2d34a4eca TTS: Start implementing windows TTS 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
8357e8e6bf TTS: Prepare for windows TTS
Add windows configuration in configure
Add basic skeleton to backends
Check if ttsMan is initialized in GUI
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
5ee30a1b73 TTS: Convert strings to UTF-8
Conversion happens only for languages, that might needed (not
for english)
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
e801e83f43 TTS: Restart spd connection on speak error. 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
a9eaf46c42 TTS: Add warning if the TTS could not be inited 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
7d72fc0d60 TTS: Restrict TTS on linux to only english
Unfortunatedly the encoding used by ScummVM breaks the
speech-dispatcher, so after trying to say non-ascii character
the connection has to be restarted. So for now I am restricting
the GUI TTS to english only.
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
8bd7e39265 TTS: Add voice selection to options 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
b5cebcbeae TTS: Add text to speech to the GUI. 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
fa6faca76a TTS: Add TTS checkbox to Options
Probably works only in the builtin theme right now.
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
62a011e28a TTS: Add ttsStatus push and pop functions 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
7f895d21df TTS: Add checks for correct TTS engine state. 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
8c44b03231 TTS: Resolve segfault when exiting scummvm 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
39e74b027e TTS: Add part of linux TTS 2019-09-01 22:47:55 +03:00
Jaromir Wysoglad
f78fc85f3a TTS: Create a TTS skeleton 2019-09-01 22:47:55 +03:00
Cameron Cawley
196b33bb7f PSP: Implement AbstractFSNode::createDirectory() 2019-08-26 11:38:47 +02:00
Alexander Tkachev
5b5a89e3e7 CLOUD: Make Network::ErrorResponse messages more verbose
This commit updates all usages of Network::ErrorResponse to specify at
least method name if not precise reason why operation failed.
2019-08-25 12:15:14 +03:00
Alexander Tkachev
24b1ec0ded CLOUD: Handle HTTP response headers case-insensitively
RFC 2616 states that HTTP headers are not case-sensitive and also allows
arbitrary number of whitespace characters around header value. Previous
implementation was dependant on headers to be in "Title-Case" and to
have only one space before header value. That has lead to cloud sync
failure on Debian x64 (user's network environment was probably the
reason though).

This commit adds a new method, which parses headers name-value pairs
into HashMap. To ensure case-insensitivity, all headers names are
converted to lowercase, and thus code that uses this method should
specify headers in lowercase. All usages of raw headers contents were
updated to use this method.
2019-08-25 12:15:14 +03:00
Jaromir Wysoglad
c2e0e90c27 SDL: Use a non-const string for SDL_iconv_string
With some older versions of SDL1, the SDL_iconv_string takes
char * instead of const char * as it's argument. This should
fix the build issue with gp2xwiz.
2019-08-24 21:43:57 +01:00
D G Turner
fb54cc1f77 CLOUD: Fix Inverted Test Regression in Debug Message Code
This was introduced by my previous commit to this where I accidently
inverted the tests during refactoring.
2019-08-24 16:59:17 +01:00
Jaromir Wysoglad
3cb57e2078 WIN32: Delete obsolete comment in convertEncoding. 2019-08-24 18:12:45 +03:00
Jaromir Wysoglad
6e72cd2c08 WIN32: Handle endianity in convertEncoding 2019-08-24 18:12:45 +03:00
Jaromir Wysoglad
e0f2a3460a WIN32: Move getCodePageId to codepage.h 2019-08-24 18:12:45 +03:00
Jaromir Wysoglad
04b28b208d WIN32: Fix infinite loop when converting from utf32
Because of how cyrilic transliteration and UTF-32 is handled on
Windows, it was unfortunately possible to get into an infinite
loop of conversions. The string would get converted to UTF-32
when transliterating, but because windows backend conversion
cannot convert from UTF-32, it would use Common::Ustr to convert
it to UTF-8, which would again get converted to UTF-32 when
transliterating and so on.
2019-08-24 18:12:45 +03:00
Jaromir Wysoglad
6dba0bbfd4 SDL: Remove check for SDL2 in convertEncoding()
SDL_iconv_string() is available even with SDL1
2019-08-24 18:12:45 +03:00
Jaromir Wysoglad
96270d4bf2 JANITORIAL: Remove debuging code. 2019-08-24 18:12:45 +03:00
Jaromir Wysoglad
4edf35e414 WIN32: Fix conversion of multibyte encodings. 2019-08-24 18:12:45 +03:00
Jaromir Wysoglad
41d3a70c58 SDL: Fix convertEncoding for multibyte encodings. 2019-08-24 18:12:45 +03:00
Jaromir Wysoglad
3e4b5c7d3b WIN32: Resolve endianity in convertEncoding() 2019-08-24 18:12:45 +03:00
Jaromir Wysoglad
93c6b2fafc WIN32: Implement conversion to and from UTF-32
UTF-32 is used in transliteration in Common::Encoding, so it is
pretty important encoding and Windows should be the only thing,
that cannot convert it.
2019-08-24 18:12:45 +03:00
Jaromir Wysoglad
e01f0af5b0 WIN32: Check calloc return value in covertEncoding 2019-08-24 18:12:45 +03:00
Jaromir Wysoglad
8c284c0917 WIN32: Add Win32 implementation of convertEncoding 2019-08-24 18:12:45 +03:00
Jaromir Wysoglad
0db194eed4 WIN32: Add include guard to codepage.h 2019-08-24 18:12:45 +03:00
Jaromir Wysoglad
807c55e800 WIN32: Add a way to convert codepage name to cp ID 2019-08-24 18:12:45 +03:00
Jaromir Wysoglad
d6d6ac1823 SDL: Add SDL implementation of convertEncoding 2019-08-24 18:12:45 +03:00
Cameron Cawley
8b4c3ea302 ANDROID: Use a better icon for the on screen control
Modified from https://www.iconfinder.com/icons/352464/keyboard_icon, which is available under the Creative Commons (Attribution-Share Alike 3.0 Unported) license.
2019-08-20 14:32:50 +03:00
Cameron Cawley
12c232eefc ANDROID: Add a button to show the virtual keyboard 2019-08-20 14:32:50 +03:00
rsn8887
f14a7f15d5 SWITCH: Force fullscreen always on
Windowed mode never worked correctly and is pointless since the
Switch operating system doesn't have a window manager.
2019-08-18 17:03:51 -05:00
Cameron Cawley
475eafc6c6 ANDROID: Don't deinitialize the EGL surface when pausing the application
Fixes Trac#6129
2019-08-18 22:48:08 +01:00
rsn8887
073d833283 PSP2: Force fullscreen always on
Windowed mode never worked correctly and is pointless since Vita
operating system doesn't have a window manager.
2019-08-18 15:14:20 -05:00
Cameron Cawley
ea9e33bd10 GUI: Check if fullscreen is available at runtime 2019-08-18 06:21:28 +03:00
D G Turner
54c465ef17 BACKENDS: Fix GCC Warnings in Surface SDL Graphics
This removes the usage of memset to clear complex structures and replaces
them with constructor methods for the structures which will be executed
when these are instantiated.
2019-08-15 16:26:53 +01:00
Cameron Cawley
1feb86ee97 BACKENDS: Handle screen shaking in WindowedGraphicsManager 2019-08-15 02:01:21 +03:00
rsn8887
afd360703e VITA: Use activeArea rectangle also on Vita 2019-08-13 20:54:59 -05:00
rsn8887
5b32f377a9 BACKENDS: add Fit to window (4:3) stretch mode to SDL2 backend 2019-08-13 20:42:56 -05:00
Cameron Cawley
ba2bc60043 BACKENDS: Use the default save file manager on Switch and SamsungTV 2019-08-12 10:39:43 +03:00
Cameron Cawley
7311252d8a POSIX: Remove POSIX-specific checkPath function 2019-08-12 10:39:43 +03:00
Cameron Cawley
aca627bec7 COMMON: Implement FSNode::createDirectoryRecursive() 2019-08-11 22:15:54 +03:00
Cameron Cawley
04c57babbc BACKENDS: Create the default save directory if it doesn't exist 2019-08-11 22:15:54 +03:00
Cameron Cawley
30234728d6
SDL: Removed invalid override from getGraphicsScalerProc() 2019-08-11 12:42:56 +01:00
Cameron Cawley
9b6461122e SDL: Move selecting the required ScalerProc into a separate function 2019-08-11 14:27:52 +03:00
Cameron Cawley
db445bfc87 BACKENDS: Improve AbstractFSNode::createDirectory() stubs 2019-08-06 07:17:29 +03:00
Cameron Cawley
66ef50cfeb BACKENDS: Rename and simplify AbstractFSNode::create() 2019-08-06 07:17:29 +03:00
Cameron Cawley
8b8fb6d3a4 SDL: Simplify implementation of createLogFile() 2019-08-05 10:01:30 +03:00
Thierry Crozat
fa9651d1bb IOS7: Make sure openURL is executed on the main thread 2019-08-04 20:40:22 +01:00
Thierry Crozat
468c0f0743 IOS7: Implement isConnectionLimited 2019-08-04 19:03:34 +01:00
Thierry Crozat
cd7bf2b09f IOS7: Implement getSystemLanguage 2019-08-04 19:03:34 +01:00
Thierry Crozat
160070347f IOS7: Move non-video related functions to a separate file 2019-08-04 19:03:34 +01:00
Thierry Crozat
c505a7b4bb IOS7: Implement opening a URL 2019-08-04 19:03:34 +01:00
Thierry Crozat
0ddcb9de7b IOS7: Implement copy to clipboard and paste from clipboard 2019-08-04 19:03:34 +01:00
Cameron Cawley
d765440c1a OPENGL: Support RGBA8888 swapped textures when using OpenGL ES 2019-08-04 18:46:30 +01:00
Alexander Tkachev
1c0b697a59 CLOUD: Fix OneDriveTokenRefresher
If user doesn't have a "saves" folder, listing it as a first step of
syncing save files would result in 404 from OneDrive.
OneDriveTokenRefresher handles token-related errors (401), so when it
meets 404, it calls its finishError method. But because there was some
strange behaviour from OneDrive with sending invalid JSON, this method
tries fixing JSON and parsing it again. If it is valid, it calls
non-error method again, and in result we get stack overflow.

In order to fix that, I've added a non-JSON prefix "<irrecoverable>", so
finishError won't be able to parse JSON and thus won't call finishJson
again. Saves syncing callback does check string contents apart from
trying to parse JSON, so it still works and correctly handles the
situation when "saves" directory is missing. But, if needed, code can be
updated to search for the prefix I've added and remove it before parsing
original JSON.
2019-08-04 04:36:59 +07:00
D G Turner
466b162996 CLOUD: Fix GCC Compilation Warning in Debug Code.
The warning emitted here was due to debug() call with an empty format
string, so this could have been fixed by replacing this with "%s", "".

However, this change should be better since it avoids the duplication
of the number of file check over several lines and reduces the string
duplication i.e. DRY improvements.
2019-08-03 14:52:57 +01: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
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
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
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
Alexander Tkachev
60504dce75 CLOUD: Update storages to refresh token via cloud.scummvm.org 2019-07-30 14:51:41 -04:00
Alexander Tkachev
4a427faf9c CLOUD: Get rid of 'dists/clouds/cloud_keys.h' 2019-07-30 14:51:41 -04:00
Alexander Tkachev
0ee0e2d537 CLOUD: Update GoogleDriveStorage and BoxStorage to auth via cloud.scummvm.org 2019-07-30 14:51:41 -04:00
Alexander Tkachev
8333cce498 CLOUD: Update OneDriveStorage to work via cloud.scummvm.org 2019-07-30 14:51:41 -04:00
Alexander Tkachev
64fd116092 CLOUD: Add BaseStorage, which does auth via cloud.scummvm.org 2019-07-30 14:51:41 -04:00
Alexander Tkachev
faa19c7bf0 CLOUD: Cleanup a little bit - remove unused config keys usage 2019-07-30 14:51:41 -04:00
Alexander Tkachev
2a56328d35 CLOUD: Update DropboxStorage to work with cloud.scummvm.org 2019-07-30 14:51:41 -04:00
Alexander Tkachev
ddcfcc18b2 CLOUD: Update DropboxStorage to work via scummvm.org & StorageWizardDialog correspondingly 2019-07-30 14:51:41 -04:00
Cameron Cawley
a2dcd6c4ff
SYMBIAN: Remove unused class declarations 2019-07-27 12:37:39 +01:00
Cameron Cawley
8e8594aa0e SYMBIAN: Remove dead code 2019-07-27 07:23:09 +03:00
Cameron Cawley
ecd89808c4 BACKENDS: Avoid redundant format changes on Dingux and LinuxMoto 2019-07-27 07:11:57 +03:00
Cameron Cawley
a986dfd28a
WINCE: Fix Makefile dependencies 2019-07-23 21:06:57 +01:00
Cameron Cawley
6d0adef20a PS2: Remove unused header 2019-07-23 22:27:52 +03:00
Cameron Cawley
357493082f ANDROID: Fix some Codacy warnings 2019-07-23 17:21:09 +01:00
Thierry Crozat
bfa1f392f7 POSIX: Fix missing expansion of "~" to home when it has no suffix
This fixes bug #10941: Tilde in save path creates "~" folder
2019-07-14 22:11:20 +01:00
Filippos Karapetis
d524d36a6a OPENGL: Specify a GLSL version tag, and rename reserved keywords
The GLSL version code has been taken from ResidualVM. The variable
'texture' is now a reserved keyword in GLSL 3.00, so it has been
renamed. This fixes compilation issues in AmigaOS4 (PR 1554).
2019-07-14 16:10:55 +03:00
Filippos Karapetis
da15a38b66 BACKENDS: Initialize more TimerSlot fields when resetting it
This imports changes from commit 05f3fe420f20e8e44ed525960fcb713b43d5d0ad
2019-07-14 15:12:07 +03:00
Matan Bareket
3cb90082ac GCW0: Redo bundle fix from 4b5ce0f 2019-07-11 08:58:34 -04:00
Matan Bareket
a7ba9216b7 GCW0: Package the README.md file 2019-07-11 08:34:47 -04:00
Cameron Cawley
4b5ce0fb69
GCW0: Fix copy/paste error 2019-07-11 12:27:44 +01:00
Cameron Cawley
6e690c5a8b MAEMO: Minor cleanup 2019-07-08 11:11:45 -05:00
Cameron Cawley
0334411d63 BUILD: Package networking and virtual keyboard files on all platforms 2019-07-08 12:42:21 +03:00
Cameron Cawley
52e7ba5e54 SDL: Support joystick hat input 2019-07-08 01:24:55 +03:00
Cameron Cawley
30109816fe SDL: Initial implementation of joystick events 2019-07-08 01:24:55 +03:00
Orgad Shaneh
35c2f9ade5 BACKENDS: Fix crash when save file is owned by another user
fopen() fails, but the null handle was passed on to OutSaveFile.
2019-07-07 14:16:46 +03:00
Thierry Crozat
d8cb826b19 IOS7: Add back mapping of LF character to the Return key
This is necessary for properly identifying the Return key pressed from
the software or a hardware keyboard, and this was erronously removed
in commit e5709ed.
2019-07-07 11:06:28 +01:00
Thierry Crozat
cfd66173ba IOS7: Hide input accessory toolbar when an external keyboard is connected 2019-07-06 17:00:27 +01:00
Le Philousophe
418cec512f CRYOMNI3D: Add internationalization through external DAT file 2019-07-05 07:51:19 +02:00
Cameron Cawley
eb1f9fb02d JANITORIAL: Remove outdated references to SourceForge.net 2019-07-02 21:07:54 +02:00
Thierry Crozat
bf92167007 IOS7: Add a tab key to the keyboard accessory view 2019-06-30 12:36:43 +01:00
Thierry Crozat
25ff69c250 IOS7: Use scrollview for keyboard accessory view
This allows to have more buttons than what can be displayed on the
screen, and now to have all the same buttons on iPhone and on iPad.
2019-06-30 12:36:43 +01:00
Thierry Crozat
ce9e776629 IOS7: Map three finger swipes to arrow keys
Also use the pinch gesture to show/hide the keyboard. Previously
it was using the three fingers swipe up and dowm, which is now
mapped to arrow keys.
2019-06-30 12:36:43 +01:00
Thierry Crozat
5232cf376b IOS7: Remove key mapping for function and return keys
Those keys are not present on the virtual keyboard accessory view.
This should fix bug #10314: LSL7: Unable to open Xqwsts's locker
on iOS.
2019-06-30 12:36:43 +01:00
Thierry Crozat
3ba9245138 IOS7: Add input accessory view to virtual keyboard
This adds buttons for some keys that are not present on the iOS
keyboard, such as the function and arrow keys, as well as a GMM
key.
2019-06-30 12:36:43 +01:00
Bastien Bouclet
0a8049e30c SDL: Fix gamepad mouse cursor wrapping on hi-res screens
The cursor position was overflowing a signed 16-bits integer once
multiplied with MULTIPLIER when using a resolution such as 2560x1440.

It would be nice changing this code to make more sense, sadly it is
thightly coupled with platform specific subclasses.

Fixes #10996.
2019-06-27 20:12:52 +02:00
Henrik "Henke37" Andersson
39f63f1236 WIN32: Make use of the window handle when calling ShellExecute. 2019-06-25 07:54:31 +03:00
Lothar Serra Mari
119bcc2b90 WIN32: Use HINSTANCE for OSystem_Win32::openUrl
This implementation now matches previous ShellExecute() calls, so we are
now consistent in that regard. It also
silences a warning in Mingw complaining about a type mismatch.
2019-06-24 17:00:20 +03:00
Cameron Cawley
16f8c024d1 OPENGLSDL: Move stretch mode handling into OpenGLGraphicsManager 2019-06-24 02:19:28 +03:00
Cameron Cawley
0ddfe927ce OPENGLSDL: Move getSupportedFormats into OpenGLGraphicsManager 2019-06-22 01:15:39 +03:00
Cameron Cawley
b9e29cedfc ANDROID: Move isConnectionLimited into OSystem 2019-06-21 08:19:37 +03:00
rsn8887
dbc0a5ff09 SWITCH: Make direct touch (pointer jumps to finger) the default 2019-06-16 14:07:46 -05:00
rsn8887
536521d356 SWITCH: Enable touchpad mouse mode option in controls 2019-06-13 15:38:10 -05:00
Henrik "Henke37" Andersson
b527b573cf WIN32: Let the PE header control showing the console.
This applies DRY to the console config and avoids junk code changes seen by git.
2019-06-09 13:42:06 +03:00