Sven Eberhardt
675db52e38
Texture shape coverage fix and mape build fix.
2015-10-09 14:49:31 -04:00
Julius Michaelis
6fe58fd878
Add warning about old gcc when !HAVE_WORKING_REGEX
...
Related to ee859d8
.
2015-10-03 13:42:46 +02:00
Nicolas Hake
c8e1a38950
Revert "Replace strtod with strtof_l ..."
...
This reverts commit 139dee9874
.
The commit introduced a memory leak on glibc, and broke the build on all
other platforms.
2015-10-01 20:50:40 +02:00
Julius Michaelis
139dee9874
Replace strtod with strtof_l in C4ScriptGuiWindow::SetPositionStringProperties to avoid locale problems
...
(That function could still use some more love, though: Error messages and not accepting ridiculous things when parsing.)
2015-10-01 19:50:05 +02:00
Julius Michaelis
ee859d85e0
Remove boost any usage of boost libraries
2015-09-30 00:16:12 +02:00
Nicolas Hake
6a11e3e811
Stop checking for rvalue ref support
...
We already require support for std::unique_ptr, which itself requires
support for rvalue references. As such, we know we can use rvalue
references, and thus don't have to keep carrying dead code around.
2015-09-20 13:27:14 +02:00
Nicolas Hake
8e36b43f9c
CMake: Split GLEW out into a module, look for both shared and static lib
...
On Windows, we need to know whether the library we're linking against is
a static library or a shared library import stub. If it's a shared lib
(and only then), we need to #define GLEW_STATIC.
Other OSes handle library imports differently and don't care.
2015-09-19 21:35:55 +02:00
Nicolas Hake
5d37444065
CMake: Update list of Boost versions yet again
2015-09-18 14:33:15 +02:00
Nicolas Hake
9c546d1d1d
CMake: Link winmm to libmisc
...
libmisc contains C4TimeMilliseconds, which requires winmm.
2015-09-18 14:33:14 +02:00
Maikel de Vries
dd0a01f3df
fix oc_groups for cmake after tutorial folder change
2015-09-13 15:32:35 +02:00
Nicolas Hake
2b876a6cb6
C4Script: Split stubs from script runner
2015-09-04 13:21:06 +02:00
Sven Eberhardt
8551da87ac
Added C4ScriptGuiWindow.h to sources in CMakeLists.txt.
...
This ensures it's in the file list in the MSVC IDE (and possibly others).
Also put C4ScriptGuiWindow.* into alphabetical sort order.
2015-09-03 23:15:48 -04:00
David Dormagen
ac738735b2
Merge branch 'master' into Controls
...
Conflicts:
planet/Objects.ocd/Vehicles.ocd/Airplane.ocd/Script.c
src/game/C4Game.cpp
src/game/C4GraphicsSystem.cpp
src/gamescript/C4GameScript.cpp
2015-09-02 08:19:34 +02:00
Sven Eberhardt
6ab6a1ac3c
Add script interface for some EFX sound modifiers.
2015-08-27 21:44:23 -04:00
Armin Burgmeier
0cdafc278b
Transform all mesh data to Clonk reference frame on load
...
Instead of doing the transformation when drawing a mesh. This allows making
the OpenGL normal matrix more consistent, since it does not include the
Ogre-To-Clonk transformation, and so that the transformation does not need
to be inverted in the shader.
As a side effect, all Attach transformations were updated, since before
they were specified in the OGRE reference frame, not the Clonk reference
frame.
2015-08-18 20:30:20 -04:00
David Dormagen
196f528201
Merge branch 'master' into Controls
...
Conflicts:
planet/Objects.ocd/HUD.ocd/FancyGridMenu.ocd/DefCore.txt
planet/Objects.ocd/HUD.ocd/GridMenu.ocd/DefCore.txt
planet/Objects.ocd/Helpers.ocd/Dummy.ocd/Graphics.png
planet/Objects.ocd/Items.ocd/Tools.ocd/WindBag.ocd/Script.c
planet/Objects.ocd/Items.ocd/Weapons.ocd/Javelin.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/ClonkControl.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/Constructor.ocd/ConstructionMenu.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/Constructor.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/Flag.ocd/Marker.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/Producer.ocd/Script.c
planet/Objects.ocd/Structures.ocd/Flagpole.ocd/Script.c
planet/Objects.ocd/Structures.ocd/Pump.ocd/Script.c
src/game/C4Game.cpp
src/gamescript/C4GameScript.cpp
src/gui/C4GameMessage.cpp
src/landscape/C4Landscape.cpp
2015-06-03 22:32:36 +02:00
Nicolas Hake
2eb78b617d
Split calculated values out of Version.txt
...
Version.txt should only contain values that you set manually. Anything
that's derived from that or calculated separately should be in a
separate file.
2015-05-21 23:09:01 +02:00
Nicolas Hake
5f46161433
Remove unused clone of C4PathFinder
...
Why the hell is there a second implementation of C4PathFinder around? It
wasn't even used anywhere.
2015-03-31 17:57:58 +02:00
hasufell
5f29846b7d
Fix USE_SYSTEM_TINYXML
...
* fix the if-conditional
* don't use pkgconfig (there is no .pc file upstream)
Signed-off-by: Julius Michaelis <caesar@hg.openclonk.org>
(Added license to FindTinyXML.cmake)
2015-03-28 22:58:53 +09:00
Kevin Zheng
fd6914f9cb
Fix linking with SDL
2015-03-15 19:26:57 +01:00
Nicolas Hake
4cb97e7a03
OS X: Make app bundle renamable
...
XCode automatically sets EXECUTABLE_NAME correctly. We have to do it by
hand if we're not using XCode.
2015-03-15 16:03:44 +01:00
Nicolas Hake
db295b8678
Add emulation of C++14's std::make_unique
...
Unlike std::make_shared, std::make_unique was unfortunately missing from
C++11. It's a useful utility though.
Technically, declaring a new name in the std namespace is undefined, but
the other way to make make_unique available to all callers regardless of
C++ version, putting it into a distinct utility namespace and importing
the declaration from std if available, makes for more ugly code.
2015-02-25 23:37:04 +01:00
Nicolas Hake
0b55cea227
Disable assertions in non-debug builds
...
Making the engine terminate when an assertion fails is a good thing in
debug builds, but keeping them enabled in release builds only hurts our
users.
2015-02-20 23:36:36 +01:00
Nicolas Hake
9bfd232ab5
Test whether GLDEBUGPROCARB's userParam is const or not
...
Depending on how current your headers are, the userParam parameter to
GLDEBUGPROCARB may be const, or it may not. The ARB has added the const
qualifier at some point after publishing the specs. Hooray for breaking
API changes.
2015-02-16 21:21:31 +01:00
Nicolas Hake
9093bde491
Suppress -Wcast-align on clang
...
Alignment doesn't matter on any platform we support, and unlike gcc,
clang uses natural alignment instead of required alignment to emit this
warning.
2015-02-14 19:45:32 +01:00
Nicolas Hake
cdd490b53c
Set some warning flags when compiling with clang
...
The Clang warning flags are woefully underdocumented, so I've just
matched the g++ list in as much as I knew the flags existed.
2015-02-14 00:11:51 +01:00
Nicolas Hake
69cdae5ef2
Use find_package instead of raw include to find libraries
2015-02-12 20:09:58 +01:00
Nicolas Hake
0076fc7d7b
Fix DbgHelp check
...
CMake didn't always find the correct DbgHelp.lib on Win64. Somehow,
nobody seems to have noticed!
2015-02-08 15:03:08 +01:00
Sven Eberhardt
e05c7de976
Flag UPnP includes as system to suppress warnings.
2015-02-07 22:46:52 +01:00
Sven Eberhardt
f032662052
Mark getopt and tinyxml thirdparty includes as system libraries.
...
This should silence some warnings occuring in thirdparty code so warnings in our own code get the exposition they deserve.
2015-02-07 22:02:42 +01:00
Nicolas Hake
e4fea50a9a
Mark thirdparty as system headers so we don't get warnings from there
...
thirdparty needs to be pristine code so we can update those libraries
without having to figure out whether we need to apply some more patches.
This means we can't easily fix warnings in there; telling GCC that these
are system headers means it won't emit any.
2015-02-07 17:39:15 +01:00
Nicolas Hake
c087a88977
Fall back to COMPILE_DEFINITIONS_DEBUG for old CMake
...
Debian Stable still ships 2.8.9, so for the time being we want to
support that version.
2015-01-27 17:58:31 +01:00
Günther Brammer
36ce941e4d
cmake: Restore SDL-Mainloop build
2015-01-25 19:05:06 +01:00
Günther Brammer
a92c22a7b3
Merge various build system fixes and cleanups
2015-01-25 18:50:29 +01:00
Nicolas Hake
2e1bdd742f
OSX: Bundle libraries even when not compiling with XCode
...
We have half-arsed support for building Darwin executables with Unix
tools instead of XCode. Make it slightly more whole-arsed.
2015-01-24 23:28:33 +01:00
Nicolas Hake
d44d7ba33e
OSX: Use /bin/bash to pack game data
...
Since the script is using bashisms, a posixly correct /bin/sh isn't
sufficient. Explicitly use /bin/bash instead.
2015-01-23 19:22:04 +01:00
Nicolas Hake
a7548cfa12
Get CMake to use tools from a native build when cross-compiling
2015-01-23 19:20:55 +01:00
Nicolas Hake
d994b893ba
OSX: Fix capitalization of several imports and includes
2015-01-23 18:24:31 +01:00
Nicolas Hake
53ff6da5ef
Remove some OSX-specific hacks from the main CMakeLists
2015-01-23 17:15:56 +01:00
Nicolas Hake
f4e95ea85c
Use find_package for finding libbz2 instead of hard-coding the path
2015-01-23 17:11:23 +01:00
Nicolas Hake
9759f72b89
Downgrade requirements to Ubuntu Precise (12.04LTS)
2015-01-19 12:26:42 +01:00
Nicolas Hake
4060991124
CMake: Add support for Boost 1.57.0
...
For some reason, even the most recent (as of this writing) CMake 3.1.0
doesn't know about Boost 1.57.0, which was released two months before
CMake. Add it to the known version list.
2015-01-18 20:50:33 +01:00
Nicolas Hake
ee62586013
CMake: Fallback to the system FindFreetype if pkg-config fails
...
Instead of shipping our own copy of FindFreetype.cmake, use the system
one if pkg-config is not available or can't find FreeType.
2015-01-18 20:50:32 +01:00
Nicolas Hake
2b2d70d02a
CMake: Update for 3.1 compatibility
...
CMake 3.1's if() by default now interprets quoted variable names as
strings. This is a good idea from a strictness perspective, so make it
do this even if we're in 2.8.9 compatibility mode.
2015-01-18 20:50:31 +01:00
Nicolas Hake
fad70eb204
Increase required CMake version to 2.8.9
...
Debian Wheezy is shipping 2.8.9, and nobody is testing older versions
anyway.
2015-01-18 20:50:30 +01:00
David Dormagen
bd04722553
Merge branch 'master' into Controls
...
Conflicts:
planet/Objects.ocd/HUD.ocd/Controller.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/ClonkControl.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/Constructor.ocd/ConstructionMenu.ocd/Script.c
planet/Objects.ocd/Libraries.ocd/Constructor.ocd/Script.c
src/game/C4GraphicsSystem.cpp
src/game/C4GraphicsSystem.h
src/game/C4Viewport.cpp
src/gui/C4GameMessage.cpp
2015-01-15 19:57:01 +01:00
Nicolas Hake
8a729b4c6f
Crash handler: Use PRIdPTR format where available
...
Printing pointers from the crash handler has been broken starting
with an update to MinGW at some point in the past, when they stopped
using printf from MSVCRT, instead replacing it with a private
implementation. Fix this by checking for inttypes.h availability, and
using it (and its format macro) when possible.
2015-01-15 10:18:37 +01:00
Armin Burgmeier
ae5f56594a
Fix openclonk build with GTK3
2015-01-12 16:25:00 -05:00
Nicolas Hake
804bf41c92
Fix UPnP auto-detection
...
Auto-detecting UPnP might fail when CMake was invoked multiple times.
This would result in a broken build because the compiler would not find
<natupnp.h>.
2015-01-07 21:15:53 +01:00
Günther Brammer
d9e3d9db3d
Require filenames to be in unicode, remove iconv usage
...
Every modern operating system and Clonk uses UTF-8, and windows uses UTF-16
and has its own conversion code.
2015-01-03 20:41:03 +01:00