Modding Help Tiles json dungeon doesnt work if objects is put in

Discussion in 'Starbound Modding' started by zz980111, Sep 22, 2016.

  1. zz980111

    zz980111 Scruffy Nerf-Herder

    I have tried loading a dungeon with a house using just front and back layers modified it works like a charm, but as soon as I put into any objects into the objects layer I cannot load the dungeon with warp command. Is this a bug from Tiles or from the game??
     
  2. lazarus78

    lazarus78 The Waste of Time

    Look at your starbound.log file for the error.
     
    zz980111 likes this.
  3. Inf_Wolf14

    Inf_Wolf14 Parsec Taste Tester

    zz980111 likes this.
  4. zz980111

    zz980111 Scruffy Nerf-Herder

    Thank you very much that's exactly what I need!!
     
    Inf_Wolf14 likes this.
  5. Not Mr Flibble

    Not Mr Flibble Void-Bound Voyager

    This patch works for (at least) 0.17.0:

    Code:
    diff --git a/src/libtiled/maptovariantconverter.cpp b/src/libtiled/maptovariantconverter.cpp
    index 1621f82..c875a55 100644
    --- a/src/libtiled/maptovariantconverter.cpp
    +++ b/src/libtiled/maptovariantconverter.cpp
    @@ -308,7 +308,7 @@ QVariant MapToVariantConverter::toVariant(const ObjectGroup *objectGroup) const
             const QString &name = object->name();
             const QString &type = object->type();
    -        addProperties(objectVariant, object->properties());
    +        addProperties(objectVariant, object->properties(), true);
             objectVariant[QLatin1String("id")] = object->id();
             objectVariant[QLatin1String("name")] = name;
    @@ -396,9 +396,9 @@ void MapToVariantConverter::addLayerAttributes(QVariantMap &layerVariant,
    }
    void MapToVariantConverter::addProperties(QVariantMap &variantMap,
    -                                          const Properties &properties) const
    +                                          const Properties &properties, bool force) const
    {
    -    if (properties.isEmpty())
    +    if (!force && properties.isEmpty())
             return;
         QVariantMap propertiesMap;
    @@ -418,5 +418,6 @@ void MapToVariantConverter::addProperties(QVariantMap &variantMap,
         }
         variantMap[QLatin1String("properties")] = propertiesMap;
    +    if (!properties.isEmpty())
         variantMap[QLatin1String("propertytypes")] = propertyTypesMap;
    }
    diff --git a/src/libtiled/maptovariantconverter.h b/src/libtiled/maptovariantconverter.h
    index 8270248..5f758ae 100644
    --- a/src/libtiled/maptovariantconverter.h
    +++ b/src/libtiled/maptovariantconverter.h
    @@ -63,7 +63,7 @@ private:
                                 const Layer *layer) const;
         void addProperties(QVariantMap &variantMap,
    -                       const Properties &properties) const;
    +                       const Properties &properties, bool force = false) const;
         QDir mMapDir;
         GidMapper mGidMapper;
    
     

Share This Page