af4f16a6d6
New files merged from dev weren't using the new a_pure macro yet.
2014-08-25 17:44:13 +02:00
5a71b943b2
Merge branch 'dev'
...
Conflicts:
src/line.hpp
src/platformset.cpp
src/vector.hpp
2014-08-25 17:41:06 +02:00
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
488c31c57e
Implement clipping for DrawableLine.
2014-08-23 00:32:33 +02:00
634503bf00
Add a line to the character to mark the collision bar.
2014-08-23 00:32:24 +02:00
5026ce2c53
Bugfix in operator!=
2014-08-22 11:01:01 +02:00
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
78734f6ad3
Add assertions for out-of-bounds indices.
2014-08-22 10:49:22 +02:00
105020b5c1
Added a DrawableLine class for debug builds.
2014-08-19 21:49:08 +02:00
f300c94924
Allow scaling lines by a 2D vector ie: non-homogeneous scaling.
2014-08-19 21:48:41 +02:00
c70d2ad423
Allow more flexibility when performing operations on Vectors of
...
different types.
2014-08-19 21:44:26 +02:00
ec665cc24c
Fix the remaining warnings on the intel compiler.
2014-08-14 13:12:25 +02:00
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
08f217e22c
Warning fix on clang
2014-08-14 12:09:44 +02:00
4e89878eb4
Replace __attribute__ keywords with a macro to improve compiler compatibility.
2014-08-14 12:00:04 +02:00
dff58a98ef
Merge branch 'dev'
...
Conflicts:
CMakeLists.txt
2014-08-14 11:30:05 +02:00
727345fbe9
Unused function.
2014-08-14 10:57:33 +02:00
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
e9253fae1f
Silence a warning in Release.
2014-08-13 22:54:30 +02:00
c59a4573f4
Rename PlatformSystem to PlatformSpawner.
2014-08-13 22:51:08 +02:00
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
3c0e460a23
Fixes for the Raspberry Pi build.
...
The slowness problem is still there.
2014-08-07 11:29:04 +02:00
6cf749c82c
Add the call to bcm_host_init/deinit() on raspberry pi.
2014-08-06 21:04:57 +02:00
0d2f584229
Print the video driver name.
2014-08-06 18:04:15 +02:00
5941e0af56
Chose the renderer driver instead of passing -1 (default).
2014-08-06 17:44:28 +02:00
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
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
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
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
df8f5ca6b2
Add a debug-only function to pretty-print Line objects.
2014-08-01 17:02:20 +02:00
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
c12a6407d9
Bugfix in Line class.
...
A constructor was wrong and the loop was wrong as well.
2014-08-01 16:42:42 +02:00
3522ce37a3
Add an offset in HorzCollisionBar and reset it at the beginning of every frame.
2014-08-01 16:41:55 +02:00
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
42fb50e93e
Add the collision grouping logic.
2014-07-31 20:13:13 +02:00
1037e2e141
Fix the assert when quitting.
2014-07-31 12:00:29 +02:00
0bdaa63db1
Cut the verbosity, it's not useful here.
2014-07-31 11:22:08 +02:00
61d19865dd
Fix the generation of new platforms so they stick to the average.
2014-07-31 11:20:50 +02:00
4166983809
Generate random platforms nicely.
...
This also fixes the build.
2014-07-30 13:46:50 +02:00
0e2303112f
Assert fix. Enable clipping on platforms.
2014-07-28 11:04:02 +02:00
f52476a4ec
Add some collision bars.
2014-07-28 11:03:39 +02:00
cdaffe0f2b
Fix a mixup with template parameters.
2014-07-28 11:01:25 +02:00
54e8a27709
Working on the collision classes.
2014-07-28 11:00:55 +02:00
63bb31e728
Make the Prepare and Destroy step more customizable.
2014-07-28 10:58:15 +02:00
250600d8b2
Make the verbosity of the observers manager switchable from the cmake file.
2014-07-17 16:53:14 +02:00
06e3bfdeb7
New Line class and related algorithms and functions.
2014-07-16 23:42:37 +02:00
3f79507beb
Assertion that the ObserverManager is empty when it's destroyed and verbosity.
2014-07-10 21:56:05 +02:00
9c660caec6
Use the new tree-based registration system in the mover.
2014-07-10 21:56:05 +02:00
61f0c28983
Revert "Refactoring in ObserversManager."
...
This reverts commit 9c2f61991869b7eacbb2bf3bfc257480aa1b24ba.
Conflicts:
src/observersmanager.hpp
2014-07-10 21:56:05 +02:00
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