Commit Graph

3887 Commits

Author SHA1 Message Date
Le Philousophe
db8559ff3e COMMON: Initialize _pbase_dir in all constructors
Fixes bug #12337
2021-03-20 21:04:06 +01:00
D G Turner
b8c4cd8129 COMMON: Use Correct Symbol in New String Function 2021-03-15 23:01:24 +00:00
Le Philousophe
75833aba29 COMMON: Don't use unavailable macros in unicode-bidi.h
Use Fribidi ones directly in implementation and tag the constructor as
"private"
Fix a warning on Common::CodePage
2021-03-15 16:29:28 +02:00
Orgad Shaneh
2aba99819a COMMON: Remove explicit ctors and copy assignment operator
They're equivalent to the implicit ones anyway.
2021-03-15 13:24:33 +00:00
Orgad Shaneh
2de08c0717 COMMON: Fix FriBidiParType failure on 3ds
/data/src/master/common/unicode-bidi.cpp: In member function 'void
Common::UnicodeBiDiText::initWithU32String(const Common::U32String&)':
/data/src/master/common/unicode-bidi.cpp:78:3: error: invalid conversion
from 'uint32*' {aka 'unsigned int*'} to 'FriBidiParType*' {aka 'long
unsigned int*'} [-fpermissive]
   78 |   &_pbase_dir,
      |   ^~~~~~~~~~~
      |   |
      |   uint32* {aka unsigned int*}
2021-03-14 22:18:15 +01:00
Zvika Haramaty
dc5783c910 COMMON: Add String::forEachLine and convertBiDiStringByLines
`convertBiDiStringByLines` calls the BiDi algo for each line in isolation,
and returns a joined result.
That's needed to support BiDi in AGI, and might be needed for other engines
in the future.

In order to do that, a new utility function was added:
`String::forEachLine` which gets a function as input, and its arg(s) (if it has any),
and calls the function on each line, and returns a new string which is all
concatenation of all the lines results (with '\n' added between them).
2021-03-14 18:52:36 +01:00
Martin Gerhardy
8b2e957914 COMMON: fixed clang-sanitizer warnings 2021-03-14 11:26:19 +01:00
Martin Gerhardy
5b9fa67445 COMMON: const for AchievementsManager::isAchieved 2021-03-14 11:26:19 +01:00
Martin Gerhardy
6121292934 COMMON: fixed formatting 2021-03-14 11:26:19 +01:00
D G Turner
11654c8fbf COMMON: Fix Compilation with pre-C++-11 Compilers 2021-03-13 19:44:17 +00:00
D G Turner
d91b87acbf COMMON: Fix GCC Warning for Implicit Copy Operator in Queue Class
This is emitted when -Wdeprecated-copy is enabled. The fix implemented
is to explicitly declare this to be the default copy operator.

Since this may be a latent bug, this is marked with a FIXME.
2021-03-13 12:34:19 +00:00
D G Turner
0d6e4d647a COMMON: Minor Formatting Fix in String Header 2021-03-12 19:50:49 +00:00
Thierry Crozat
50932ffb38 BUILD: Fix building with c++11 on systems without std::nullptr_t 2021-03-07 19:30:34 +00:00
Orgad Shaneh
81fd1d529b COMMON: Fix warnings on mingw build
bits/os_defines.h has #define NOMINMAX 1, which conflicts with the
non-value #define NOMINXMAX in scummsys.h.

In file included from ../scummvm/common/lua/lua.h:12,
                 from ../scummvm/common/lua/ltable.cpp:27:
../scummvm/common/scummsys.h:111: warning: "NOMINMAX" redefined
  111 |   #define NOMINMAX
      |
In file included from C:/msys64/mingw64/include/c++/10.2.0/x86_64-w64-
mingw32/bits/c++config.h:518,
                 from C:/msys64/mingw64/include/c++/10.2.0/cmath:41,
                 from C:/msys64/mingw64/include/c++/10.2.0/math.h:36,
                 from ../scummvm/common/lua/ltable.cpp:21:
C:/msys64/mingw64/include/c++/10.2.0/x86_64-w64-mingw32/bits/
os_defines.h:45: note: this is the location of the previous definition
   45 | #define NOMINMAX 1
      |

Amends commit 88f685217b.
2021-03-06 03:06:11 +00:00
Peter Kohaut
e59a470db3 TINSEL: Updated addional drawing routines for v3
Implemented playing of films of objects (not movies).
Fixed rendering of the main menu.
Increased the size of parameters of coroutines.
2021-03-04 20:45:32 +01:00
neuromancer
03d9efa5d0 COMMON: renamed include guard in installshieldv3 2021-03-04 02:06:59 +01:00
neuromancer
817fc1ba0c COMMON: moved include guard to the top 2021-03-04 02:06:59 +01:00
neuromancer
ccd4c9a831 PRIVATE: fixes and renamed installer_archive 2021-03-04 02:06:59 +01:00
neuromancer
78febfbd00 PRIVATE: fixed detection from assets without installing 2021-03-04 02:06:59 +01:00
SupSuper
88f685217b COMMON: Don't use Win32 MIN/MAX since ScummVM provides its own 2021-03-03 11:17:37 +00:00
SupSuper
a399be3844 COMMON: Modern MSVC has inttypes.h 2021-03-03 11:17:28 +00:00
sluicebox
93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
Henrik "Henke37" Andersson
6b2bf785a4 COMMON: Correctly specialize unknownKeyError for int. 2021-02-21 15:33:26 +00:00
Henrik "Henke37" Andersson
f8facede40 COMMON: Specialize unknownKeyError for const char* 2021-02-21 15:33:26 +00:00
Zvika Haramaty
03fb100226 AGI: support new WinAGI *.wag file format 2021-02-15 03:02:23 +02:00
Eugene Sandulenko
f27bf85bf7 COMMON: Fix for modern GCC 2021-02-12 00:55:16 +01:00
Henrik "Henke37" Andersson
0caeac64aa COMMON: Include the not found key in the error message 2021-02-12 00:41:23 +01:00
Henrik "Henke37" Andersson
470505cc56 COMMON: ConfMan needs getValOrDefault 2021-02-12 00:41:23 +01:00
Henrik "Henke37" Andersson
2eb52fe900 COMMON: Retire dangerous non const operator[] on ConfMan 2021-02-12 00:41:23 +01:00
Henrik "Henke37" Andersson
cc51c9a483 COMMON: ConfMan no longer hides unknown key errors 2021-02-12 00:41:23 +01:00
Henrik "Henke37" Andersson
2d6fdcaf3e COMMON: getVal no longer hides missing keys 2021-02-12 00:41:23 +01:00
Le Philousophe
d8ab567a9b COMMON: Add include guard on initializer_list.h 2021-02-08 10:54:20 +01:00
Cameron Cawley
1bfff86090 COMMON: Add replacement for isblank() 2021-02-07 11:51:03 -08:00
Le Philousophe
f8ff774b8d COMMON: Fix clang build
In C++11 standard, nullptr_t is defined in std and not in global space
2021-02-07 11:38:46 +01:00
Le Philousophe
c49f338a0b COMMON: Fix GCC deprecated-copy warning in SharedPtr 2021-02-07 10:53:38 +01:00
Paul Gilbert
1b11fe993c COMMON: Refactor c++11 using keyword from SharedPtr 2021-02-06 21:14:30 -08:00
Paul Gilbert
53656e0338 COMMON: Wrap ptr initializers using nullptr_t in USE_CXX11 2021-02-06 17:11:07 -08:00
Paul Gilbert
8f6391bb5b COMMON: Added WeakPtr class, refactored SharedPtr 2021-02-06 16:37:31 -08:00
Cameron Cawley
28086f4f8a DS: Replace outdated filesystem code 2021-02-04 01:59:14 +01:00
Martin Gerhardy
1d184f845c COMMON: removed trailing whitespaces 2021-01-03 13:06:23 +01:00
Martin Gerhardy
d69e6f2e1e COMMON: removed wild living semicolons 2021-01-03 13:06:23 +01:00
Jonathan Phénix
7d5405cea5 COMMON: Fix build warning with LLVM's scan-build 2020-12-22 01:49:55 +01:00
Vladimir Serbinenko
0d39e96f55 COMMON: Make TranslationManager reusable.
This makes it possible to reuse TranslationManager with different
files.
2020-12-17 09:49:18 +01:00
Cameron Cawley
b5d6716d1d COMMON: Add ReadStream::readString() and use it in the Ultima engine 2020-12-15 17:39:25 -08:00
Thierry Crozat
9e5540f838 BASE: Handle RTL at exit config in scummvm_main
This config was handled in the DefaultEventManager, but this did not
work for engines that quit the game without using a QUIT_EVENT (such
as SCI). So now it is handled one level up directly in scummvm_main.

Note: It is still also handled in the DefaultEventManager so that we
get the correct confirmation dialog there when "confirm_exit" is true.
2020-12-09 22:13:22 +00:00
Le Philousophe
58f728a042 COMMON: Fix UTF-16 decoding
In case of 4-bytes codepoints, length wasn't decreased.
If codepoint is invalid don't eat the second code unit to let
resynchronization happen.
2020-12-01 19:43:20 +01:00
Eugene Sandulenko
4b095ef4b9 COMMON: Added Sega Saturn as a platofrm 2020-11-28 17:41:23 +01:00
Cameron Cawley
01b4432825 BACKENDS: Use Common::U32String for OSystem::setWindowCaption 2020-11-22 17:20:19 +00:00
Bartosz Gentkowski
fe9c51892c DOXYGEN: doxygen review on remaining common headers
- textconsole.h
- timer.h
- translation.h
- ustr.h
- util.h
2020-11-22 16:57:25 +00:00
Cameron Cawley
11724f9df1 GUI: Add a tab for backend-specific options 2020-11-22 16:35:03 +00:00
Vladimir Serbinenko
68a9136e4d
COMMON: Rewrite Encoder and drop dependency on iconv (#2586)
Different platforms have different levels of support of encodings and
often have slight variations. We already have tables for most encoding
with only CJK missing. Full transcoding inclusion allows us to get reliable
encoding results independently of platform. The biggest con is the need for
external tables encoding.dat.

It removes a duplicate table for korean in graphics/korfont.cpp
2020-11-15 16:20:35 +01:00
Bartosz Gentkowski
487b6af090 DOXYGEN: Changes to stream.h and system.h
Review and improve doxygen comments in stream.h and system.h.
2020-11-12 21:23:29 +00:00
Thierry Crozat
0575130b35 COMMON: Improve ReadStreamEndian implementation
The commit does not change the behaviour of the class but makes
its implementation more logical, and in line with how it was
originaly implemented (before being refactored in commit 1011508).
Both FROM_BE_* and TO_BE_* do the same thingi for example, but you
use this stream class to read from a BE or LE stream and convert
the values to native endianness, and thus it makes more sense to
use FROM_BE_* and FROM_LE_* instead of TO_BE_* and TO_LE_* (which
suggested that we read values in native endianness and then
convert to the specified endianness).
2020-11-12 21:18:44 +00:00
Thierry Crozat
a509afdf4d COMMON: Remove resetGraphicsScale from OSystem
This function used to be called from the Engine class, but was
not longer used since commit 432fd522. The single remaining use
was an internal use in the SurfaceSdlGraphicsManager, and I kept
the behaviour there while removing the function.
2020-11-12 21:05:36 +00:00
Bartosz Gentkowski
3ff21ad8c2 DOXYGEN: Further doc updates in high priority files
Adding, editing, updating doxygen comments in header files:

- common/archive.h
- common/array.h
- common/config-manager.h
- common/list.h
- common/random.h
- common/rect.h
- common/savefile.h
2020-11-07 18:19:09 +00:00
Thierry Crozat
efa9a0f250 COMMON: Add conversion operator from UnicodeBiDiText to U32String
This replaces the U32String constructor that takes a UnicodeBiDiText
and serves the same purpose, but avoids making a copy.
2020-11-07 18:10:44 +00:00
Mathias Parnaudeau
4880fab063 COMMON: Use appropriate equals() in BaseString
Remove a useless creation of a BaseString object with a C string in
comparison operators of this class, because there is a function
equals() that accepts a C string in parameter.
2020-11-06 21:21:05 +00:00
Thierry Crozat
e5bfe63087 COMMON: Merge the String and U32String destructors
The call to decRefCount has been moved to the destructor
of the base class BaseString.

Note that BaseString only exists for the purpose of being able
to reuse code for our String and U32String implementations. As
such it is not meant to be used polymorphically and its
destructor does not need to be virtual (with the overhead that
this generates). And to ensure that it is not used in a
polymorphic way, the destructor is declared protected.
2020-11-05 23:52:19 +00:00
Thierry Crozat
f18ee89b27 JANITORIAL: Fix indentation issues 2020-11-05 23:52:19 +00:00
Zvika Haramaty
606eeae46f COMMON: move convertBiDiString out of TranslationManager 2020-11-04 22:27:24 +00:00
Zvika Haramaty
542a3378d3 I18N: Always call BiDi algorithm for U32String
U32String can contain characters from all languages, without relation
to the GUI's language. Therefore, we need to always call it.

Use case:
In Hebrew SQ3, when using the game's original save/restore dialogs, it's
possible to give save games Hebrew names.
What happens when we then use ScummVM's load dialog?
- If ScummVM's GUI language is Hebrew, it's calling BiDI algo, and
  the text direction is OK.
- However, if ScummVM's GUI language is English, before this commit it
  didn't call the BiDI algo, and the text was reversed.
2020-11-04 22:27:24 +00:00
Bartosz Gentkowski
24e3b6096e DOXYGEN: Doxygen improvements part 3
Editing doxygen comments in files:

- debug.h
- dialogs.h
- encoding.h
- endian.h
- error.h
- events.h
- fft.h
- file.h
- frac.h
- fs.h
- gui_options.h
- hash-ptr.h
- hashmap.h
- huffman.h
- ini-file.h

Plus some small changes in the config file.
2020-11-04 19:42:34 +00:00
Vladimir Serbinenko
54b0b4ac4c COMMON: Restore old behaviour for appending char to string
Appending \0 to string and expecting it to be just dropped is
still an invalid behaviour but it already happened in 2 engines, so
restore old behaviour, at least for now
2020-11-03 11:19:20 +01:00
Paul Gilbert
7775330954 COMMON: Ignore string erase calls when the passed length is zero 2020-11-02 21:49:05 -08:00
Vladimir Serbinenko
3fc822e55c
COMMON: introduce substr for U32String (#2585)
It's safer than direct array manipulation. Replace current uses
of subsetting with substr.
2020-11-01 22:53:03 +01:00
Vladimir Serbinenko
0d7ab6cd64 COMMON: compilation fix on some older compilers 2020-11-01 14:58:46 +01:00
Vladimir Serbinenko
93ee9d0896 COMMON: Fix operator+ declaration in U32String 2020-10-31 23:56:40 +01:00
Thierry Crozat
d2251bde1c COMMON: Fix additional compilation errors in U32String 2020-10-31 21:32:36 +00:00
Thierry Crozat
0b93a68a0d COMMON: Attempt to fix compilation for some compilers 2020-10-31 16:56:50 +00:00
Thierry Crozat
23ce3edac9 COMMON: Add contains overload for char32_t in String 2020-10-31 16:56:50 +00:00
Vladimir Serbinenko
29cfa7bb0f COMMON: Merge code for str.cpp and ustr.cpp
Most of the code in str.cpp and ustr.cpp is actually the same. Do some
template magic to merge them.
2020-10-31 14:05:30 +01:00
Martin Gerhardy
f36f55c773 COMMON: fixed missing eos reset for successful seek
also added a DisposeAfterUse flag to the ctor of the stream
2020-10-31 08:29:58 +01:00
Martin Gerhardy
1e608a6ea8 COMMON: added MemorySeekableReadWriteStream
A seekable read and writeable memory stream that operates on an already existing memory buffer
2020-10-31 08:29:58 +01:00
Thierry Crozat
186e6142a0 COMMON: Remove unused functions in TranslationManager
There were leftovers from the transition to U32String.
2020-10-30 22:54:09 +00:00
Thierry Crozat
bb73c61999 COMMIT: Add missing destruction of elements when downsizing an Array 2020-10-29 20:47:24 +00:00
Vladimir Serbinenko
18626c2e96 COMMON: Add a signed variant of getRandomNumberRng.
Useful for generating negative numbers
2020-10-25 01:02:58 +02:00
Vladimir Serbinenko
18e6878311 COMMON: Add String::asUint64Ext
This is the same as String::asUint64 but supports 0x and 0 prefixes
2020-10-17 22:34:58 +02:00
Henrik "Henke37" Andersson
ee4799c51a COMMON: ConfMan::Domain::tryGetVal 2020-10-17 20:16:33 +02:00
Henrik "Henke37" Andersson
d83a38e0e6 COMMON: HashMap::tryGetVal function 2020-10-17 20:16:33 +02:00
Paweł Kołodziejski
e2cd2e6ed7 COMMON: Rename Common::Debug to Common::StreamDebug 2020-10-16 21:47:16 +02:00
BeWorld
cdc0ad802d
MORPHOS : Fixes clashing D in ptr.h with system defines and casting glGetString (#2531)
MORPHOS : Fixes clashing D in ptr.h with system defines and casting glGetString
2020-10-16 21:26:42 +02:00
Eugene Sandulenko
390cbc6ba0 COMMON: Fix compilation 2020-10-14 14:18:34 +02:00
Paweł Kołodziejski
723ffa111b BACKENDS: Remove accel3d flag completely. 2020-10-13 23:00:19 +02:00
Paweł Kołodziejski
070d274bf7
BACKENDS: Drop getScreenPixelBuffer() as no longer needed. (#2521) 2020-10-13 22:30:39 +02:00
Paweł Kołodziejski
59ba9cb715
SDL: Do not allow toggle fullscreen for backends which can lose opengl context used for 3d games. (#2514) 2020-10-13 20:27:58 +02:00
Cameron Cawley
d1d305d1b9
GRIM/GROOVIE: Move StuffIt archive code to Common (#2509) 2020-10-11 22:01:00 +02:00
SupSuper
12e7fb917b COMMON: Attempt to fix DS build 2020-10-11 09:22:23 +01:00
Eugene Sandulenko
b661b7e428 COMMON: Attempt to fix DC build 2020-10-10 10:28:05 +02:00
Eugene Sandulenko
752f97f072 COMMON: Remove default implementation for OSystem::getScreenPixelBuffer()
Otherwise it brings circular dependency, and we anyway have it already
in modular-backend.cpp
2020-10-09 23:31:43 +02:00
Paweł Kołodziejski
35b9cccbde ALL: Merge ResidualVM 2020-10-09 19:44:13 +02:00
Pawel Kolodziejski
1120da8341 ALL: Sync with ScummVM, rev: 1f25347dd5 2020-10-08 23:38:29 +02:00
antoniou
465807f165 JANITORIAL: Better vertical align of methos and members 2020-10-07 15:26:31 +03:00
Eugene Sandulenko
6760fceb72 COMMON:: LUA: Added Chroatian language used in Sword25 2020-10-07 12:25:08 +02:00
Eugene Sandulenko
4a401e36fc COMMON: Extend FSDirectory, so matching functions could also match subdirectories 2020-10-07 01:40:03 +02:00
Vladimir Serbinenko
55559539af common/array: Fix comment
Comment speaks about double-linked list but we actually have an array
2020-10-06 18:16:53 +02:00
Vladimir Serbinenko
1e3b41d71b Add division and multiplication operators to Common::Point
They're convenient for performing computations and I use
them in Hades Challenge engine
2020-10-06 18:16:08 +02:00
Pawel Kolodziejski
0e42d4f504 ALL: Cleanup guards names. Fixed compilation. 2020-10-05 21:20:43 +02:00
Pawel Kolodziejski
c4b9f966b6 GRIM: Drop side textures feature from backend. 2020-10-05 19:09:58 +02:00
Eugene Sandulenko
706d25d47e COMMON: Revert unintended change 2020-10-05 16:30:13 +02:00
Pawel Kolodziejski
4f8f566299 ALL: Sync with ScummVM rev: c52f7e0e04 2020-10-05 14:54:26 +02:00
Bartosz Gentkowski
c52f7e0e04 DOXYGEN: doxygen changes in header files 2
Edited files in the common folder:

- bufferedstream.h
- callback.h
- config-manager.h
- coroutines.h
- cosinetables.h
- dcl.h
- debug.h
- debug-channels.h
2020-10-05 13:45:08 +02:00
Bartosz Gentkowski
b6c5d415ee small edits, to be squashed 2020-10-05 13:43:50 +02:00
Bartosz Gentkowski
59fce86705 DOXYGEN: updates in first header files
Add and improve doxygen blocks in header files:

- achievements.h
- algorithm.h
- archive.h
- array.h
- bitstream.h
2020-10-05 13:43:50 +02:00
Pawel Kolodziejski
d15f78d502 ALL: Missed few files to add after sync with ScummVM 2020-10-05 00:05:35 +02:00
Pawel Kolodziejski
4631c0e2ed ALL: Sync with ScummVM rev: a4002bdeee 2020-10-04 23:59:26 +02:00
Bartosz Gentkowski
ec24687ce4 DOXYGEN: Add doxygen groups to header files in the common folder
Adding @defgroup and @ingroup doxygen tags into all headers
in the common folder that contain doxygen blocks.

This improves the structure, readability, and findability
of information in the resulting output.

This commit targets purely structure and does not deal with
the content of the currently existing doxygen documentation.
2020-10-04 18:25:50 +02:00
Thierry Crozat
64f727ca3d COMMON: Fix performance issues in Encoding when checking endianness 2020-10-03 23:04:25 +01:00
Thierry Crozat
8555463758 COMMON: Fix Encoding switchEndian function
The result string was missing the null terminator.
2020-10-03 23:04:25 +01:00
Pawel Kolodziejski
2ef7bfc3ef COMMON: Remove not used anymore joystick events entries 2020-10-03 17:34:00 +02:00
Thierry Crozat
786aac568b COMMON: Add c++11 initializer list replacement when not available in std lib
The c++11 standard includes some features that do not only depend on the
compiler supporting it, but also the c++ standard library having support
for it. This is the case for the initializer list feature. So when we
compile with a modern compiler but using an old std lib we need a
replacement for it.
2020-10-03 15:51:14 +02:00
Thierry Crozat
a275522f89 COMMON: Add list initialization and move semantics to Array 2020-10-03 15:51:14 +02:00
aryanrawlani28
9c67225293 COMMON: ERROR: Add kMetaEnginePluginNotFound 2020-10-03 14:56:36 +02:00
Pawel Kolodziejski
d8f2040dba ALL: Drop setupScreen API, use new initGraphics3d from engine API.
Enabled system API for begin/end gfx transactions, initSize, setGraphicsMode.
Function setGraphicsMode will use optional params to trigger 3d rendering
and switch to proper SDL Gfx manager.
2020-10-02 19:14:19 +02:00
Pawel Kolodziejski
6f69981904 BACKENDS: Drop launcherInitSize() and use 2d backend gfx manager for launcher. 2020-09-30 16:52:44 +02:00
Pawel Kolodziejski
89a0638f4b COMMON: Cleanup code comments 2020-09-27 19:35:07 +02:00
Pawel Kolodziejski
5c311ac905 ALL: Cleanup after sync 2020-09-25 14:48:20 +02:00
Pawel Kolodziejski
e9b528549e COMMON: Make system methods optionally 2020-09-25 11:16:31 +02:00
Pawel Kolodziejski
c50f944f9f COMMON: Cleanup left over 2020-09-24 16:40:16 +02:00
Pawel Kolodziejski
27e12d8a96 ALL: Eliminate LOCAL_PI macro 2020-09-23 23:20:23 +02:00
Paweł Kołodziejski
db4295c1a8 COMMON: Added PS2 and XBOX platform definitions. 2020-09-23 22:59:20 +02:00
Pawel Kolodziejski
bfe58d3c77 ALL: Synced with ScummVM - rev: d4db631f9b 2020-09-23 21:52:10 +02:00
Eric Fry
8e55335eb0 COMMON: Add Sega Megadrive/Genesis platform 2020-09-21 23:11:10 +02:00
Bastien Bouclet
0f2c6cd9ea ENGINES: Change mac resource fork file detection to use the file cache
Common::MacResMan is now able to open files from a specified
Common::Archive. This is a bit hacky as dynamic_cast is used to break
the Archive encapsulation to retreive the underlying FSNode. It should
however be more correct than the previous code that assumed files were
at the root of the currently running game's path.

AdvancedDetector constructs a Common::Archive from its FileMap based
filesystem cache and uses it to detect the mac resource fork files.

This cuts the time it takes to run the detection code with all the
engines enabled as dynamic plugins on the 3DS to 30 s from 280 s.
2020-09-20 16:33:45 +02:00
Bastien Bouclet
9a1e2368b2 COMMON: Avoid an unnecessary copy in the XML parser 2020-09-20 16:33:45 +02:00
Cameron Cawley
31be074893 BACKENDS: Add a function to return if the overlay is visible 2020-09-15 00:09:11 +02:00
Pawel Kolodziejski
15a759370a ALL: Synced with ScummVM - rev: bdbbcd81ae 2020-09-12 19:38:50 +02:00
Vladimir Menshakov
0a4154318c COMMON: implement %c formatter (used in hardware-input.cpp)
Fix invalid descriptor name for half-axis.
Add some tests for U32String::Format.
2020-09-12 11:56:17 +01:00
Cameron Cawley
6e0c93dc46 COMMON: Add helper functions for converting strings 2020-09-12 11:59:23 +02:00
SupSuper
b123a21eed BACKENDS: Add support for qualified game IDs in taskbar icons 2020-09-09 01:58:20 +01:00
Thierry Crozat
c5ede297ea JANITORIAL: Simplify some code that use U32String::format 2020-09-08 21:24:27 +01:00
Thierry Crozat
54f825359f COMMON: Allow using U32String::format with a C string format string 2020-09-08 21:22:04 +01:00
Cameron Cawley
5a6e411bfd COMMON: Fix U32String::itoa when num is 0 2020-09-06 13:20:05 +01:00
Pawel Kolodziejski
d5304e2568 ALL: Synced with ScummVM - rev: 33a47d23b8 2020-09-03 02:21:14 +02:00
Thierry Crozat
9ab48df4b6 COMMON: Fix comparaison operators for U32String
They were supposed to compare two U32String, but due to a copy/paste
error they were comparing a U32String with a String. It compiled
because there is a String constructor that takes a U32String (and
converts it to UTF-8), but it was probably not quite working as
expected for non-ASCII characters.
2020-09-02 21:01:15 +01:00
Vladimir Menshakov
8ddcbf8120 COMMON: Fix warnings about different signedness (uint32/char comparison), remove unused var
Add tests for both str/ustr comparison operators.
2020-09-02 20:35:43 +01:00
Thierry Crozat
927127abd5 I18N: Support having unicode characters in language names 2020-09-02 12:08:49 +02:00
Thierry Crozat
9fcc83c09d COMMON: Add comparison operators to U32String
Those operators just compare the numerical value of each character
one by one. This is not idea, but this is better than nothing.
2020-09-02 12:08:49 +02:00
Vladimir Menshakov
04943476b1 COMMON: Add Rect::getBlitRect() that ensures you did not blit out of src or dst surface boundaries 2020-09-01 21:52:42 +01:00
Eugene Sandulenko
1425c39d71 Revert "COMMON: Rename ZH_ANY language code nz -> zh"
This reverts commit 6c97dcbb4a.
2020-09-01 16:54:33 +02:00
Eugene Sandulenko
6c97dcbb4a COMMON: Rename ZH_ANY language code nz -> zh
Since it concerns only one game in Wintermute ATM, I don't
bother implementing autoupgrade
2020-09-01 16:37:36 +02:00
Thierry Crozat
1b67a0f069 COMMON: Fix assingning a String to a U32String
When assigning a String or char * to an existing U32String, the code
assumed that the current _str pointed to the internal storage. But
that is not the case if the U32String contains a string longer
than the internal storage capacity prior to the assignment, and
this led to various memory issues (and usually a crash down the
line).
2020-09-01 00:12:03 +01:00
Vladimir Menshakov
035ddef16c COMMON: Add ARRAYCLEAR to clear given array using default or provided value. 2020-08-31 21:57:07 +01:00
Vladimir Menshakov
f63f424309 COMMON: Preserve the order of insertion for equal range of the keys. 2020-08-31 18:17:29 +01:00
Vladimir Menshakov
e7d7c67c69 COMMON: Allow something else than raw pointer to be used in SortedArray 2020-08-31 18:17:29 +01:00
Vladimir Menshakov
fb05242d36 COMMON: Add a way to specify default section name for simple sectionless .ini files 2020-08-31 18:17:28 +01:00
aryanrawlani28
fe561ecdee COMMON: U32: Fix incorrect usage of %i
- %i & %d work in the same manner.
2020-08-30 20:03:26 +01:00
aryanrawlani28
ca54adca47 COMMON: U32: Fix different types of string pointers for u32
- Previous changes broke compilation for AmigaOS.
2020-08-30 18:56:12 +01:00
aryanrawlani28
e5445fb901 GUI: U32: Small improvements/fixes
- Remove = operator in String, which compared to a U32String.
- Let implicit cast take care of results from getResultString, so in-future easy to spot new changes.
- Use uint32 for each char when encodingUrlStrings, to avoid unsafe comparision.
2020-08-30 14:43:41 +02:00
aryanrawlani28
87df975686 GUI: U32: Wrap string in U32 if not using translations. 2020-08-30 14:43:41 +02:00
aryanrawlani28
d48453693c GUI: U32: Use translated strings as arguments for formatting function usage. 2020-08-30 14:43:41 +02:00
aryanrawlani28
140eddf90a GUI: U32: Allow vformat to take in a pointer to a translated string
- Fix signed/unsigned comparision in U32String::contains(U32String)
2020-08-30 14:43:41 +02:00
aryanrawlani28
1d85a3d8e1 GUI: U32: Fix incorrect type for single char in U32::vformat 2020-08-30 14:43:41 +02:00
aryanrawlani28
388473656e GUI: U32: Add contains utility for string, which takes in a uint. 2020-08-30 14:43:41 +02:00
Thierry Crozat
a54b5826ea UPDATES: Fix compilation with U32 strings 2020-08-30 14:43:41 +02:00
aryanrawlani28
35386aab4c TTS: Remove more redundant code 2020-08-30 14:43:41 +02:00
Thierry Crozat
66342fb89c TTS: Fix conversion to UTF-32 for text to speak 2020-08-30 14:43:41 +02:00
Thierry Crozat
94035cf7aa COMMON: Fix creating a String from a U32String
There were memory issues due to class member variables not initialized
by the constructor.
2020-08-30 14:43:41 +02:00
Thierry Crozat
58203e09fd COMMON: Fix encoding conversion using iconv
It was not always setting to 0 all the newly allocated bytes,
and if you were unlucky this could result in additional spurious
characters at the end of the converted string.
2020-08-30 14:43:41 +02:00
aryanrawlani28
0ca5a40d85 TTS: ALL: Improve u32-ity
- Allow the base class to take in a string with custom charset, convert to U32 and pass it along.
- Remove redudandant functions in all tts-subsystems
- Remove unnecessary "charset" argument, as U32Strings imply that we are using a UTF-32 charset
- Adjust relative code appropriately according to the above point.
2020-08-30 14:43:41 +02:00
aryanrawlani28
9bf3f73d8a GUI: U32: Use U32Strings for native dialogs
- Make DialogManager showFileBrowser take in u32
- Show filebrowser with u32 in MacOS and GTK
2020-08-30 14:43:41 +02:00
aryanrawlani28
2ca907b4a2 GUI: U32: Use game-list filters with u32
- Add a contains utility function to ustr
- setFilter uses U32String and U32Tokenizers
- Make consequent changes in launcher to allow sending u32strings
2020-08-30 14:43:41 +02:00
aryanrawlani28
56911beea2 GUI: U32: Add and use a U32Tokenizer
- Added in common/tokenizer.cpp
- Uses iterators to function
2020-08-30 14:43:41 +02:00
aryanrawlani28
12e4f871a3 GUI: U32: Improve u32 in all engine subsystems
- Common: add wordWrap function to ustr.cpp
- Bladerunner: Explicitly state we have a U32String in subs (same as Subtitles::loadOuttakeSubsText)
- Don't use translations for engine specific "put strings", because they might not support.
- SCI: Use const references for showScummVMDialog
- SCUMM:
-- Don't use translation in md5 warning. left comments with the translated version.
-- Remove some redundant headers in help.cpp
-- Don't use translation in handleSaveload when printing to console
-- Also, display success transaction correctly via u32::format
- TESTBED: Use fake constructor when setting label of button
- SKY: Correctly use translation when using SaveStateDescription
- ULTIMA: Don't use translations when display_string
- ENGINES:
-- GenerateUnknownGameReport correctly, with proper translations.
-- There was an error, where a function had been declared twice, in a header file. Correct this.
2020-08-30 14:43:41 +02:00
aryanrawlani28
68d01321d6 GUI: U32: Downscale changes of U32, fix review issues
This commit addresses a range of changes, within scummvm subproject.

- Audio files, like mididrv, remove U32String based name and identifier, because ASCII only.
- mididrv.cpp had some wrong format for warning messages, fix those
- Message dialogs were modified to use default arguments more often, but reverting back to the orignal to minimize changes.
- SetTooltip has a fake constructor that takes in a string, and use it.
- U32Format had some break statements missing, add those.
- RemapWidget: Use fake constructor for setLabel and setTooltip, to make minimal changes
- SDL: setting text in clipboard no longer uses SDL_iconv_string
- TTS: Override base class "say" with strings, so tts->say can be used with normal strings too.
- About dialog: fix incorrect code for u32string variables
- Fix some extra brackets
- Some buttons were incorrectly removed from using translated labels, revert those
- Message Dialog: Pass default and alt buttons as const references
- Saveload Dialog: Use translations in missing places, use const-references. Also, use translations in a correct manner.
- Use const references for tooltip in GraphicsWidget, EditTextWidget, error.cpp
- DomainEditTextWidget: Use U32String for text
2020-08-30 14:43:41 +02:00
aryanrawlani28
4b6976c558 GUI: U32: Reduce number of files changed and fixes
Up until last commit, everything was working fine but the amount of files changed was too large. This commit tries to reduce the changes.

- Add a fake constructor to Keymap, text-to-speech, setDescription (save-state)
- Redirecting functions for PopUpWidget::appendEntry, ButtonWidget::setLabel, GUIErrorMessage
- Use the above functions and constructors to reduce changes in Engines
- Fix warnings being in unicode. Only output english text in - Warnings, Errors, etc.
- Mark some strings as "translation" strings. (Not yet added to POTFILES)
- Remove some CP related things from po/modules.mk
- Previously used some Common::convertToU32 where it was not necessary, replace this with u32constructor
2020-08-30 14:43:41 +02:00
aryanrawlani28
185fb72783 GUI: U32: Improve U32 code
- Revert accidentally put translations in mt32.cpp
- Use U32::format in some places earlier missed
- Add %u and %i for u32::format
- Add support for GUIErrorMsgFormat to use u32::format internally
- Use the above whereever needed
- Improve linux tts by removing redundant code
- Some places I had changed nullptr -> "". Revert this
2020-08-30 14:43:41 +02:00
aryanrawlani28
22ef76638c GUI: U32: Return visual from convertBiDiU32String 2020-08-30 14:43:41 +02:00
aryanrawlani28
b6278f3400 GUI: U32: Write translation description and size for english language also as uint32BE.
All blocks of sizes are now written in uint32BE.
2020-08-30 14:43:41 +02:00
aryanrawlani28
9573f1e515 GUI: U32: Remove useless check when converting bidiString 2020-08-30 14:43:41 +02:00
aryanrawlani28
3d97be2559 GUI: U32: Remove redundant code
Because po files now (should) use UTF-8, a bunch of code in ScummVM is redundant. This commit addresses that.

- Remove charsetMapping and related variables.
- Remove the code that used these functions.
- Remove cp_parser.cpp. This is removed because the use of codepages is no longer needed.
- Remove iso-8859-x codepages (see above message)
- Always set mapping as 0 in ThemeEngine::loadScalableFont
- Check if ascii or not by getting charset in about dialog.
2020-08-30 14:43:41 +02:00
aryanrawlani28
810b7cfccc GUI: U32: Write block sizes as Uint32BE
- Changes made in create_translations tool and translations.cpp
- After converting po files to UTF-8, length of block did not fit in 16 bits. This commit addresses that.
2020-08-30 14:43:41 +02:00
aryanrawlani28
fc91436ea6 GUI: U32: Remove charsets being written to .dat 2020-08-30 14:43:41 +02:00
aryanrawlani28
6747e354b8 GUI: U32: Load translation info correctly 2020-08-30 14:43:41 +02:00
aryanrawlani28
dc1c82b74e GUI: U32: Define new translation version "4" 2020-08-30 14:43:41 +02:00
aryanrawlani28
085f375c98 GUI: U32: Store messages as U32Strings and remove codepages reading from .dat
- The previous commit removes all codepage additions to the create_translations tool.
- Following that, this commit removes all the reading from .dat file related to codepages
2020-08-30 14:43:41 +02:00
aryanrawlani28
a9a816e7fe GUI: U32: Improve U32String::format
- Keep adding chars and strings to output instead of deleting and inserting at specific pos
- Use const_iterators for input
2020-08-30 14:43:41 +02:00
aryanrawlani28
c142360bf4 GUI: U32: Add minimal implementation for itoa (base 10) 2020-08-30 14:43:41 +02:00
aryanrawlani28
a9bfe35216 GUI: U32: More issue fixes and general improvements
- Use the fake constructor for message dialog less often
- solve errors regarding comparision between string and u32string in midi
- solve errors in testbed/speech related to ttsMan->say
- fix unsigned comparision warning in tab.cpp
- fix issue with static strings and translations in sdl-graphics
2020-08-30 14:43:41 +02:00
aryanrawlani28
da380a9002 GUI: U32: Fix issues with ustr formatting
- Fix one off error with 'pos'
- Fix last line not being inserted in osdMessage when display
2020-08-30 14:43:41 +02:00
aryanrawlani28
1ca1712b4d GUI: U32: Fix problems with u32strings formatting
- Improve U32's format helper
- Add insertString helper to u32
2020-08-30 14:43:41 +02:00
aryanrawlani28
ef7ec444d3 GUI: U32: Enable u32 for tts (Windows)
They always take in U32 strings now.

- Revert tts descriptions to string, they don't use translations, so better to keep it as strings.
- Make read() take in const U32 references.
2020-08-30 14:43:41 +02:00
aryanrawlani28
d4d5b8906e GUI: U32: Begin making TTS take in U32Strings for saying
Only for strings without an explicit action. The first level takes in a u32 string, encodes it, and passes it along further with the default action

- For gui widgets, the strings are passed in as native u32 strings.
- For everything else, they are being converted to u32 by Common::convertToU32... and then being passed along
2020-08-30 14:43:41 +02:00
aryanrawlani28
fd763b61e5 GUI: U32: Add U32String conversion helpers to str.cpp
This commit adds a constructor and a "=" operator to allow conversion from u32strings->strings
2020-08-30 14:43:41 +02:00
aryanrawlani28
49c36c2b45 GUI: U32: Begin converting texts in clipboards to u32strings
With this commit the base class variables and the parts where getClipboard and setClipboard are used is changed accordingly.
2020-08-30 14:43:41 +02:00
aryanrawlani28
b9a449480b GUI: U32: Remove u32::format references
- Removed because implicit conversion can simply handle this usecase
2020-08-30 14:43:41 +02:00
aryanrawlani28
f800ca4ada GUI: U32: Convert majority of code to use U32
This commit also includes some additional major changes.

- Return U32String from TransMan getTranslation()
- Change tooltips to be U32Strings
- Remove temporary code of convertToU32String
- U32 Support various dialogs (Browser, FileBrowser, Messages, Chooser, etc)
- U32 for music plugins
- U32 for OSD messages
- Add some helper functions to ustr.cpp
- Change default tooltips from nullptr & 0 -> ""
- Some runtime exceptions may occur when changing languages due to incorrect String::Format
2020-08-30 14:43:41 +02:00
aryanrawlani28
5f2af6b93e GUI: U32: Add u32 support to Editables and Dialogs
- Editable widgets
- Lists
- SaveLoad Dialogs
- Browser Dialogs
2020-08-30 14:43:41 +02:00
aryanrawlani28
4ea2b46ce8 GUI: U32: Add asuint64 helper to ustr 2020-08-30 14:43:41 +02:00
aryanrawlani28
2745d51fe7 GUI: U32: make convertBidiString take in and return u32strings 2020-08-30 14:43:41 +02:00
Eugene Sandulenko
045df72426 EVENTRECORDER: Fix crash on attempt to save. Fixed #10045
Since we have two event managers during recording, we invalidate
cache in order to avoid cache miss
2020-08-29 17:22:38 +02:00
Cameron Cawley
7745ffdac1 BACKENDS: Simplify EventsBaseBackend 2020-08-24 14:22:35 +02:00
Cameron Cawley
9a61a99590 BACKENDS: Add init() to OSystem 2020-08-24 14:22:35 +02:00
Eugene Sandulenko
bd8eb63e9a COMMON: Moved GUIO constants to hex codes for avoiding devs' confusion 2020-08-23 01:08:47 +02:00
Eugene Sandulenko
dcfcb39de9 COMMON: Removed non-octal number from GUIO 2020-08-23 01:04:02 +02:00
Eugene Sandulenko
3f6efbb84b COMMON: Attempt to solve diamong class hierarchy in MemoryReadStreamEndian. by athrxx 2020-08-22 22:58:43 +02:00
Cameron Cawley
cf068bcc08 ALL: Remove direct use of OSystem::createMutex() 2020-08-21 09:39:00 +02:00
BeWorld
ac573487de MORPHOS: use libz shared from MORPHOS
Need to use -lz_shared on linking.
2020-08-21 00:59:18 +02:00
BeWorld
775f6c4803 MORPHOS: Update scummsys.h
MorphOS support
2020-08-21 00:59:18 +02:00
BeWorld
61f86025fe MORPHOS: MorphOS Support 2020-08-21 00:59:18 +02:00
Walter van Niftrik
d4ecbbc5d3 COMMON: Fix Span::toStream() when given index
When providing an index but no numEntries, the computed numEntries is
not adjust for index and an error is thrown
2020-08-20 23:58:37 +02:00
djsrv
f3a179a873 COMMON: Add dispose arg to MemoryReadStreamEndian 2020-08-12 12:23:43 -04:00
Pawel Kolodziejski
aea3bae26d ALL: Synced with ScummVM - rev 0b777c23a9 2020-08-11 00:59:40 +02:00
Eugene Sandulenko
1bb73862a1 COMMON: Lightened another MacBinary check so ISOBuster files really work 2020-08-01 22:38:09 +02:00
Eugene Sandulenko
4221c38167 COMMON: Support MacBinary3 files produced by ISOBuster 2020-08-01 20:25:39 +02:00
Eugene Sandulenko
aa563f0c81 ALL: Remove PS2 port 2020-08-01 15:15:49 +02:00
athrxx
5e276286ae AUDIO/GUI: add SegaCD sound settings 2020-07-30 22:19:21 +02:00
SupSuper
55db9e92e9 Revert "COMMON: Fix abstract SeekableReadStreamEndian calling virtual constructor"
This reverts commit bed3550cbd.
2020-07-28 00:27:03 +01:00
SupSuper
bed3550cbd COMMON: Fix abstract SeekableReadStreamEndian calling virtual constructor 2020-07-27 23:07:06 +01:00
aryanrawlani28
22842d1a88 GUI: RTL: Do not repeatedly print warnings if fribidi is not available
- Previously, if using an RTL-based language and disabled fribidi, console would repeatedly have the same messages spamming.
- Reduce this to only print warning one time.
2020-07-25 00:32:34 +02:00
Eugene Sandulenko
1aea38cc63 COMMON: Makw SeekableSubReadStreamEndian subclass of SeekableReadStreamEndian 2020-07-21 18:20:00 +02:00
Eugene Sandulenko
8939609787 COMMON: Make MemoryReadStreamEndian inherit from SeekableReadStreamEndian 2020-07-21 12:46:22 +02:00
SupSuper
4d855ff6c0 COMMON: Fix warning from incorrect parameter type in fribidi call
fribidi_log2vis takes a FriBidiParType, not a FriBidiCharType
(though the values are identical)
2020-07-21 07:11:09 +01:00
Henrik "Henke37" Andersson
dc7b0a7909 COMMON: Dedicated function for in buffer check
It's UB to compare pointers that aren't from the same array. Cast to uintptr to reduce the issue to IB.
2020-07-19 23:07:35 +01:00
Michał Janiszewski
e0505d5fbf COMMON: Add MSVC ARM64 support 2020-07-15 15:30:55 +02:00
Eugene Sandulenko
f534e11ccf COMMON: Added VersionInfo parser to WinResources 2020-07-09 23:13:47 +02:00
Eugene Sandulenko
bcd1d3c688 COMMON: Add 'vers' resource parser to MacResMan 2020-07-08 11:42:59 +02:00
Eugene Sandulenko
be388e644a COMMON: Give direct access to Data fork in MacResMan 2020-07-07 22:31:13 +02:00
Pawel Kolodziejski
fa277fcb48 ALL: Sync with ScummVM - rev a94849abc4 2020-06-25 08:34:00 +02:00
Pawel Kolodziejski
8f4e1c6cf3 Sync with ScummVM rev. 654b8208b8 2020-06-22 08:14:16 +02:00
Thierry Crozat
3591003ea3 TTS: Add method to get the default voice
This returns by default the first voice, but can be reimplemented
in derived classes to return the system default voice.
2020-06-21 16:31:15 +01:00
Cameron Cawley
34901536a7 LUA: Remove use of final as a variable name 2020-06-18 20:14:46 +01:00
Colin Snover
7c131e0277 COMMON: Allow use of C++11 final keyword 2020-06-18 20:14:46 +01:00
Eugene Sandulenko
6059566777 COMMON: Added scumm_strcasestr() 2020-06-18 14:38:12 +02:00
Zvika Haramaty
41f3d4b488 COMMON: Encoding::convertIconv - check errors on last call to iconv
There was a bug when trying to convert the Hebrew string "\e0\e1\e2"
from WINDOWS-1255 to UTF-32LE, because there was a last call to
`iconv` with `NULL`s, without error checking, and buffer needed to
be extended for that last one call.

Now this call is inserted to the main `iconv` loop, with error checking.
2020-06-09 23:01:47 +02:00
Philippe Valembois
66b8cf9cac COMMON: Fix build when uint32_t and uint32 are not defined the same
FriBidiChar is mapped to uint32_t (from stdint.h) while U32String is
composed of uint32 (from scummsys.h/config.h). On some platforms those
two types aren't defined using the same base type (long int vs int) and
compilation errors occur.
2020-06-07 12:02:55 +02:00
Bastien Bouclet
bad365c97e COMMON: Add a helper to update a ConfMan entry and flush to disk 2020-06-07 07:40:27 +02:00
Antoniou Athanasios
c2a12908c2
COMMON: Use assert for CLIP() if bounds are not properly ordered (#2298)
COMMON: Use assert in debug builds to prevent bad ordering of bounds

The only macro to check against for debug vs release builds that I found is RELEASE_BUILD
2020-06-06 17:53:47 +03:00
Eugene Sandulenko
b1c5e63de0 JANITORIAL: Whitespace fixes 2020-06-06 15:08:33 +02:00
Eugene Sandulenko
83c8035fbc MATH: Added hypotenuse() call 2020-06-06 15:08:17 +02:00
Eugene Sandulenko
6bea770e6d COMMON: Fix PS2 build 2020-06-06 00:09:35 +02:00
Eugene Sandulenko
787f3e4e61 DIRECTOR: Added test score for the test target 2020-06-04 00:07:34 +02:00
Eugene Sandulenko
7200acb791 COMMON: Clarify comment in MacResMan 2020-05-29 15:55:07 +02:00
Paul Gilbert
9c5ced80c5 COMMON: added note about using shake in ULTIMA engine 2020-05-20 17:33:29 -07:00
Andrei Prykhodko
379168ade4 COMMON: added note about using shake in PETKA engine 2020-05-20 22:05:31 +03:00
Zvika Haramaty
1f9d421558 COMMON: moved convertBiDiString(..lang) to unicode-bidi.h
Continuing the work at https://github.com/scummvm/scummvm/pull/2236,
which moved `convertBiDiString(..page)` to unicode-bidi.h,
now moving to there also the `(..lang)` flavour.

Thus, translation.h has only the SVM-GUI related function, and the
two util functions page+code are in unicode-bidi.
2020-05-19 12:32:58 +02:00
lolbot-iichan
d8951b2aa1 COMMON: Add Persian language & CP1256 encoding 2020-05-18 23:24:15 +02:00
Cameron Cawley
e207fda7f7 COMMON: Allow ignoring CR line breaks in SeekableReadStream::readLine() 2020-05-12 14:41:53 +02:00
BLooperZ
ec83715b43 COMMON: add UnicodeBiDiText wrapper 2020-05-12 14:36:09 +02:00
BLooperZ
028e4be835 COMMON: add method to get visual position for bidi 2020-05-12 14:36:09 +02:00
BLooperZ
5b2bc4a9d3 COMMON: move bidi conversion to str-bidi.h 2020-05-12 14:36:09 +02:00
BLooperZ
c30b22c628 COMMON: add bidi support for U32String 2020-05-12 14:36:09 +02:00
mataniko
321a02aff2 JANITORIAL: Rename shouldRTL, resetRTL and FORCE_RTL 2020-05-12 10:36:38 +02:00
mataniko
06242a712b JANITORIAL: Rename EVENT_RTL
Now that ScummVM is adding RTL support, the EVENT_RTL should be disambigious that it is for returning to launcher
2020-05-12 10:36:38 +02:00
Pawel Kolodziejski
88cefe47c0 ALL: Small sync with ScummVM 2020-05-11 21:56:33 +02:00
mataniko
38325bfb94 BACKENDS: Don't turn off screen when ScummVM is running a game 2020-05-10 00:35:29 -04:00
Pawel Kolodziejski
b586571900 ALL: synced with ScummVM commit 09bf38c120 2020-05-09 20:05:54 +02:00
Eugene Sandulenko
f48ab6afb8 JANITORIAL: Fix indentation 2020-05-03 19:10:04 +02:00
aviloria
d8e3c39e19 COMMON: Add support for Serbian language 2020-05-03 19:09:02 +02:00
Eugene Sandulenko
a5f2284421 COMMON: Added U32String::insertChar() 2020-05-01 01:30:20 +02:00
Zvika Haramaty
1b8f471c69 GUI: Added (partial) BiDI support
Added GNU FriBidi, thus allowing Hebrew (or other future RTL languages)
to be displayed correctly.
It's been implemented for all ScummVM GUI (as far as I have noticed),
and can be further used by the engines as needed.

This work is only partial, because for complete BiDI support we'll need
to mirror the widgets, and support input text areas (which currently
don't even support Hebrew text input at all).

Some changes are required in order to use this:
- Visual Studio:
  -- add FriBidi lib from https://github.com/ShiftMediaProject/fribidi
     (and place the files in the other libs location)
  -- add fribidi.dll to the current directory
  -- add fribidi.lib to VS library list
     (in GUI it's: Project -> scummvm Properties -> Linker ->
                   input -> Additional Dependencies)
  -- Add USE_FRIBIDI define
     either to:
         dists/msvc/ScummVM_Global.props   <PreprocessorDefinitions>
     or in GUI:
         Project -> scummvm Properties ->
         C/C++ -> Preprocessor -> Preprocessor Definitions
- GCC:
  -- install FriBidi
     e.g.,
        Ubuntu: `apt-get install libfribidi-dev`
        CentOS: `yum install fribidi-devel`
  -- rerun `configure`
2020-04-30 10:32:18 +02:00