]> git.localhorst.tv Git - l2e.git/blobdiff - src/map/Entity.cpp
closed the gap between battle and map state (yay)
[l2e.git] / src / map / Entity.cpp
index e1f970bea644103be655e27a094ffa478c4a3169..01a8e9c384012a81ce15d5fc872c4342f4fab893 100644 (file)
@@ -18,6 +18,9 @@ namespace map {
 Entity::Entity()
 : follower(0)
 , animation(0)
+, partyLayout(0)
+, monsters(0)
+, numMonsters(0)
 , orientation(ORIENTATION_NORTH)
 , speed(0)
 , flags(0) {
@@ -118,6 +121,8 @@ void Entity::CreateTypeDescription() {
        Entity e;
 
        int animationId(TypeDescription::GetTypeId("Animation"));
+       int monsterId(TypeDescription::GetTypeId("Monster"));
+       int partyLayoutId(TypeDescription::GetTypeId("PartyLayout"));
        int vectorId(TypeDescription::GetTypeId("Vector"));
 
        TypeDescription &td(TypeDescription::CreateOrGet("Entity"));
@@ -125,8 +130,10 @@ void Entity::CreateTypeDescription() {
        td.SetLoader(&Load);
        td.SetSize(sizeof(Entity));
 
-       td.AddField("animation", FieldDescription(((char *)&e.animation) - ((char *)&e), animationId, true));
-       td.AddField("spriteOffset", FieldDescription(((char *)&e.spriteOffset) - ((char *)&e), vectorId, false));
+       td.AddField("animation", FieldDescription(((char *)&e.animation) - ((char *)&e), animationId).SetReferenced());
+       td.AddField("partyLayout", FieldDescription(((char *)&e.partyLayout) - ((char *)&e), partyLayoutId).SetReferenced());
+       td.AddField("monsters", FieldDescription(((char *)&e.monsters) - ((char *)&e), monsterId).SetReferenced().SetAggregate());
+       td.AddField("spriteOffset", FieldDescription(((char *)&e.spriteOffset) - ((char *)&e), vectorId));
 }
 
 void Entity::Construct(void *data) {