In this document:
There are no attributes for this object type.
Expanding wall "grows" sideways whenever possible. If ever a piece of expanding wall discovers that the position to the immediate left or right is empty space, it grows to fill that space. A piece of expanding wall can expand to fill both the left and the right spaces in one frame. However, the newly created pieces of expanding wall don't get to themselves grow until the next frame, so if you put a piece of expanding wall into a cave of space, you will see it expanding left and right at the rate of one space per frame.
Each time expanding wall grows, an appropriate sound is made (failing all else, just the standard boulder crash sound, the same as is used when a boulder starts or stops falling, or is pushed).
procedure ScanExpandingWall(in positionType wallPosition) # Local variables positionType NewPosition; # Try to grow left NewPosition := GetRelativePosition(wallPosition, left1); if (GetObjectAtPosition(NewPosition) == objSpace) then PlaceObject(objExpandingWall, attribNone, NewPosition); endif # Try to grow right NewPosition := GetRelativePosition(wallPosition, right1); if (GetObjectAtPosition(NewPosition) == objSpace) then PlaceObject(objExpandingWall, attribNone, NewPosition); endif endprocedure