Commit graph

80 commits

Author SHA1 Message Date
6b3cb59bc2 Fix collision right-/downwards.
It still glitches when walking diagonally.
2018-03-05 10:35:48 +00:00
9da16ca82d Assert that tile calculation is correct. 2018-03-05 10:35:15 +00:00
6861329ab9 Rename for_each_voxel to for_each_cell. 2018-03-05 10:34:41 +00:00
5bccef1f4f Add print statements to hopefully help with debugging. 2018-03-01 23:19:42 +00:00
89f7d5c948 I think this should return 1, not 0.
Like this, I can loop over the column/row facing
the collision side, ie for z = tile; z < tile + len.
2018-03-01 23:19:27 +00:00
ea5bbb8673 Update copyright to 2018 2018-02-28 10:38:37 +00:00
57bd1cfefc Temporary, just for the sake of testing collision. 2017-11-06 20:40:24 +00:00
94080546e5 Broken implementation of collision code.
I'm trying to get it working.
2017-11-06 20:40:03 +00:00
37f7964388 Fix build error about SDL_platform.h not found. 2017-10-24 20:25:01 +01:00
ee3a17fd13 Make method const 2017-10-24 10:45:40 +01:00
7783cb8e5e Refactor moving logic out from Character into a new class. 2017-07-31 09:56:49 +01:00
84e7ca952e buildfix 2017-07-24 10:03:43 +01:00
4ab06b4255 Add 'walkable' info to tiles. 2017-07-24 01:27:07 +01:00
b3e7f3ac1c Import tmxlite. 2017-07-24 01:26:05 +01:00
92ed732927 Add the customized vectorwrapper pretty-printer for curry. 2017-07-24 01:19:33 +01:00
64969766d9 Try to make collision work - WiP 2017-07-24 01:19:06 +01:00
40967784a3 Add parameter to skip the callback on the first tile.
For example if you are going from tile 1,1 to 1,2 you would get
two notifications if parInclFirst==true, one for 1,1 and one for
1,2. If parInclFirst==false, then you will only get a notification
for 1,2. Note that if the segment passed to to
for_each_voxel_under_segment() is too short and doesn't span over
the initial tile, passing parInclFirst==false will discard the
only callback you would normally get. Effectively this can be used
for a sort of "on tile changed" notification.
2017-07-23 16:22:04 +01:00
084c4d64da Fix the assert triggering sometimes in the raytrace grid traversal. 2017-07-23 04:37:25 +01:00
b0806e9e1c Print "debug" when starting game compiled in debug mode. 2017-03-17 20:13:39 +00:00
1eeb944e68 Make Debug only available in debug builds. 2017-03-17 20:08:12 +00:00
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