summary refs log tree commit diff stats
path: root/src/main.cpp
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2019-02-20 16:44:09 -0500
committerKelly Rauchenberger <fefferburbia@gmail.com>2019-02-20 16:44:09 -0500
commitd9c201cbf2fbfe315137e141d886a9bbfa6794ba (patch)
tree2dfaf8db9e43e456386796d797884ea18d63befe /src/main.cpp
parent8996810b1356c2224d4f34423fd4211de20da238 (diff)
downloaddispatcher-d9c201cbf2fbfe315137e141d886a9bbfa6794ba.tar.gz
dispatcher-d9c201cbf2fbfe315137e141d886a9bbfa6794ba.tar.bz2
dispatcher-d9c201cbf2fbfe315137e141d886a9bbfa6794ba.zip
Started implementing schedule
Scheduled entities move downward every beat, although they have a speed that is twice the bpm, so essentially they move every other beat?

Broke the simulation loop such that different parts run independently -- made it horizontal rather than vertical.

Encapsulated the grid cache so that more than one position field could be cached. This is used to make sure that an entity can't move into a space that something else is already moving into.

Fixed issue where an entity could move perpendicularly into the space an entity was moving out of.
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp27
1 files changed, 0 insertions, 27 deletions
diff --git a/src/main.cpp b/src/main.cpp index c77d25b..c0ba15f 100644 --- a/src/main.cpp +++ b/src/main.cpp
@@ -13,33 +13,6 @@ int main(int, char**)
13 Level level; 13 Level level;
14 Simulation sim(level); 14 Simulation sim(level);
15 15
16 Simulation::id_type player = sim.emplaceEntity();
17 Entity& entity = sim.getEntity(player);
18 entity.size = TILE_SIZE;
19 entity.speed = 3.0;
20 entity.controllable = true;
21 entity.colliderType = ColliderType::player;
22 entity.colorVal = 180;
23 sim.setGridPos(player, vec2s { 1, 5 } );
24
25 Simulation::id_type crateId = sim.emplaceEntity();
26 Entity& crate = sim.getEntity(crateId);
27 crate.size = TILE_SIZE;
28 crate.speed = 4.0;
29 crate.colliderType = ColliderType::crate;
30 crate.canBePushedBy.insert(ColliderType::player);
31 crate.canBePushedBy.insert(ColliderType::crate);
32 sim.setGridPos(crateId, vec2s { 4, 5 } );
33
34 Simulation::id_type crateId2 = sim.emplaceEntity();
35 Entity& crate2 = sim.getEntity(crateId2);
36 crate2.size = TILE_SIZE;
37 crate2.speed = 4.0;
38 crate2.colliderType = ColliderType::crate;
39 crate2.canBePushedBy.insert(ColliderType::player);
40 crate2.canBePushedBy.insert(ColliderType::crate);
41 sim.setGridPos(crateId2, vec2s { 6, 7 } );
42
43 bool quit = false; 16 bool quit = false;
44 17
45 SDL_Event e; 18 SDL_Event e;