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
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
ad613dc3fd
Import of the tree library.
...
See: http://tree.phi-sci.com/index.html
2014-07-10 21:56:05 +02:00
103689a29a
Refactoring in ObserversManager.
...
Pull out the storage part so the class is more tidy.
2014-07-10 21:56:05 +02:00
173d5d2f99
README updated.
2014-07-10 21:56:05 +02:00
49d505815a
README renamed, I'm writing it as markdown.
2014-07-10 21:56:04 +02:00
b4ddfa8f4f
Fix for a crash occurring when the window is resized.
...
Temporary Platform objects were registering themselves.
The move ctor would then initialize the final object in
the circular buffer (see PlatformSystem), but it would
leave the address of the temporary object registered in
the ObserversManager.
2014-07-06 02:21:25 +02:00
0c8e9b2d7c
Typo fix.
2014-07-05 22:46:09 +02:00
32d141e877
Look for Boost.
2014-07-05 20:49:18 +02:00
4a3a0a4782
Add some (badly) generated platforms that will scroll
...
down whenever the player's top side depasses the middle
of the screen.
WiP.
2014-07-05 20:33:16 +02:00
976d34f17e
Movers moved into a separate directory.
2014-07-05 18:48:04 +02:00
9a8367c00c
Bugfix.
...
Too many elements were trimmed from the end of the lists
due to a wrong calculation of the last unused chunk length.
2014-07-04 13:23:37 +02:00
765e28849c
Add a circular buffer class.
...
This was necessary as the one provided by boost didn't work
with my use case (though I don't remember, I wrote this code
months ago and I'm only committing now).
2014-07-04 13:22:42 +02:00
b397fc2d7d
Added a readme file
2014-05-13 11:49:51 +02:00
a95fcd629f
Constructors that only throw if the operation they perform can throw.
2014-05-13 11:45:53 +02:00
fc50c6af55
Generate one platform and draw it. WiP.
2014-03-28 10:55:09 +01:00
4aef3a7c84
Grayscale png are not supported, this is rgb32 instead.
2014-03-28 10:52:17 +01:00
b21fe20459
Buildfix
2014-03-28 10:51:48 +01:00
bf8d9ea327
Call std::srand() at the beginning.
2014-03-28 10:50:33 +01:00
2a4ae78374
Move semantics in SizeNotifiable.
2014-03-26 23:00:02 +01:00
6fe884cd5a
Platform and PlatformSystem added to the game. WiP.
2014-03-26 10:44:01 +01:00