Commit Graph
86814 Commits
Author SHA1 Message Date
Eugene Sandulenko 525f916b2d DIRECTOR: Lingo: Implemented stub for char..of and char..to..of 2017-01-10 01:02:56 +01:00
Eugene Sandulenko bfc2fa8aa2 DIRECTOR: Lingo: Implemented stubs for put..after and put..before 2017-01-10 01:02:56 +01:00
Eugene Sandulenko 5ee51026c7 DIRECTOR: Lingo: More documentation for D3 differences 2017-01-10 01:02:56 +01:00
Eugene Sandulenko 2c69ffc3ff DIRECTOR: Lingo: Added stub for handling symbols 2017-01-10 01:02:56 +01:00
stevenhoefel 82ae4e07ca DIRECTOR: Build fix whilst determining correct parameters to pass to Lingo::call() 2017-01-10 09:31:42 +11:00
stevenhoefel 60f936d1f7 DIRECTOR: More work to get events triggering. Loop all frames in score. 2017-01-10 09:24:21 +11:00
Eugene Sandulenko 0e20548c15 DIRECTOR: Lingo: Disable ID presence requirement for handlers
It looks like they are optional. The proper grammar change will follow
2017-01-09 23:01:47 +01:00
Eugene Sandulenko 83c4cd19f0 DIRECTOR: Lingo: Allow 'me' as an argument to the handlers 2017-01-09 18:59:05 +01:00
Eugene Sandulenko b30971b03f DIRECTOR: Lingo: Removed 'me' as lexer token 2017-01-09 18:52:17 +01:00
Eugene Sandulenko 2d29e5db29 DIRECTOR: Add sanity check to 'go to' functions 2017-01-09 18:35:11 +01:00
Eugene Sandulenko c18a3e28e2 DIRECTOR: Lingo: Debug Lingo parsing only with debugchannel explicitely set 2017-01-09 09:24:18 +01:00
Eugene Sandulenko eab2e06169 COMMON: Enhanced debug channel checks.
Now it is possible to enforce checking by specifying level -1,
that is, debug level 11 will not turn it on.
2017-01-09 09:22:35 +01:00
D G Turner f63b9d0fcb IMAGE: Fix Unused Variable Compiler Warning in Indeo 4 Codec. 2017-01-09 07:21:59 +00:00
Eugene Sandulenko a85bbc0148 DIRECTOR: Documented mouse and pointer-related D3 keywords 2017-01-09 00:55:30 +01:00
Eugene Sandulenko 2e64b2202d Merge pull request #887 from stevenhoefel/master
DIRECTOR: Support for D4 cast and images
2017-01-09 00:54:27 +01:00
stevenhoefel 41ee83e3f0 DIRECTOR: D4 Image Decoding, Buttons, Text, Shapes. 2017-01-09 00:05:06 +01:00
stevenhoefel 8c3c9df350 DIRECTOR: System beep and Mouse Cursors. 2017-01-09 00:00:17 +01:00
stevenhoefel 3359ea9c99 DIRECTOR: CASt members have Children in D4. 2017-01-09 00:00:04 +01:00
Colin Snover 3c02008262 COMMON: Fix GCC 4 shadow warnings in Span 2017-01-08 15:17:22 -06:00
Colin Snover 3cfc396ecd COMMON: Simplify Span code
Implicitly generated constructors can be used instead of explicit
constructors, which reduces the amount of necessary boilerplate.

Long lists of identical typedefs to the superclass are now defined
using a macro.

data() const now returns a pointer to data that matches the
value_type of the data, instead of forcing the data to be const.
This better matches the intent of the Span class, which provides
a view into data, rather than being a container that holds data.
2017-01-08 14:08:16 -06:00
Colin Snover 9c60bcf069 COMMON: Add more lcov-guided Span tests 2017-01-08 13:21:10 -06:00
Colin Snover b2796e65aa COMMON: Restrict use of data access helpers
The data access helpers as written are effectively little-endian
when reading from spans with value_types larger than the size of
the requested data (e.g. more than 1 byte for getting a char,
more than 2 bytes for getting a uint16, etc.). For now, restrict
use of these methods at compile time until someone actually needs
to read memory that way.
2017-01-08 13:21:10 -06:00
Colin Snover 2558b20cdd COMMON: Improve test coverage for Span and fix bugs from testing 2017-01-08 13:20:23 -06:00
Colin Snover 7e0b40173f COMMON: Add STATIC_ASSERT macro to scummsys.h 2017-01-08 13:20:23 -06:00
Colin Snover 640f6039ca COMMON: Add Span to common library
Span is roughly modelled on the GSL span<T> type, and is intended
to replace direct access to raw pointers -- especially pointers
that are passed to functions along with a separate size
parameter. It provides low-cost bounds-checked reads and writes,
as well as convenience functions for reading common values
(integers of varying endianness, strings, etc.). While similar to
MemoryReadStream in purpose, Span is superior in cases where
memory is writable, where memory is accessed randomly rather than
sequentially, or where any invalid access should be treated as an
unrecoverable error. It should also be more efficient than a
MemoryReadStream because it is implemented using CRTP, so there is
no runtime overhead from dynamic dispatch.

NamedSpan is an extension of Span which provides enhanced
debugging information when out-of-bounds memory accesses occur.
It allows programmers to name the memory span at construction time,
and it also tracks the offsets of subspans so that the absolute
byte offset of the original memory can be provided in the error
message if an out-of-bounds access occurs.

SpanOwner is similar to ScopedPtr but has awareness of the design
of Span objects, so allows the memory pointed to by the Span object
inside the SpanOwner to be freed when the SpanOwner is freed
without requiring holding a separate pointer to the start of
memory. It also provides some copy semantics, so unlike a ScopedPtr,
SpanOwners can be held by objects in movable containers like
Common::Array -- but note that because there are no move semantics
in C++98, this means that a new, complete memory copy of the
pointed-to data will be created, rather than just a new Span
pointing to the same block of memory, when a container holding a
SpanOwner expands.
2017-01-08 13:20:23 -06:00
Colin Snover ff1c2295ab COMMON: Add type traits to common library
Type traits allow conditional selection and manipulation of types
during compilation.
2017-01-08 13:20:23 -06:00
Filippos Karapetis 4dc6aa2d93 CHEWY: Add console command to change scenes 2017-01-08 20:24:39 +02:00
Filippos Karapetis f3ea11f402 CHEWY: Initial implementation of scene sprites, props and hotspots 2017-01-08 20:24:39 +02:00
Filippos Karapetis b20df6b417 CHEWY: Make the error for invalid text resources more verbose 2017-01-08 20:24:39 +02:00
Filippos Karapetis 981ff3b224 CHEWY: Clean up cursors a bit 2017-01-08 20:24:38 +02:00
George Kormendi 80180aba57 I18N: Update translation (Hungarian)
Currently translated at 99.3% (923 of 929 strings)
2017-01-08 09:33:21 +01:00
Eugene Sandulenko 5f868a65b4 DIRECTOR: Added g_director uglyness 2017-01-08 09:32:32 +01:00
Eugene Sandulenko e9d84a5abd DIRECTOR: Lingo: Documented D3 menu properties 2017-01-08 00:34:17 +01:00
Eugene Sandulenko 5ff622189e DIRECTOR: Lingo: Added more D3 stubs 2017-01-08 00:24:59 +01:00
Eugene Sandulenko 8a68c0d891 DIRECTOR: Lingo: Fix arguments check for built-ins 2017-01-07 22:56:30 +01:00
Eugene Sandulenko 03638300cf DIRECTOR: Lingo: Stubbed "sound*" built-ins 2017-01-07 21:20:26 +01:00
Eugene Sandulenko 8e303c7705 DIRECTOR: Lingo: Added stub for 'me' keyword 2017-01-07 17:31:19 +01:00
Eugene Sandulenko e3a7fe4cab DIRECTOR: Lingo: Switch bison debug at runtime
--debugflags=lingocompile -d10
2017-01-07 17:13:33 +01:00
Eugene Sandulenko 993418674e DIRECTOR: Lingo: Fix 'on' keyword parsing
It requires handler name after 'end' keyword
2017-01-07 17:08:48 +01:00
Eugene Sandulenko 22929379e5 DIRECTOR: Lingo: Documented catmember differences for D3 2017-01-07 14:49:15 +01:00
Thierry Crozat 3cd5e20c19 I18N: Revert encoding of Polish translation back to ISO-8859-2
The translation was automatically converted to UTF-8 due to the use
of curly brackets, which I had to replace with straight ones.
2017-01-07 13:06:56 +00:00
Walter Agazzi 7b9ebace2e I18N: Update translation (Italian)
Currently translated at 100.0% (929 of 929 strings)
2017-01-07 13:47:42 +01:00
Filippos Karapetis 69962fd728 I18N: Update translation (Greek)
Currently translated at 100.0% (929 of 929 strings)
2017-01-07 13:47:42 +01:00
Thierry Crozat e72f12d73d I18N: Change back encoding of Finnish translation to ISO-8859-1
It was changed to UTF-8 by Weblate due to the use of a character
that cannot be encoded with the ISO-8859-1 charset. The character
was the ellipses, which I had to replace with three dots.
2017-01-07 12:24:46 +00:00
Arius af1d0c6731 I18N: Update translation (Greek)
Currently translated at 100.0% (929 of 929 strings)
2017-01-07 03:28:02 +01:00
Filippos Karapetis d4ecfe70fc I18N: Update translation (Greek)
Currently translated at 99.7% (927 of 929 strings)
2017-01-07 03:26:56 +01:00
Arius 264e609d2f I18N: Update translation (Greek)
Currently translated at 99.7% (927 of 929 strings)
2017-01-07 03:26:39 +01:00
Filippos Karapetis 378e82a115 I18N: Update translation (Greek)
Currently translated at 98.8% (918 of 929 strings)
2017-01-07 03:23:39 +01:00
Arius 4890553b27 I18N: Update translation (Greek)
Currently translated at 98.8% (918 of 929 strings)
2017-01-06 22:08:44 +01:00
Filippos Karapetis 51d649d242 I18N: Update translation (Greek)
Currently translated at 98.2% (913 of 929 strings)
2017-01-06 22:07:32 +01:00