Commit Graph

133 Commits

Author SHA1 Message Date
King_DuckZ af4f16a6d6 New files merged from dev weren't using the new a_pure macro yet. 2014-08-25 17:44:13 +02:00
King_DuckZ 5a71b943b2 Merge branch 'dev'
Conflicts:
	src/line.hpp
	src/platformset.cpp
	src/vector.hpp
2014-08-25 17:41:06 +02:00
King_DuckZ 04690b947c Add target architecture detection in cmake and pass -msse3 to the compiler for x86_64 targets.
See: https://github.com/petroules/solar-cmake/blob/master/TargetArch.cmake
Also added some C flags, though likely they were implicitly passed to the compiler already.
2014-08-25 17:32:48 +02:00
King_DuckZ 488c31c57e Implement clipping for DrawableLine. 2014-08-23 00:32:33 +02:00
King_DuckZ 634503bf00 Add a line to the character to mark the collision bar. 2014-08-23 00:32:24 +02:00
King_DuckZ 5026ce2c53 Bugfix in operator!= 2014-08-22 11:01:01 +02:00
King_DuckZ c4fbdd8e16 Add a constructor to make a Line from x1,y1-x2,y2 coordinates.
Also allow to retrieve the internal points using the [] operator.
2014-08-22 10:50:50 +02:00
King_DuckZ 78734f6ad3 Add assertions for out-of-bounds indices. 2014-08-22 10:49:22 +02:00
King_DuckZ 105020b5c1 Added a DrawableLine class for debug builds. 2014-08-19 21:49:08 +02:00
King_DuckZ f300c94924 Allow scaling lines by a 2D vector ie: non-homogeneous scaling. 2014-08-19 21:48:41 +02:00
King_DuckZ c70d2ad423 Allow more flexibility when performing operations on Vectors of
different types.
2014-08-19 21:44:26 +02:00
King_DuckZ ec665cc24c Fix the remaining warnings on the intel compiler. 2014-08-14 13:12:25 +02:00
King_DuckZ 704cfa4051 Some fixes for the intel compiler.
A few warnings are still there, but it should be safe to ignore them.
2014-08-14 12:54:18 +02:00
King_DuckZ 08f217e22c Warning fix on clang 2014-08-14 12:09:44 +02:00
King_DuckZ 4e89878eb4 Replace __attribute__ keywords with a macro to improve compiler compatibility. 2014-08-14 12:00:04 +02:00
King_DuckZ dff58a98ef Merge branch 'dev'
Conflicts:
	CMakeLists.txt
2014-08-14 11:30:05 +02:00
King_DuckZ 727345fbe9 Unused function. 2014-08-14 10:57:33 +02:00
King_DuckZ d30a93bb5b Don't register platforms that have gone out from the bottom.
This fixes the assert occurring after a few seconds playing.
2014-08-14 10:56:01 +02:00
King_DuckZ e9253fae1f Silence a warning in Release. 2014-08-13 22:54:30 +02:00
King_DuckZ c59a4573f4 Rename PlatformSystem to PlatformSpawner. 2014-08-13 22:51:08 +02:00
King_DuckZ 896b368cbe Refactoring to split the PlatformSystem into a PlatformSet subpart.
Also introduces the same concept for Drawables, with DrawableSet.
Single drawables can't be registered anymore.
2014-08-13 22:45:37 +02:00
King_DuckZ 3c0e460a23 Fixes for the Raspberry Pi build.
The slowness problem is still there.
2014-08-07 11:29:04 +02:00
King_DuckZ 6cf749c82c Add the call to bcm_host_init/deinit() on raspberry pi. 2014-08-06 21:04:57 +02:00
King_DuckZ 0d2f584229 Print the video driver name. 2014-08-06 18:04:15 +02:00
King_DuckZ 5941e0af56 Chose the renderer driver instead of passing -1 (default). 2014-08-06 17:44:28 +02:00
King_DuckZ d5d75b034e Generate new platforms as you climb.
This is actually broken as platforms never unregister themselves. An upcoming
refactoring will change things, so registering/unregistering will not be
necessary anymore.
2014-08-06 16:04:17 +02:00
King_DuckZ f28dc743d6 Use the system's PhysFS if present.
Also add an option to allow the user to override this and force the use of the supplied library.
Pass -DWITH_BUILTIN_PHYSFS=on to cmake to force using the supplied library.
2014-08-05 10:23:24 +02:00
King_DuckZ f142367a8a Use the system's PhysFS if present.
Also add an option to allow the user to override this and force the use of the supplied library.
Pass -DWITH_BUILTIN_PHYSFS=on to cmake to force using the supplied library.
2014-08-04 18:57:14 +02:00
King_DuckZ 164030202c Bouncing works but going too high causes an assertion.
This commit also reduces the jump size and the character's size.
2014-08-03 15:13:54 +02:00
King_DuckZ df8f5ca6b2 Add a debug-only function to pretty-print Line objects. 2014-08-01 17:02:20 +02:00
King_DuckZ c3baee5b9c Register the character's collision bar to the mover.
This fixes the non-working collision detection.
2014-08-01 17:01:58 +02:00
King_DuckZ c12a6407d9 Bugfix in Line class.
A constructor was wrong and the loop was wrong as well.
2014-08-01 16:42:42 +02:00
King_DuckZ 3522ce37a3 Add an offset in HorzCollisionBar and reset it at the beginning of every frame. 2014-08-01 16:41:55 +02:00
King_DuckZ cdd37fead7 Add code to register objects to the collider.
The character and the platforms can register now, but
collision is not triggered for some reason.
2014-08-01 00:50:49 +02:00
King_DuckZ 42fb50e93e Add the collision grouping logic. 2014-07-31 20:13:13 +02:00
King_DuckZ 1037e2e141 Fix the assert when quitting. 2014-07-31 12:00:29 +02:00
King_DuckZ 0bdaa63db1 Cut the verbosity, it's not useful here. 2014-07-31 11:22:08 +02:00
King_DuckZ 61d19865dd Fix the generation of new platforms so they stick to the average. 2014-07-31 11:20:50 +02:00
King_DuckZ 4166983809 Generate random platforms nicely.
This also fixes the build.
2014-07-30 13:46:50 +02:00
King_DuckZ 0e2303112f Assert fix. Enable clipping on platforms. 2014-07-28 11:04:02 +02:00
King_DuckZ f52476a4ec Add some collision bars. 2014-07-28 11:03:39 +02:00
King_DuckZ cdaffe0f2b Fix a mixup with template parameters. 2014-07-28 11:01:25 +02:00
King_DuckZ 54e8a27709 Working on the collision classes. 2014-07-28 11:00:55 +02:00
King_DuckZ 63bb31e728 Make the Prepare and Destroy step more customizable. 2014-07-28 10:58:15 +02:00
King_DuckZ 250600d8b2 Make the verbosity of the observers manager switchable from the cmake file. 2014-07-17 16:53:14 +02:00
King_DuckZ 06e3bfdeb7 New Line class and related algorithms and functions. 2014-07-16 23:42:37 +02:00
King_DuckZ 3f79507beb Assertion that the ObserverManager is empty when it's destroyed and verbosity. 2014-07-10 21:56:05 +02:00
King_DuckZ 9c660caec6 Use the new tree-based registration system in the mover. 2014-07-10 21:56:05 +02:00
King_DuckZ 61f0c28983 Revert "Refactoring in ObserversManager."
This reverts commit 9c2f61991869b7eacbb2bf3bfc257480aa1b24ba.

Conflicts:
	src/observersmanager.hpp
2014-07-10 21:56:05 +02:00
King_DuckZ 1682b1ade7 Use the new tree class instead of a flat array.
This is so that observers being registered can refer
"sub-observers" recursively. When such observer is deleted,
the whole underlying subtree is removed with it. This facilitates
the process of unregistering observers - ie: when the main
observer goes down because it is destroyed, all of its sub-observers
are removed as well, because in this architecture they are expected
to be aggregated to the main observer.
2014-07-10 21:56:05 +02:00