spriteset(grounds, "graphics/grounds.png") {
concrete: template_grounds(0);
cobble: template_grounds(1);
dirt: template_grounds(2);
}
spriteset(platforms, "graphics/platforms.png") {
concrete: template_platforms(0);
cobble: template_platforms(1);
dirt: template_platforms(2);
}
spriteset(buildings, "graphics/buildings.png") {
small: template_buildings(0);
large: template_buildings(1);
}
spriteset(little_cargoes, "graphics/cargoes.png") {
template_cargoes(0, 0);
template_cargoes(0, 1);
// ...
template_cargoes(0, 46);
template_cargoes(0, 47);
}
spriteset(lots_cargoes, "graphics/cargoes.png") {
template_cargoes(1, 0);
template_cargoes(1, 1);
// ...
template_cargoes(1, 46);
template_cargoes(1, 47);
}
spriteset(signals, "graphics/signals.png") {
red: template_signals(0);
yellow: template_signals(1);
green: template_signals(2);
}
spritegroup cargoes {
little: [little_cargoes];
lots: [lots_cargoes];
}
spritelayout concrete_platform {
ground { sprite: grounds(dirt + ground_variation); }
building {
sprite: platforms(concrete + platform_variation);
index: [0, 2];
yextent: 4;
}
childsprite {
sprite: buildings(small + building_variation);
index: [0, 1];
}
childsprite {
sprite: cargoes(cargo_type + cargo_size);
yoffset: 4;
}
childsprite {
sprite: cargoes(cargo_type + cargo_size);
xoffset: 8;
yoffset: 8;
}
childsprite {
sprite: cargoes(cargo_type + cargo_size);
xoffset: 16;
yoffset: 12;
}
childsprite {
sprite: cargoes(cargo_type + cargo_size);
xoffset: 24;
yoffset: 16;
}
childsprite {
sprite: signals(red);
xoffset: [0, 16];
hide_sprite: !red_signal;
}
childsprite {
sprite: signals(yellow);
xoffset: [0, 16];
hide_sprite: !yellow_signal;
}
childsprite {
sprite: signals(green);
xoffset: [0, 16];
hide_sprite: !green_signal;
}
building {
sprite: platforms(concrete + platform_variation);
index: [2, 4];
yoffset: 12;
yextent: 4;
}
// Same idea as first building's childsprites
}
spritelayout cobble_platform {
// Same idea as concrete_platform layout
}
spritelayout dirt_platform {
// Same idea as concrete_platform layout
}
item(FEAT_STATIONS, concrete_station) {
property { ... }
graphics {
concrete_platform;
}
}
item(FEAT_STATIONS, cobble_station) {
property { ... }
graphics {
cobble_platform;
}
}
item(FEAT_STATIONS, dirt_station) {
property { ... }
graphics {
dirt_platform;
}
}
switch(FEAT_STATIONS, SELF, adaptation_switch, magic_expr_for_type) {
1: cobble_platform;
2: dirt_platform;
concrete_platform;
}
item(FEAT_STATIONS, adaptive_station) {
property { ... }
graphics {
adaptation_switch;
}
}