Commit Graph

503 Commits (acde7c923a83b9fd8cad4b2b9816f015e8eecf3f)

Author SHA1 Message Date
Philipp Kern e151b1de91 move the clonk binary to /usr/games
The FHS says that game binaries should be stored in /usr/games.
2014-01-23 00:14:32 +07:00
Nicolas Hake e0dc30c59a Update copyright notices
As discussed in http://forum.openclonk.org/topic_show.pl?tid=2917, I
have merged all copyright notices into a single file and referenced that
merged file from each source file.

For the updated source files, the timeline has been split into three
parts:
 1. Pre-RWD code (before 2001)
 2. RWD code (2001 through 2009)
 3. OpenClonk code (2009 and later)
All pre-RWD copyright notices have been left intact, as have RWD-era
copyright notices where the file did not have a RedWolf design copyright
notice but only individual author ones. All copyright notices of the
OpenClonk era have been replaced by a single notice ranging from the
first recorded year to the current year (2013). Mape code did not get a
OpenClonk Team copyright notice because it is somewhat separate from the
main OpenClonk codebase and has only been touched by Armin Burgmeier.
2013-12-23 13:03:19 +01:00
David Dormagen a10c9316ef renamed DynamicParticles* to Particles* and CreateParticleEx to CreateParticle 2013-12-17 22:32:01 +01:00
David Dormagen 02f54ba1eb removed the legacy particle system from the engine and docs 2013-12-17 22:32:01 +01:00
Tobias Zwick f5592a49e6 build fix 2013-12-08 04:05:56 +07:00
Tobias Zwick 4f416c3147 replace global function GetTime() with class function C4TimeMilliseconds::Now() 2013-12-07 21:28:06 +07:00
Tobias Zwick 94c618d153 add new type C4TimeMilliseconds for time measurements to solve problems when GetTime() overflows (#251)
The new type C4TimeMilliseconds behaves for the most part like a uint32_t but is overflow-proof in comparisons.
In some places, a 0-value (or uint_max) of the variable storing the time had the special meaning "not set yet". This has been resolved by having it as a pointer to C4TimeMilliseconds with NULL meaning that it has not been set yet.
2013-12-04 19:35:07 +07:00
Nicolas Hake 35f31a7c1d win32: Manually generate manifest to indicate Win7 compatibility
Telling Windows that we support Windows 7 means it will stop catching
unhandled exceptions that occur in a callback from kernel mode, and
allow our own crash handler to catch then.
2013-11-10 19:22:26 +01:00
Tim Blume 240193ad5a Remove remains of Direct3D support
Direct3D hasn't worked for more than a year now, and there don't seem to
be any efforts to revive it. Remove it and concentrate on better OpenGL
support.
2013-11-02 21:39:34 +01:00
Nicolas Hake 924e0538fc Fallback to Boost.Regex if <regex> is broken
A large number of g++ versions ship a <regex> that declares all of the
required functions, but don't actually implement them, making using them
result in a linker error.

Fallback to Boost.Regex if the host C++11 <regex> implementation is
broken; the interface is the same anyway, only differing in the
containing namespace.

Unfortunately, Boost.Regex is not a header-only library, but this is not
a big deal because all major Linux distributions ship it, and Visual
Studio implements <regex> since 2010 (the oldest version we still
support).
2013-10-29 16:59:38 +01:00
Nicolas Hake e753bf8168 Replace ResTable with a proper dictionary
ResTable (the main system string table) was a home-grown hashmap that
did not cope with collisions at all. Since we already have a proper
dictionary in C4LangStringTable, use that instead.
2013-10-19 19:28:54 +02:00
Nicolas Hake 759cf73704 cmake: Make Freetype mandatory for non-headless builds
OpenClonk fails to start without Freetype support, because it cannot
load required fonts.
2013-10-18 22:27:55 +02:00
Nicolas Hake 9e18ca3c9f cmake: Always use multiproc build in MSVC
Multicore processors have become the norm, and the minimal rebuild
setting only works on i386 anyway.
2013-10-18 14:20:09 +02:00
Nicolas Hake 8709b841bf cmake: Also look for static libraries 2013-10-08 22:02:39 +02:00
Nicolas Hake 59ee0ed090 cmake: Get FindFreetype to look for versioned libraries
Since FindFreetype.cmake already extracts the version of freetype
from its header files, I have no idea why they're not automatically
using that info to look for the proper library name in lieu of
hardcoding a single version.
2013-10-08 21:23:07 +02:00
David Dormagen 4032a161ea CMakeList: added entries for dynamic particle source files 2013-10-07 20:56:55 +02:00
Maikel de Vries 7f9f40a1f5 Renamed Settlement.ocf to Missions.ocf 2013-10-05 17:39:14 +02:00
Martin Plicht 31119f1b88 cmake: Add Worlds.ocf to OC_C4GROUPS 2013-10-05 13:19:59 +02:00
Nicolas Hake 9ceb69236b Remove unused Base64 codec 2013-08-04 18:10:10 +02:00
Tobias Zwick 9027544c37 Merge branch 'master' into Controls 2013-06-04 20:13:35 +02:00
David Dormagen 7eaef70af1 Merge branch 'master' into Controls
Conflicts:
	planet/System.ocg/PlayerControls.txt
2013-05-26 18:19:51 +02:00
Martin Plicht 524fe879aa Make DEBUGREC define a commandline option 2013-05-25 22:51:32 +02:00
Martin Plicht 928ecc1892 mac: Lazy cmake fix 2013-05-25 20:11:21 +02:00
David Dormagen d18d8c65c9 Merge branch 'Menus' into Controls 2013-05-24 01:24:57 +02:00
David Dormagen fc7e5b9a35 added methods to serialize C4GuiWindow to C4Value as proplist 2013-05-23 16:29:14 +02:00
Nicolas Hake 7a8352e672 CMake: Allow dynamic linking of Ogg/Vorbis
Previously, MSVC builds did only allow static linking of libogg,
libvorbis and libvorbisfile. If there was a reason to do so, I have no
idea what it was, because it isn't documented in either VCS or a
comment. So I'll allow both dynamic and static linking.
2013-05-20 16:10:17 +02:00
David Dormagen 9ad9a67939 Merge branch 'master' into Menus
Conflicts:
	src/script/C4StringTable.cpp
	src/script/C4StringTable.h
2013-04-07 23:02:36 +02:00
Nicolas Hake 459fce0758 Replace std::auto_ptr with std::unique_ptr
std::auto_ptr has awkward copy semantics and is deprecated in C++11.
2013-03-26 15:43:01 +01:00
Sven Eberhardt 57e63a5275 Added support for scripted maps (Map.c) and documentation. 2013-03-19 00:36:06 +01:00
Günther Brammer 814f809885 cmake: USE_GTK3 defaults to off for now
The defaults should follow the settings the binary downloads use where
reasonable.
2013-03-12 02:12:26 +01:00
Günther Brammer 169b3750d4 cmake: Also search for freetype version 2.4.11 2013-03-10 14:01:38 +01:00
Günther Brammer 2ef47af689 cmake: Default to a deps folder in CMAKE_CURRENT_BINARY_DIR 2013-03-10 14:01:35 +01:00
Günther Brammer 1075822af3 cmake: Don't try to create openclonk.png without convert 2013-03-10 14:01:26 +01:00
Günther Brammer 12c8b31a10 cmake: Use CMAKE_DEPENDENT_OPTION to structure the various options 2013-03-10 14:01:15 +01:00
Günther Brammer 159cfb9885 cmake: Explicitly instead of indirectly link openclonk with pthread
In practice, other libraries pulled pthread in, except for the USE_CONSOLE
build. But since there are direct calls to pthread in our code, we really
shouldn't rely on that.

Also, this should fix the USE_CONSOLE build on windows.
2013-03-10 14:00:01 +01:00
Julius Michaelis 06d4db2d72 Remove need for freetype and jpeg libraries building with USE_CONSOLE 2013-03-03 15:22:48 +01:00
Julius Michaelis 2df3b20a20 CMake: Adjust precompiles headers to new build division 2013-02-17 17:00:33 +01:00
David Dormagen d3dba14323 added support for custom menus and dialogs 2013-02-12 20:39:20 +01:00
Günther Brammer 2a9d63cb2a gtk: Use higher-resolution logo as window icon
Metacity started to display bigger icons in the window list, so the higher
resolution is now actually useful for me. While at it, use gdk-pixbuf-csource
to generate the .h at build time from the .ico instead of duplicating the
data in the repository.
2013-02-12 01:08:02 +01:00
Martin Plicht 6217a62c8d mac: cmake: Fix compilation of libmisc 2013-02-11 11:39:24 +01:00
Oliver Schneider c43a682785 tests: Compile gtest from source, add a few new tests
GTest does not ship precompiled binaries anymore. They are now compiled
using the CMakelists.txt from gtest.

Add basic unit tests for C4Value, DirectExec and C4StringTable.
2013-01-29 01:07:22 +01:00
Oliver Schneider e45a569aa3 cmake: Use libraries to avoid compiling files multiple times 2013-01-29 01:02:05 +01:00
Oliver Schneider 14369b509f cmake: Check for convert at configure step 2013-01-29 01:01:58 +01:00
Nicolas Hake f897e95071 Rename game binary to "openclonk" (#830)
Since the name of the game is OpenClonk, having the binary named
differently is at least confusing. At worst it conflicts with the
trademark license granted by RedWolf Design.

The Mac build will still have to be fixed because the installer
template .dmg file is not editable on non-Macintosh systems.
2013-01-28 13:57:29 +01:00
Armin Burgmeier 2a1ba0f8fe Split the mesh drawing into C4DrawMeshGL.cpp 2013-01-27 23:52:57 +01:00
Günther Brammer db81cf193d gtk: Bump minimum required versions to the oldest versions we test with 2013-01-24 19:36:59 +01:00
Nicolas Hake 8a9926ccc4 CMake: Ensure compatibility with cmake <2.8.6 2013-01-20 22:10:26 +01:00
Nicolas Hake 6bb595f842 CMake: Use GTK+ cflags as reported by pkg-config
Ignoring CFLAGS/LDFLAGS makes GTK+ not work correctly
if the libraries are compiled with -mms-bitfields (as
is the case with the prebuilt binaries from gnome.org).
2013-01-20 21:53:56 +01:00
Günther Brammer 211634cf15 mape: Even more windows fixes 2013-01-20 20:36:51 +01:00
Armin Burgmeier e1ccbddd5e Fix configure error when mape build is not enabled 2013-01-16 23:24:14 +01:00
Armin Burgmeier 2cd91a56c4 Add support for algo=script overlays 2013-01-14 02:25:15 +01:00
Armin Burgmeier 9a6d545f94 Use the OpenClonk version as the mape version 2013-01-14 02:25:13 +01:00
Armin Burgmeier 926a3afdd4 Restore original formatting of CMakeLists.txt 2013-01-14 02:25:13 +01:00
Armin Burgmeier abfdd12501 Build mape always when the dependencies are available 2013-01-14 02:25:12 +01:00
Armin Burgmeier aa2f3df779 Make mape link only against the part of the Clonk engine that is needed
and not against the whole engine. This avoids pulling in unnecessary
dependencies like SDL or OpenGL.
2013-01-14 02:25:11 +01:00
Armin Burgmeier 3420b2a9a2 Move C4ScenarioSection code from C4Scenario.cpp into C4ScenatioSection.cpp
This allows compiling and linking with C4Scenario.cpp without having to
pull in whole C4Game.
2013-01-14 02:14:37 +01:00
Armin Burgmeier b2be39b576 Handle-ify the random seed setting 2013-01-14 01:41:21 +01:00
Armin Burgmeier 4b4da8646b Handle-ify the mapgen call 2013-01-14 01:40:54 +01:00
Armin Burgmeier 662d9bc4f4 Use the icons that come with OC for mape
gdk-pixbuf-csourcing them from the .ico files in a build step.
2013-01-14 01:40:47 +01:00
Armin Burgmeier 257db99165 Merge remote-tracking branch 'new/master' into mape
Conflicts:
	CMakeLists.txt
	src/graphics/C4Draw.h
2013-01-14 01:38:03 +01:00
Günther Brammer b5ae4f1f9d Move CStdInProc to its own source file
It should be usable without USE_CONSOLE, even though only the dedicated server
uses it at the moment.
2012-11-30 22:18:38 +01:00
Günther Brammer 7967d94a59 Merge StdFont.cpp and C4Fonts.cpp 2012-11-12 02:30:16 +01:00
Günther Brammer 4dffefe8c9 X11: Remove support for the xf86vidmode extension
In practice, only the xrandr code path received any testing. Since Clonk
works fine without changing the resolution, this will not terribly
inconvenience anybody still stuck on old systems without xrandr.

Also only minimize the window when the resolution was changed.
The minimization is there to prevent accidental focus restoration
resulting in unwanted resolution switching.
2012-11-17 18:07:37 +01:00
Tobias Zwick f7f734d2bb fix: don't try to load OpenAL if option is turned off 2012-11-16 17:30:52 +01:00
Tobias Zwick 348fb8c7a9 clean up mouse controls, reduced cursor graphics to the used ones 2012-11-16 17:29:42 +01:00
Günther Brammer a8dfeeaf7e win32: Make USE_CONSOLE compile again
There's even a plausible implementation of CStdInProc::GetEvent.
2012-11-15 23:01:24 +01:00
Peter Wortmann a6ede89284 Missing CMakeList.txt update 2012-09-24 10:16:23 +01:00
Peter Wortmann 56bdeec585 FoW/lights preview
This is pretty much still prototype stage. Lots of bug, lots of stuff missing.
2012-08-19 19:35:10 +01:00
Philipp Kern cbf6f37996 change the OpenClonk data directory to obey the FHS
The FHS specifies /usr/share/games as the place for static game data files.
Hence move the OpenClonk data directory to /usr/share/games/openclonk.
2012-10-21 15:03:24 +02:00
Nicolas Hake 8b7a4a8023 CMake: Update list of C4Groups to build to match refactoring changesets 2012-10-10 21:28:25 +02:00
Sven Eberhardt 00349f045a SoundSystem: Implement non-apple wav loading when using OpenAL 2012-10-07 13:18:28 +02:00
Sven Eberhardt 15aa9b961e FIx build using OpenAL in MSVC 2012-10-05 18:02:52 +02:00
Tobias Zwick 41a33999cd remove video playback feature 2012-10-04 23:03:57 +02:00
Martin Plicht b264612b10 mac: Move C4EditorWindowController from platform to editor 2012-09-02 20:57:49 +02:00
Martin Plicht 562565f865 mac: Move C4OpenGLView.mm/h to graphics/C4DrawGLMac.mm/h and move some C4AbstractApp functions to C4AppMac.mm to better match implementations for the other platforms 2012-09-02 20:51:43 +02:00
Martin Plicht 7bbb3468b9 cmake: Add BeyondTheRocks.ocf to OC_C4GROUPS 2012-09-02 19:48:18 +02:00
Martin Plicht 10a328d5ba mac: Change prefix of Objective-C classes/filenames from Clonk to C4, give xib files names that make more sense 2012-09-02 15:39:29 +02:00
Martin Plicht f6825d073e mac: Compile with Automatic Reference Counting enabled 2012-09-02 13:56:53 +02:00
Günther Brammer a528b0d76e Silence some g++ warnings 2012-06-15 18:16:49 +02:00
Nicolas Hake afe90a6da7 Win32/MinGW: Add "-Wl," to linker options 2012-06-08 13:30:51 +02:00
Nicolas Hake f53f7224b7 Win32/MinGW: Enable ASLR and DEP on the executable image 2012-06-08 13:18:58 +02:00
Günther Brammer ba1b896ebc Move C4AulFunc implementation to a separate file from C4Aul.cpp 2012-05-14 22:07:33 +02:00
Julius Michaelis c4efcad488 Remove GCC PCH warning 2012-05-14 12:11:10 +02:00
Johannes Nixdorf ad226e3f79 cmake: fix installing to a custom DESTDIR
---
 CMakeLists.txt |   59 ++++++++++++++++++++++++++++++++------------------------
 1 file changed, 34 insertions(+), 25 deletions(-)
2012-05-03 21:47:14 +02:00
Nicolas Hake 35524e6b64 MSVC10: Avoid numerous "reload project?" prompts on CMakeLists change
Change the .sln file to make Visual Studio reload that; this also implies
reloading all of the child projects. This way, we don't get a reload prompt for
each loaded project.
On non-Express versions of MSVC, the CMake macros still run. I don't think there
is a way to disable them, but you can copy the macro body of StopBuilds to that
of ReloadProjects to only get a single dialog box.
2012-05-01 17:24:07 +02:00
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