Commit Graph

14433 Commits

Author SHA1 Message Date
568c415d0a Convert wchar_t*/wstring arguments to UTF-8 strings in CLogger messages.
This was SVN commit r16188.
2015-01-22 20:37:38 +00:00
e02d7ad949 Automatically replace %hs/%ls with %s in CLogger format strings.
Everything is char* now, so we don't need to mess around with different
string types.

Done with:

  ag -ls 'LOG(MESSAGE|MESSAGERENDER|WARNING|ERROR)' source | xargs perl
-pi -e'1 while
s/(LOG(MESSAGE|MESSAGERENDER|WARNING|ERROR).*)%[hl]s/$1%s/g'

This was SVN commit r16187.
2015-01-22 20:36:24 +00:00
38a8e2e0d6 Automatically convert most path.string().c_str() to path.string8()
Done with:

  ag -l 'LOG.*string\(\).c_str\(\)' source | xargs perl -pi -e'1 while
s/(LOG.*string)\(\)\.c_str\(\)/${1}8()/g'

This was SVN commit r16186.
2015-01-22 20:35:17 +00:00
b90bc147c9 Add Path::string8 (which returns a UTF-8 encoded std::string).
This saves the hassle of writing utf8_from_wstring(path.string()) in
places like log messages, and can be extended to better handle
non-ISO-8859-1 paths on Linux.

This was SVN commit r16185.
2015-01-22 20:33:11 +00:00
e9a33b71ae Manually fix the less trivial CLogger format strings.
This was SVN commit r16184.
2015-01-22 20:32:06 +00:00
49e2ecea63 Automatically convert all CLogger format strings from wchar_t* to char*.
Done with:

  ag -ls 'LOG(MESSAGE|MESSAGERENDER|WARNING|ERROR)' source | xargs sed
-i 's/LOG\(MESSAGE\|MESSAGERENDER\|WARNING\|ERROR\)(L/LOG\1(/g'

This was SVN commit r16183.
2015-01-22 20:31:30 +00:00
dcf5a2667f CLogger: Use cppformat instead of sys_vswprintf.
sys_vswprintf relies on platform-specific printf implementations, which
vary widely between platforms (in handling of truncation, return values,
use of %s/%S/%hs/%ls for mixing char and wchar_t strings, etc) and are
therefore a pain.

Use cppformat's fmt::sprintf instead, which has very similar syntax to
sprintf but is more C++ish and is portable.

Also, wchar_t is stupid, so use char* strings (which are expected to be
UTF-8) in CLogger. This creates a bit of a pain with changing all
callers to convert to char* strings, but that's their fault for not
using UTF-8 already.

Refs #3011.

This was SVN commit r16182.
2015-01-22 20:30:05 +00:00
ca7b890e16 cppformat: Add basic tests for the functionality we use.
This was SVN commit r16181.
2015-01-22 20:28:57 +00:00
47b9a043b2 cppformat: Permit NULL arguments for %s.
Throwing exception on NULL is a bit extreme, and unhelpful when it
happens in rarely-tested error paths. Printing "(null)" is safer and
provides compatibility with glibc sprintf.

This was SVN commit r16180.
2015-01-22 20:27:58 +00:00
9c8798b592 cppformat: Remove support for CUSTOM types.
These cause a lot of type-safety trouble - unsupported types passed into
fmt::sprintf (like CStr or enums) will be accepted at compile time, but
trigger an exception at runtime. Remove them, so we'll get either an
implicit conversion to a supported type, or a compile-time error.

This was SVN commit r16179.
2015-01-22 20:27:34 +00:00
8875ae9cdf cppformat: Fix compatibility with our build system on Windows.
This was SVN commit r16178.
2015-01-22 20:26:58 +00:00
f16407f6e9 cppformat: Fix -Wundef build warnings from GCC.
This was SVN commit r16177.
2015-01-22 20:26:32 +00:00
f96593a9f3 Import cppformat v0.11.0
Refs #3011.

This was SVN commit r16176.
2015-01-22 20:25:10 +00:00
f8bfe3eafb Clean up redundancies in templates for the Visibility component, refs #2913
This was SVN commit r16175.
2015-01-22 17:23:25 +00:00
ad1adbe027 Implement the Rotary Mill aura for Celtic factions. Patch by niektb, fixes #2900.
Also remove the placeholder technology and the rotary mill generic
Celtic template, and rename the rotary mill portrait. Refs #2619.

This was SVN commit r16174.
2015-01-22 10:16:26 +00:00
1857c33602 Remove use of __attribute__ that breaks the Windows build. Refs #2522.
This was SVN commit r16172.
2015-01-21 22:37:25 +00:00
b5b9c0f2ae Improve template code style for the Decay component.
This was SVN commit r16171.
2015-01-21 21:45:05 +00:00
b65dcaba48 Prevent observers from using the team chat. Patch by trompetin17, fixes #2879.
This was SVN commit r16170.
2015-01-21 21:18:55 +00:00
76120d888b Add some tinygettext changes from SuperTuxKart. Refs #2522.
Move some data to RO. Pass some parameters as references.
Taken from https://github.com/Grumbel/tinygettext/issues/3.

This was SVN commit r16169.
2015-01-21 21:17:45 +00:00
aeb18239c3 Update tinygettext to upstream commit ca0f3ff640. Refs #2522.
Keeps our addition of precompiled.h (fd3d335265), win32/dirent,
4c9d99ff68, de6823d23f, and 8fc14655b5.

This was SVN commit r16168.
2015-01-21 20:37:37 +00:00
df3222a073 Petra: improve choice of target when attacking, to prevent cases where most units would follow the same target
This was SVN commit r16167.
2015-01-20 18:31:57 +00:00
852cd11305 Improve the performance of the GetLosVisibility function by using the cache (currently used for mirages only) whenever possible.
This was SVN commit r16166.
2015-01-20 16:29:50 +00:00
7a48606471 GLES compatibility for particle shader
This needs to use the model-view matrix, not model-view-projection (the
transform uniform), else the axes won't be unit vectors and the particle
sizes will be wrong. But GLES doesn't have the pre-defined matrices, so
pass it in explicitly.

This was SVN commit r16165.
2015-01-19 21:44:53 +00:00
e1e163b3f7 Improve ogl_WarnIfError() to report the file/line where the error was detected
This was SVN commit r16164.
2015-01-19 20:06:16 +00:00
b74e853144 Fix typo which caused GLES errors
This was SVN commit r16163.
2015-01-19 20:04:46 +00:00
4554ed676e continue to display research overlay after victory, fixes #2983
This was SVN commit r16161.
2015-01-18 16:55:52 +00:00
09bbc9c35c Enable C++11 by default.
Don't generate workspaces and remove checks for unsupported compier/IDE
version$

Refs #2669

This was SVN commit r16160.
2015-01-18 13:44:03 +00:00
10f90fd8cf Petra: fix missing line in 0a5089c841
This was SVN commit r16159.
2015-01-18 10:28:30 +00:00
a72d490759 Fix Atlas compile problems with C++11 and clang. Thanks to trompetin17 for investigating this.
Refs #2669

This was SVN commit r16158.
2015-01-18 09:48:41 +00:00
840c8215b6 Fixes build error 'no viable conversion' on OS X with clang, libc++ and c++11, refs #2462.
Removes explicit use of _Unwrap(), prefer deference operator * instead

This was SVN commit r16157.
2015-01-18 06:36:15 +00:00
8976fb7646 Fixes MSVC warning C4100 unreferenced formal parameter
This was SVN commit r16156.
2015-01-18 06:26:00 +00:00
4ca156e2d8 Updates build-osx-libs.sh to use wxWidgets 3.0.2.
Adds patch to fix wxWidgets build on Yosemite (based on
http://trac.wxwidgets.org/changeset/76743), fixes #2924.
Removes patch for previous version of wxWidgets.

This was SVN commit r16155.
2015-01-18 03:31:26 +00:00
0a5089c841 Petra: prevent melee units to try to attack ships + tweaks on buildings
This was SVN commit r16154.
2015-01-17 17:50:27 +00:00
ba14819191 Use future-proof lib path in build-osx-libs.sh. Patch by trompetin17.
There are symbolic links to the library binaries in the directory
dist/lib. It's better to use these links rather than the location they
point to for the copy command (they point to a different location in
ESR31).

Refs #2462

This was SVN commit r16153.
2015-01-17 14:03:22 +00:00
993d9c72d3 Petra: various small tweaks
This was SVN commit r16152.
2015-01-17 12:53:33 +00:00
02a50fce62 Notify map makers when they are placing obstructed entities (overlapping other ones or placed outside the borders of the map). Patch by trompetin17
Fix #1163, refs #2829.

This was SVN commit r16149.
2015-01-14 09:11:11 +00:00
755ec45a14 Use correct format specifiers. Patch by bog_dan_ro.
This was SVN commit r16148.
2015-01-13 18:37:50 +00:00
702fb7344e allow maps to handle garrisoned units, fixes #2984
This was SVN commit r16147.
2015-01-13 17:59:55 +00:00
f2d71164e6 Fixes game mode defaulting to Conquest when Endless mode is selected.
Patch by niektb, thanks!

Fixes #3001.

This was SVN commit r16146.
2015-01-13 12:08:54 +00:00
528ed2d15e prevent error when switching perspective to gaia
This was SVN commit r16145.
2015-01-12 22:03:03 +00:00
e916c7e91f add display of trading goods when multiple selection
This was SVN commit r16144.
2015-01-12 21:39:31 +00:00
9855717840 Petra fix js warning when building cart super_dock, addresses #2998
This was SVN commit r16143.
2015-01-12 20:47:14 +00:00
320cfa0bfc Petra: complete the rework of starting game to allow more flexibility (i.e. support of nomad maps)
This was SVN commit r16142.
2015-01-11 22:47:24 +00:00
851d3d964a Fixes MSVC build warnings about unhanded cases in switch statement (C4062) and missing parameter in macro (C4003)
This was SVN commit r16141.
2015-01-11 21:37:53 +00:00
8fc14655b5 Improve 524a942b52. Refs #2637.
This was SVN commit r16140.
2015-01-11 19:14:03 +00:00
95fa46304f Don't specify wxwidgets lib names in extern_libs4.lua
It works without specifying them and this way it builds with wxwidgets
2.8 and 3 on Windows

Refs #2891

This was SVN commit r16139.
2015-01-11 17:25:24 +00:00
524a942b52 Only print add_translation warning when translations do not match
FIXES 2637

This was SVN commit r16138.
2015-01-11 14:08:01 +00:00
873399b294 fix a typo, addresses #2998
This was SVN commit r16136.
2015-01-10 19:41:02 +00:00
731e3dd13c Petra: continue rework of starting game to allow more game type
This was SVN commit r16135.
2015-01-10 14:34:26 +00:00
77dba7a8bb Remove some duplication in the gui tooltip code.
This was SVN commit r16134.
2015-01-09 17:08:12 +00:00