Commit Graph

418 Commits (3f100cffb0940aea52712b985770328f6f8d5b3f)

Author SHA1 Message Date
Günther Brammer 1a29f8625d Reorder engine source file organization a bit
This mostly consists of flattening the hierarchy, splitting the
graphics stuff out of platform, and a few smaller cleanups.
2012-04-27 19:04:43 +02:00
Günther Brammer ca7c284c85 gtk: Rename C4AppX to C4AppGTK 2012-03-05 00:38:23 +01:00
Julius Michaelis 15696e75ae Fix the GCC precompiled headers
It's still hacky as hell, but changing CMAKE_BUILD_TYPE or only rebuilding c4script without c4group_pch shouldn't break anymore
2012-03-30 19:47:21 +02:00
Martin Plicht 4d504956c5 mac: osx_bundle_libs bundles recursive dependencies so libogg/libvorbis conundrum solved 2012-03-25 15:30:01 +02:00
Günther Brammer 40de33ca3c win32: Make sdl-mainloop option work
As it doesn't have the editor, this is only useful for compiling
more of our code on more platforms.
2012-03-23 22:53:56 +01:00
Martin Plicht a4656f4c2a cmake: mac: Remove duplicated APPLE block 2012-03-20 21:46:59 +01:00
Martin Plicht a8cadb8723 Amazing fixes to make it compile for Mac again 2012-03-20 16:38:45 +01:00
Armin Burgmeier 644f97efd3 GObectify MapeTextureMap; add functions to get texture mapping entry 2012-02-18 21:10:07 +01:00
Martin Plicht 379836f32c cmake: mac: Don't require rt library 2012-02-14 16:25:23 +01:00
Martin Plicht f5e7743a77 cmake: xcode: Set prefix header dialect to c++0x if clang requested 2012-02-14 16:44:29 +01:00
Armin Burgmeier 81e04899dc Merge default into mape 2012-02-12 19:41:48 +01:00
Armin Burgmeier 139184c540 Set system data path to exepath for binaries with automatic updates
Updates work only when the game data is at the same location as the binary.
If this is not the case then the game was probably installed differently,
for example via the distribution or with make install. In this case we
cannot do automatic updates but we also want to use a different system path.

This fixes the linux development snapshots and release tarballs. They were
broken in the sense that they didn't find their game data.
2012-02-03 23:43:18 +01:00
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
Günther Brammer c49f8b32d5 win32: wrap all windows.h-includes to always undef troubling macros 2011-03-13 15:48:45 +01:00
Armin Burgmeier 089f07e40a Set correct dependency for resource files compiled with MinGW 2011-03-12 13:47:46 +01:00
Nicolas Hake a98f2b928b CMakeLists: Delay STATIC_ASSERT compile test until CXXFLAGS are determined 2011-03-10 22:49:33 +01:00
Nicolas Hake 62f840412e Check for static_assert support 2010-05-29 14:44:16 +02:00
Julius Michaelis 98757cb488 Added c4script standalone to CMakeLists 2011-03-07 20:53:13 +01:00
Günther Brammer 111df0392c Split C4Script.cpp into game functions and C4Script support functions 2011-03-04 13:49:41 +01:00
Günther Brammer e250312c26 Move C4DefList class into from C4Def.cpp/h to new C4DefList.cpp/h 2011-03-03 17:10:22 +01:00
Julius Michaelis 530a70f43c Create a log file for each instance of clonk on UNIXes (cmake only) 2011-03-02 18:54:28 +01:00
Nicolas Hake ff2ac49368 win32: Log human-readable crash info while writing minidump
The information that will be written to the logfile is the exception data,
processor control and GP registers (x86/x64), up to 512 bytes around the stack
pointer, a stack trace, and the list of loaded modules.
2011-03-01 13:28:13 +01:00
Günther Brammer 7ce65373a3 Replace C4AList with some std::lists 2011-02-26 00:48:19 +01:00
Julius Michaelis 922691bafb netpuncher/cmake: Fix MSVC build 2011-02-12 15:27:07 +01:00
Armin Burgmeier 1d5dd911ad Fix linux build 2011-02-06 00:23:55 +01:00
Günther Brammer c74e43b61f Add C4ObjectScript.cpp 2011-01-20 01:56:01 +01:00
Günther Brammer dfa1ad948b Move C4AulDefFunc* templates to a header 2011-01-20 00:19:19 +01:00
Julius Michaelis 8cbfa00a4e dedicated: fix CMake and object loading (thanks ck and Guenther) 2011-01-30 21:44:54 +01:00
Nicolas Hake b8d3b00d90 Move TinyXML into thirdparty/ 2011-01-25 21:28:44 +01:00
Armin Burgmeier 34e6e45864 Fix the netpuncher build on Windows
Making the nightly builds work again
2011-01-27 01:15:48 +01:00
Julius Michaelis a7684cb196 netpuncher: make it compile again with CMake
cmake: CMake 2.6 compatibility
2011-01-25 18:56:40 +01:00
Nicolas Hake ad86a5358e cmake: Install only c4d/c4f/c4g/c4s 2011-01-20 15:38:04 +01:00
Günther Brammer 5151177d44 Move some BMP-loading helpers to C4Landscape.cpp 2011-01-19 23:52:46 +01:00
Günther Brammer 83322f596a Move Mesh loaders from src/platform to src/lib
They are entirely platform-independent.
2011-01-19 22:55:18 +01:00
Günther Brammer 4e01716f28 editor: Automatically open landscape tools dialog
The landscape tools is mostly useless without the dialog, whereas the other
modes are useful without the dialog.

But mostly this is a side effect of removing PropertyDlg.Active along with
the C4PropertyDlg class.
2011-01-13 18:21:59 +01:00
Armin Burgmeier 9f74506e9b Support loading game data from system path 2011-01-06 21:18:13 +01:00
Armin Burgmeier bcf61516b5 Polish 'make install' support a bit
In particular:
  * Instead of replicating icons in the repository, install from src/res/oc.ico
  * Pack the game data
  * Remove runclonk script, install clonk binary only into bin/
    (this will make Clonk not run for the moment because it does not find
    its game data, but I intend to change that with a followup patch soon).
2010-12-30 01:21:07 +01:00
Spell 1121db7164 Installation Support V2 (Including CPack Support) 2010-08-03 17:59:36 +02:00
Armin Burgmeier ffe24d471a Add a CMake option for generating mini dumps 2011-01-02 01:20:52 +01:00
Martin Plicht a22d5ee35c Mac: Add Cocoa port 2010-12-27 04:49:02 +01:00
Martin Plicht cc95f8231f Add IsGermanSystem as forward declaration to PlatformAbstraction.h and implement IsGermanSystem, OpenURL and EraseItemSafe in platform-specific files (StdWindow.cpp/StdGtkWindow.cpp etc) 2010-12-27 03:19:19 +01:00
Günther Brammer a89667f3d7 Merge C4ValueList and C4ValueArray into one class
Now that the last usage of numbered variables in effects is gone,
C4ValueList wasn't used except as a base class. If the array and
refcounting aspect should be separated at all, the reference count
should be in the base class.
2010-12-27 17:05:35 +01:00
Armin Burgmeier 1967d914c2 Add a compile-time option to disable automatic update 2010-12-26 21:39:52 +01:00
Günther Brammer 0b746f756a Autotools: Add new editor files and rename a new header to .h
If it's #included, it's a header, even if it looks like a normal
compilation unit.
2010-12-13 03:11:06 +01:00
Martin Plicht 44928f1a8d Platform-specific code in C4Console.cpp gets factored out into C4Console(Win32/GTK).cpp 2010-12-11 19:50:38 +01:00
Nicolas Hake 60a025a4cc Fix incorrect handling of debug build compiler flags 2010-10-22 21:19:49 +02:00
Armin Burgmeier efee21b371 Fix MinGW build once again 2010-10-06 22:21:09 +02:00
Nicolas Hake a0130e0389 Add getopt third party library
Some build systems, particularly MSVC, don't ship with an implementation
of getopt or getopt_long in their standard library. This patch adds a BSD
licensed implementation, to be used in case there is no system provided
one.
2010-10-05 00:14:07 +02:00
Günther Brammer a329ff9b51 Merge. 2010-10-01 17:56:41 +02:00
Nicolas Hake b29ab382ee cmake/mac: Fix path to C4FileMonitorMac.mm 2010-09-30 07:20:03 +02:00
Nicolas Hake bfd803bd54 cmake: Remove useless NULL_IS_NULLPTR_T check 2010-09-29 23:14:08 +02:00
Nicolas Hake 8b1838b3e7 win32/msvc: disable 64 bit truncation warnings 2010-09-29 23:11:12 +02:00
Nicolas Hake c76e339ef6 cmake: Fix MSVC multicore/minimal build toggle 2010-09-29 23:08:08 +02:00
Martin Plicht 37703d7ae6 Mac: Add FSEvents implementation of C4FileMonitor 2010-09-29 00:17:56 +02:00
Günther Brammer 9f0ba09c04 Split C4Viewportwindow out of C4Viewport.h/cpp 2010-09-28 21:29:00 +02:00
Martin Plicht 243e20bdf6 Add OpenAL implementation of C4SoundSystem
With an Ogg Vorbis loader using libvorbis and a .wav loader using a macosx
API.

Günther: Add autotools support
2010-09-26 02:36:35 +02:00
Armin Burgmeier bd2f63bf1d Add an option to build against GTK+ 3 2010-09-22 17:11:19 +02:00
Armin Burgmeier 9f5038be27 Revert 924f8fc47d35 (gnu++0x -> c++0x)
This breaks the mingw build otherwise.
2010-09-04 20:01:43 +02:00
Armin Burgmeier 0190e7c4c7 When using g++ then use C++0x mode, not C++0x with GNU extensions 2010-09-04 13:05:22 +02:00
Armin Burgmeier 2547d44baf Linux: Fix detection of C library functions by CMake 2010-09-04 12:48:17 +02:00
Peter Wortmann 102ea32011 Fixed MinGW resource compilation to work with the new C4Version.h placement. 2010-08-05 20:01:04 +01:00
Peter Wortmann 904138bae2 Moved version information to Version.txt, including the HG revision. From there it gets inserted into all relevant files by CMake. Used it to for properly setting up the Mac application bundles. 2010-08-01 14:49:51 +01:00
Nicolas Hake e27ecd59b5 Rename FIXED to C4Real
There's already a typedef struct _FIXED FIXED; in wingdi.h, which conflicts
with the definition of FIXED in OpenClonk.
2010-05-04 17:35:18 +02:00
Armin Burgmeier c6ca0bb2d8 Make sure to use same boolean size in Clonk and libjpeg 2010-04-23 20:50:15 +02:00
Armin Burgmeier 92088274de Use FIND_PATH instead of FindOpenSSL to find OpenSSL include path 2010-04-19 22:22:03 +02:00
Nicolas Hake 14c432dd9b Make CMake work with Debian Lenny again 2010-04-19 18:29:58 +02:00
Nicolas Hake f7eb1d12f2 Check for minimum version of Boost
OpenClonk requires 1.40.0 at least, because that version is the first
to supply Boost.Foreach.
2010-04-19 14:42:20 +02:00
Armin Burgmeier a17bc1536e Add CMake check for HAVE_BOOLEAN 2010-04-18 23:12:49 +02:00
Nicolas Hake e4cb218229 Correctly add DX SDK dir to include path 2010-04-18 22:46:29 +02:00
Armin Burgmeier 70ac17c040 Mingw64 build fixes 2010-04-18 22:02:01 +02:00
Nicolas Hake 3bb1d8198d win64/msvc: Link to correct fmod library 2010-04-18 21:38:17 +02:00
Nicolas Hake 32e22d6222 msvc: Add option for multiprocessor builds 2010-04-18 20:10:24 +02:00
Nicolas Hake 9bcaddbb37 Remove abandoned hgrevision resource 2010-04-18 19:49:33 +02:00
Armin Burgmeier 60d58f3ac8 Introduce C4ObjectPtr, a convenient way to (de)serialize C4Object pointers
Might also help to find out what the problem with #117 really is
2010-03-30 23:08:15 +02:00
Nicolas Hake 2c72377479 Use header file to embed source code revision id 2010-03-22 23:28:54 +01:00
Sven Eberhardt 6c9247db3f hgrevision fix for MSVC again 2010-03-22 22:44:22 +01:00
Armin Burgmeier 211138c3ec Let the hg command only print the revision ID 2010-03-22 18:51:37 +01:00
Armin Burgmeier 8ff6a0949b Make hgrevision lookup work with MinGW 2010-03-22 18:46:02 +01:00
Sven Eberhardt 60d4ac9042 hgrevision works without BUILD_TO_PLANET enabled 2010-03-22 14:42:51 +01:00
Sven Eberhardt 9b7009de94 hg revision stored in engine and checked in network (MSVC only) 2010-03-22 13:41:14 +01:00
Sven Eberhardt 7c118604c4 CMake option: DEBUGREC 2010-03-21 22:40:37 +01:00
Günther Brammer 2a99ad1d39 Split Standard.h into two: Miscellanous utility and platform abstraction 2010-03-08 23:59:11 +01:00
Armin Burgmeier 99eced551c Add boost headers to include path 2010-03-02 18:56:10 +01:00
Nicolas Hake 11e9f3235b Prefer loading meshes from binary format
This implements a loader for Ogre's binary mesh format. Loading times
are vastly superior to the TinyXML parser. If no binary mesh exists,
the loader will fall back to parsing XML.

This changeset introduces a dependency on the Boost libraries.
2010-03-02 17:12:28 +01:00
Nicolas Hake 766abfd190 msvc: Working build on x64
Win64 is a LLP64 architecture, so please don't use a long for storing
pointers. Use intptr_t instead.
2010-02-28 01:42:57 +01:00
Martin Plicht 494b13094e Add files from debug branch to CMakeLists.txt 2010-02-24 17:40:18 +01:00
Armin Burgmeier d79394d91f Compile resource file with MinGW 2010-02-20 22:25:57 +01:00
Günther Brammer ff8d950e85 Remove C4ENGINE define
Most files using it weren't used by c4group-the-application anymore, and
the remaining stuff can be dealt with by using stubs or the same code in
both cases.
2010-02-17 22:59:46 +01:00
Günther Brammer c20beac186 CMake: win32 with mingw fixes
- Only use the platform sdk with MSVC
- workaround cmake being unable to find standard windows libraries
2010-01-07 14:30:45 +01:00
Peter Wortmann 2f2065f456 Add missing file for Mac OS X build instead of defining stubs [Günther] 2010-02-11 14:19:13 +01:00
Peter Wortmann d196565fea Only search for iconv library if iconv.h was found 2010-02-09 19:21:00 +01:00
Peter Wortmann 41cecc17fc Fixed X-Code compilation 2010-02-09 19:01:53 +01:00
Julius Michaelis d5716ccc15 Added abillity to build to planet/, see CMake var BUILD_TO_PLANET 2010-02-08 21:51:48 +01:00
Nicolas Hake b1f0c3e1c6 Remove a49cc8f3de41 and add more solid fix 2010-01-24 02:48:55 +01:00
Armin Burgmeier 5dcf92121d Introduce animation stack, adapt existing scripts 2010-01-22 19:27:02 +01:00
Armin Burgmeier 8d87871a0a Fix CMake build on Linux 2010-01-12 22:09:16 +01:00
Sven Eberhardt 652481f6a1 MSVC: exclude precompiled headers from tinyxml sources 2010-01-04 03:15:50 +01:00
Armin Burgmeier fb95c3af2e Merge mesh into default 2010-01-04 01:10:31 +01:00
Sven Eberhardt d57d061b0e CMake: C4RTF.H -> C4RTF.h 2009-12-30 20:42:31 +01:00
Sven Eberhardt a8330af267 readd PROJECT_FOLDERS option to CMake 2009-12-30 20:33:04 +01:00
Tobias Zwick edec15d64f merge 2009-11-30 17:24:14 +01:00
Nicolas Hake 1a933780d4 Fix assertion and crash on game teardown (#37, #42)
Also, the build works on linux again. Whee!
2009-11-25 16:04:32 +01:00
Nicolas Hake 0dc14ae40e win32: Unbreak fmod, remove MCI
USE_FMOD define renamed to HAVE_FMOD to bring it in line with HAVE_SDL_MIXER.
MCI removed since nobody was using it anyway, and half of its functions were
stubs.
2009-11-02 14:18:47 +01:00
Nicolas Hake 1c5bf094cd Enable PCH for c4group as well 2009-10-23 15:24:12 +02:00
Nicolas Hake 1962c858f1 Add PCH handling for MSVC9 2009-10-20 06:05:49 +02:00
Nicolas Hake f0fdf5e992 Prepare for precompiled headers 2009-10-20 05:39:24 +02:00
Nicolas Hake 7b2d506869 Remove unused DInput/DSound code 2009-10-20 04:33:05 +02:00
Richard Gerum 0dac409510 merged default into mesh 2009-10-14 16:42:23 +02:00
Sven Eberhardt b8644f1853 add fmod to cmake for win32 2009-10-14 13:19:54 +02:00
Tobias Zwick 025eec0e78 merge 2009-10-11 21:57:31 +02:00
Tobias Zwick f584896446 merge 2009-10-08 20:51:31 +02:00
Sven Eberhardt 4407fb040a merge 2009-08-29 23:12:31 +02:00
Armin Burgmeier 4fa029df2c Merged default into mesh 2009-08-27 21:35:55 -04:00
Sven Eberhardt acca4a204d merge 2009-08-16 17:13:42 +02:00
Sven Eberhardt df6010a148 merge 2009-08-12 17:27:43 +02:00
Sven Eberhardt 63311823c6 merge main branch into PlrCtrl branch (currently crashing) 2009-08-10 16:48:25 +02:00
Armin Burgmeier 6da0846c87 Merged default into mesh 2009-07-27 21:49:33 -04:00
Armin Burgmeier e52a4364b6 Added StdMesh data structures
Loading code is still to be written
2009-07-09 00:01:15 +02:00
Armin Burgmeier 9f35ffe470 Added TinyXML 2009-07-08 22:53:49 +02:00