Commit graph

145 commits

Author SHA1 Message Date
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
4d9190b0db Swapping support added to SizeNotifiable. 2014-03-26 10:42:43 +01:00
79fbf0faf7 Support drawing textures without doing any clipping. 2014-03-25 10:32:34 +01:00
0674f2d28d Set the viewport size and resolution on resoultion change. 2014-03-25 00:21:10 +01:00
a1e507ef12 Clip texture before rendering. 2014-03-24 21:32:24 +01:00
8af4e432e7 Debug only code for printing vectors. 2014-03-24 00:28:21 +01:00
108c10883a Support for unary minus operator. 2014-03-23 22:07:01 +01:00
4cabdef306 New docs directory 2014-03-21 23:01:45 +01:00
06c244f87e gitignore updated 2014-03-21 23:00:54 +01:00
7bd1d483bd Missing background graphics 2014-03-21 23:00:39 +01:00
452761985d Buildfix for clang 2014-03-21 22:51:28 +01:00
2b9746b868 Warning fix when T is a short int 2014-03-21 19:44:16 +01:00
46ad5ea5fe Tiled wallpaper replicated all over. 2014-03-20 22:07:47 +01:00
d0a052ddb2 Refactoring in SizeNotifiable.
Class is a template now and accepts a registraton policy.
2014-03-20 20:21:59 +01:00
dbf29f13d1 Use the new notifiable system to scale the character. 2014-03-20 12:39:39 +01:00
85d57fd681 Fixed a problem where only the x part was initialized. 2014-03-20 12:39:39 +01:00
f0a38a2f8a Adding new files to register objects that require to be notified when resolution changes.
Also added a structure that holds the resolution and the current scaling ratio.
2014-03-20 12:39:39 +01:00
b627b69221 Send resolution change notification when window is resized. 2014-03-20 12:39:39 +01:00
0c6275f41c Draw in abstract units and scale to pixels at the end. 2014-03-20 12:39:39 +01:00
a561242395 Implementation of == != < <= > >= operators. 2014-03-20 12:39:39 +01:00