Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
|
|
|
|
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.
|
|
Type traits allow conditional selection and manipulation of types
during compilation.
|
|
|
|
|
|
|
|
|
|
Currently translated at 99.3% (923 of 929 strings)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--debugflags=lingocompile -d10
|
|
It requires handler name after 'end' keyword
|
|
|
|
The translation was automatically converted to UTF-8 due to the use
of curly brackets, which I had to replace with straight ones.
|
|
Currently translated at 100.0% (929 of 929 strings)
|
|
Currently translated at 100.0% (929 of 929 strings)
|
|
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.
|
|
Currently translated at 100.0% (929 of 929 strings)
|
|
Currently translated at 99.7% (927 of 929 strings)
|
|
Currently translated at 99.7% (927 of 929 strings)
|
|
Currently translated at 98.8% (918 of 929 strings)
|
|
Currently translated at 98.8% (918 of 929 strings)
|
|
Currently translated at 98.2% (913 of 929 strings)
|
|
Currently translated at 98.2% (913 of 929 strings)
|
|
Currently translated at 100.0% (929 of 929 strings)
|
|
Currently translated at 97.7% (908 of 929 strings)
|
|
Currently translated at 97.7% (908 of 929 strings)
|
|
Currently translated at 97.4% (905 of 929 strings)
|
|
Currently translated at 97.4% (905 of 929 strings)
|
|
|
|
With this bug, whenever a string was trimmed from the right, the last
character was always cut off, even if it wasn't whitespace. This was
apparent in the RAMA demo, which parses a text file for its scenes,
and each line is trimmed
|
|
Travis builds are failing randomly after this change due to
upstream bug travis-ci/travis-ci#7103, so reverting these changes
until it is fixed.
This reverts commit 72f421cb38149d9a66d7145609be81cec2514d48, reversing
changes made to c919c9996c6f62cf4f0d1a22d0522b0ee9a0514c.
|
|
It should originally go to lingo-lex.l, as lingo-lex.cpp is
autogenerated. The fix was initially in 0da273fc8c843a6248e11f
|
|
SCI: Unconditionally save palvary state
|
|
|
|
Additionally, add workaround to fix up old QfG3 saves with broken
_palVaryPaused state. Fixes bug #9674.
|
|
Currently translated at 100.0% (929 of 929 strings)
|
|
|
|
|
|
Currently translated at 99.8% (928 of 929 strings)
|
|
Currently translated at 88.6% (824 of 929 strings)
|
|
Currently translated at 100.0% (929 of 929 strings)
|
|
Currently translated at 98.7% (917 of 929 strings)
|