yardmaps

yardmaps

Discuss the source code and development of Spring Engine in general from a technical point of view. Patches go here too.

Moderator: Moderators

Post Reply
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

yardmaps

Post by zwzsg »

Spring doesn't intepret the yardmap field in the FBI correctly.

How it should be:
FBI File Content Description

YardMap

Defines in more detail the "footprint" of a construction yard (or any stationary building). As an example, the ARM Adv. Air Plant data at the right has 6 groups of 7 values defining an X-Z coordinate "footprint" for the construction yard. The following values are available:
"f" indicates the space is occupied by a feature (e.g. Dragons teeth)
"o" indicates occupied points on ground where a unit may not pass. By default, all values are "o".
"O" - Occupied when building is open - never used.
"c" defines the "hole" (typically in construction plant units) where the units are built and where they enter or exit. closed yard - "Openyard/Closeyard" on land.
"C" - closed yard - "Openyard/Closeyard" on water.
"w" seems to indicate those parts of a ship yard that are above water
"g" (or "G") indicates that the space can operate over a geothermal vent. Otherwise, operates just like an "O". Created specifically for the geothermal plant.
"y" - standard yard - no footprint on land
"Y" - standard water yard - no footprint on water. "Y" is simply a location that will never have a footprint, no matter what.
As you know, footprints are square, but your units aren't always. This allows you to shape the footprint a little. (i.e. ARMLAB, the corners are always "footprintless")
Specifically, "y" should be passable but currently isn't, and, when YARD_OPEN is set to 1, then "c" should be passable but currently isn't.

It's very annoying not to be able to have buildings with passable yard.
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Post by zwzsg »

Actually, SJ told me that know, the yardmap open and close, but that the opening and closing is hard coded to happen only when a factory is building. Instead of being soft scripted like it was in TA. And so non-factory buildings can't close and open. (And the always free y is apparently just lacking)

So, we still need to:
- Have the script command "set YARD_OPEN to TRUE;" turn the c into passable.
(And the O into impassable, unless there are units on O spot*).
- Have the script command "set YARD_OPEN to FALSE;" turn the c into impassable, unless there are units on c spots.
(And turn the O into passable*).
- Have the script command "get YARD_OPEN;" return the state of the yardmap (use in many scripts to check if a "set YARD_OPEN to FALSE;" was actually succesfully performed or if there were units blocking it)
- Have the hard coding of closing/opening of yardmap be removed and let the factory scripts handle the job.

- Have the y always free


*O is never used, so it doesn't matter much if it's not supported.
User avatar
FireCrack
Posts: 676
Joined: 19 Jul 2005, 09:33

Post by FireCrack »

it would be nice to have O supported though...
Post Reply

Return to “Engine”