1:lot->Size(1^,30,1^) Subdiv(Z,Scope.sz*rand(0.3,0.5),1^) {facades | sidewings} 2:sidewings->Subdiv(X,Scope.sx*rand(0.2,0.6),1^) {sidewing|empty} Subdiv(X,1^,Scope.sx*rand(0.2,0.6)) {empty|sidewing} 3:sidewing->Size(1^,1^,Scope.sz*rand(0.4,1.0)) {facades} : 0.5 ->Size(1^,Scope.sy*rand(0.2,0.9), Scope.sz*rand(0.4,1.0)) {facades} : 0.3 ->Replace(empty) : 0.2 4:facades->Comp(sidefaces) {facade} 5:facade->Subdiv(Y, 5, 1^, 5) {groundfloor | floors | topfloors} 6:groundfloor->Subdiv(X,2^,1^,2^) {groundtiles | entrance | groundtiles} 7:floors->Repeat(Y, 4) {floor} 8:floor->Repeat(X, 4) {tile} 9:entrance->Texture(officedoor.bmp) 10:tile->Subdiv(Y,1^,5^,1^) {tile_a | win_t | tile_a} 11:win_t->Subdiv(X,1^,5^,1^) {tile_a | win_f | tile_a} 12:win_f:Scope.sx>1.3->Texture(officewindow.bmp) 12:win_f:Scope.sx<1.3->Replace(tile_a) 13:tile_a->Texture(greenmarble.jpg, stretch) end