Armin Burgmeier
6da98a26b5
Generate packed groups only at make install or make setup
...
But not for regular make when just compiling the source code.
2012-02-03 22:22:25 +01:00
Armin Burgmeier
0749dcdb9d
Replace std::sort by timsort for Face ordering
...
The usage of timsort instead of std::sort at this point is twofold. First,
it's faster in our case where the array is already sorted in many cases
(remember this is called at least once a frame). And it's not just a bit
faster either but a lot. I have measured a factor of 7 on my system.
Second, in our Windows autobuilds there is a crash within std::sort which is
very hard to debug because it's hardly reproducible with anything other than
the autobuilds (I tried hard). If the crash goes away with timsort then
great, if not then maybe it's easier to debug since the code is in our tree.
2012-02-01 22:11:46 +01:00
Armin Burgmeier
a1370c2954
Rename our custom gz* functions to avoid conflicts with zlib.dll
...
This fixes the build with native mingw for me.
2012-01-28 17:02:37 +01:00
Armin Burgmeier
23d54ea2c9
Implement UPnP for Linux using libupnp
2012-01-21 02:04:14 +01:00
Nicolas Hake
683800c33c
win32: Add UPnP port mapping support
2012-01-15 21:27:16 +01:00
Armin Burgmeier
7e532c2bd6
Split math functions into StdMeshMath.{h,cpp}
2011-12-29 15:41:52 +01:00
Nicolas Hake
0dcfe72148
MSVC: Build all binaries directly in build dir
...
With this change, MSVC will build binaries in ${CMAKE_CURRENT_BINARY_DIR}
without adding any more subdirectories. It will also expect its data in a
directory called "planet" immediately below the binary directory.
Since MSVC allows building multiple configurations from the same input file,
the resulting binaries will be suffixed by the configuration type. An exception
is RelWithDebInfo, which will have no suffix; this was chosen over plain Release
to aid in debugging.
Building OpenClonk will work out of the box for in-source builds, but
out-of-source builds will have to create a symlink or a directory junction.
We consider this an acceptable drawback; it was proposed that if you use the
non-default option of an out-of-tree build, you will also know how to create a
link or a junction to, or copy the planet directory.
This changeset also revives looking for game data in the same directory as the
binary, which was part of c3fc1ee1ec8c [Peter Wortmann].
2011-11-10 02:01:21 +01:00
Nicolas Hake
74620be240
Backed out changeset: c3fc1ee1ec8c
2011-11-10 02:17:00 +01:00
Peter Wortmann
d5c075ade8
Yet another variant on how to find data files
...
This time, the relocation code checks for a "System.c4g" in either
the executable path or a "data" folder directly below. CMake makes
sure that this points somewhere sensible for normal builds.
TODO:
* Check whether this actually works under Unixes. Can "ln -sf"
delete important stuff? Is there a safe alternative?
* Further unify with the Mac Os solution. Other platforms might
auto-pack for release builds too, for example - and it might
be a good idea to have a proper data subdirectory in Mac bundles
as well.
2011-11-09 00:45:07 +00:00
Günther Brammer
cd93daf8b9
cmake: Replace redundant custom targets with a DEPENDS on the groups target
...
For some reason, add_dependencies didn't work for making the groups target
depend on the custom_commands, but specifying them via DEPENDS works.
2011-11-05 23:07:11 +01:00
Günther Brammer
d709de7e73
cmake: Always pack groups during build
...
This fixes make install, which previously tried to install nonexistant
packed groups from the source directory. Make it use the ones from
the build directory and build them during make all.
2011-11-02 01:43:36 +01:00
Günther Brammer
ccbf4d1d45
Consolidate duplicated simple Log functions
...
The various small utilities do not use the engine Log implementation but
one that simply prints to stdout. Instead of duplicating that one, link a
common one into the utilities.
2011-11-02 21:36:39 +01:00
Martin Plicht
b5f836a93d
cmake: xcode: Introduce option to build with Clang
2012-02-12 16:19:39 +01:00
Julius Michaelis
bb78ea79e7
Fix typo previous rev c18fa35abd02 + conditionally exclude C4UpdateDlg.h/cpp from build
2012-03-14 23:28:44 +01:00
Günther Brammer
b895bbad31
Consolidate some random platform abstraction functions into a single file
...
That way, the windows variants can be used without requiring the Win32
C4Window implementation.
2012-03-12 20:43:27 +01:00
Günther Brammer
dfea0914a9
Merge the functions pointer branch
2012-03-09 17:42:48 +01:00
Sven-Hendrik Haase
7d8e1428c4
Enable support for DESTDIR (important for Linux packagers)
2012-03-06 10:06:59 +01:00
Günther Brammer
71e108f16a
Start of a C4Script API third party programs could use
...
This is very experimental, subject to change, and the single function not
at all useful yet.
2012-03-04 21:23:11 +01:00
Julius Michaelis
cb6eb060cc
Add a dialogue for windows which can be displayed when the graphics engine initialisation failed
...
The dialogue has fields for resolution and a checkbox for fullscreen mode
2012-02-28 18:28:16 +01:00
Günther Brammer
00a4002711
unix: cmake also links with librt
2012-02-12 22:11:32 +01:00
Günther Brammer
1e7f32af48
Move C4AulFunc to its own header file
...
This is necessary since C4Value.h will call a function from C4AulFunc.
2012-02-13 18:00:35 +01:00
Günther Brammer
b911630578
Replace OpenSSL SHA1 implementation with one copied from boost/uuid
...
Although the code already uses boost, boost/uuid hides the sha1
implementation in a deeply nested namespace, which is just too bizarre to
use. Also the name of that namespace suggests that it is just an
implementation detail that could go away without notice.
2011-01-10 21:30:40 +01:00
Günther Brammer
3c41310fa3
Remove C4ConfigShareware to reduce OpenSSL dependency
2011-11-02 00:07:29 +01:00
Nicolas Hake
f9f01bef9a
cmake: Search for FMOD headers and add to include path
2011-10-28 23:49:11 +02:00
Nicolas Hake
d5669964b8
tests: Fix on linux-gcc
2011-10-16 14:17:43 +02:00
Günther Brammer
7b325561f0
CMake: Remove now redundant code to pack c4groups during installation
2011-10-12 20:59:28 +02:00
Günther Brammer
f1cedd5420
Look in the planet folder for game data, too
...
This replaces the BUILD_TO_PLANET option and makes in-tree Makefile builds
run without further work. Out-of-tree builds need a symlink to planet from
the build directory.
2011-10-11 15:15:41 +02:00
Julius Michaelis
b7d67bd143
make install a predefined set of c4groups instead of everything in the planet directory
2011-10-11 18:59:58 +02:00
Peter Wortmann
ad79ece074
Mac: Put game data into bundle
...
This makes it possible to ship the bundle stand-alone. Also
note that CMake will automatically pack the game data for
release builds, but sym-link the game data for debug builds.
Note this means you will only see the parts of planet/ that
are mentioned in OC_C4GROUPS in CMakeList.txt! This is equivalent
to the behaviour of the shipped build, so I don't see this as
a problem.
2011-10-09 17:09:48 +01:00
Günther Brammer
1cafba4be8
Rename files implementing C4AbstractApp and C4Window
2011-10-03 17:19:24 +02:00
Günther Brammer
55f6bc8d0f
Replace CSurface and C4Surface with just C4Surface
...
The methods that previously were on C4Surface still are in a separate
file.
2011-10-03 16:06:41 +02:00
Günther Brammer
efed250aa7
Rename CMarkup to C4Markup
2011-08-27 21:13:15 +02:00
Günther Brammer
6700bff4de
Replace CFacet with C4Facet
...
The latter is almost a superset of the former.
2011-08-27 17:47:49 +02:00
Günther Brammer
19ce704ae5
CMake: Change project name to openclonk to avoid conflict with the binary
...
Apparently, Eclipse has problems with projects created by CMake that
have a binary with the name of the project.
2011-08-27 22:04:33 +02:00
Armin Burgmeier
bc980ebc12
GObject-ified MapeMaterialMap
2009-09-30 22:54:10 -04:00
Armin Burgmeier
45e79a3299
Removed mape/ include path, include by "mape/foo.h" instead
2009-09-26 22:43:09 -04:00
Armin Burgmeier
52464df1c0
GObject-ified MapeGroup
2009-09-26 21:54:47 -04:00
Armin Burgmeier
14bc6a0c5c
Merged default into mape
2009-09-22 22:24:47 -04:00
Armin Burgmeier
2ef403728e
Added initial mape code, and added it to the CMake build system
...
The code is not yet working properly, but it compiles
TODO: autotools build, material colors, Material&Texture overload,
relicensing, maybe algo=script
2009-09-21 00:04:52 -04:00
Armin Burgmeier
c18b11fbc6
Fixed CMake build on Unix
2009-09-20 16:03:44 -04:00
Günther Brammer
1b17ad1808
Build fixes
2009-08-16 18:27:44 +02:00
Nicolas Hake
68b3b46381
cmake: Rename findlib vars to be more in line with package-provided library vars
2009-08-16 14:17:27 +02:00
Günther Brammer
179097d389
Build fixes
...
glew needs opengl32 on windows, and c4group needs zlib.
2009-08-15 21:55:26 +02:00
Günther Brammer
a28a6621da
shuffle the #includes around a bit
...
This reduces the dependencies from src/lib to the rest of the code a bit.
2009-08-12 22:03:50 +02:00
Günther Brammer
b46f4696e9
Split C4Rect out to its own source file
...
Because much more depends on C4Rect than only C4Shape, and C4Shape uses
lots of other stuff.
Also move some other files which depend on C4Group to src/c4group, because
I'm editing the build files anyway.
2009-08-14 01:46:32 +02:00
Nicolas Hake
921c174841
cmake: Disable test for DX SDK if USE_DIRECTX is false
2009-08-13 18:09:00 +02:00
Nicolas Hake
276a5abfed
Removed default-this object parameter from a lot of functions
2009-08-12 22:44:09 +02:00
Nicolas Hake
1286f8d3ce
msvc: Use source folders in project
2009-08-12 15:15:05 +02:00
Nicolas Hake
7b83f7a8fc
Use lists for platform-specific source files instead of string interpolation
2009-08-12 15:01:14 +02:00
Günther Brammer
572d00c32e
Move all source files
...
This might make stuff easier to find.
2009-08-10 17:59:18 +02:00
Günther Brammer
b73009e65b
Cleanup
2009-08-05 00:53:38 +02:00
Nicolas Hake
07028f7bf2
CMake: Find WinSDK dir automatically
...
A lot of people don't seem to have their platform SDK include and lib
directories in their environment, so cmake doesn't find the required
libs. Read the location from the registry and make it known to cmake.
2009-07-25 22:56:06 +02:00
Nicolas Hake
b0a7d4ed0d
Fix problem where the DirectX SDK was not found in some circumstances
2009-07-24 00:48:41 +02:00
Günther Brammer
f6b8d88a66
Update CMake build
...
The proplist branch predates the CMakeLists.txt.
If I had changed the Makefile.am today, I would have remembered to test a cmake build, honest!
2009-07-21 17:53:30 +02:00
Nicolas Hake
0d08565059
[MSVC9] Enable minimal rebuild and edit-and-continue
2009-07-12 18:46:54 +02:00
Nicolas Hake
532e58c2ff
Remove unknown parameter warning from MSVC build
2009-07-11 19:44:14 +02:00
Nicolas Hake
14e8d4794d
Fix linux CMake build
...
Not tested: Cross compiling, might need to be implemented into CMakeLists
2009-07-11 03:14:57 +02:00
Nicolas Hake
2a38d0056d
Strip c4group of unnecessary code dependencies
...
Fixes issue #21 (c4group build failure)
2009-07-08 19:54:54 +02:00
Nicolas Hake
4649547c97
Fix MSVC build
2009-07-06 04:40:57 +02:00
David Dormagen
199cf0d5a6
CMake-pthread-fix for WIN32 builds
2009-07-03 14:19:31 +02:00
Nicolas Hake
8466407a60
Updated CMakeLists to work with precompiled dependencies
2009-07-01 22:25:45 +02:00
Günther Brammer
009cfc9e7b
Remove C4Wrappers and put most functions in relevant headers
...
This also removes the TickXXX #defines and moves the lookup of predefined
materials to C4Material.
2009-06-12 20:52:21 +02:00
Günther Brammer
fc7d8425ba
Linux: Add CMake support
...
CMake produces a config.h which defines the macros as empty strings instead
of 1, so some #ifs have to be adapted.
2009-05-29 23:05:50 +02:00
Günther Brammer
cc34bdc07c
Windows: Replace vc9 and codeblocks build files with CMake
2009-05-29 22:53:15 +02:00
Günther Brammer
562816cfe5
Clean up some unused variables and obsolete FIXMEs
2011-09-28 01:09:56 +02:00
Nicolas Hake
8073e1cb47
win32: Remove DirectX config option
2011-10-03 13:12:55 +02:00
Nicolas Hake
cc672bbd00
win32: Automatically check for DbgHelp availability
2011-10-03 13:09:51 +02:00
Nicolas Hake
14f81d7eef
Move cmake modules to separate directory
2011-10-03 13:03:22 +02:00
Tobias Zwick
461a8594c8
removed Tests.ocf from "setup" build configuration
2011-09-29 22:22:42 +02:00
Günther Brammer
bfee2c5b81
Version 5.1.91 (5.2 Beta)
2011-09-27 01:15:00 +02:00
Günther Brammer
26ff41185e
win32: Uninstaller correctly removes the user settings
2011-09-22 22:26:06 +02:00
Günther Brammer
1cea606c41
win32: Installer creation works with MSVC
...
CMake even reads the makensis path from the registry.
2011-09-21 22:25:33 +02:00
Günther Brammer
89e15ec212
win32: Installer gets the product name from the Version.txt
2011-09-22 22:37:18 +02:00
Günther Brammer
c02354f56c
win32: Add build rules for the installer to CMakeLists.txt and Makefile.am
2011-09-20 19:43:22 +02:00
Günther Brammer
c46c2cfa5e
cmake: Make switching to GTK3 after first run of cmake work
...
For some reason, the result of a pkg-config run is cached indefinitely,
even if the arguments change.
2011-08-31 19:40:22 +02:00
Nicolas Hake
fe747db554
Clean up copyright notices
...
Use real names for copyright attribution wherever they are known,
drop duplicates
2011-09-01 12:47:54 +02:00
Nicolas Hake
021f464365
Add copyright header to CMakeLists.txt
2011-08-31 23:20:17 +02:00
Nicolas Hake
fc194d62e1
msvc: Don't link release CRT in debug builds
...
This will prevent the linker from automatically linking to the release CRT
even if some library import libs suggest it.
2011-08-19 15:50:40 +02:00
Armin Burgmeier
771163be4b
Correctly reload mesh materials on definition reload
...
This does not fix #76 yet, but it's a first step.
2011-08-17 23:50:33 +02:00
Günther Brammer
46ed387fef
CMake: Use CMAKE_CURRENT_BINARY_DIR instead of CMAKE_CACHEFILE_DIR
...
For some reason, the latter is empty on the first CMake run.
2011-08-04 19:24:39 +02:00
Nicolas Hake
351896c921
Drop netpuncher from the default build, add script shell
2011-06-03 21:47:12 +02:00
Nicolas Hake
b7244f8ca3
#589 : Make c4script target compile on MSVC
2011-06-02 22:10:52 +02:00
Peter Wortmann
bfb0849fe5
Fixed Mac build
2011-05-21 16:38:54 +01:00
Peter Wortmann
a02ccafc4d
Shader landscape rendering, first simple version (scaler, shading)
2011-05-24 00:12:19 +01:00
Nicolas Hake
97f699a005
Search for GTest and add a unit testing project if available
...
Currently this only tests correct UTF-8 handling.
2011-05-17 18:33:28 +02:00
Günther Brammer
273acfff80
win32: Make vfw32 optional
...
The features it was used for are very seldomly used, and some build
environments don't have the import library.
2011-05-12 17:13:38 +02:00
Nicolas Hake
25f41d6e9f
Remove StdConfig.cpp from CMake c4group project
2011-04-05 18:03:03 +02:00
Günther Brammer
6e30f2b7e8
win32: Remove unused StdConfig class and associated Registry APIs
...
It has long since been replaced by the StdCompilerConfig* classes. A few
of the Registry functions are still used in other code, and a few are now
implementation details.
2011-04-02 17:49:55 +02:00
Günther Brammer
bd051a972d
win32: Remove duplicate file type association code from the engine
...
The installer already does this, and on newer windows versions the engine
isn't able to do this anyway.
2011-04-02 17:31:01 +02:00
Günther Brammer
0f44b39ab9
Split CStdApp out of StdWindow.h into StdApp.h
2011-03-19 22:09:10 +01:00
Günther Brammer
cacceef1c6
linux: use eventfd for CStdNotifyProc
2011-03-17 02:26:37 +01:00
Günther Brammer
8036211c30
linux: Use timerfd instead of poll timeouts
2011-03-15 17:27:10 +01:00
Martin Plicht
2eb7a7c3e2
mac: Remove old c4 icons and replace by low-res oc icons, adjust file types understood by app
2011-03-14 21:54:56 +01:00
Julius Michaelis
11575222f0
gcc&cmake: precompiled header support
2011-03-12 22:01:23 +01:00
Günther Brammer
6c2a89eaf8
Replace timeGetTime with a platformneutral GetTime wrapper
2011-03-13 17:25:35 +01:00
Armin Burgmeier
884809e8f2
Merge filename extension changes
2011-03-13 17:15:40 +01:00
Armin Burgmeier
675c077ed2
Change .c4d extension to .ocd
2011-03-13 16:55:00 +01:00
Armin Burgmeier
eaf62f71f9
Change .c4f extension to .ocf
2011-03-13 16:38:33 +01:00
Armin Burgmeier
41a1b5867d
Change .c4g extension to .ocg
2011-03-13 16:16:45 +01:00
Armin Burgmeier
e282bf9a9c
Change .c4s extension to .ocs
2011-03-13 16:11:55 +01:00