Trigger triggers1[1];
triggers1[0].SetTilePosition(Vector<int>(8, 3));
+ triggers1[0].SetType(Trigger::TYPE_NORTH);
SDL_Surface *tilesetImg(IMG_Load("test-data/tileset.png"));
Sprite tileset(tilesetImg, tileSize, tileSize);
Trigger triggers2[1];
triggers2[0].SetTilePosition(Vector<int>(6, 2));
+ triggers2[0].SetType(Trigger::TYPE_SOUTH);
Map map2;
map2.SetAreas(areas2, 1);
gameState.heroes[3].MapEntity().SetFlags(Entity::FLAG_NONBLOCKING);
gameState.heroes[2].MapEntity().AddFollower(&gameState.heroes[3].MapEntity());
+ Entity mapPopulation[2];
+ map1.SetEntities(mapPopulation, 2);
+
SDL_Surface *mapMonsterImg(IMG_Load("test-data/monster-map.png"));
Sprite mapMonsterSprite(mapMonsterImg, 32, 32);
SimpleAnimation mapMonsterAnimation(&mapMonsterSprite, 500, 2, 0, 0, true);
- Entity mapMonster;
- mapMonster.SetAnimation(&mapMonsterAnimation);
- mapMonster.Position() = Vector<float>(64, 32);
- mapMonster.SetOrientation(Entity::ORIENTATION_SOUTH);
- mapMonster.SetPartyLayout(&monstersLayout);
- mapMonster.SetMonsters(&monster, 1);
- map1.SetEntities(&mapMonster, 1);
+ mapPopulation[0].SetAnimation(&mapMonsterAnimation);
+ mapPopulation[0].Position() = Vector<float>(64, 32);
+ mapPopulation[0].SetOrientation(Entity::ORIENTATION_SOUTH);
+ mapPopulation[0].SetPartyLayout(&monstersLayout);
+ mapPopulation[0].SetMonsters(&monster, 1);
+
+ Sprite blockSprite(tilesetImg, tileSize, tileSize, 3 * tileSize, 1 * tileSize);
+ mapPopulation[1].SetSprite(&blockSprite);
+ mapPopulation[1].Position() = Vector<float>(64, 160);
+ mapPopulation[1].SetFlags(Entity::FLAG_PUSHABLE | Entity::FLAG_FIXED_ORIENTATION);
InitScreen screen(width, height);
mapState->ControlEntity(&gameState.heroes[0].MapEntity());
mapState->SetWalkingSpeed(walkSpeed);
- mapMonster.StartAnimation(*mapState);
+ mapPopulation[0].StartAnimation(*mapState);
state = mapState;
}