forked from 0ad/0ad
Ykkrosh
dd501b2a5a
Support direct access to serializer streams, so serializers can be nested. Make component script "this.template" read-only. Stop globally-subscribed component scripts receiving messages posted to local components, to reduce out-of-sync risks. Move pathfinder data out of entity template directory. Fix GuiInterface deserialization. This was SVN commit r8865.
97 lines
2.6 KiB (Stored with Git LFS)
XML
Executable File
97 lines
2.6 KiB (Stored with Git LFS)
XML
Executable File
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<Scenario version="5">
|
|
<Terrain patches="9" texture="blackness" priority="0" height="16384"/>
|
|
<Script><![CDATA[//
|
|
|
|
var patches = 9;
|
|
|
|
function createBlock(template, owner, angle, x0, z0, cols, rows, colspacing, rowspacing)
|
|
{
|
|
var rdx = rowspacing * -Math.sin(angle);
|
|
var rdz = rowspacing * -Math.cos(angle);
|
|
var cdx = colspacing * Math.cos(angle);
|
|
var cdz = colspacing * -Math.sin(angle);
|
|
|
|
for (var r = 0; r < rows; ++r)
|
|
{
|
|
for (var c = 0; c < cols; ++c)
|
|
{
|
|
var x = x0 + (c - (cols-1)/2) * cdx + r * rdx;
|
|
var z = z0 + (c - (cols-1)/2) * cdz + r * rdz;
|
|
var ent = Engine.AddEntity(template);
|
|
|
|
var cmpPosition = Engine.QueryInterface(ent, IID_Position);
|
|
cmpPosition.MoveTo(x, z);
|
|
cmpPosition.SetYRotation(angle);
|
|
|
|
var cmpOwnership = Engine.QueryInterface(ent, IID_Ownership);
|
|
if (cmpOwnership)
|
|
cmpOwnership.SetOwner(owner);
|
|
}
|
|
}
|
|
}
|
|
|
|
var mx = 192;
|
|
var mz = 128;
|
|
var sep = 46;
|
|
for (var i = 0; i < 8; ++i)
|
|
{
|
|
createBlock("units/hele_infantry_spearman_e", 1, Math.PI/2, mx - sep - 6, mz, 16, 4, 2.1, 3.0);
|
|
createBlock("units/hele_infantry_spearman_e", 2, 3*Math.PI/2, mx + sep + 6, mz, 16, 4, 2.1, 3.0);
|
|
createBlock("units/hele_infantry_archer_b", 1, Math.PI/2, mx - sep, mz, 8, 1, 5.0, 3.0);
|
|
createBlock("units/hele_infantry_archer_b", 1, Math.PI/2, mx - sep - 2, mz, 7, 1, 5.0, 3.0);
|
|
createBlock("units/hele_infantry_archer_b", 2, 3*Math.PI/2, mx + sep, mz, 8, 1, 5.0, 3.0);
|
|
createBlock("units/hele_infantry_archer_b", 2, 3*Math.PI/2, mx + sep + 2, mz, 7, 1, 5.0, 3.0);
|
|
|
|
mz += 42;
|
|
}
|
|
|
|
//]]></Script>
|
|
<Environment>
|
|
<SkySet>default</SkySet>
|
|
<SunColour r="1.5" g="1.5" b="1.5"/>
|
|
<SunElevation angle="0.785398"/>
|
|
<SunRotation angle="5.49779"/>
|
|
<TerrainAmbientColour r="0.313726" g="0.376471" b="0.521569"/>
|
|
<UnitsAmbientColour r="0.501961" g="0.501961" b="0.501961"/>
|
|
<Water>
|
|
<WaterBody>
|
|
<Type>default</Type>
|
|
<Colour r="0.3" g="0.35" b="0.7"/>
|
|
<Height>5</Height>
|
|
<Shininess>150</Shininess>
|
|
<Waviness>8</Waviness>
|
|
<Murkiness>0.45</Murkiness>
|
|
<Tint r="0.28" g="0.3" b="0.59"/>
|
|
<ReflectionTint r="0.28" g="0.3" b="0.59"/>
|
|
<ReflectionTintStrength>0</ReflectionTintStrength>
|
|
</WaterBody>
|
|
</Water>
|
|
</Environment>
|
|
<Camera>
|
|
<Position x="192" y="80" z="-2.20961"/>
|
|
<Rotation angle="0"/>
|
|
<Declination angle="0.3"/>
|
|
</Camera>
|
|
<ScriptSettings><![CDATA[
|
|
{
|
|
"Name":"Combat Demo (Huge)",
|
|
"Description":"1296 units. Extremely slow (we need more optimisation).",
|
|
"Keywords": ["demo"],
|
|
"PlayerData":
|
|
[
|
|
{
|
|
"Civ":"hele"
|
|
},
|
|
{
|
|
"Civ":"hele"
|
|
}
|
|
],
|
|
"RevealMap":true
|
|
}
|
|
]]></ScriptSettings>
|
|
<Entities/>
|
|
<Paths/>
|
|
</Scenario>
|