1 | <LevelInfo |
---|
2 | name = "City level" |
---|
3 | description = "A large random generated city" |
---|
4 | tags = "test" |
---|
5 | screenshot = "emptylevel.png" |
---|
6 | /> |
---|
7 | |
---|
8 | <?lua |
---|
9 | include("stats.oxo") |
---|
10 | include("HUDTemplates3.oxo") |
---|
11 | include("templates/lodInformation.oxt") |
---|
12 | ?> |
---|
13 | |
---|
14 | <?lua |
---|
15 | include("templates/spaceshipAssff2.oxt") |
---|
16 | include("templates/spaceshipPirate.oxt") |
---|
17 | include("templates/spaceshipEscort.oxt") |
---|
18 | include("templates/spaceshipRing.oxt") |
---|
19 | include("templates/spaceshipSwallow.oxt") |
---|
20 | ?> |
---|
21 | |
---|
22 | |
---|
23 | <!-- Global variable definition --> |
---|
24 | <?lua |
---|
25 | X = 20 |
---|
26 | Y = 20 |
---|
27 | CELL_SIZE = 600 |
---|
28 | |
---|
29 | NIGHTMODE = true |
---|
30 | if (NIGHTMODE) then |
---|
31 | AMBIENT_MULT = 0.2 |
---|
32 | LIGHT_MULT = 0.4 |
---|
33 | else |
---|
34 | AMBIENT_MULT = 1.0 |
---|
35 | LIGHT_MULT = 1.0 |
---|
36 | end |
---|
37 | ?> |
---|
38 | |
---|
39 | <!-- city generator --> |
---|
40 | <?lua |
---|
41 | function randomHouses(x,y,cellSize) |
---|
42 | returnString = "" |
---|
43 | for currentX = 1, x, 1 do |
---|
44 | for currentY = 1, y, 1 do |
---|
45 | houseNr = math.floor(math.random()*7 + 1) |
---|
46 | orientation = math.floor(math.random()*4)*90 |
---|
47 | houses = {"Glasstower1","ETH","Hausc1","PrimeTower","Hausc2","101","hausc3"} |
---|
48 | scales = {100,100,100,100,100,100,100} |
---|
49 | collisionShapes = {--[[Glasstower1]]"<BoxCollisionShape position=\"0,405,0\" halfExtents=\"90,405,90\" /><BoxCollisionShape position=\"0,855,0\" halfExtents=\"110, 45, 110\" /><BoxCollisionShape position=\"0,957,0\" halfExtents=\"5, 70, 5\" /> ",--[[ETH]]"<BoxCollisionShape position=\"-46.16,22.423,3.439\" halfExtents=\"89.5,30.4,151.5\" /><BoxCollisionShape position=\"105.607996,22.905,-137.980005\" halfExtents=\"31.40,23.55,39.25\" /><BoxCollisionShape position=\"105.607996,22.905,137.078003\" halfExtents=\"31.40,23.55,39.25\" /><BoxCollisionShape position=\"65.356,22.905,118.208997\" halfExtents=\"31.40,23.55,20.40\" /><BoxCollisionShape position=\"65.356,22.905,-121.712\" halfExtents=\"31.40,23.55,20.40\" /><SphereCollisionShape position=\"44.985001,60.196997,0.352 \" radius=\"31.65\" />",--[[Hausc1]]"<BoxCollisionShape position=\"0,71.43,0\" halfExtents=\"142.86, 71.43, 142.86\" /><BoxCollisionShape position=\"-71.43,285.72,-71.43\" halfExtents=\"71.43, 142.86, 71.43\" /><BoxCollisionShape position=\"71.43,428.58,0\" halfExtents=\"71.43, 285.72, 142.86\" /><BoxCollisionShape position=\"71.43,857.16,-71.43\" halfExtents=\"71.43, 142.86, 71.43\" /><BoxCollisionShape position=\"-35.715,214.29,35.715\" halfExtents=\"35.715, 71.43, 35.715\" /><BoxCollisionShape position=\"-35.715,500.01,-107.145\" halfExtents=\"35.715, 71.43, 35.715\" /><BoxCollisionShape position=\"107.145,785.73,35.715\" halfExtents=\"35.715, 71.43, 35.715\" />",--[[PrimeTower]]"<BoxCollisionShape position=\"-16.1,278.6,053.\" halfExtents=\"063,296,063\" yaw=\"-16.5\" /> <BoxCollisionShape position=\"007.1,278.6,027.3\" halfExtents=\"065,296,065\" yaw=\"-28\" /><BoxCollisionShape position=\"012.8,278.6,-63.3\" halfExtents=\"076,296,076\" yaw=\"4\" /> <BoxCollisionShape position=\"023.18,278.6,-135.4\" halfExtents=\"067.7,296,067.7\" yaw=\"-36\" />",--[[Hausc2]]"<BoxCollisionShape position=\"0,349.999,-166.667\" halfExtents=\"83.333, 349.999, 83.333\" /><BoxCollisionShape position=\"0,349.999,166.667\" halfExtents=\"83.333, 349.999, 83.333\" /><BoxCollisionShape position=\"41.666,291.666,0\" halfExtents=\"41.666, 58.333, 83.333\" /><BoxCollisionShape position=\"-41.666,524.999,0\" halfExtents=\"41.666, 58.333, 83.333\" /> ",--[[101]]"<BoxCollisionShape position=\"0,565.7,0\" halfExtents=\"76,565.7,76\" /><BoxCollisionShape position=\"-2.8,1210,1\" halfExtents=\"39,82,39\" />",--[[hausc3]]"<BoxCollisionShape position=\"0,300,-208.33\" halfExtents=\"250,0,65.1\" pitch=\"-50.194\" /><BoxCollisionShape position=\"0,300,-125\" halfExtents=\"250,0,65.1\" pitch=\"50.194\" /><BoxCollisionShape position=\"125,275,0\" halfExtents=\"48.59,0,250\" roll=\"30.964\" /><BoxCollisionShape position=\"208.33,275,0\" halfExtents=\"48.59,0,250\" roll=\"-30.964\" /><BoxCollisionShape position=\"166.67,125,0\" halfExtents=\"83.33,125,250\" /><BoxCollisionShape position=\"-83.33,125,-166.67\" halfExtents=\"166.66,125,83.33\" />"} |
---|
50 | if (currentX > 0 and currentX < x and currentY > 1 --[[and currentY ~= y]]) then |
---|
51 | returnString = returnString .. "<StaticEntity collisionType=\"static\" position=\"" .. (currentX*cellSize) .. ",0," .. (currentY*cellSize - (cellSize/2)) .. "\" direction=\"0,0,1\" pitch=\"0\" roll=\"0\" yaw=\"" .. orientation .. "\"> <attached> <Model position=\"0,0,0\" mesh=\"" .. houses[houseNr] .. ".mesh\" scale=\"" .. scales[houseNr] .. "\"/></attached><collisionShapes>" .. collisionShapes[houseNr] .. "</collisionShapes></StaticEntity>\n\n" |
---|
52 | end |
---|
53 | if (NIGHTMODE) then |
---|
54 | billboards = "<Billboard position=\"40,82,55\" scale=\"0.5\" material=\"Examples/Flare\" colour=\"1.0, 0.9, 0.9\" /><Billboard position=\"-40,82,55\" scale=\"0.5\" material=\"Examples/Flare\" colour=\"1.0, 0.9, 0.9\" /><Billboard position=\"40,82,192\" scale=\"0.5\" material=\"Examples/Flare\" colour=\"1.0, 0.9, 0.9\" /><Billboard position=\"-40,82,192\" scale=\"0.5\" material=\"Examples/Flare\" colour=\"1.0, 0.9, 0.9\" /><Billboard position=\"40,82,-55\" scale=\"0.5\" material=\"Examples/Flare\" colour=\"1.0, 0.9, 0.9\" /><Billboard position=\"-40,82,-55\" scale=\"0.5\" material=\"Examples/Flare\" colour=\"1.0, 0.9, 0.9\" /><Billboard position=\"40,82,-192\" scale=\"0.5\" material=\"Examples/Flare\" colour=\"1.0, 0.9, 0.9\" /><Billboard position=\"-40,82,-192\" scale=\"0.5\" material=\"Examples/Flare\" colour=\"1.0, 0.9, 0.9\" />" |
---|
55 | else |
---|
56 | billboards = "" |
---|
57 | end |
---|
58 | returnString = returnString .. "<StaticEntity collisionType=\"static\" position=\"" .. (currentX*cellSize - cellSize/2) .. ",0," .. (currentY*cellSize) .. "\" direction=\"0,0,1\" pitch=\"0\" roll=\"0\" yaw=\"0\"> <attached> " .. billboards .. " <Model position=\"0,0,0\" mesh=\"CityGroundLamps.mesh\" scale=\"" .. cellSize .. "\"/><Model position=\"0,0,0\" mesh=\"CityGround.mesh\" scale=\"" .. cellSize .. "\"/></attached><collisionShapes><BoxCollisionShape position=\"0,0,0\" halfExtents=\"500,0,500\"/><BoxCollisionShape position=\"48.5,50.88,192\" halfExtents=\"5,50.88,5\"/><BoxCollisionShape position=\"48.5,50.88,-192\" halfExtents=\"5,50.88,5\"/><BoxCollisionShape position=\"48.5,50.88,-54\" halfExtents=\"5,50.88,5\"/><BoxCollisionShape position=\"48.5,50.88,54\" halfExtents=\"5,50.88,5\"/><BoxCollisionShape position=\"-48.5,50.88,192\" halfExtents=\"5,50.88,5\"/><BoxCollisionShape position=\"-48.5,50.88,-192\" halfExtents=\"5,50.88,5\"/><BoxCollisionShape position=\"-48.5,50.88,-54\" halfExtents=\"5,50.88,5\"/><BoxCollisionShape position=\"-48.5,50.88,54\" halfExtents=\"5,50.88,5\"/></collisionShapes></StaticEntity>\n\n" |
---|
59 | end |
---|
60 | end |
---|
61 | return returnString |
---|
62 | end |
---|
63 | |
---|
64 | ?> |
---|
65 | |
---|
66 | <Level> |
---|
67 | <templates> |
---|
68 | <Template link=lodtemplate_default /> |
---|
69 | </templates> |
---|
70 | |
---|
71 | <?lua include("includes/notifications.oxi") ?> |
---|
72 | |
---|
73 | |
---|
74 | <Scene |
---|
75 | ambientlight = "<?lua print(0.45 * AMBIENT_MULT) ?>, <?lua print(0.4 * AMBIENT_MULT) ?>, <?lua print(0.35 * AMBIENT_MULT) ?>" |
---|
76 | skybox = "Orxonox/skyBoxClouds<?lua if (NIGHTMODE) then print('Dark') end ?>" |
---|
77 | > |
---|
78 | <?lua print(randomHouses(X,Y,CELL_SIZE)) ?> |
---|
79 | |
---|
80 | <Light type="directional" position="-100,52,-59" lookat="0,0,0" diffuse="<?lua print(1.0 * LIGHT_MULT) ?>, <?lua print(0.9 * LIGHT_MULT) ?>, <?lua print(0.9 * LIGHT_MULT) ?>, 1.0" specular="<?lua print(1.0 * LIGHT_MULT) ?>, <?lua print(0.9 * LIGHT_MULT) ?>, <?lua print(0.9 * LIGHT_MULT) ?>, 1.0"/> |
---|
81 | <LensFlare position="-100000,52000,-59000" /> |
---|
82 | |
---|
83 | <SpawnPoint team=0 position="<?lua print(X*CELL_SIZE/2) ?>,500,<?lua print(Y*CELL_SIZE/2) ?>" spawnclass=SpaceShip pawndesign=spaceshipescort /> |
---|
84 | </Scene> |
---|
85 | </Level> |
---|