56345 Commits

Author SHA1 Message Date
Alexander van Gessel
3113763de0 Revert XCode changes in "Attempt to update projectfiles"
This reverts part of commit f786c2d4229ea16f6d6fbe24f557a524af74707d.
2014-03-24 22:02:35 +01:00
Mark de Wever
4b298611fb Merge branch 'SDL2_exception'
Improves the exception handling for the SDL2 code.
2014-03-24 20:01:06 +01:00
Alexander van Gessel
d79b7d6547 Merge branch 'master' of github.com:wesnoth/wesnoth 2014-03-24 04:31:39 +01:00
Alexander van Gessel
1c73372beb Add missing include for windows-only files 2014-03-24 04:25:18 +01:00
Alexander van Gessel
89e1eba6df Merge pull request #130 from Aishiko/Add-unit-instance-recall-costs
Correct gold check comparision in recall dialog
2014-03-24 03:22:02 +01:00
Aishiko
5beed0a0f5 Correct gold check comparision in recall cost
By correcting the assignment of the cost of the unit it now correctly
says whether or not the play actually has the gold to recall a unit, as
after this check it is assumed they do by the program which creates
the possibility of recalling when you have no gold, or negative gold.

Added comments so that the magic number is explained.
2014-03-23 21:51:59 -04:00
Alexander van Gessel
e132df7d64 Remove gitignore in otherwise empty dir 2014-03-24 00:32:39 +01:00
Alexander van Gessel
f786c2d422 Attempt to update projectfiles 2014-03-24 00:32:15 +01:00
Alexander van Gessel
c192854e32 Whitespace fix 2014-03-24 00:25:01 +01:00
Alexander van Gessel
1b2bfa1e2a Include system headers with <>, not "" 2014-03-24 00:24:50 +01:00
Alexander van Gessel
1aad7f9d45 Move unicode support to its own file 2014-03-24 00:24:21 +01:00
Alexander van Gessel
7df83c22a8 Don't dereference iterator after invalidating it
Found by coverity.
2014-03-23 19:31:40 +01:00
Alexander van Gessel
ae34792417 Initialize all members
Found by coverity.
2014-03-23 19:22:03 +01:00
Nils Kneuper
4e514f2304 updated German translation 2014-03-23 18:02:04 +01:00
Alexander van Gessel
b6d4b9c71a Changelog entry for unicode handling improvements 2014-03-23 17:20:14 +01:00
Alexander van Gessel
436582337c Fix an identifier. Spotted by aquileia 2014-03-23 14:44:07 +01:00
aquileia
8e2edc82a0 Improve byte_size_from_utf8_first()
The count_leading_ones function by 8680 improves speed and readability
of this function which parses UTF-8 characters.
2014-03-23 13:32:08 +01:00
Mark de Wever
f1793ab3e8 Use the new SDL exception in the SDL code.
Also:
* Fix a copy paste error in an error message.
* Make creation failures of a texture object throwing an exception.
2014-03-23 13:22:07 +01:00
aquileia
188c7c3386 Merge branch '8573/util/count-leading-ones/1' of https://github.com/8680-wesnoth/wesnoth into codepoint_count 2014-03-23 13:19:14 +01:00
Mark de Wever
982a844470 Catch the new SDL exception in the main game. 2014-03-23 13:17:29 +01:00
Alexander van Gessel
4e50c064e3 Merge branch 'master' of github.com:wesnoth/wesnoth 2014-03-23 13:13:44 +01:00
Alexander van Gessel
883fe46cad Use existing named constants 2014-03-23 13:13:19 +01:00
Alexander van Gessel
5b72299c39 Match declaration with definition 2014-03-23 13:13:08 +01:00
Mark de Wever
f6b52f338c Add the SDL exception class. 2014-03-23 13:09:08 +01:00
David Mikos
c770104621 Fix bug #21257: make skip AI mid-movement animations invisible and only enable at end. 2014-03-23 18:08:10 +10:30
Alexander van Gessel
6b5f357b6e Follow up the utf8 namespace with ucs4 and utf16 namespaces 2014-03-23 04:24:02 +01:00
Alexander van Gessel
a25a0b7d35 Reshuffle some tests 2014-03-23 03:48:04 +01:00
Alexander van Gessel
b0d31d07e3 Merge branch 'wide_string_elimination'
Conflicts:
	src/dialogs.cpp
	src/gui/dialogs/addon_list.cpp
	src/gui/widgets/password_box.cpp
	src/gui/widgets/text.cpp
	src/gui/widgets/text_box.cpp
	src/marked-up_text.cpp
	src/serialization/string_utils.cpp
	src/serialization/string_utils.hpp
	src/text.cpp
2014-03-23 03:46:01 +01:00
Alexander van Gessel
1f4fe17576 Add some unicode handling tests 2014-03-23 02:59:00 +01:00
Alexander van Gessel
9d2465fb20 Prevent some possible buffer overflows 2014-03-23 02:22:52 +01:00
Alexander van Gessel
6318b37ffd Get rid of utils::wide_string
utils::wide_string was a std::vector<wchar_t>
On most unix systems, this is 32 bits wide, and therefore a UCS-4 encoding.
On windows however, wchar_t is 16 bits wide, and the naive approach results
in UCS-2, which can only represent the Basic Multilingual Plane.

Most functions that used wide_string have been moved over to ucs4_string.
The Win32 API has been moved over to a specially created utf16_string instead.

Specialty tolower #ifdefs have been removed, as the towlower function has
been available since OS X 10.3, OpenBSD 3.7 and probably ancient versions of
all other BSDs too. The only issue is that on windows, the function cannot
be applied to characters outside the BMP.
2014-03-23 01:56:40 +01:00
Alexander van Gessel
8386c592e7 Merge pull request #126 from aquileia/utf8
Improve UTF-8 handling
2014-03-23 01:10:14 +01:00
aquileia
246f599bd0 fix signature and test for UTF-8 functions
On the advise of 8680, the unicode string was replaced by the hex
transcription of the corresponding codepoints (which he kindly
provided).
This might help to pass the overzealous encoding check of clang.

This commit also fixes a discrepancy between the signature of u8index in
declaration and definition.
2014-03-23 00:08:27 +01:00
8573
36e3da74eb Add count_leading_ones function
Add the following function in `src/util.hpp`:

    template<typename N> inline unsigned int count_leading_ones(N n);

This function returns the quantity of leading `1` bits in `n`.
2014-03-22 20:43:15 +00:00
8573
97d24001eb Add count_leading_zeros function
Add the following function in `src/util.hpp`:

    template<typename N> inline unsigned int count_leading_zeros(N n);

This function returns the quantity of leading `0` bits in `n`.
2014-03-22 20:42:18 +00:00
8573
23fddb0e93 Add count_ones function
Add the following function in `src/util.hpp`:

    template<typename N> inline unsigned int count_ones(N n);

This function returns the quantity of `1` bits in `n` — i.e., `n`’s
population count.
2014-03-22 20:42:04 +00:00
8573
2313201837 Have bit_width(x) take x by reference.
In `src/util.hpp`, change the following function signature:

    template<typename T> inline std::size_t bit_width(T x);

To the following function signature:

    template<typename T> inline std::size_t bit_width(const T& x);

This avoids needing to call `T`’s copy-constructor, which could be
annoying.
2014-03-22 20:37:11 +00:00
aquileia
2f6a6a7d0e move UTF-8 functions to a separate namespace 2014-03-22 20:57:01 +01:00
aquileia
9351a25249 Fix a wrongly passed parameter in text_box.cpp 2014-03-22 20:55:58 +01:00
Ignacio R. Morelle
e96bd0f1e1 Sort players changelog categories by alphabetical order 2014-03-22 15:39:27 -03:00
aquileia
52c80db79e Improve UTF-8 handling
For manipulation of UTF-8 encoded strings (insert, delete, truncate, and
size), usually conversion to wstring and back was necessary. This has
two disadvantages:
* the size of wstring is implementation defined
* the
double conversion is slow

The purpose of this patch is to add functions
to handle these tasks by a layer handling the different indexing between
codepoints and characters.

This commit applies these functions in
several places to replace the old implementations.

The byte_size_from_utf8_first() implementation will be replaced in a
separate commit as it relies on the count_leading_ones function by 8680.

Signed-off-by: aquileia <sk.aquileia@gmail.com>
2014-03-22 15:39:23 +01:00
aquileia
c928358106 Extend .gitignore for VC project files
This commit adapts .gitignore to the new MSVC compilation
recommandations on the wiki.

Signed-off-by: aquileia <sk.aquileia@gmail.com>
2014-03-22 15:39:01 +01:00
aquileia
d55848319d fix password box documetation
Signed-off-by: aquileia <sk.aquileia@gmail.com>
2014-03-22 15:38:37 +01:00
loonycyborg
7116ccf9ef scons: Made out-of-tree builds with -Y option work 2014-03-22 17:45:21 +04:00
Andrius Silinskas
fa5b916bf1 Add missing MP settings for reloaded games. Fixes #21808.
The problam was that mp::configure is not used for reloaded games and so
mp_game_settings will not be fully initialised. This leads to using default
values rather than values set using mp::configure screen or from reloaded game
config.

The optimal solution would be to either display mp::configure for reloaded games
or to populate mp_game_settings using reloaded game config. However, both
solutions require rather a lot of code restructing and are probably not suitable
for a feature freeze.
2014-03-22 12:51:05 +00:00
Nils Kneuper
80feaee818 updated German translation 2014-03-22 09:29:46 +01:00
Nils Kneuper
025342283b changelog update for Greek translation update 2014-03-22 09:29:30 +01:00
Nils Kneuper
bbdf3a16de updated Greek translation 2014-03-22 09:27:56 +01:00
mattsc
feafb1dadf Update changelogs and release notes 2014-03-21 20:33:54 -07:00
happygrue
cd1a8ea6c8 Fixed whitespace error in changelogs 2014-03-21 21:28:54 -04:00