Ticket #902: v3_rally_construct.diff

File v3_rally_construct.diff, 2.0 KB (added by Josh, 11 years ago)

Bug fix

  • 0ad/binaries/data/mods/public/simulation/components/Foundation.js

     
    277277        var rot = cmpPosition.GetRotation();
    278278        cmpBuildingPosition.SetYRotation(rot.y);
    279279        cmpBuildingPosition.SetXZRotation(rot.x, rot.z);
     280        var cmpRallyPoint = Engine.QueryInterface(this.entity, IID_RallyPoint);
     281        var cmpBuildingRallyPoint = Engine.QueryInterface(building, IID_RallyPoint);
     282        if(cmpRallyPoint)
     283        {
     284            var rallyCoords = cmpRallyPoint.GetPositions();
     285            if (rallyCoords[0])
     286            {
     287                var rallyDatas = cmpRallyPoint.GetData();
     288                var cmpBuildingRallyPointRenderer = Engine.QueryInterface(building, IID_RallyPointRenderer);
     289                for each (var rallyCoord in rallyCoords)
     290                {
     291                    cmpBuildingRallyPoint.AddPosition(rallyCoord["x"], rallyCoord["z"]);
     292                    cmpBuildingRallyPointRenderer.AddPosition({'x': rallyCoord["x"], 'y': rallyCoord["z"]})
     293                }
     294                for each (var rallyData in rallyDatas)
     295                    cmpBuildingRallyPoint.AddData(rallyData);
     296            }       
     297        }
    280298        // TODO: should add a ICmpPosition::CopyFrom() instead of all this
    281299
    282300        // ----------------------------------------------------------------------
  • 0ad/source/simulation2/components/CCmpTemplateManager.cpp

     
    566566    permittedComponentTypes.insert("Sound");
    567567    permittedComponentTypes.insert("Vision");
    568568    permittedComponentTypes.insert("AIProxy");
     569    permittedComponentTypes.insert("RallyPoint");
     570    permittedComponentTypes.insert("RallyPointRenderer");
    569571
    570572    CParamNode::LoadXMLString(out, "<Entity/>");
    571573    out.CopyFilteredChildrenOfChild(in, "Entity", permittedComponentTypes);