Changeset 9272 for code/branches/presentation2012merge/data
- Timestamp:
- Jun 3, 2012, 6:05:24 PM (12 years ago)
- Location:
- code/branches/presentation2012merge/data
- Files:
-
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/presentation2012merge/data/gui/layouts/GUILayout.xsd
r5781 r9272 2 2 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> 3 3 4 <xsd:element name="GUILayout" type="GUILayoutType"/> 5 6 <xsd:complexType name="GUILayoutType"> 7 <xsd:sequence> 8 <xsd:element name="Window" type="WindowType" /> 9 </xsd:sequence> 10 <xsd:attribute name="Parent" type="xsd:string" use="optional" default=""/> 11 </xsd:complexType> 12 13 <xsd:complexType name="WindowType"> 14 <xsd:sequence> 15 <xsd:element name="LayoutImport" type="LayoutImportType" minOccurs="0" maxOccurs="unbounded" /> 16 <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" /> 17 <xsd:element name="Event" type="EventType" minOccurs="0" maxOccurs="unbounded" /> 18 <xsd:choice minOccurs="0" maxOccurs="unbounded"> 19 <xsd:element name="Window" type="WindowType" /> 20 <xsd:element name="AutoWindow" type="AutoWindowType" /> 21 </xsd:choice> 22 <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" /> 23 </xsd:sequence> 24 <xsd:attribute name="Type" type="xsd:string" use="required"/> 25 <xsd:attribute name="Name" type="xsd:string" use="optional" default="" /> 26 </xsd:complexType> 4 <xsd:element name="GUILayout" type="GUILayoutType"/> 27 5 28 <xsd:complexType name="AutoWindowType"> 29 <xsd:sequence> 30 <xsd:element name="LayoutImport" type="LayoutImportType" minOccurs="0" maxOccurs="unbounded" /> 31 <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" /> 32 <xsd:element name="Event" type="EventType" minOccurs="0" maxOccurs="unbounded" /> 33 <xsd:choice minOccurs="0" maxOccurs="unbounded"> 34 <xsd:element name="Window" type="WindowType" /> 35 <xsd:element name="AutoWindow" type="AutoWindowType" /> 36 </xsd:choice> 37 <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" /> 38 </xsd:sequence> 39 <xsd:attribute name="NameSuffix" type="xsd:string" use="required"/> 40 </xsd:complexType> 6 <xsd:complexType name="GUILayoutType"> 7 <xsd:sequence> 8 <xsd:element name="Window" type="WindowType" /> 9 </xsd:sequence> 10 <xsd:attribute name="Parent" type="xsd:string" use="optional" default=""/> 11 </xsd:complexType> 41 12 42 <xsd:complexType name="PropertyType"> 43 <xsd:simpleContent> 44 <xsd:extension base="xsd:string"> 45 <xsd:attribute name="Name" type="xsd:string" use="required"/> 46 <xsd:attribute name="Value" type="xsd:string" use="optional"/> 47 </xsd:extension> 48 </xsd:simpleContent> 49 </xsd:complexType> 13 <xsd:complexType name="WindowType"> 14 <xsd:sequence> 15 <xsd:element name="LayoutImport" type="LayoutImportType" minOccurs="0" maxOccurs="unbounded" /> 16 <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" /> 17 <xsd:element name="Event" type="EventType" minOccurs="0" maxOccurs="unbounded" /> 18 <xsd:choice minOccurs="0" maxOccurs="unbounded"> 19 <xsd:element name="Window" type="WindowType" /> 20 <xsd:element name="AutoWindow" type="AutoWindowType" /> 21 </xsd:choice> 22 <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" /> 23 </xsd:sequence> 24 <xsd:attribute name="Type" type="xsd:string" use="required"/> 25 <xsd:attribute name="Name" type="xsd:string" use="optional" default="" /> 26 </xsd:complexType> 50 27 51 <xsd:complexType name="LayoutImportType"> 52 <xsd:attribute name="Filename" type="xsd:string" use="required"/> 53 <xsd:attribute name="Prefix" type="xsd:string" use="optional" default="" /> 54 <xsd:attribute name="ResourceGroup" type="xsd:string" use="optional" default="" /> 55 </xsd:complexType> 28 <xsd:complexType name="AutoWindowType"> 29 <xsd:sequence> 30 <xsd:element name="LayoutImport" type="LayoutImportType" minOccurs="0" maxOccurs="unbounded" /> 31 <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" /> 32 <xsd:element name="Event" type="EventType" minOccurs="0" maxOccurs="unbounded" /> 33 <xsd:choice minOccurs="0" maxOccurs="unbounded"> 34 <xsd:element name="Window" type="WindowType" /> 35 <xsd:element name="AutoWindow" type="AutoWindowType" /> 36 </xsd:choice> 37 <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" /> 38 </xsd:sequence> 39 <xsd:attribute name="NameSuffix" type="xsd:string" use="required"/> 40 </xsd:complexType> 56 41 57 <xsd:complexType name="EventType"> 58 <xsd:attribute name="Name" type="xsd:string" use="required"/> 59 <xsd:attribute name="Function" type="xsd:string" use="required"/> 60 </xsd:complexType> 42 <xsd:complexType name="PropertyType"> 43 <xsd:simpleContent> 44 <xsd:extension base="xsd:string"> 45 <xsd:attribute name="Name" type="xsd:string" use="required"/> 46 <xsd:attribute name="Value" type="xsd:string" use="optional"/> 47 </xsd:extension> 48 </xsd:simpleContent> 49 </xsd:complexType> 50 51 <xsd:complexType name="LayoutImportType"> 52 <xsd:attribute name="Filename" type="xsd:string" use="required"/> 53 <xsd:attribute name="Prefix" type="xsd:string" use="optional" default="" /> 54 <xsd:attribute name="ResourceGroup" type="xsd:string" use="optional" default="" /> 55 </xsd:complexType> 56 57 <xsd:complexType name="EventType"> 58 <xsd:attribute name="Name" type="xsd:string" use="required"/> 59 <xsd:attribute name="Function" type="xsd:string" use="required"/> 60 </xsd:complexType> 61 61 62 62 </xsd:schema> -
code/branches/presentation2012merge/data/gui/layouts/InGamePickupHUD.layout
r7163 r9272 2 2 3 3 <GUILayout> 4 <Window Type="DefaultWindow" Name="orxonox/InGamePickupHUD_RootWindow" > 5 <Property Name="InheritsAlpha" Value="False" /> 6 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 7 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 8 <Window Type="TaharezLook/StaticImage" Name="orxonox/InGamePickupHUD_Overview" > 9 <Property Name="Font" Value="BlueHighway-12" /> 10 <Property Name="Text" Value="Pickup List" /> 11 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 12 <Property Name="UnifiedAreaRect" Value="{{0,5},{0.15,0},{0.2,0},{0.45,0}}" /> 13 <Property Name="Alpha" Value="0.3" /> 14 <!--Event Name="Clicked" Function="InGameMenu.button_return_clicked"/--> 15 <Window Type="TaharezLook/StaticText" Name="orxonox/InGamePickupHUD_PickupTitle" > 16 <Property Name="Alpha" Value="0.8"/> 17 <Property Name="Text" Value="Pickup List" /> 18 <Property Name="Font" Value="BlueHighway-10" /> 19 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 20 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,-20},{0,20}}" /> 21 </Window> 22 <Window Type="TaharezLook/Button" Name="orxonox/InGamePickupHUD_closeButton" > 23 <Property Name="Alpha" Value="0.8" /> 24 <Property Name="Font" Value="BlueHighway-12" /> 25 <Property Name="Text" Value="X" /> 26 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 27 <Property Name="UnifiedAreaRect" Value="{{1,-20},{0,0},{1,0},{0,20}}" /> 28 <!-- alle Grössen / anordnungen angepasst - da überschneidungen von absoluten 29 und relativen Positionsangaben (problematisch bei kleinen auflösungen) --> 30 <Event Name="Clicked" Function="InGamePickupHUD.close_button_clicked"/> 31 </Window> 32 <Window Type="TaharezLook/Listbox" Name="orxonox/InGamePickupHUD_PickupListBox"> 33 <Property Name="Alpha" Value="0.8" /> 34 <Property Name="Font" Value="BlueHighway-12" /> 35 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 36 <Property Name="UnifiedAreaRect" Value="{{0,5},{0,25},{1,-5},{1,-5}}" /> 37 <!-- 38 <Window Type="TaharezLook/ListboxItem" Name="orxonox/InGamePickupHUD_TestPickupOne"> 39 <Property Name="Alpha" Value="0.8" /> 40 <Property Name="Font" Value="BlueHighway-12" /> 41 <Property Name="Text" Value="First Pickup" /> 42 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 43 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{0,30},{1,0}}" /> 44 </Window> 45 --> 46 </Window> 47 48 </Window> 49 50 51 </Window> 52 4 <Window Type="DefaultWindow" Name="orxonox/InGamePickupHUD_RootWindow" > 5 <Property Name="InheritsAlpha" Value="False" /> 6 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 7 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 8 <Window Type="TaharezLook/StaticImage" Name="orxonox/InGamePickupHUD_Overview" > 9 <Property Name="Font" Value="BlueHighway-12" /> 10 <Property Name="Text" Value="Pickup List" /> 11 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 12 <Property Name="UnifiedAreaRect" Value="{{0,5},{0.15,0},{0.2,0},{0.45,0}}" /> 13 <Property Name="Alpha" Value="0.3" /> 14 <!--Event Name="Clicked" Function="InGameMenu.button_return_clicked"/--> 15 <Window Type="TaharezLook/StaticText" Name="orxonox/InGamePickupHUD_PickupTitle" > 16 <Property Name="Alpha" Value="0.8"/> 17 <Property Name="Text" Value="Pickup List" /> 18 <Property Name="Font" Value="BlueHighway-10" /> 19 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 20 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,-20},{0,20}}" /> 21 </Window> 22 <Window Type="TaharezLook/Button" Name="orxonox/InGamePickupHUD_closeButton" > 23 <Property Name="Alpha" Value="0.8" /> 24 <Property Name="Font" Value="BlueHighway-12" /> 25 <Property Name="Text" Value="X" /> 26 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 27 <Property Name="UnifiedAreaRect" Value="{{1,-20},{0,0},{1,0},{0,20}}" /> 28 <!-- alle Grössen / anordnungen angepasst - da überschneidungen von absoluten 29 und relativen Positionsangaben (problematisch bei kleinen auflösungen) --> 30 <Event Name="Clicked" Function="InGamePickupHUD.close_button_clicked"/> 31 </Window> 32 <Window Type="TaharezLook/Listbox" Name="orxonox/InGamePickupHUD_PickupListBox"> 33 <Property Name="Alpha" Value="0.8" /> 34 <Property Name="Font" Value="BlueHighway-12" /> 35 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 36 <Property Name="UnifiedAreaRect" Value="{{0,5},{0,25},{1,-5},{1,-5}}" /> 37 <!-- 38 <Window Type="TaharezLook/ListboxItem" Name="orxonox/InGamePickupHUD_TestPickupOne"> 39 <Property Name="Alpha" Value="0.8" /> 40 <Property Name="Font" Value="BlueHighway-12" /> 41 <Property Name="Text" Value="First Pickup" /> 42 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 43 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{0,30},{1,0}}" /> 44 </Window> 45 --> 46 </Window> 47 </Window> 48 </Window> 53 49 </GUILayout> -
code/branches/presentation2012merge/data/gui/layouts/ShipSelectionMenu.layout
r9271 r9272 9 9 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 10 10 <Property Name="BackgroundEnabled" Value="False" /> 11 <!-- --> 11 <!-- --> 12 12 <Window Type="MenuWidgets/StaticText" Name="orxonox/ShipSelectionWindow" > 13 13 <Property Name="Text" Value="ShipSelection" /> … … 17 17 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 18 18 <Property Name="VertFormatting" Value="TopAligned" /> 19 <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.15,0},{0.8,0},{0.7,0}}" /> 19 <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.15,0},{0.8,0},{0.7,0}}" /> 20 20 <Window Type="MenuWidgets/TabControl" Name="orxonox/ShipSelectionTabControl" > 21 21 <Property Name="TabHeight" Value="{0,26.4388}" /> 22 22 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 23 23 <Property Name="TabPanePosition" Value="Top" /> 24 25 26 </Window> 27 28 29 24 <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.1,0},{0.95,0},{0.925,0}}" /> 25 26 </Window> 27 28 <!-- TODO: Ship Description and Image 29 <Window Type="MenuWidgets/StaticImage" Name="orxonox/ShipSelectionShipImage" > 30 30 <Property Name="AlwaysOnTop" Value="True" /> 31 31 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 38 38 <Property Name="HorzScrollbar" Value="True" /> 39 39 <Property Name="UnifiedAreaRect" Value="{{0.1,0},{0.725,0},{0.9,0},{0.875,0}}" /> 40 </Window>--> 41 40 </Window>--> 41 42 42 </Window> 43 43 <Window Type="MenuWidgets/Button" Name="orxonox/ShipSelectionStartButton" > … … 48 48 </Window> 49 49 <!-- TODO: set ship properties 50 50 <Window Type="MenuWidgets/Button" Name="orxonox/ShipSelectionConfigButton" > 51 51 <Property Name="Text" Value="Configure" /> 52 52 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 54 54 <Property Name="Disabled" Value="True" /> 55 55 <Event Name="Clicked" Function="ShipSelectionMenu.ShipSelectionConfigButton_clicked"/> 56 </Window> --> 56 </Window> --> 57 57 <Window Type="MenuWidgets/Button" Name="orxonox/ShipSelectionBackButton" > 58 58 <Property Name="Text" Value="Back" /> -
code/branches/presentation2012merge/data/gui/scripts/ShipSelectionMenu.lua
r9271 r9272 12 12 -- Windows 13 13 dircmd = "dir /b/s" 14 end]] 15 P.createFilterTab("All Ships") 14 end]] 15 P.createFilterTab("All Ships") 16 16 end 17 17 … … 19 19 P.shipList = {} 20 20 for line in io.lines("../levels/templates/.shipmodels") do --checks if shipmodel is included in level file 21 22 23 24 end 21 if selectedlevel:hasShip(string.lower(line)) then 22 P.shipList[#P.shipList+1] = string.lower(line) 23 end 24 end 25 25 end 26 26 … … 46 46 tabName = "orxonox/ShipSelectionLevelTab" 47 47 -- create new tab window with desired name 48 listbox = CEGUI.toListbox(winMgr:createWindow("MenuWidgets/Listbox", tabName)) 48 listbox = CEGUI.toListbox(winMgr:createWindow("MenuWidgets/Listbox", tabName)) 49 49 listbox:setText(name) 50 50 listbox:setProperty("UnifiedMaxSize", "{{1,0},{1,0}}") 51 --[[TODO: smaller list if image and description is implemented. 52 listbox:setProperty("UnifiedAreaRect", "{{0.05,0},{0.1,0},{0.5,0},{0.675,0}}") --]] 51 --[[TODO: smaller list if image and description is implemented. 52 listbox:setProperty("UnifiedAreaRect", "{{0.05,0},{0.1,0},{0.5,0},{0.675,0}}") --]] 53 53 listbox:setProperty("UnifiedAreaRect", "{{0,0},{0,0},{1,0},{1,0}}") 54 54 -- fill listbox with items … … 107 107 108 108 if (selectedlevel ~= nil and P.ShipSelectionGetSelectedModel() ~= nil) then 109 109 selectedlevel:selectShip(P.ShipSelectionGetSelectedModel()) 110 110 orxonox.execute("startGame " .. "_temp.oxw") 111 111 hideAllMenuSheets() 112 112 else 113 113 orxonox.execute("orxout user_warning no ship model selected or no tagged shipmodel installed") 114 114 end 115 115 end … … 128 128 function P.ShipSelectionBackButton_clicked(e) 129 129 orxonox.execute("keyESC") 130 end 130 end 131 131 132 132 return P -
code/branches/presentation2012merge/data/gui/scripts/SingleplayerMenu.lua
r9269 r9272 10 10 function P.onLoad() 11 11 P.createLevelList() 12 12 13 13 -- create tabs with desired tab as argument (nil for all) 14 14 P.createFilterTab("Gametypes", "gametype") … … 19 19 P.createFilterTab("Tests", "test") 20 20 P.createFilterTab("Show All", nil) 21 21 22 22 -- update description and screenshot boxes 23 23 P.SingleplayerSelectionChanged() 24 24 25 25 --buttons are arranged in a 1x3 matrix 26 26 P:setButton(1, 1, { … … 48 48 level = orxonox.LevelManager:getInstance():getAvailableLevelListItem(index) 49 49 if (level ~= nil and level:getXMLFilename() ~= "_temp.oxw") then 50 50 --os.execute("echo " .. level:getXMLFilename() .." >> ~/outputorx") 51 51 local levelXMLFilename = level:getXMLFilename() 52 52 -- create an imageset for each screenshot … … 151 151 orxonox.execute("startGame " .. selectedlevel:getXMLFilename()) 152 152 hideAllMenuSheets() 153 153 end 154 154 end 155 155 end -
code/branches/presentation2012merge/data/levels/Spacerace2.oxw
r9271 r9272 12 12 13 13 include("templates/spaceshipAssff.oxt") 14 14 15 15 ?> 16 16 … … 37 37 <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0"/> 38 38 39 40 41 <checkpoints> 42 43 <attached>44 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />45 </attached>46 <collisionShapes>47 <BoxCollisionShape position="0,0,55" halfExtents="55, 10, 10" />48 <BoxCollisionShape position="0,0,-55" halfExtents="55, 10, 10" />49 <BoxCollisionShape position="55,0,0" halfExtents="10, 10, 55" />50 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" />51 </collisionShapes>52 </RaceCheckPoint>53 54 <RaceCheckPoint name="checkpoint2" position="0,2100,2300" direction="0,-1,1" collisionType="static" scale="1" distance="40" checkpointindex="1" islast="false" nextcheckpoints="3,-1,-1">55 <attached>56 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />57 </attached>58 <collisionShapes>59 <BoxCollisionShape position="0,0,55" halfExtents="55, 10, 10" />60 <BoxCollisionShape position="0,0,-55" halfExtents="55, 10, 10" />61 <BoxCollisionShape position="55,0,0" halfExtents="10, 10, 55" />62 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" />63 </collisionShapes>64 </RaceCheckPoint>65 66 <RaceCheckPoint name="checkpoint3" position="0,700,2700" direction="0,-1,1" collisionType="static" scale="1" distance="40" checkpointindex="2" islast="false" nextcheckpoints="3,-1,-1">67 <attached>68 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />69 </attached>70 <collisionShapes>71 <BoxCollisionShape position="0,0,55" halfExtents="55, 10, 10" />72 <BoxCollisionShape position="0,0,-55" halfExtents="55, 10, 10" />73 <BoxCollisionShape position="55,0,0" halfExtents="10, 10, 55" />74 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" />75 </collisionShapes>76 </RaceCheckPoint>77 78 <RaceCheckPoint name="checkpoint4" position="0,-400,300" direction="0,-1,1" collisionType="static" scale="1" distance="40" checkpointindex="3" islast="true">79 <attached>80 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" />81 </attached>82 <collisionShapes>83 <BoxCollisionShape position="0,0,55" halfExtents="55, 10, 10" />84 <BoxCollisionShape position="0,0,-55" halfExtents="55, 10, 10" />85 <BoxCollisionShape position="55,0,0" halfExtents="10, 10, 55" />86 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" />87 </collisionShapes>88 </RaceCheckPoint>89 </checkpoints>90 </SpaceRaceManager>91 92 93 <SpaceShip position="0,0,200" lookat="0,0,0">39 40 <SpaceRaceManager> 41 <checkpoints> 42 <RaceCheckPoint name="checkpoint1" position="0,-2000,1000" direction="0,-1,1" collisionType="static" scale="1" distance="40" checkpointindex="0" islast="false" nextcheckpoints="1,2,-1"> 43 <attached> 44 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 45 </attached> 46 <collisionShapes> 47 <BoxCollisionShape position="0,0,55" halfExtents="55, 10, 10" /> 48 <BoxCollisionShape position="0,0,-55" halfExtents="55, 10, 10" /> 49 <BoxCollisionShape position="55,0,0" halfExtents="10, 10, 55" /> 50 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" /> 51 </collisionShapes> 52 </RaceCheckPoint> 53 54 <RaceCheckPoint name="checkpoint2" position="0,2100,2300" direction="0,-1,1" collisionType="static" scale="1" distance="40" checkpointindex="1" islast="false" nextcheckpoints="3,-1,-1"> 55 <attached> 56 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 57 </attached> 58 <collisionShapes> 59 <BoxCollisionShape position="0,0,55" halfExtents="55, 10, 10" /> 60 <BoxCollisionShape position="0,0,-55" halfExtents="55, 10, 10" /> 61 <BoxCollisionShape position="55,0,0" halfExtents="10, 10, 55" /> 62 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" /> 63 </collisionShapes> 64 </RaceCheckPoint> 65 66 <RaceCheckPoint name="checkpoint3" position="0,700,2700" direction="0,-1,1" collisionType="static" scale="1" distance="40" checkpointindex="2" islast="false" nextcheckpoints="3,-1,-1"> 67 <attached> 68 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 69 </attached> 70 <collisionShapes> 71 <BoxCollisionShape position="0,0,55" halfExtents="55, 10, 10" /> 72 <BoxCollisionShape position="0,0,-55" halfExtents="55, 10, 10" /> 73 <BoxCollisionShape position="55,0,0" halfExtents="10, 10, 55" /> 74 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" /> 75 </collisionShapes> 76 </RaceCheckPoint> 77 78 <RaceCheckPoint name="checkpoint4" position="0,-400,300" direction="0,-1,1" collisionType="static" scale="1" distance="40" checkpointindex="3" islast="true"> 79 <attached> 80 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 81 </attached> 82 <collisionShapes> 83 <BoxCollisionShape position="0,0,55" halfExtents="55, 10, 10" /> 84 <BoxCollisionShape position="0,0,-55" halfExtents="55, 10, 10" /> 85 <BoxCollisionShape position="55,0,0" halfExtents="10, 10, 55" /> 86 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" /> 87 </collisionShapes> 88 </RaceCheckPoint> 89 </checkpoints> 90 </SpaceRaceManager> 91 92 93 <SpaceShip position="0,0,200" lookat="0,0,0"> 94 94 <templates> 95 95 <Template link=spaceshipassff /> … … 202 202 203 203 204 204 205 205 </Scene> 206 206 </Level> -
code/branches/presentation2012merge/data/levels/SurfaceRacePresentation.oxw
r9271 r9272 16 16 include("templates/spaceshipSpacecruiser.oxt") 17 17 include("templates/pickupRepresentationTemplates.oxt") 18 18 19 19 ?> 20 20 … … 56 56 <Model position="4200,8050,-1000" scale=10 mesh="debris-pile02.mesh" shadow=true /> 57 57 <Model position="4200,8050,-1000" scale=10 mesh="debris-pile03.mesh" shadow=true /> 58 59 58 59 <MovableEntity position="-700,8090,-300" velocity="80,0,0" rotationaxis="1,0,1" rotationrate=200> 60 60 <attached> 61 61 <Model position="0,0,-20" scale=10 mesh="cokebottle.mesh" /> … … 65 65 66 66 <SpaceRaceManager> 67 <checkpoints> 68 69 <attached> 70 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 71 </attached> 72 73 <BoxCollisionShape position="0,0,220" halfExtents="220, 40, 40" /> 74 <BoxCollisionShape position="0,0,-220" halfExtents="220, 40, 40" /> 75 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 76 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 77 </collisionShapes> 78 </RaceCheckPoint> 79 80 67 <checkpoints> 68 <RaceCheckPoint name="checkpoint1" position="0,8050,-1000" direction="0,1,0" collisionType="static" scale="4" distance="150" checkpointindex="0" islast="false" nextcheckpoints="1,-1,-1"> 69 <attached> 70 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 71 </attached> 72 <collisionShapes> 73 <BoxCollisionShape position="0,0,220" halfExtents="220, 40, 40" /> 74 <BoxCollisionShape position="0,0,-220" halfExtents="220, 40, 40" /> 75 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 76 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 77 </collisionShapes> 78 </RaceCheckPoint> 79 80 <RaceCheckPoint name="checkpoint2" position="1000,8050,-4000" direction="0,1,0" roll="45" collisionType="static" scale="4" distance="150" checkpointindex="1" islast="false" nextcheckpoints="2,-1,-1"> 81 81 <attached> 82 82 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> … … 90 90 </RaceCheckPoint> 91 91 92 93 <attached> 94 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 95 </attached> 96 <collisionShapes> 97 <BoxCollisionShape position="0,0,220" halfExtents="220, 40, 40" /> 98 <BoxCollisionShape position="0,0,-220" halfExtents="220, 40, 40" /> 99 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 100 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 101 </collisionShapes> 102 </RaceCheckPoint> 103 104 92 <RaceCheckPoint name="checkpoint3" position="3000,8050,-4000" direction="0,1,0" roll="-45" collisionType="static" scale="4" distance="150" checkpointindex="2" islast="false" nextcheckpoints="3,-1,-1"> 93 <attached> 94 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 95 </attached> 96 <collisionShapes> 97 <BoxCollisionShape position="0,0,220" halfExtents="220, 40, 40" /> 98 <BoxCollisionShape position="0,0,-220" halfExtents="220, 40, 40" /> 99 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 100 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 101 </collisionShapes> 102 </RaceCheckPoint> 103 104 <RaceCheckPoint name="checkpoint4" position="4000,8050,-1000" direction="0,1,0" roll="0" collisionType="static" scale="4" distance="150" checkpointindex="3" islast="false" nextcheckpoints="4,-1,-1"> 105 105 <attached> 106 106 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> … … 114 114 </RaceCheckPoint> 115 115 116 116 <RaceCheckPoint name="checkpoint5" position="4000,8050,0" direction="0,1,0" roll="0" collisionType="static" scale="4" distance="150" checkpointindex="4" islast="false" nextcheckpoints="5,-1,-1"> 117 117 <attached> 118 118 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> … … 126 126 </RaceCheckPoint> 127 127 128 129 <attached> 130 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 131 </attached> 132 <collisionShapes> 133 <BoxCollisionShape position="0,0,220" halfExtents="220, 40, 40" /> 134 <BoxCollisionShape position="0,0,-220" halfExtents="220, 40, 40" /> 135 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 136 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 137 </collisionShapes> 138 </RaceCheckPoint> 139 140 128 <RaceCheckPoint name="checkpoint6" position="3000,8050,1000" direction="0,1,0" roll="45" collisionType="static" scale="4" distance="150" checkpointindex="5" islast="false" nextcheckpoints="6,-1,-1"> 129 <attached> 130 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 131 </attached> 132 <collisionShapes> 133 <BoxCollisionShape position="0,0,220" halfExtents="220, 40, 40" /> 134 <BoxCollisionShape position="0,0,-220" halfExtents="220, 40, 40" /> 135 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 136 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 137 </collisionShapes> 138 </RaceCheckPoint> 139 140 <RaceCheckPoint name="checkpoint7" position="0,8050,2000" direction="0,1,0" roll="90" collisionType="static" scale="4" distance="150" checkpointindex="6" islast="false" nextcheckpoints="7,-1,-1"> 141 141 <attached> 142 142 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> … … 150 150 </RaceCheckPoint> 151 151 152 153 <attached> 154 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 155 </attached> 156 <collisionShapes> 157 <BoxCollisionShape position="0,0,220" halfExtents="220, 40, 40" /> 158 <BoxCollisionShape position="0,0,-220" halfExtents="220, 40, 40" /> 159 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 160 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 161 </collisionShapes> 162 </RaceCheckPoint> 163 164 152 <RaceCheckPoint name="checkpoint8" position="-4000,8050,3000" direction="0,1,0" roll="45" collisionType="static" scale="4" distance="150" checkpointindex="7" islast="false" nextcheckpoints="8,-1,-1"> 153 <attached> 154 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 155 </attached> 156 <collisionShapes> 157 <BoxCollisionShape position="0,0,220" halfExtents="220, 40, 40" /> 158 <BoxCollisionShape position="0,0,-220" halfExtents="220, 40, 40" /> 159 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 160 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 161 </collisionShapes> 162 </RaceCheckPoint> 163 164 <RaceCheckPoint name="checkpoint9" position="-4000,8050,5000" direction="0,1,0" roll="-45" collisionType="static" scale="4" distance="150" checkpointindex="8" islast="false" nextcheckpoints="9,-1,-1"> 165 165 <attached> 166 166 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> … … 174 174 </RaceCheckPoint> 175 175 176 177 <attached> 178 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 179 </attached> 180 <collisionShapes> 181 <BoxCollisionShape position="0,0,220" halfExtents="220, 40, 40" /> 182 <BoxCollisionShape position="0,0,-220" halfExtents="220, 40, 40" /> 183 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 184 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 185 </collisionShapes> 186 </RaceCheckPoint> 187 188 189 <attached> 190 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 191 </attached> 192 <collisionShapes> 193 <BoxCollisionShape position="0,0,220" halfExtents="220, 40, 40" /> 194 <BoxCollisionShape position="0,0,-220" halfExtents="220, 40, 40" /> 195 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 196 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 197 </collisionShapes> 198 </RaceCheckPoint> 199 200 176 <RaceCheckPoint name="checkpoint10" position="-3000,8050,6000" direction="0,1,0" roll="90" collisionType="static" scale="4" distance="150" checkpointindex="9" islast="false" nextcheckpoints="10,-1,-1"> 177 <attached> 178 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 179 </attached> 180 <collisionShapes> 181 <BoxCollisionShape position="0,0,220" halfExtents="220, 40, 40" /> 182 <BoxCollisionShape position="0,0,-220" halfExtents="220, 40, 40" /> 183 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 184 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 185 </collisionShapes> 186 </RaceCheckPoint> 187 188 <RaceCheckPoint name="checkpoint11" position="0,8050,6000" direction="0,1,0" roll="90" collisionType="static" scale="4" distance="120" checkpointindex="10" islast="false" nextcheckpoints="11,-1,-1"> 189 <attached> 190 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 191 </attached> 192 <collisionShapes> 193 <BoxCollisionShape position="0,0,220" halfExtents="220, 40, 40" /> 194 <BoxCollisionShape position="0,0,-220" halfExtents="220, 40, 40" /> 195 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 196 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 197 </collisionShapes> 198 </RaceCheckPoint> 199 200 <RaceCheckPoint name="checkpoint12" position="6000,8050,6000" direction="0,1,0" roll="45" collisionType="static" scale="4" distance="150" checkpointindex="11" islast="false" nextcheckpoints="12,-1,-1"> 201 201 <attached> 202 202 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> … … 210 210 </RaceCheckPoint> 211 211 212 213 <attached> 214 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 215 </attached> 216 <collisionShapes> 217 <BoxCollisionShape position="0,0,220" halfExtents="220, 40, 40" /> 218 <BoxCollisionShape position="0,0,-220" halfExtents="220, 40, 40" /> 219 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 220 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 221 </collisionShapes> 222 </RaceCheckPoint> 223 224 212 <RaceCheckPoint name="checkpoint13" position="5500,8050,3000" direction="0,1,0" roll="0" collisionType="static" scale="4" distance="150" checkpointindex="12" islast="false" nextcheckpoints="13,-1,-1"> 213 <attached> 214 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 215 </attached> 216 <collisionShapes> 217 <BoxCollisionShape position="0,0,220" halfExtents="220, 40, 40" /> 218 <BoxCollisionShape position="0,0,-220" halfExtents="220, 40, 40" /> 219 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 220 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 221 </collisionShapes> 222 </RaceCheckPoint> 223 224 <RaceCheckPoint name="checkpoint14" position="6000,8050,-5000" direction="0,1,0" roll="0" collisionType="static" scale="4" distance="150" checkpointindex="13" islast="true" > 225 225 <attached> 226 226 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> … … 238 238 <SpawnPoint team=0 position="0,8050,0" lookat="0,8000,-8000" spawnclass=SpaceShip pawndesign=shipselection /> 239 239 240 241 240 241 <!-- -----------------------Zylinder---------------------------- --> 242 242 <StaticEntity position="2750,8050,6000" direction="1,0,0" roll="90" scale="4" collisionType=static mass=100000 friction=0.01 > 243 243 <attached> 244 245 246 247 248 249 250 251 252 </attached> 253 254 255 256 257 258 259 260 261 262 263 264 244 <Model position="0,0,0" mesh="cylinder.mesh" scale3D="100,100,400" /> 245 <!-- 246 <Model position="0,80,600" mesh="testcube.mesh" scale3D="90,18,-600" /> 247 <Model position="0,-80,600" mesh="testcube.mesh" scale3D="90,18,-600" /> 248 <Model position="80,0,600" mesh="testcube.mesh" scale3D="18,90,-600" /> 249 <Model position="-80,0,600" mesh="testcube.mesh" scale3D="18,09,-600" /> 250 --> 251 252 </attached> 253 254 255 <collisionShapes> 256 257 258 <BoxCollisionShape position="0,320,2400" halfExtents="360,72,2400" /> 259 <BoxCollisionShape position="0,-320,2400" halfExtents="360,72,2400" /> 260 <BoxCollisionShape position="320,0,2400" halfExtents="72,360,2400" /> 261 <BoxCollisionShape position="-320,0,2400" halfExtents="72,360,2400" /> 262 263 264 265 265 </collisionShapes> 266 266 … … 270 270 <StaticEntity position="4465,8050,-500" direction="0,0,0" scale="1" collisionType=static mass=100000 friction=0.01 > 271 271 <attached> 272 272 <Model position="0,0,0" mesh="blackcube.mesh" scale3D="450,600,50" /> 273 273 <!-- 274 275 276 277 </attached> 278 279 280 281 282 283 274 <Model position="0,0,0" mesh="testcube.mesh" scale3D="450,600,50" /> 275 --> 276 277 </attached> 278 279 280 <collisionShapes> 281 282 283 <BoxCollisionShape position="0,0,0" halfExtents="450,600,50" /> 284 284 285 285 </collisionShapes> … … 289 289 <StaticEntity position="3535,8050,-500" direction="0,0,0" scale="1" collisionType=static mass=100000 friction=0.01 > 290 290 <attached> 291 291 <Model position="0,0,0" mesh="blackcube.mesh" scale3D="450,600,50" /> 292 292 <!-- 293 294 295 296 </attached> 297 298 299 300 301 302 293 <Model position="0,0,0" mesh="testcube.mesh" scale3D="450,600,50" /> 294 --> 295 296 </attached> 297 298 299 <collisionShapes> 300 301 302 <BoxCollisionShape position="0,0,0" halfExtents="450,600,50" /> 303 303 304 304 </collisionShapes> … … 309 309 310 310 311 311 <!-- ------------------Boden----------------- --> 312 312 <StaticEntity position="0,0,0" direction="0,0,0" collisionType=static mass=100000 friction=0.01> 313 313 <attached> … … 317 317 <BoxCollisionShape position="0,50,0" halfExtents="8000,8000,8000" />um j?:P"{ 318 318 319 </collisionShapes> 319 </collisionShapes> 320 320 </StaticEntity> 321 321 … … 351 351 for i = 0, max, 1 352 352 do 353 354 355 356 353 x=-12000 354 y=10000 355 z=-12000 356 357 357 ?> 358 358 <?lua -
code/branches/presentation2012merge/data/levels/asteroidField.oxw
r9271 r9272 39 39 40 40 <!-- Belt that's far away *** TURNED OFF FOR PERFORMANCE REASONS *** --> 41 <!-- Generate asteroid field and asteroid belt --> 41 <!-- Generate asteroid field and asteroid belt --> 42 42 <!-- 43 43 <?lua 44 45 44 dofile("includes/asteroidField.lua") 45 asteroidBelt(0, 0, 0, -48, -34, 70, 100, 200, 219900, 210000, 900, 1) 46 46 ?> 47 47 --> … … 50 50 <!-- triple large belt around the planet --> 51 51 <?lua 52 53 52 dofile("includes/asteroidField.lua") 53 asteroidBelt(15000, 0, 0, 30, 0, 30, 30, 50, 7190, 7800, 250, 1) 54 54 ?> 55 55 <?lua 56 57 56 dofile("includes/asteroidField.lua") 57 asteroidBelt(15000, 0, 0, 30, 0, 30, 30, 50, 10000, 11000, 300, 1) 58 58 ?> 59 59 <?lua 60 61 60 dofile("includes/asteroidField.lua") 61 asteroidBelt(15000, 0, 0, 30, 0, 30, 30, 50, 14000, 15000, 350, 1) 62 62 ?> 63 63 … … 95 95 96 96 97 97 98 98 </Scene> 99 99 </Level> -
code/branches/presentation2012merge/data/levels/dynamicMatch.oxw
r9016 r9272 90 90 <attached> 91 91 <Model position="0,0,0" scale="<?lua print(j * 10) ?>" mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh"> 92 92 <attached><!-- ---------asteroid fog----- --> 93 93 <ParticleEmitter position="0,0,0" source="Orxonox/Steam" /> 94 94 </attached> 95 95 </Model> 96 96 </attached> 97 97 <?lua if i == 5 then ?><collisionShapes> -
code/branches/presentation2012merge/data/levels/includes/CuboidSpaceStation.lua
r7163 r9272 1 1 ---------------------------------------------------------------------------------------------------- 2 2 -- This lua script creates a totally random generated space station for the orxonox computer game!-- 3 -- (c) Wallah 2008, published under GPL licence! 3 -- (c) Wallah 2008, published under GPL licence! -- 4 4 ---------------------------------------------------------------------------------------------------- 5 5 6 6 -------------------------------------------------------------------------------------------------------------------------------------------------------------------- 7 -- IMPORTANT: If you need more parameters, do the following: copy the actual function (just the headline and the end statement) to the end of the file, 7 -- IMPORTANT: If you need more parameters, do the following: copy the actual function (just the headline and the end statement) to the end of the file, -- 8 8 -- like I did with createSpaceStation() and let that function call the new function where you can modify the parameters. For all parameters which the old function-- 9 9 -- doesn't have you just give the standard default values, which I have defined. This is to make sure, that anyone else who uses the old function can still use it-- 10 -- the same way he/she always did. If you want a function with less parameters, just create a new one at the end of the file and call this function with some 11 -- default values. REMEMBER: Function overloading is not possible, be sure to call your function differently from others already existing ones. 10 -- the same way he/she always did. If you want a function with less parameters, just create a new one at the end of the file and call this function with some -- 11 -- default values. REMEMBER: Function overloading is not possible, be sure to call your function differently from others already existing ones. -- 12 12 -------------------------------------------------------------------------------------------------------------------------------------------------------------------- 13 13 14 14 -- This function creates a randomly generated space station. 15 15 -- The first argument ranSeed, must be 0, or a positive Integer, if it is 0 your space station is always chosen randomly, if you give an integer, 16 -- 16 -- your space station will be generated randomly, but once you have the space station it will always be the same. 17 17 -- The argument xLength defines how large the space station will be into the x-direction. 18 18 -- The argument xVar defines how much the space station will vary at the ends in x-direction, this is so that the station is no cube. … … 37 37 -- Create a randomseed, so that the math.random() function is actually random. 38 38 if ranSeed == 0 then 39 39 math.randomseed(os.time()) 40 40 else 41 41 math.randomseed(ranSeed) 42 42 end 43 43 -- End create randomseed. … … 52 52 sSSize=30 53 53 if xLength>=yLength and xLength>=zLength then 54 54 sSSize=xLength+20 55 55 elseif yLength>=xLength and yLength>=zLength then 56 56 sSSize=yLength+20 57 57 elseif zLength>=xLength and zLength>=yLength then 58 58 sSSize=zLength+20 59 59 end 60 60 -- Define how many parts the space station has, this value has to be exact, so be sure to increment it if you're adding a new part. … … 78 78 pDim=6 79 79 -- Define the griddimension, be sure this value matches the size of a single space station part plus the size of a connection part, which means your parts must be: 80 -- 80 -- integer*(gridDim-connectionSize), then integer tells you how many griddimensions your part is. 81 81 gridDim=2.25 82 82 -- End define global parameters. … … 89 89 -- The parameters x,y,z are the axis of the space station, which iterate to sSSize, the maximal size of the space station. 90 90 -- The griddimension, this word I will use later, means that the distance of a point to the next point is gridDim in the game, so the absolute x-axis is x*gridDim*sSScale, 91 -- 91 -- and so on for the other dimensions y and z. 92 92 -- grid[x][y][z][0] contains 0 if there is no part at the position (x,y,z), otherwise 1. 93 93 -- grid[x][y][z][1] contains 0 if there is no connection from (x,y,z) in x-direction, "+" if there is one in the positive x-direction, 94 -- 94 -- "-" if there is one in the negative x-direction, "+-" if there are in both x-directions. 95 95 -- grid[x][y][z][2] contains 0 if there is no connection from (x,y,z) in y-direction, "+" if there is one in the positive y-direction, 96 -- 96 -- "-" if there is one in the negative y-direction, "+-" if there are in both y-directions. 97 97 -- grid[x][y][z][3] contains 0 if there is no connection from (x,y,z) in z-direction, "+" if there is one in the positive z-direction, 98 -- 98 -- "-" if there is one in the negative z-direction, "+-" if there are in both z-directions. 99 99 grid = {} 100 100 for x=-math.floor(sSSize/2),math.floor(sSSize/2) do 101 102 103 104 105 106 107 108 109 110 101 grid[x] = {} 102 for y=-math.floor(sSSize/2),math.floor(sSSize/2) do 103 grid[x][y]= {} 104 for z=-math.floor(sSSize/2),math.floor(sSSize/2) do 105 grid[x][y][z]={} 106 for i=0,3 do 107 grid[x][y][z][i]=0 108 end 109 end 110 end 111 111 end 112 112 -- End create 4-dim grid. … … 119 119 -- The first parameter i, tells us how many parts fit into the array, so it iterates from 1 to sSParts, each part has his own value i. 120 120 -- The second, third and fourth parameters are the relative coordinates of the part, you have to start at (0,0,0) and be sure you fill the array into the right direction. 121 -- 122 -- 121 -- A short example: your part is 2 griddimensions long and you place it in the game, that the relative coordinate point is at (0,0,0) and the part lies in the positive 122 -- z-axis, then you have to use the coordinate point (0,0,1). 123 123 -- The fifth parameter is an array with size 4, at index=0, you have to set 1 if your part covers the gridpoint at (x,y,z), otherwise 0. 124 -- 124 -- At index=1,2,3 you define the possible connection directions (1 for x, 2 for y and 3 for z), be sure to use the notation from above (0, "+-", "+", "-"). 125 125 bodyParts={} 126 126 for i=1,sSParts do 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 127 bodyParts[i]={} 128 for x=-math.floor(pDim/2),math.floor(pDim/2) do 129 bodyParts[i][x]={} 130 for y=-math.floor(pDim/2),math.floor(pDim/2) do 131 bodyParts[i][x][y]={} 132 for z=-math.floor(pDim/2),math.floor(pDim/2) do 133 bodyParts[i][x][y][z]={} 134 for k=0,3 do 135 bodyParts[i][x][y][z][k]=0 136 end 137 end 138 end 139 end 140 -- This contains the name of the mesh file. 141 bodyParts[i][0][0][0][4]="" 142 -- This contains the first possible rotation of your part, pitch=... yaw=... roll=... . 143 bodyParts[i][0][0][0][5]="" 144 -- This contains the second possible rotation of your part, pitch=... yaw=... roll=... . 145 bodyParts[i][0][0][0][6]="" 146 -- This contains the third possible rotation of your part, pitch=... yaw=... roll=... . 147 bodyParts[i][0][0][0][7]="" 148 -- Contains the movement rotation, rotationaxis=... rotationrate=... . 149 bodyParts[i][0][0][0][8]="" 150 -- Contains the attachment, if your part has an attachment, e.g. <ParticleEmitter .../>. 151 bodyParts[i][0][0][0][9]="" 152 -- Contains how many of this part you want to attach to your space station. 153 bodyParts[i][0][0][0][10]=1 154 154 end 155 155 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- … … 193 193 194 194 -- Insert the CuboidConnectionBody, it is three griddimensions long and one wide and high and can have only connections at griddimension 1 195 -- 195 -- (except the side in direction of griddimension 2) and griddimension 3 (except the side in direction of griddimension 2). 196 196 bodyParts[3][0][0][0][4]="CuboidConnBody.mesh" 197 197 bodyParts[3][0][0][0][5]="pitch=-90" … … 373 373 --This function actualizes the grid, which I have to call always after I have added a new part to the space station. 374 374 function actualizeGrid(Index,x,y,z) 375 376 377 378 379 380 381 382 383 384 385 375 for i=math.floor(-pDim/2)+1,math.floor(pDim/2) do 376 for j=math.floor(-pDim/2)+1,math.floor(pDim/2) do 377 for k=math.floor(-pDim/2)+1,math.floor(pDim/2) do 378 if bodyParts[Index][i][j][k][0] == 1 then 379 for l=0,3 do 380 grid[x+i][y+j][z+k][l] = bodyParts[Index][i][j][k][l] 381 end 382 end 383 end 384 end 385 end 386 386 end 387 387 -- End actualizeGrid. … … 390 390 -- If the part fits there it returns 1, otherwise 0. 391 391 function checkPart(Index,x,y,z) 392 393 394 395 396 397 --which means that the part doesn't fit there.398 399 400 401 402 403 404 392 check=1 393 for i=math.floor(-pDim/2)+1,math.floor(pDim/2) do 394 for j=math.floor(-pDim/2)+1,math.floor(pDim/2) do 395 for k=math.floor(-pDim/2)+1,math.floor(pDim/2) do 396 -- If the part occupies the position (i,j,k), the grid must be empty there ((x+i, y+j, z+k)==0), if not, check is zero, 397 -- which means that the part doesn't fit there. 398 if bodyParts[Index][i][j][k][0] == 1 and grid[x+i][y+j][z+k][0] == 1 then 399 check=0 400 end 401 end 402 end 403 end 404 return check 405 405 end 406 406 -- End checkPart function. … … 408 408 -- This function prints the model with tempPartIndex in the bodyParts array at position lx,ly,lz. 409 409 -- If you need to rotate the model around his own axis, then you have to set movEntity true and define the details of the rotation in 410 -- 410 -- bodyParts[tempPartIndex][0][0][0][8]. 411 411 -- If your model needs to be rotated like bodyParts[tempPartIndex][0][0][0][5], then side must be 1, for bodyParts[tempPartIndex][0][0][0][6] side must be 2, 412 -- 412 -- for bodyParts[tempPartIndex][0][0][0][7] side must be 3. 413 413 function printModel(lx,ly,lz,tempPartIndex,movEntity,side) 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 414 if movEntity == true then 415 print("<MovableEntity scale=1 position=\"") print(lx*gridDim*sSScale) print(",") print(ly*gridDim*sSScale) print(",") print(lz*gridDim*sSScale) print("\" ") 416 print(bodyParts[tempPartIndex][0][0][0][8]) print(">") 417 print("<attached>") 418 lx=0 ly=0 lz=0 419 end 420 421 print("<Model position=\"") print(lx*gridDim*sSScale) print(",") print(ly*gridDim*sSScale) print(",") print(lz*gridDim*sSScale) 422 print("\" scale=") print(sSScale) print(" mesh= \"") print(bodyParts[tempPartIndex][0][0][0][4]) print("\"") 423 424 if side == 1 then 425 print(bodyParts[tempPartIndex][0][0][0][5]) print(">") 426 elseif side == 2 then 427 print(bodyParts[tempPartIndex][0][0][0][6]) print(">") 428 elseif side == 3 then 429 print(bodyParts[tempPartIndex][0][0][0][7]) print(">") 430 end 431 432 print("<attached>") 433 print(bodyParts[tempPartIndex][0][0][0][9]) 434 print("</attached>") 435 436 print("</Model>") 437 438 if movEntity == true then 439 print("</attached>") 440 print("</MovableEntity>") 441 end 442 442 end 443 443 -- End function printModel(). … … 446 446 -- The arguments lx,ly,lz are the coordinates of the grid, where you want to set the part. 447 447 -- The arguments xAxis,yAxis,zAxis can be 0 or 1, but only one argument out of the three can be 1. This means two of them must always be zero. You have to set xAxis to one, 448 -- 449 -- 448 -- if your part is attached to a side, which faces into the x-direction (negative or positive, this is later specified with Dir), that means the x-Axis is a normal vector 449 -- of the side to which you want to attach the part. The same for yAxis and zAxis. 450 450 -- The argument Dir must be 1 if your side, where you want to attach the part, faces into the positive direction, -1 if the side faces into the negative direction. The side 451 -- 452 -- 451 -- faces into the positive direction means, that the side of the side where the part will be attached is directed into the direction of the positive direction of the 452 -- corresponding axis. 453 453 -- The argument index is the index of the part for the bodyParts array. 454 454 -- The argument printMovEnt must be false if your part doesn't need to be attached to an extra MovableEntity. If your part must be attached to an extra MovableEntity 455 -- 455 -- this argument must be true. The extra MovableEntity is used to rotate the part around his own axis, or something like that. 456 456 -- The argument printSide is like the argument side of the printModel() function. It defines how your part will be rotated. Read the commentary there. 457 457 -- The function returns 0 if the part couldn't be set, because it did not fit there or there was no side to attach the part. It returns 1 if the part is successfully set. 458 458 function setPart(lx,ly,lz,xAxis,yAxis,zAxis,Dir,index,printMovEnt,printSide) 459 459 460 461 462 463 464 --a connection into the positive direction. Otherwise I look from the negative side and so the part of the station must have a connection into the negative direction.465 466 467 468 469 470 471 --at the next position is a part which can have a connection into the direction from where I look.472 473 474 475 476 477 478 479 480 481 482 483 460 partSet=0 461 -- For the bodyParts array I use 1 as x-, 2 as y- and 3 as z-Axis for the definition in which directions a part can have connections. 462 coord=1*xAxis+2*yAxis+3*zAxis 463 -- If I try to attach the part from the positive direction to the side of the space station, the part of the station (where I want to attach the new part) must have 464 -- a connection into the positive direction. Otherwise I look from the negative side and so the part of the station must have a connection into the negative direction. 465 if Dir==1 then 466 conn="+" 467 elseif Dir==-1 then 468 conn="-" 469 end 470 -- I look from the direction defined through Dir, and here I check, whether I have reached a side of the space station, which means at position lx,ly,lz is nothing and 471 -- at the next position is a part which can have a connection into the direction from where I look. 472 if grid[lx][ly][lz][0] == 0 and grid[lx+(-1*xAxis*Dir)][ly+(-1*yAxis*Dir)][lz+(-1*zAxis*Dir)][0] == 1 and (grid[lx+(-1*xAxis*Dir)][ly+(-1*yAxis*Dir)][lz+(-1*zAxis*Dir)][coord]=="+-" or grid[lx+(-1*xAxis*Dir)][ly+(-1*yAxis*Dir)][lz+(-1*zAxis*Dir)][coord]==conn) then 473 -- This checks whether the part fits at that position or not. 474 check=checkPart(index,lx,ly,lz) 475 if check == 1 then 476 -- This prints the part. 477 printModel(lx,ly,lz,index,printMovEnt,printSide) 478 partSet=1 479 -- This actualizes the grid array with the values of the array bodyParts at the position index. 480 actualizeGrid(index,lx,ly,lz) 481 end 482 end 483 return partSet 484 484 end 485 485 -- End function setPart(). … … 490 490 -- The argument parts is the number of different parts which you want to attach to a side. 491 491 function spiralSet(xAxis,yAxis,zAxis,Dir,index,parts,printMovEnt,printSide) 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 492 if index[0] ~= false then 493 -- The array vector contains the actual position where you try to set the part. vector[0],vector[1] and vector[3] contains the x,y,z-coordinate. 494 vector={} 495 -- This must be done, because there are different sides from where I try to attach a part. 496 coord1=1*yAxis+2*zAxis 497 coord2=math.mod(coord1+1,3) 498 coord3=math.mod(coord2+1,3) 499 500 for pc=1,parts do 501 tempIndex = index[pc] 502 for eachPart=1,bodyParts[tempIndex][0][0][0][10] do 503 partSet=0 504 vector[coord1]=math.floor(Dir*sSSize/2)-2*Dir 505 while vector[coord1]~=math.floor(-1*Dir*sSSize/2)+2*Dir and partSet==0 do 506 round=0 507 while round<=math.floor(sSSize/2)-2 and partSet==0 do 508 vector[coord2]=round 509 vector[coord3]=-round 510 while vector[coord3]<=round and partSet==0 do 511 partSet=setPart(vector[0],vector[1],vector[2],xAxis,yAxis,zAxis,Dir,tempIndex,printMovEnt,printSide) 512 vector[coord3]=vector[coord3]+1 513 end 514 while vector[coord2]>=-round and partSet==0 do 515 partSet=setPart(vector[0],vector[1],vector[2],xAxis,yAxis,zAxis,Dir,tempIndex,printMovEnt,printSide) 516 vector[coord2]=vector[coord2]-1 517 end 518 while vector[coord3]>-round and partSet==0 do 519 partSet=setPart(vector[0],vector[1],vector[2],xAxis,yAxis,zAxis,Dir,tempIndex,printMovEnt,printSide) 520 vector[coord3]=vector[coord3]-1 521 end 522 while vector[coord2]<=round and partSet==0 do 523 partSet=setPart(vector[0],vector[1],vector[2],xAxis,yAxis,zAxis,Dir,tempIndex,printMovEnt,printSide) 524 vector[coord2]=vector[coord2]+1 525 end 526 round=round+1 527 end 528 vector[coord1]=vector[coord1]-Dir 529 end 530 end 531 end 532 end 533 533 end 534 534 -- End function spiralSet(). … … 554 554 xMax=math.random(math.floor(xLength/2),math.floor(xLength/2)+xVar) 555 555 while x<xMax do 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 556 -- The same for the y- and z-direction. 557 y=math.random(-math.floor(yLength/2),-math.floor(yLength/2)+yVar) 558 yMax=math.random(math.floor(yLength/2),math.floor(yLength/2)+yVar) 559 while y<yMax do 560 yMax=math.random(math.floor(yLength/2),math.floor(yLength/2)+yVar) 561 z=math.random(-math.floor(zLength/2),-math.floor(zLength/2)+zVar) 562 zMax=math.random(math.floor(zLength/2),math.floor(zLength/2)+zVar) 563 while z<zMax do 564 -- This loop choses a bodypart, which fits at position (x,y,z). 565 -- If after the fifth time the part does still not fit we terminate the loop and set no part at postition (x,y,z). 566 partSet=0 567 counter=0 568 while counter<5 and partSet==0 do 569 -- This choses randomly a bodyPartIndex, which is the index used for the parts in the array bodyParts. 570 tempBodyPartIndex=math.random(1,sSBodyParts) 571 check=checkPart(tempBodyPartIndex,x,y,z) 572 -- If check == 1, this means that the part fits there, so we put it there and break the while true loop, to go on. 573 if check == 1 then 574 -- This prints the chosen part at position (x*gridDim*sSScale,y*gridDim*sSScale,z*gridDim*sSScale). 575 printModel(x,y,z,tempBodyPartIndex,false,1) 576 -- This actualizes the grid array with the values of the array bodyParts at the position tempBodyPartIndex, which is our randomly chosen part. 577 actualizeGrid(tempBodyPartIndex,x,y,z) 578 partSet=1 579 end 580 counter=counter+1 581 end 582 z=z+1 583 end 584 y=y+1 585 end 586 x=x+1 587 587 end 588 588 -- End attach all bodyparts. … … 593 593 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 594 594 -- Attach backParts, if there are some. 595 595 spiralSet(0,0,1,1,backPartsIndex,backParts,false,1) 596 596 -- End attach backParts. 597 597 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- … … 599 599 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 600 600 -- Attach frontParts, if there are. 601 601 spiralSet(0,0,1,-1,frontPartsIndex,frontParts,false,1) 602 602 -- End attach frontParts. 603 603 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- … … 605 605 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 606 606 -- Attach parts on the left side of the space station. 607 607 spiralSet(1,0,0,-1,leftSidePartsIndex,leftSideParts,true,1) 608 608 -- End attach left side parts. 609 609 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- … … 611 611 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 612 612 -- Attach parts on the right side of the space station. 613 613 spiralSet(1,0,0,1,rightSidePartsIndex,rightSideParts,true,2) 614 614 -- End attach right side parts. 615 615 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- … … 617 617 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 618 618 -- Attach parts on top of the space station. 619 619 spiralSet(0,1,0,1,topPartsIndex,topParts,true,1) 620 620 -- End attach top parts. 621 621 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- … … 627 627 -- This iterates through the whole grid array. 628 628 if connPartsIndex[0] ~= false then 629 630 631 632 633 634 --then it checks if that part can have a connection into the positive x-direction, if it can, it checks if there is a part at (x+1,y,z) and635 --if that part can have a connection into the negative x-direction, if both can, it prints the xml code to set a connection part.636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 629 for x=math.floor(-sSSize/2)+2,math.floor(sSSize/2)-2 do 630 for y=math.floor(-sSSize/2)+2,math.floor(sSSize/2)-2 do 631 for z=math.floor(-sSSize/2)+2,math.floor(sSSize/2)-2 do 632 tempConnPartIndex=connPartsIndex[math.random(1,connParts)] 633 -- This checks whether there has to be a connection part between (x,y,z) and (x+1,y,z) or not. First it checks if there is a part at (x,y,z) and 634 -- then it checks if that part can have a connection into the positive x-direction, if it can, it checks if there is a part at (x+1,y,z) and 635 -- if that part can have a connection into the negative x-direction, if both can, it prints the xml code to set a connection part. 636 if grid[x][y][z][0]==1 and (grid[x][y][z][1]=="+" or grid[x][y][z][1]=="+-") and grid[x+1][y][z][0]==1 and (grid[x+1][y][z][1]=="-" or grid[x+1][y][z][1]=="+-") then 637 -- This prints the connection part, the +1/2 is because the connection is set exactly in the middle of two gridpoints. 638 printModel(x+1/2,y,z,tempConnPartIndex,false,1) 639 end 640 -- The same as in the x-direction, but for the y-direction. 641 if grid[x][y][z][0]==1 and ( grid[x][y][z][2]=="+" or grid[x][y][z][2]=="+-" ) and grid[x][y+1][z][0]==1 and ( grid[x][y+1][z][2]=="-" or grid[x][y+1][z][2]=="+-" ) then 642 printModel(x,y+1/2,z,tempConnPartIndex,false,2) 643 end 644 -- The same as in the x-direction, but for the z-direction. 645 if grid[x][y][z][0]==1 and ( grid[x][y][z][3]=="+" or grid[x][y][z][3]=="+-" ) and grid[x][y][z+1][0]==1 and ( grid[x][y][z+1][3]=="-" or grid[x][y][z+1][3]=="+-" ) then 646 printModel(x,y,z+1/2,tempConnPartIndex,false,3) 647 end 648 end 649 end 650 end 651 651 end 652 652 -- End attach all connectionparts. … … 671 671 -- This function is for the lazy guys, which do not care how the space station looks like, so I use some good standard values. 672 672 function createSpaceStation() 673 673 createSpaceStationPar(0,4,1,2,1,6,1,100) 674 674 end 675 675 -- End createSpaceStaion() function. -
code/branches/presentation2012merge/data/levels/includes/asteroidField.lua
r9271 r9272 1 1 --[[ fog generator 2 2 generates fog 3 4 5 3 posX, posY, posZ - position in space 4 size - size of billboard 5 brightness - [0,1] fog brightness 6 6 --]] 7 7 function generateFog(posX, posY, posZ, size, brightness) 8 9 print("position = \"") 10 print(posX) print(",") 11 print(posY) print(",") 12 print(posZ) print("\" ") 13 14 print(brightness) print(",") 15 print(brightness) print(",") 16 print(brightness) print("\" ") 17 18 19 8 print("<Billboard ") 9 print("position = \"") 10 print(posX) print(",") 11 print(posY) print(",") 12 print(posZ) print("\" ") 13 print("colour=\"") 14 print(brightness) print(",") 15 print(brightness) print(",") 16 print(brightness) print("\" ") 17 print("material=\"Smoke/Smoke\" scale=") 18 print(size) 19 print(" />") 20 20 end 21 21 22 22 --[[ asteroid field generator 23 23 generates asteroid field 24 25 26 27 28 24 posX, posY, posZ - position in space 25 minSize, maxSize - size boundaries of each asteroid 26 radius - size of the cube around position in space 27 count - number of asteroids 28 fog - enable fog 0/1 29 29 --]] 30 30 function asteroidField(posX, posY, posZ, minSize, maxSize, radius, count, fog) 31 for i = 1, count, 1 32 do 33 size = (math.random() * (maxSize - minSize)) + minSize 34 pX = (2 * math.random() * radius) - radius + posX 35 pY = (2 * math.random() * radius) - radius + posY 36 pZ = (2 * math.random() * radius) - radius + posZ 37 print("<StaticEntity ") 38 39 print("position = \"") 40 print(pX) print(",") 41 print(pY) print(",") 42 print(pZ) print("\" ") 43 44 print("scale = \"") print(size) print("\" ") 45 46 print("collisionType = static linearDamping = 0.8 angularDamping = 1 ") 47 print("collisiondamage = 1000 enablecollisiondamage = true>") 48 49 print("<attached>") 50 print("<Model mass=\"") print(size * 10) print("\" ") 51 print("mesh=\"ast") print(math.mod(i,6) + 1) print(".mesh\" />") 52 print("</attached>") 53 54 print("<collisionShapes> ") 55 print("<SphereCollisionShape radius=\"") 56 print(size * 2.5) print("\" />") 57 print("</collisionShapes>") 58 59 print("</StaticEntity>") 60 61 if fog == 1 and i % 5 == 0 then 62 generateFog(pX, pY, pZ, radius*0.04, 0.2) 63 end 64 end 31 for i = 1, count, 1 do 32 size = (math.random() * (maxSize - minSize)) + minSize 33 pX = (2 * math.random() * radius) - radius + posX 34 pY = (2 * math.random() * radius) - radius + posY 35 pZ = (2 * math.random() * radius) - radius + posZ 36 print("<StaticEntity ") 37 38 print("position = \"") 39 print(pX) print(",") 40 print(pY) print(",") 41 print(pZ) print("\" ") 42 43 print("scale = \"") print(size) print("\" ") 44 45 print("collisionType = static linearDamping = 0.8 angularDamping = 1 ") 46 print("collisiondamage = 1000 enablecollisiondamage = true>") 47 48 print("<attached>") 49 print("<Model mass=\"") print(size * 10) print("\" ") 50 print("mesh=\"ast") print(math.mod(i,6) + 1) print(".mesh\" />") 51 print("</attached>") 52 53 print("<collisionShapes> ") 54 print("<SphereCollisionShape radius=\"") 55 print(size * 2.5) print("\" />") 56 print("</collisionShapes>") 57 58 print("</StaticEntity>") 59 60 if fog == 1 and i % 5 == 0 then 61 generateFog(pX, pY, pZ, radius*0.04, 0.2) 62 end 63 end 65 64 end 66 65 … … 68 67 --[[ asteroid belt generator 69 68 generates asteroid belt 70 71 72 73 74 75 69 posX, posY, posZ - position in space 70 yaw, pitch - rotation 71 minSize, maxSize - size boundaries of each asteroid 72 radius0, radius1 - inner/outer radius 73 count - number of asteroids 74 fog - enable fog 0/1 76 75 --]] 77 76 function asteroidBelt(centerX, centerY, centerZ, yaw, pitch, segments, minSize, maxSize, radius0, radius1, count, fog) 78 dPhi = (2 * math.pi) / segments 79 width = math.abs(radius1 - radius0) 80 radius = (radius1 + radius0) / 2 81 segmentCount = count / segments 82 83 print("<StaticEntity collisionType=static yaw=") print(yaw) 84 print(" pitch=") print(pitch) 85 86 print(" position = \"") 87 print(centerX) print(",") 88 print(centerY) print(",") 89 print(centerZ) print("\"") 90 print(">") 91 92 print("<attached>") 93 94 for i = 0, segments - 1, 1 95 do 96 asteroidField((radius * math.cos(i * dPhi)), 97 (radius * math.sin(i * dPhi)), 98 0, minSize, maxSize, width, segmentCount, fog) 99 end 100 101 print("</attached>") 102 print("</StaticEntity>") 77 dPhi = (2 * math.pi) / segments 78 width = math.abs(radius1 - radius0) 79 radius = (radius1 + radius0) / 2 80 segmentCount = count / segments 81 82 print("<StaticEntity collisionType=static yaw=") print(yaw) 83 print(" pitch=") print(pitch) 84 85 print(" position = \"") 86 print(centerX) print(",") 87 print(centerY) print(",") 88 print(centerZ) print("\"") 89 print(">") 90 91 print("<attached>") 92 93 for i = 0, segments - 1, 1 do 94 asteroidField((radius * math.cos(i * dPhi)), 95 (radius * math.sin(i * dPhi)), 96 0, minSize, maxSize, width, segmentCount, fog) 97 end 98 99 print("</attached>") 100 print("</StaticEntity>") 103 101 end -
code/branches/presentation2012merge/data/levels/includes/weaponSettingsFPS.oxi
r8755 r9272 1 1 <weaponslots> 2 2 <WeaponSlot position="0,0,0" yaw=0 pitch=0 roll=0 /> 3 <!-- <WeaponSlot position="-0.5,0.8,2.5" yaw=0 pitch=0 roll=0 /> 3 <!-- 4 <WeaponSlot position="-0.5,0.8,2.5" yaw=0 pitch=0 roll=0 /> 4 5 <WeaponSlot position="15,-1.5,-25" yaw=0 pitch=0 roll=0 /> 5 <WeaponSlot position="0,0,-45" yaw=0 pitch=0 roll=0 /> --> 6 <WeaponSlot position="0,0,-45" yaw=0 pitch=0 roll=0 /> 7 --> 6 8 </weaponslots> 7 9 <weaponsets> … … 11 13 <weapons> 12 14 <WeaponPack firemode=0> 13 15 <links> 14 16 <DefaultWeaponmodeLink firemode=0 weaponmode=0 /> 15 17 <DefaultWeaponmodeLink firemode=1 weaponmode=1 /> 16 18 <DefaultWeaponmodeLink firemode=2 weaponmode=2 /> 17 19 </links> 18 19 20 20 <Weapon> 21 <HsW01 mode=0 munitionpershot=0 delay=0.0 damage=2.5 material="Flares/point_lensflare" muzzleoffset=" 0.7, -0.3, -3" /> 22 <LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20/> 21 23 </Weapon> 22 24 <LaserGun … … 28 30 unlimitedMunition=true 29 31 /> 30 <!-- <LaserGun32 <!--LaserGun 31 33 position="0,0,0" 32 34 munitionType="LaserGunMunition" … … 45 47 speed="600" 46 48 unlimitedMunition=true 47 / >-->49 /--> 48 50 </WeaponPack> 49 51 </weapons> -
code/branches/presentation2012merge/data/levels/lastManStanding.oxw
r9016 r9272 33 33 ?> 34 34 35 <!----- Spawnpoints 35 <!----- Spawnpoints 36 36 <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0"/> 37 37 <SpawnPoint team=0 position="-1150,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff /> … … 44 44 45 45 <!-- ------------ middle asteroid -------------- --> 46 <StaticEntity position="0,0,0" collisionType=static> 46 <StaticEntity position="0,0,0" collisionType=static> 47 47 <attached> 48 48 <MovableEntity position="0,20,0" rotationrate="-4.5" rotationaxis="0,1,0" > … … 79 79 <attached> 80 80 <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh"> 81 81 </Model> 82 82 </attached> 83 83 <collisionShapes> … … 89 89 <attached> 90 90 <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i+3,6) + 1) ?>.mesh"> 91 91 </Model> 92 92 </attached> 93 93 <collisionShapes> … … 99 99 <attached> 100 100 <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i*5,6) + 1) ?>.mesh"> 101 101 </Model> 102 102 </attached> 103 103 <collisionShapes> … … 109 109 <attached> 110 110 <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i*13+1,6) + 1) ?>.mesh"> 111 111 </Model> 112 112 </attached> 113 113 <collisionShapes> … … 119 119 <attached> 120 120 <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i*17,6) + 1) ?>.mesh"> 121 121 </Model> 122 122 </attached> 123 123 <collisionShapes> … … 130 130 <attached> 131 131 <Model position="0,0,0" scale=25 mesh="ast6.mesh"> 132 132 </Model> 133 133 </attached> 134 134 <collisionShapes> -
code/branches/presentation2012merge/data/levels/lastTeamStanding.oxw
r9016 r9272 74 74 <attached> 75 75 <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh"> 76 76 </Model> 77 77 </attached> 78 78 <collisionShapes> … … 84 84 <attached> 85 85 <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i+3,6) + 1) ?>.mesh"> 86 86 </Model> 87 87 </attached> 88 88 <collisionShapes> … … 94 94 <attached> 95 95 <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i*5,6) + 1) ?>.mesh"> 96 96 </Model> 97 97 </attached> 98 98 <collisionShapes> … … 104 104 <attached> 105 105 <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i*13+1,6) + 1) ?>.mesh"> 106 106 </Model> 107 107 </attached> 108 108 <collisionShapes> … … 114 114 <attached> 115 115 <Model position="0,0,0" scale=15 mesh="ast<?lua print( math.mod(i*17,6) + 1) ?>.mesh"> 116 116 </Model> 117 117 </attached> 118 118 <collisionShapes> … … 125 125 <attached> 126 126 <Model position="0,0,0" scale=25 mesh="ast6.mesh"> 127 127 </Model> 128 128 </attached> 129 129 <collisionShapes> -
code/branches/presentation2012merge/data/levels/old/CuboidSpaceStation.oxw
r7679 r9272 1 1 <?lua 2 2 include("HUDTemplates3.oxo") 3 3 ?> 4 4 5 5 <?lua 6 6 include("templates/spaceshipAssff.oxt") 7 7 ?> 8 8 9 9 <Level 10 11 10 name = "SpaceStation test Space!" 11 description = "All the new SpaceStations are created here!" 12 12 > 13 14 15 16 13 <Scene 14 ambientlight = "0.5, 0.5, 0.5" 15 skybox = "Orxonox/Starbox" 16 > 17 17 18 18 … … 20 20 <!--------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 21 21 <?lua 22 22 dofile("includes/CuboidSpaceStation.lua") 23 23 ?> 24 24 … … 29 29 ---> 30 30 <?lua 31 31 createSpaceStation() 32 32 ?> 33 33 … … 37 37 ---> 38 38 <PositionableEntity scale=1 position="0,0,-5000"> 39 40 41 42 43 39 <attached> 40 <?lua 41 createSpaceStation() 42 ?> 43 </attached> 44 44 </PositionableEntity> 45 45 … … 49 49 ---> 50 50 <MovableEntity scale=1 position="5000,0,0" velocity="50,0,0" yaw=-90> 51 52 53 54 55 51 <attached> 52 <?lua 53 createSpaceStation() 54 ?> 55 </attached> 56 56 </MovableEntity> 57 57 … … 61 61 ---> 62 62 <MovableEntity scale=1 position="-5000,0,0" rotationaxis="0,1,0" rotationrate=5> 63 64 65 66 67 63 <attached> 64 <?lua 65 createSpaceStation() 66 ?> 67 </attached> 68 68 </MovableEntity> 69 69 … … 77 77 ---> 78 78 <MovableEntity scale=1 position="0,0,0" rotationaxis="0,1,0" rotationrate=3> 79 80 81 82 83 84 85 86 87 88 79 <attached> 80 <MovableEntity scale=1 position="10000,0,0" rotationaxis="0,0,1" rotationrate=2> 81 <attached> 82 <?lua 83 -- Here I use the createSpaceStationPar(...) function, which has 8 arguments, see the .lua file at the top to understand them. 84 createSpaceStationPar(0,2,1,2,1,2,1,50) 85 ?> 86 </attached> 87 </MovableEntity> 88 </attached> 89 89 </MovableEntity> 90 90 … … 95 95 96 96 97 97 <ParticleSpawner position="0,0,0" source="Orxonox/BigExplosion1part3" lifetime=2.0 loop=0 autostart=0> 98 98 <events> 99 99 <spawn> -
code/branches/presentation2012merge/data/levels/presentationFS10Ed.oxw
r9016 r9272 39 39 </collisionShapes> 40 40 </Pawn> 41 41 42 42 <Pawn health=100 position="0,-35,0" direction="0,-1,0" collisionType=dynamic mass=100000> 43 43 <attached> … … 48 48 </collisionShapes> 49 49 </Pawn> 50 50 51 51 <StaticEntity position="0,-50,0" direction="0,-1,0" collisionType=static mass=100000 > 52 52 <attached> … … 66 66 </collisionShapes> 67 67 </StaticEntity> 68 68 69 69 <StaticEntity position="600,-20,0" direction="0,-1,0" collisionType=static mass=100000 > 70 70 <attached> … … 84 84 </collisionShapes> 85 85 </StaticEntity> 86 86 87 87 <StaticEntity position="600,40,250" direction="0,-1,0" collisionType=static mass=100000 > 88 88 <attached> … … 93 93 </collisionShapes> 94 94 </StaticEntity> 95 96 95 96 97 97 <StaticEntity position="6000,0,10250" direction="0,0,0" collisionType=static mass=100000 > 98 98 <attached> … … 103 103 </collisionShapes> 104 104 </StaticEntity> 105 105 106 106 <Pawn health=100 position="530,70,1450" direction="-1,0,0" collisionType=dynamic mass=1 > 107 107 <attached> … … 112 112 </collisionShapes> 113 113 </Pawn> 114 114 115 115 <Pawn health=100 position="670,70,1450" direction="-1,0,0" collisionType=dynamic mass=1 > 116 116 <attached> … … 121 121 </collisionShapes> 122 122 </Pawn> 123 123 124 124 <Pawn health=100 position="600,70,1500" direction="0,0,-1" collisionType=dynamic mass=1 > 125 125 <attached> … … 130 130 </collisionShapes> 131 131 </Pawn> 132 132 133 133 <Pawn health=100 position="600,150,1450" direction="0,-1,0" collisionType=dynamic mass=1 > 134 134 <attached> … … 139 139 </collisionShapes> 140 140 </Pawn> 141 141 142 142 <Pawn health=100 position="600,35,1450" direction="0,-1,0" collisionType=dynamic mass=1 > 143 143 <attached> … … 148 148 </collisionShapes> 149 149 </Pawn> 150 150 151 151 152 152 <SpawnPoint position="0,300,0" direction="0, 0, 0" lookat="0,0,100000000" spawnclass=FpsPlayer pawndesign=fps /> … … 163 163 <attached> 164 164 <Model position="0,0,0" scale3D="<?lua print(j*100) ?>,<?lua print(g*100) ?>,<?lua print(h*100) ?>" mesh="cube<?lua 165 166 167 168 165 if math.mod(i,4)==0 then print('_green') end 166 if math.mod(i,4)==1 then print('_red') end 167 if math.mod(i,4)==2 then print('_orange') end 168 ?>.mesh" /> <!--if it's 3, cube.mesh is taken -> yellow --> 169 169 </attached> 170 170 <collisionShapes> -
code/branches/presentation2012merge/data/levels/presentationHS11.oxw
r9271 r9272 138 138 139 139 <!-- Generate asteroid field and asteroid belt --> 140 <!-- asteroidBelt(centerX, centerY, centerZ, yaw, pitch, segments, minSize, maxSize, radius0, radius1, count, fog) --> 140 <!-- asteroidBelt(centerX, centerY, centerZ, yaw, pitch, segments, minSize, maxSize, radius0, radius1, count, fog) --> 141 141 <?lua 142 143 142 dofile("includes/asteroidField.lua") 143 asteroidBelt(20000, 0, 13000, -48, -34, 70, 100, 200, 22000, 20000, 500, 1) 144 144 145 145 ?> -
code/branches/presentation2012merge/data/levels/surfaceRace.oxw
r9271 r9272 12 12 include("templates/spaceshipRace.oxt") 13 13 include("templates/pickupRepresentationTemplates.oxt") 14 14 15 15 ?> 16 16 … … 39 39 40 40 <SpaceRaceManager> 41 <checkpoints> 42 43 <attached> 44 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 45 46 <!-- 47 48 49 50 41 <checkpoints> 42 <RaceCheckPoint name="checkpoint1" position="0,8050,-1000" direction="0,1,0" collisionType="static" scale="4" distance="150" checkpointindex="0" islast="false" nextcheckpoints="1,-1,-1"> 43 <attached> 44 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 45 46 <!-- 47 <Model position="0,0,55" mesh="testcube.mesh" scale3D="110,20,20" /> 48 <Model position="0,0,-55" mesh="testcube.mesh" scale3D="110,20,20" /> 49 <Model position="55,0,0" mesh="testcube.mesh" scale3D="20,20,110" /> 50 <Model position="-55,0,0" mesh="testcube.mesh" scale3D="20,20,110" /> 51 51 52 52 --> … … 57 57 58 58 59 60 61 62 <BoxCollisionShape position="0,0,220" halfExtents="220, 40, 40" /> 63 <BoxCollisionShape position="0,0,-220" halfExtents="220, 40, 40" /> 64 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 65 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 66 67 68 </collisionShapes> 69 70 71 72 59 <collisionShapes> 60 61 62 <BoxCollisionShape position="0,0,220" halfExtents="220, 40, 40" /> 63 <BoxCollisionShape position="0,0,-220" halfExtents="220, 40, 40" /> 64 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 65 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 66 67 68 </collisionShapes> 69 70 71 72 73 73 </RaceCheckPoint> 74 74 … … 77 77 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 78 78 </attached> 79 79 80 80 81 81 <collisionShapes> … … 85 85 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 86 86 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 87 87 88 88 </collisionShapes> 89 89 </RaceCheckPoint> … … 103 103 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 104 104 105 105 106 106 </collisionShapes> 107 107 … … 121 121 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 122 122 123 123 124 124 </collisionShapes> 125 125 … … 139 139 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 140 140 141 141 142 142 </collisionShapes> 143 143 … … 157 157 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 158 158 159 159 160 160 </collisionShapes> 161 161 </RaceCheckPoint> … … 175 175 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 176 176 177 177 178 178 </collisionShapes> 179 179 … … 192 192 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 193 193 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 194 194 195 195 </collisionShapes> 196 196 </RaceCheckPoint> … … 209 209 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 210 210 211 211 212 212 </collisionShapes> 213 213 … … 227 227 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 228 228 229 229 230 230 </collisionShapes> 231 231 … … 244 244 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 245 245 246 246 247 247 </collisionShapes> 248 248 … … 261 261 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 262 262 263 263 264 264 </collisionShapes> 265 265 … … 278 278 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 279 279 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 280 280 281 281 </collisionShapes> 282 282 </RaceCheckPoint> … … 293 293 <BoxCollisionShape position="220,0,0" halfExtents="40, 40, 220" /> 294 294 <BoxCollisionShape position="-220,0,0" halfExtents="40, 40, 220" /> 295 295 296 296 </collisionShapes> 297 297 </RaceCheckPoint> … … 303 303 <SpawnPoint team=0 position="0,8050,0" lookat="0,8000,-8000" spawnclass=SpaceShip pawndesign=spaceshipRace /> 304 304 305 306 305 306 <!-- -----------------------Zylinder---------------------------- --> 307 307 <StaticEntity position="2750,8050,6000" direction="1,0,0" roll="90" scale="4" collisionType=static mass=100000 friction=0.01 > 308 308 <attached> 309 310 311 312 313 314 315 309 <Model position="0,0,0" mesh="cylinder.mesh" scale3D="100,100,400" /> 310 <!-- 311 <Model position="0,80,600" mesh="testcube.mesh" scale3D="90,18,-600" /> 312 <Model position="0,-80,600" mesh="testcube.mesh" scale3D="90,18,-600" /> 313 <Model position="80,0,600" mesh="testcube.mesh" scale3D="18,90,-600" /> 314 <Model position="-80,0,600" mesh="testcube.mesh" scale3D="18,09,-600" /> 315 --> 316 316 317 317 </attached> 318 318 319 319 320 321 322 323 324 325 326 327 328 329 320 <collisionShapes> 321 322 323 <BoxCollisionShape position="0,320,2400" halfExtents="360,72,2400" /> 324 <BoxCollisionShape position="0,-320,2400" halfExtents="360,72,2400" /> 325 <BoxCollisionShape position="320,0,2400" halfExtents="72,360,2400" /> 326 <BoxCollisionShape position="-320,0,2400" halfExtents="72,360,2400" /> 327 328 329 330 330 </collisionShapes> 331 331 … … 335 335 <StaticEntity position="4465,8050,-500" direction="0,0,0" scale="1" collisionType=static mass=100000 friction=0.01 > 336 336 <attached> 337 337 <Model position="0,0,0" mesh="blackcube.mesh" scale3D="450,600,50" /> 338 338 <!-- 339 340 339 <Model position="0,0,0" mesh="testcube.mesh" scale3D="450,600,50" /> 340 --> 341 341 342 342 </attached> 343 343 344 344 345 346 347 348 345 <collisionShapes> 346 347 348 <BoxCollisionShape position="0,0,0" halfExtents="450,600,50" /> 349 349 350 350 </collisionShapes> … … 354 354 <StaticEntity position="3535,8050,-500" direction="0,0,0" scale="1" collisionType=static mass=100000 friction=0.01 > 355 355 <attached> 356 356 <Model position="0,0,0" mesh="blackcube.mesh" scale3D="450,600,50" /> 357 357 <!-- 358 359 358 <Model position="0,0,0" mesh="testcube.mesh" scale3D="450,600,50" /> 359 --> 360 360 361 361 </attached> 362 362 363 363 364 365 366 367 364 <collisionShapes> 365 366 367 <BoxCollisionShape position="0,0,0" halfExtents="450,600,50" /> 368 368 369 369 </collisionShapes> … … 374 374 375 375 376 376 <!-- ------------------Boden----------------- --> 377 377 <StaticEntity position="0,0,0" direction="0,0,0" collisionType=static mass=100000 friction=0.01> 378 378 <attached> … … 382 382 <BoxCollisionShape position="0,50,0" halfExtents="8000,8000,8000" />um j?:P"{ 383 383 384 </collisionShapes> 384 </collisionShapes> 385 385 </StaticEntity> 386 386 … … 416 416 for i = 0, max, 1 417 417 do 418 419 420 421 418 x=-12000 419 y=10000 420 z=-12000 421 422 422 ?> 423 423 <?lua -
code/branches/presentation2012merge/data/levels/templates/FPS.oxt
r8858 r9272 17 17 linearDamping = 0.7 18 18 angularDamping = 0.9999999 19 friction 20 19 friction = 0.01 20 21 21 weapon = "hs-w01.mesh" 22 22 > … … 24 24 <BoxCollisionShape position="0,-20,0" halfExtents="15,25,15" /> 25 25 </collisionShapes> 26 26 27 27 <camerapositions> 28 28 <CameraPosition position="-1,1,2.2" drag=false mouselook=true /> 29 29 </camerapositions> 30 30 31 31 <?lua 32 32 include("../includes/weaponSettingsFPS.oxi") 33 33 ?> 34 34 … … 40 40 <camerapositions> 41 41 <CameraPosition position="0,0,20" drag=false mouselook=true /> 42 42 43 43 <!-- 44 44 CameraPosition position="0,150,-25" pitch=-90 drag=true /> … … 47 47 <CameraPosition position="-50,5,-8" yaw=-90 drag=true /> 48 48 <CameraPosition position="50,5,-8" yaw=90 drag=true / 49 49 50 50 </camerapositions> 51 51 </FpsPlayer> -
code/branches/presentation2012merge/data/levels/templates/tower.oxt
r9271 r9272 2 2 <Tower 3 3 4 4 5 5 explosionchunks = 6 6 6 … … 13 13 14 14 > 15 16 17 18 19 20 21 15 <controller> 16 <WaypointPatrolController alertnessradius=1000 team=5> 17 <waypoints> 18 <Model mesh="cube.mesh" scale=0 position=" 700, 200, 100" /> 19 </waypoints> 20 </WaypointPatrolController> 21 </controller> 22 22 23 23 24 24 <attached> 25 25 <Model position="0,0,0" scale=45 mesh="Tower.mesh" /> 26 26 </attached> 27 27 28 28 <!--collisionShapes> 29 29 30 30 </collisionShapes--> 31 31 -
code/branches/presentation2012merge/data/levels/testStars.oxw
r9016 r9272 30 30 <attached> 31 31 <Model pitch=180 position="0,0,0" scale=1.5 mesh="rocket_test.mesh" > 32 33 <ParticleEmitter pitch=0 roll=0 position="0,5,0" source="Orxonox/laser" lifetime=2.0 loop=1 startdelay=3.0/>34 <ParticleEmitter pitch=-90 roll=0 position="0,-5,0" source="Orxonox/particlecanon" lifetime=2.0 loop=1 startdelay=3.0/>35 <ParticleEmitter pitch=-90 roll=0 position="0,0,-2" source="Orxonox/rocketfire" lifetime=2.0 loop=1 startdelay=3.0 />36 32 <attached> 33 <ParticleEmitter pitch=0 roll=0 position="0,5,0" source="Orxonox/laser" lifetime=2.0 loop=1 startdelay=3.0/> 34 <ParticleEmitter pitch=-90 roll=0 position="0,-5,0" source="Orxonox/particlecanon" lifetime=2.0 loop=1 startdelay=3.0/> 35 <ParticleEmitter pitch=-90 roll=0 position="0,0,-2" source="Orxonox/rocketfire" lifetime=2.0 loop=1 startdelay=3.0 /> 36 <ParticleEmitter pitch=-90 roll=0 position="0,0,-2" source="Orxonox/smoke" lifetime=2.0 loop=1 startdelay=3.0 /> 37 37 </attached> 38 39 38 </Model> 39 </attached> 40 40 </Rocket--> 41 41 42 42 <CreateStars numStars="6000" material="Examples/Flare" colour="1,1,1" radius=10000 colourDiff=0.1/> 43 43 -
code/branches/presentation2012merge/data/levels/towerDefense.oxw
r9271 r9272 42 42 43 43 44 <!-- Template for a tower 44 <!-- Template for a tower EDIT: new towertemplate is included with "templates/tower" --> 45 45 <!--Template name=towertemplate> 46 46 <Tower> … … 59 59 <Template link=lodtemplate_default /> 60 60 </templates> 61 61 62 62 <?lua include("includes/notifications.oxi") ?> 63 63 … … 66 66 skybox = "Orxonox/Starbox" 67 67 > 68 69 70 71 72 73 74 75 76 77 78 68 69 <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0"/> 70 71 <!-- Spawns the camera, attached to a crate --> 72 <SpawnPoint team=0 position="0,0,0" spawnclass=Pawn pawndesign=centerpointmark /> 73 <!--TeamSpawnPoint team=1 position="-7,7,4" direction="-1,0,0" roll=90 yaw=0 spawnclass=SpaceShip pawndesign=spaceshipassff /--> 74 75 <!--SpawnPoint team=1 position="0,0,10" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff /--> 76 <!--SpawnPoint team=0 position="0,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff /--> 77 78 <SpaceShip position="-700,-500, 100" lookat="0,0,0" scale=3 team=1 > 79 79 <templates> 80 80 <Template link=spaceshipassff /> … … 83 83 <WaypointController accuracy=60> 84 84 <waypoints> 85 85 <!-- 1,3 10,3 10,11, 13,11 --> 86 86 <Model mesh="cube.mesh" scale=0 position="-700,-500, 150" /> 87 87 <Model mesh="cube.mesh" scale=0 position=" 200,-500, 150" /> 88 88 <Model mesh="cube.mesh" scale=0 position=" 200, 300, 150" /> 89 89 <Model mesh="cube.mesh" scale=0 position=" 500, 300, 150" /> 90 90 <Model mesh="cube.mesh" scale=0 position=" 500, 700, 150" /> 91 91 </waypoints> 92 92 </WaypointController> 93 93 </controller> 94 94 </SpaceShip> 95 96 95 96 97 97 <!--invisible entity to attach towers to, since playfield is static and towers are dynamic--> 98 98 <StaticEntity position=0,0,0> 99 100 101 102 103 99 100 <attached> 101 <Model position="-50,-50,0" mesh="Playfield_ME.mesh" scale=80 /> 102 <!-- Base --> 103 <Model position="500,700,100" mesh="sphere.mesh" scale=80 /> 104 104 <!--Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" /--> <!-- Only temporary needed to help align the collisionshape --> 105 106 107 108 109 105 <!-- This was used to mark the playfield, let's let it be here for now --> 106 <!--Model position="-8,8,0" mesh="crate.mesh" scale3D="0.3,0.3,0.3" /--> 107 <!--Model position="-8,-8,0" mesh="crate.mesh" scale3D="0.3,0.3,0.3" /--> 108 <!--Model position="8,-8,0" mesh="crate.mesh" scale3D="0.3,0.3,0.3" /--> 109 <!--Model position="8,8,0" mesh="crate.mesh" scale3D="0.3,0.3,0.3" /--> 110 110 </attached> 111 111 <collisionShapes> <!-- The collisionshape forbids other worldentities that have a collisionShape to fly through it. 112 112 113 113 TODO: Find correct size for the collisionshape; since a collisionShape is invisible 114 114 I added the crate wich currently has the same dimensions as the collisionshape. … … 117 117 <BoxCollisionShape position="0,0,0" halfExtents="400,400,100" /> 118 118 </collisionShapes> 119 120 121 122 123 124 125 <TowerDefenseCenterpoint 126 name=towerdefensecenter 127 width=16 128 129 130 131 position="0,0,0" 132 direction="0,0,0" 133 collisionType=dynamic 134 135 119 </StaticEntity> 120 121 122 123 124 <!-- PlayField --> 125 <TowerDefenseCenterpoint 126 name=towerdefensecenter 127 width=16 128 height=16 129 tileScale=100 130 towerTemplate=tower 131 position="0,0,0" 132 direction="0,0,0" 133 collisionType=dynamic 134 mass=100000> 135 136 136 </TowerDefenseCenterpoint> 137 137 -
code/branches/presentation2012merge/data/overlays/towerdefenseHUD.oxo
r9271 r9272 8 8 colour = "1.0, 1.0, 1.0, 1.0" 9 9 align = "left" 10 11 10 11 caption = "Hello World" 12 12 /> 13 14 15 13 </OverlayGroup> 16 14 </Template>
Note: See TracChangeset
for help on using the changeset viewer.