Commit graph

60 commits

Author SHA1 Message Date
3a05564be9 Add missing include. 2017-03-17 19:52:42 +00:00
d96dbb9fe8 Update vectorwrapper.
Also make the necessary changes to fix the build after the update.
2017-03-17 00:30:34 +00:00
be56c55e3e Add a layer for game characters. 2017-03-15 21:58:51 +00:00
b60bbf3739 Add background layer from IngameScene, not the base class. 2017-03-15 21:58:24 +00:00
9428e63fc2 Layers are now named, so code can request a layer by name. 2017-03-15 21:48:27 +00:00
7a391c5743 Character draws itself. 2017-03-15 09:14:22 +00:00
2d05fd03db Assert that raytracing is going to finish at some point. 2017-03-15 09:13:13 +00:00
d9a943ee4a Add DrawingQueue class.
Big do-it-all commit. Work on this is not finished and there
are a few changes that need to be undone. A bit messy but
that's how it is :/
2017-03-15 09:12:16 +00:00
8a65faf45c Fixes to make safe_ptr work outside of kakoune. 2017-03-12 15:12:44 +00:00
23d7121e76 Add safe_ptr from kakoune. 2017-03-12 15:12:09 +00:00
15e874f0fe Move texture-related code out from Character class. 2017-03-11 12:22:40 +00:00
c320abbed2 Update submodule 2017-03-11 08:51:16 +00:00
0560affdf9 Import clooneljump as a subproject.
Remove manually copy-pasted files taken from cloonelgraphics and
use the up-to-date version from the submodule instead.
2017-03-11 08:22:23 +00:00
c30fe3012c Remove fsgn() which is now unnecessary. 2017-02-10 19:26:46 +00:00
ff91bbbc71 Fix code so raytrace test now passes. 2017-02-10 19:24:44 +00:00
80d0e1c336 Add test for intersection and fix data in raytracer test. 2017-02-10 15:40:26 +00:00
413ff4e558 Expose private functions in grid_raytrace for unit testing. 2017-02-09 19:31:38 +00:00
47aa9f2948 Move everything into a shared lib so unit test can access stuff. 2017-02-09 18:11:09 +00:00
e2d307da52 Initial WiP implementation of 2D grid raytracing. Not working. 2017-02-08 16:39:46 +00:00
f91ff6625f No need for requiring int position here. 2017-02-08 16:37:59 +00:00
24d67c7cd6 Experimental code that turned out to be too slow and got scrapped. 2017-02-08 16:37:12 +00:00
cb8654ac7e Add a TileProperty struct so one can store info about tiles. 2017-02-08 16:36:36 +00:00
5a8c3fcac0 Add Catch for unit testing. 2017-02-08 16:32:55 +00:00
8e1c19df47 Add an fsgn() function.
fsgn() returns -1/0/1 depending on the parameter's sign.
2017-02-08 16:30:48 +00:00
67e8ceefa3 Update licence notice to 2017. 2017-01-30 14:56:16 +00:00
ab02e7ef58 Let Character store a pointer to the world.
It's going to be needed for collision testing.
2017-01-30 14:49:56 +00:00
2062d50775 Use explicit loop 2017-01-30 13:05:26 +00:00
3907ef6d6d Move movement logic out from the gameplay scene.
Character now knows how to move by itself.
2017-01-30 12:29:57 +00:00
7a0d2c3267 Center viewport on the character when possible. 2017-01-27 19:39:47 +00:00
4715552b44 Update to latest vectorwrapper. 2017-01-27 19:37:20 +00:00
952a8af9c6 Register things that need the world size as observers to WorldGrid.
Character and WorldViewport get notified when the world size is set.
This way even if world size never changes they still get notified
about the proper world size as soon as that information is ready,
be it during instantiation or registration. Previously I was having
trouble because at the point where Character was instantiated, the
world size was not known yet. As such, I had to call a
character.update_world_size() function after it became available. The
same happened for the viewport, and this looked a bit too brittle
from the programmer's perspective. Now you just instantiate the
Character and things get sorted out automatically.
2017-01-27 16:07:50 +00:00
0dab671ce4 Forgot to commit this 2017-01-26 19:47:37 +00:00
19889313e2 Make a ConstrainedPosition helper class.
Use the new class to replace the ad-hoc code in worldviewport.
2017-01-26 17:37:12 +00:00
7971e85be5 Fix url to vectorwrapper submodule 2016-11-23 18:25:09 +01:00
9a0e7abb52 Attach GPL3 licence. 2016-11-23 17:54:41 +01:00
38826b94b8 Fix randomly happening floating point error during clipping. 2016-11-09 01:46:36 +01:00
e65c2341c2 Draw a test character to start experimenting. 2016-11-09 01:46:10 +01:00
4c105fc3df Don't move the viewport if it would generate gaps in the map.
In other words, don't let the player see past the end of the world.
2016-11-08 20:34:04 +01:00
5d231206ef Fix rect clipping 2016-11-08 20:15:19 +01:00
89ac57eee7 Don't crash when going past the bottom/right border. 2016-11-07 22:31:52 +01:00
20f8e75937 Use boost spirit to load csv files.
Allow loading of multiple csv files. Iterating on tiles now returns
a list of tiles, in back-to-front order.
Add a nicer tileset (although it's non-free and needs permission from
its author, need to get in touch in due time).
2016-11-07 22:02:46 +01:00
1313dad568 Allow moving past the top-left edge of the world. 2016-11-04 20:31:41 +01:00
d7868800d4 Temporary code to load a csv tilemap from Tiled. 2016-11-04 20:31:17 +01:00
087e1cd8b1 Make the viewport able to return the tile of a given index. 2016-10-31 01:36:30 +01:00
458ec6bcce Make m_index uint16 again and replace magic -1 number. 2016-10-30 23:41:14 +01:00
5da4cef4a5 Move clipping and drawing to base class and fix int<->float warnings. 2016-10-30 23:30:32 +01:00
c8920ea997 Implementation of vector_cast that works with vwr::Vec. 2016-10-28 22:20:23 +02:00
629a3d9e08 Add movingobject 2016-10-28 21:06:19 +02:00
f1467d7d99 Use pimpl to hide properties used by the gameplay scene. 2016-10-28 01:45:45 +02:00
33c18680d6 Make scrolling speed depend on frame duration. 2016-10-28 01:31:34 +02:00