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;
}