RUIC 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +3 -3
  3. data/HISTORY +110 -86
  4. data/README.md +220 -220
  5. data/bin/ruic +61 -61
  6. data/gui/TODO +2 -2
  7. data/gui/appattributesmodel.rb +51 -51
  8. data/gui/appelementsmodel.rb +126 -126
  9. data/gui/launch.rb +19 -19
  10. data/gui/makefile +14 -14
  11. data/gui/resources/style/dark.qss +459 -459
  12. data/gui/window.rb +90 -90
  13. data/gui/window.ui +753 -753
  14. data/lib/ruic.rb +191 -190
  15. data/lib/ruic/application.rb +25 -3
  16. data/lib/ruic/assets.rb +441 -436
  17. data/lib/ruic/attributes.rb +179 -178
  18. data/lib/ruic/behaviors.rb +0 -0
  19. data/lib/ruic/effect.rb +31 -31
  20. data/lib/ruic/interfaces.rb +0 -0
  21. data/lib/ruic/nicebytes.rb +29 -0
  22. data/lib/ruic/presentation.rb +6 -3
  23. data/lib/ruic/renderplugin.rb +17 -17
  24. data/lib/ruic/ripl.rb +45 -45
  25. data/lib/ruic/statemachine.rb +6 -0
  26. data/lib/ruic/version.rb +3 -3
  27. data/ruic.gemspec +25 -25
  28. data/test/MetaData-simple.xml +28 -28
  29. data/test/MetaData.xml +435 -435
  30. data/test/customclasses.ruic +29 -29
  31. data/test/filtering.ruic +42 -42
  32. data/test/futureassets.ruic +7 -7
  33. data/test/nonmaster.ruic +20 -20
  34. data/test/paths.ruic +16 -16
  35. data/test/projects/CustomClasses/CustomClasses.uia +7 -7
  36. data/test/projects/CustomClasses/CustomClasses.uip +40 -40
  37. data/test/projects/CustomClasses/FutureAsset.uip +17 -17
  38. data/test/projects/MissingAssets/Existing.uip +87 -87
  39. data/test/projects/MissingAssets/MissingAssets.uia +0 -0
  40. data/test/projects/MissingAssets/MissingAssets.uia-user +14 -14
  41. data/test/projects/MissingAssets/RoundedPlane-1/RoundedPlane-1.import +18 -18
  42. data/test/projects/MissingAssets/RoundedPlane-1/meshes/RoundedPlane.mesh +0 -0
  43. data/test/projects/MissingAssets/effects/effects.txt +0 -0
  44. data/test/projects/MissingAssets/effects/existing.effect +0 -0
  45. data/test/projects/MissingAssets/fonts/Arimo-Regular.ttf +0 -0
  46. data/test/projects/MissingAssets/fonts/Chivo-Black.ttf +0 -0
  47. data/test/projects/MissingAssets/fonts/OFL.txt +0 -0
  48. data/test/projects/MissingAssets/maps/effects/brushnoise.dds +0 -0
  49. data/test/projects/MissingAssets/maps/existing.png +0 -0
  50. data/test/projects/MissingAssets/maps/maps.txt +0 -0
  51. data/test/projects/MissingAssets/maps/materials/concrete_plain.png +0 -0
  52. data/test/projects/MissingAssets/maps/materials/concrete_plain_bump.png +0 -0
  53. data/test/projects/MissingAssets/maps/materials/spherical_checker.png +0 -0
  54. data/test/projects/MissingAssets/materials/concrete.material +0 -0
  55. data/test/projects/MissingAssets/materials/materials.txt +0 -0
  56. data/test/projects/MissingAssets/scripts/existing1.lua +0 -0
  57. data/test/projects/MissingAssets/scripts/existing2.lua +0 -0
  58. data/test/projects/MissingAssets/states/existing.scxml +0 -0
  59. data/test/projects/MissingAssets/tests/interface-navigation.scxml-test +0 -0
  60. data/test/projects/Paths/Paths.uia +4 -4
  61. data/test/projects/Paths/Paths.uip +98 -98
  62. data/test/projects/SimpleScene/SimpleScene.uia +4 -4
  63. data/test/projects/SimpleScene/SimpleScene.uip +35 -35
  64. data/test/properties.ruic +80 -80
  65. data/test/referencematerials.ruic +50 -50
  66. data/test/usage.ruic +54 -54
  67. metadata +5 -54
@@ -1,30 +1,30 @@
1
- #!/usr/bin/env ruic
2
- metadata 'MetaData.xml' # optional; also may be set via -m flag
3
- uia 'projects/CustomClasses/CustomClasses.uia' # required before other commands
4
-
5
- main = app.main_presentation
6
-
7
- effect = main/"Scene.Layer.Brush Strokes"
8
- assert effect
9
- assert effect.name == "Brush Strokes"
10
- assert effect.properties.length == 11 # 6 shared asset, 1 effect, 4 from effect
11
- assert effect['brushAngle'].value == 45
12
- assert effect['starttime',1] == 0
13
- assert effect['NoiseSamp'].value == 'maps/effects/brushnoise.dds'
14
-
15
- material = main/"Scene.Layer.Rectangle.Material"
16
- assert material.properties.length == 12 # 6 shared asset, 2 MaterialBase, 4 from material
17
- assert material.name == "Material"
18
- assert material['uEnvironmentMappingEnabled']
19
- assert !material['ATTRIBUTE-DOES-NOT-EXIST']
20
- assert material['uEnvironmentTexture',1] == 'maps/materials/spherical_checker.png'
21
-
22
- b1 = main/'Scene.TimeDrivenAttribute'
23
- assert b1.name == 'TimeDrivenAttribute'
24
- assert b1['sourcepath',0][/[^\/\\]+$/]=='TimeDrivenAttribute.lua'
25
-
26
- b2 = main/'Scene.Layer.DataDrivenTime'
27
- assert b2.name == 'DataDrivenTime'
28
- assert b2['sourcepath',0][/[^\/\\]+$/]=='DataDrivenTime.lua'
29
-
1
+ #!/usr/bin/env ruic
2
+ metadata 'MetaData.xml' # optional; also may be set via -m flag
3
+ uia 'projects/CustomClasses/CustomClasses.uia' # required before other commands
4
+
5
+ main = app.main_presentation
6
+
7
+ effect = main/"Scene.Layer.Brush Strokes"
8
+ assert effect
9
+ assert effect.name == "Brush Strokes"
10
+ assert effect.properties.length == 11 # 6 shared asset, 1 effect, 4 from effect
11
+ assert effect['brushAngle'].value == 45
12
+ assert effect['starttime',1] == 0
13
+ assert effect['NoiseSamp'].value == 'maps/effects/brushnoise.dds'
14
+
15
+ material = main/"Scene.Layer.Rectangle.Material"
16
+ assert material.properties.length == 12 # 6 shared asset, 2 MaterialBase, 4 from material
17
+ assert material.name == "Material"
18
+ assert material['uEnvironmentMappingEnabled']
19
+ assert !material['ATTRIBUTE-DOES-NOT-EXIST']
20
+ assert material['uEnvironmentTexture',1] == 'maps/materials/spherical_checker.png'
21
+
22
+ b1 = main/'Scene.TimeDrivenAttribute'
23
+ assert b1.name == 'TimeDrivenAttribute'
24
+ assert b1['sourcepath',0][/[^\/\\]+$/]=='TimeDrivenAttribute.lua'
25
+
26
+ b2 = main/'Scene.Layer.DataDrivenTime'
27
+ assert b2.name == 'DataDrivenTime'
28
+ assert b2['sourcepath',0][/[^\/\\]+$/]=='DataDrivenTime.lua'
29
+
30
30
  show "(all assertions successful)"
@@ -1,43 +1,43 @@
1
- metadata 'MetaData.xml'
2
-
3
- uia 'projects/SimpleScene/SimpleScene.uia'
4
-
5
- main = app.main_presentation
6
-
7
- assert main.find( _type:'Model' ).length==4
8
- assert main.find( _type:'Model', _slide:0 ).length==3
9
- assert main.find( _type:'Model', _slide:1 ).length==4
10
- assert main.find( _type:'Model', _slide:1, _master:false ).length==1
11
- assert main.find( _type:'Model', position:[-150,60,0] ).length==2
12
- assert main.find( _type:'Model', position:[-150,60,0] ).length==2
13
- assert main.find( _type:'Model', position:[nil,60,nil] ).length==4
14
- assert main.find( _type:'Model', sourcepath:'#Cube' ).length==1
15
- assert main.find( _under:main/"Scene.Layer.Sphere1" ).length==1
16
- assert main.find( name:'Material' ).length==4
17
- assert main.find( name:/^Sphere/ ).length==2
18
-
19
- # Return values are in Scene graph order
20
- assert main.find.first == main/"Scene"
21
- assert main.find.last == main/"Scene.Layer.NonMaster.Material"
22
-
23
- # Any asset can be used as the 'root'
24
- sphere = main/"Scene.Layer.Sphere1"
25
- assert sphere.find.length==1
26
-
27
- # Supplying a block will iterate, including the index
28
- expected = main.find _type:'Model'
29
- found = 0
30
- main.find _type:'Model' do |mod,i|
31
- found += 1
32
- assert mod == expected[i]
33
- end
34
- assert found==4
35
-
36
- #
37
- ['NOPE',false,/NOPE/,-1,[-1],nil].each do |v|
38
- assert main.find(__type:v).length==0
39
- assert main.find(NOPE:v).length==0
40
- assert main.find('NOPE'=>v).length==0
41
- end
42
-
1
+ metadata 'MetaData.xml'
2
+
3
+ uia 'projects/SimpleScene/SimpleScene.uia'
4
+
5
+ main = app.main_presentation
6
+
7
+ assert main.find( _type:'Model' ).length==4
8
+ assert main.find( _type:'Model', _slide:0 ).length==3
9
+ assert main.find( _type:'Model', _slide:1 ).length==4
10
+ assert main.find( _type:'Model', _slide:1, _master:false ).length==1
11
+ assert main.find( _type:'Model', position:[-150,60,0] ).length==2
12
+ assert main.find( _type:'Model', position:[-150,60,0] ).length==2
13
+ assert main.find( _type:'Model', position:[nil,60,nil] ).length==4
14
+ assert main.find( _type:'Model', sourcepath:'#Cube' ).length==1
15
+ assert main.find( _under:main/"Scene.Layer.Sphere1" ).length==1
16
+ assert main.find( name:'Material' ).length==4
17
+ assert main.find( name:/^Sphere/ ).length==2
18
+
19
+ # Return values are in Scene graph order
20
+ assert main.find.first == main/"Scene"
21
+ assert main.find.last == main/"Scene.Layer.NonMaster.Material"
22
+
23
+ # Any asset can be used as the 'root'
24
+ sphere = main/"Scene.Layer.Sphere1"
25
+ assert sphere.find.length==1
26
+
27
+ # Supplying a block will iterate, including the index
28
+ expected = main.find _type:'Model'
29
+ found = 0
30
+ main.find _type:'Model' do |mod,i|
31
+ found += 1
32
+ assert mod == expected[i]
33
+ end
34
+ assert found==4
35
+
36
+ #
37
+ ['NOPE',false,/NOPE/,-1,[-1],nil].each do |v|
38
+ assert main.find(__type:v).length==0
39
+ assert main.find(NOPE:v).length==0
40
+ assert main.find('NOPE'=>v).length==0
41
+ end
42
+
43
43
  show "All #{File.basename(__FILE__)} assertions successful."
@@ -1,8 +1,8 @@
1
- metadata 'MetaData-simple.xml'
2
- uia 'projects/CustomClasses/CustomClasses.uia' # required before other commands
3
-
4
- future = app["#future"]
5
-
6
- assert xyzzy=future.find(_type:'XYZZY').first
7
- assert xyzzy.type == 'XYZZY'
1
+ metadata 'MetaData-simple.xml'
2
+ uia 'projects/CustomClasses/CustomClasses.uia' # required before other commands
3
+
4
+ future = app["#future"]
5
+
6
+ assert xyzzy=future.find(_type:'XYZZY').first
7
+ assert xyzzy.type == 'XYZZY'
8
8
  assert xyzzy['eyeball',0]==true # Unknown assets inherit from Asset
@@ -1,20 +1,20 @@
1
- #!/usr/bin/env ruic
2
- metadata 'MetaData.xml' # optional; also may be set via -m flag
3
- uia 'projects/CustomClasses/CustomClasses.uia' # required before other commands
4
-
5
- main = app.main_presentation
6
-
7
- assert main.scene.master?
8
- assert (main/"Scene.Layer").master?
9
- assert (main/"Scene.Layer.Camera").master?
10
-
11
- rect = main/"Scene.Layer.Rectangle"
12
- assert !rect.master?
13
- assert rect['scale'].values.length == 1
14
- assert rect['scale'].value.x == 5
15
- assert rect['scale',1].x == 5
16
- assert rect['scale',0].nil?
17
-
18
- assert rect['position'].values.length == 1
19
- assert rect['position',1].x == 0
20
- assert rect['position',0].nil?
1
+ #!/usr/bin/env ruic
2
+ metadata 'MetaData.xml' # optional; also may be set via -m flag
3
+ uia 'projects/CustomClasses/CustomClasses.uia' # required before other commands
4
+
5
+ main = app.main_presentation
6
+
7
+ assert main.scene.master?
8
+ assert (main/"Scene.Layer").master?
9
+ assert (main/"Scene.Layer.Camera").master?
10
+
11
+ rect = main/"Scene.Layer.Rectangle"
12
+ assert !rect.master?
13
+ assert rect['scale'].values.length == 1
14
+ assert rect['scale'].value.x == 5
15
+ assert rect['scale',1].x == 5
16
+ assert rect['scale',0].nil?
17
+
18
+ assert rect['position'].values.length == 1
19
+ assert rect['position',1].x == 0
20
+ assert rect['position',0].nil?
@@ -1,17 +1,17 @@
1
- #!/usr/bin/env ruic
2
- metadata 'MetaData.xml' # optional; also may be set via -m flag
3
- uia 'projects/Paths/Paths.uia' # required before other commands
4
-
5
- main = app.main
6
- paths = main.find _type:'Path'
7
- assert paths.length == 5
8
- assert paths.first == main/"Scene.Layer.Path1"
9
- assert paths.first['width'].value == 17
10
-
11
- assert main.find(_type:'PathAnchorPoint').length == 25
12
-
13
- assert paths.first.anchors
14
- assert paths.first.anchors.first == paths.first.find(_type:'PathAnchorPoint').first
15
-
16
-
1
+ #!/usr/bin/env ruic
2
+ metadata 'MetaData.xml' # optional; also may be set via -m flag
3
+ uia 'projects/Paths/Paths.uia' # required before other commands
4
+
5
+ main = app.main
6
+ paths = main.find _type:'Path'
7
+ assert paths.length == 5
8
+ assert paths.first == main/"Scene.Layer.Path1"
9
+ assert paths.first['width'].value == 17
10
+
11
+ assert main.find(_type:'PathAnchorPoint').length == 25
12
+
13
+ assert paths.first.anchors
14
+ assert paths.first.anchors.first == paths.first.find(_type:'PathAnchorPoint').first
15
+
16
+
17
17
  show "All assertions successful"
@@ -1,7 +1,7 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <application xmlns="http://nvidia.com/uicomposer">
3
- <assets initial="main">
4
- <presentation id="main" src="CustomClasses.uip"/>
5
- <presentation id="future" src="FutureAsset.uip"/>
6
- </assets>
7
- </application>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <application xmlns="http://nvidia.com/uicomposer">
3
+ <assets initial="main">
4
+ <presentation id="main" src="CustomClasses.uip"/>
5
+ <presentation id="future" src="FutureAsset.uip"/>
6
+ </assets>
7
+ </application>
@@ -1,40 +1,40 @@
1
- <?xml version="1.0" encoding="UTF-8" ?>
2
- <UIP version="3" >
3
- <Project >
4
- <ProjectSettings author="" company="" presentationWidth="800" presentationHeight="480" maintainAspect="False" />
5
- <Classes >
6
- <Effect id="Brush Strokes" name="Brush Strokes" sourcepath=".\Brush Strokes.effect" />
7
- <CustomMaterial id="copper" name="copper" sourcepath=".\copper.material" />
8
- <Behavior id="DataDrivenTime" name="DataDrivenTime" sourcepath=".\scripts\DataDrivenTime.lua" />
9
- <Behavior id="TimeDrivenAttribute" name="TimeDrivenAttribute" sourcepath=".\scripts\TimeDrivenAttribute.lua" />
10
- </Classes>
11
- <Graph >
12
- <Scene id="Scene" >
13
- <Behavior id="TimeDrivenAttribute_001" class="#TimeDrivenAttribute" />
14
- <Layer id="Layer" >
15
- <Camera id="Camera" />
16
- <Light id="Light" />
17
- <Model id="Rectangle" >
18
- <CustomMaterial id="Material" class="#copper" />
19
- </Model>
20
- <Behavior id="DataDrivenTime_001" class="#DataDrivenTime" />
21
- <Effect id="Brush Strokes_001" class="#Brush Strokes" />
22
- </Layer>
23
- </Scene>
24
- </Graph>
25
- <Logic >
26
- <State name="Master Slide" component="#Scene" >
27
- <Add ref="#TimeDrivenAttribute_001" />
28
- <Add ref="#Layer" />
29
- <Add ref="#Camera" />
30
- <Add ref="#Light" />
31
- <Add ref="#DataDrivenTime_001" />
32
- <State id="Scene-Slide1" name="Slide1" >
33
- <Add ref="#Brush Strokes_001" name="Brush Strokes" />
34
- <Add ref="#Rectangle" name="Rectangle" rotation="-4.94025 -10.2291 -12.3676" scale="5 5 5" sourcepath="#Rectangle" />
35
- <Add ref="#Material" name="Material" roughness="0.0869565" uEnvironmentMappingEnabled="True" />
36
- </State>
37
- </State>
38
- </Logic>
39
- </Project>
40
- </UIP>
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <UIP version="3" >
3
+ <Project >
4
+ <ProjectSettings author="" company="" presentationWidth="800" presentationHeight="480" maintainAspect="False" />
5
+ <Classes >
6
+ <Effect id="Brush Strokes" name="Brush Strokes" sourcepath=".\Brush Strokes.effect" />
7
+ <CustomMaterial id="copper" name="copper" sourcepath=".\copper.material" />
8
+ <Behavior id="DataDrivenTime" name="DataDrivenTime" sourcepath=".\scripts\DataDrivenTime.lua" />
9
+ <Behavior id="TimeDrivenAttribute" name="TimeDrivenAttribute" sourcepath=".\scripts\TimeDrivenAttribute.lua" />
10
+ </Classes>
11
+ <Graph >
12
+ <Scene id="Scene" >
13
+ <Behavior id="TimeDrivenAttribute_001" class="#TimeDrivenAttribute" />
14
+ <Layer id="Layer" >
15
+ <Camera id="Camera" />
16
+ <Light id="Light" />
17
+ <Model id="Rectangle" >
18
+ <CustomMaterial id="Material" class="#copper" />
19
+ </Model>
20
+ <Behavior id="DataDrivenTime_001" class="#DataDrivenTime" />
21
+ <Effect id="Brush Strokes_001" class="#Brush Strokes" />
22
+ </Layer>
23
+ </Scene>
24
+ </Graph>
25
+ <Logic >
26
+ <State name="Master Slide" component="#Scene" >
27
+ <Add ref="#TimeDrivenAttribute_001" />
28
+ <Add ref="#Layer" />
29
+ <Add ref="#Camera" />
30
+ <Add ref="#Light" />
31
+ <Add ref="#DataDrivenTime_001" />
32
+ <State id="Scene-Slide1" name="Slide1" >
33
+ <Add ref="#Brush Strokes_001" name="Brush Strokes" />
34
+ <Add ref="#Rectangle" name="Rectangle" rotation="-4.94025 -10.2291 -12.3676" scale="5 5 5" sourcepath="#Rectangle" />
35
+ <Add ref="#Material" name="Material" roughness="0.0869565" uEnvironmentMappingEnabled="True" />
36
+ </State>
37
+ </State>
38
+ </Logic>
39
+ </Project>
40
+ </UIP>
@@ -1,17 +1,17 @@
1
- <?xml version="1.0" encoding="UTF-8" ?>
2
- <UIP version="3" >
3
- <Project >
4
- <ProjectSettings author="" company="" presentationWidth="800" presentationHeight="480" maintainAspect="False" />
5
- <Graph >
6
- <Scene id="Scene" >
7
- <XYZZY id="future"/>
8
- </Scene>
9
- </Graph>
10
- <Logic >
11
- <State name="Master Slide" component="#Scene" >
12
- <Add ref="#future" />
13
- <State id="Scene-Slide1" name="Slide1" />
14
- </State>
15
- </Logic>
16
- </Project>
17
- </UIP>
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <UIP version="3" >
3
+ <Project >
4
+ <ProjectSettings author="" company="" presentationWidth="800" presentationHeight="480" maintainAspect="False" />
5
+ <Graph >
6
+ <Scene id="Scene" >
7
+ <XYZZY id="future"/>
8
+ </Scene>
9
+ </Graph>
10
+ <Logic >
11
+ <State name="Master Slide" component="#Scene" >
12
+ <Add ref="#future" />
13
+ <State id="Scene-Slide1" name="Slide1" />
14
+ </State>
15
+ </Logic>
16
+ </Project>
17
+ </UIP>
@@ -1,87 +1,87 @@
1
- <?xml version="1.0" encoding="UTF-8" ?>
2
- <UIP version="3" >
3
- <Project >
4
- <ProjectSettings author="" company="" presentationWidth="800" presentationHeight="480" maintainAspect="False" />
5
- <Classes >
6
- <Effect id="existing_001" name="existing" sourcepath=".\effects\existing.effect" />
7
- <Effect id="missing_001" name="missing" sourcepath=".\effects\missing.effect" />
8
- <CustomMaterial id="concrete" name="concrete" sourcepath=".\materials\concrete.material" />
9
- <CustomMaterial id="missingcustom" name="missingcustom" sourcepath=".\materials\missing.material" />
10
- <Behavior id="existing1" name="existing1" sourcepath=".\scripts\existing1.lua" />
11
- <Behavior id="missing1" name="missing1" sourcepath=".\scripts\missing1.lua" />
12
- </Classes>
13
- <Graph >
14
- <Scene id="Scene" >
15
- <Behavior id="existing1_001" class="#existing1" />
16
- <Behavior id="missing1_001" class="#missing1" />
17
- <Layer id="Layer" >
18
- <Camera id="Camera" />
19
- <Light id="Light" />
20
- <Text id="Text" />
21
- <Text id="Text2" />
22
- <Model id="existing" >
23
- <Material id="Material" >
24
- <Image id="Material_diffusemap" />
25
- </Material>
26
- </Model>
27
- <Model id="missing" >
28
- <Material id="Material_001" >
29
- <Image id="Material_001_diffusemap" />
30
- </Material>
31
- </Model>
32
- <Effect id="existing2" class="#existing_001" />
33
- <Effect id="existing3" class="#existing_001" />
34
- <Effect id="missing2" class="#missing_001" />
35
- <Model id="Cube" >
36
- <CustomMaterial id="Material_002" class="#concrete" />
37
- </Model>
38
- <Model id="Rectangle" >
39
- <CustomMaterial id="concrete_001" class="#missingcustom" />
40
- </Model>
41
- <Group id="RoundedPlane-1" importid="__import__root__" >
42
- <Model id="RoundedPlane" name="RoundedPlane" importid="RoundedPlane" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath=".\RoundedPlane-1\meshes\RoundedPlane.mesh#1" >
43
- <Material id="lambert2" name="lambert2" blendmode="Normal" diffuse="1 1 1" emissivepower="0" importid="lambert2" opacity="100" specularamount="0" />
44
- </Model>
45
- </Group>
46
- <Group id="MissingImport" importid="__import__root__" >
47
- <Model id="MissingMesh" name="RoundedPlane" importid="RoundedPlane" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath=".\models\meshes\missing.mesh#1" >
48
- <Material id="lambert2_001" name="lambert2" blendmode="Normal" diffuse="1 1 1" emissivepower="0" importid="lambert2" opacity="100" specularamount="0" />
49
- </Model>
50
- </Group>
51
- </Layer>
52
- </Scene>
53
- </Graph>
54
- <Logic >
55
- <State name="Master Slide" component="#Scene" >
56
- <Add ref="#Layer" />
57
- <Add ref="#Camera" />
58
- <Add ref="#Light" />
59
- <State id="Scene-Intro" name="Intro" >
60
- <Add ref="#existing1_001" name="existing1" />
61
- <Add ref="#missing1_001" name="missing1" />
62
- <Add ref="#Text" name="WelcomeMessage" font="Arimo-Regular" position="0 90 0" size="36" textstring="Hello World!&#10;This is the Intro Slide." />
63
- <Add ref="#Text2" name="MissingText" font="Missing" />
64
- <Add ref="#existing" name="existing" position="-353.627 -164.545 0" scale="2.7328 2.7328 0.53375" sourcepath="#Rectangle" />
65
- <Add ref="#Material" diffusemap="#Material_diffusemap" />
66
- <Add ref="#Material_diffusemap" sourcepath=".\maps\existing.png" />
67
- <Add ref="#missing" name="missing" position="291.562 -170.318 0" scale="2.432 2.432 0.475" sourcepath="#Rectangle" />
68
- <Add ref="#Material_001" diffusemap="#Material_001_diffusemap" />
69
- <Add ref="#Material_001_diffusemap" sourcepath=".\maps\missing.png" />
70
- <Add ref="#existing2" name="existing2" />
71
- <Add ref="#existing3" name="existing3" NoiseSamp=".\maps\missing2.png" />
72
- <Add ref="#missing2" name="missing2" />
73
- <Add ref="#Cube" name="Cube" position="373.834 191.969 0" rotation="-41.4279 82.585 -28.6931" sourcepath="#Cube" />
74
- <Add ref="#Material_002" name="Material" bump_texture=".\maps\missing.png" diffuse_texture=".\maps\existing.png" />
75
- <Add ref="#Rectangle" name="Rectangle" position="-375.278 223.723 0" sourcepath="#Rectangle" />
76
- <Add ref="#concrete_001" name="MissingCustom" />
77
- <Add ref="#RoundedPlane-1" name="RoundedPlane-1" importfile=".\RoundedPlane-1\RoundedPlane-1.import" sourcepath=".\RoundedPlane-1\RoundedPlane-1.import" />
78
- <Add ref="#RoundedPlane" importfile=".\RoundedPlane-1\RoundedPlane-1.import" />
79
- <Add ref="#lambert2" importfile=".\RoundedPlane-1\RoundedPlane-1.import" />
80
- <Add ref="#MissingImport" name="MissingImport" importfile=".\RoundedPlane-1\RoundedPlane-1.import" position="20 0 0" sourcepath=".\RoundedPlane-1\RoundedPlane-1.import" />
81
- <Add ref="#MissingMesh" name="MissingMesh" importfile=".\RoundedPlane-1\RoundedPlane-1.import" />
82
- <Add ref="#lambert2_001" importfile=".\RoundedPlane-1\RoundedPlane-1.import" />
83
- </State>
84
- </State>
85
- </Logic>
86
- </Project>
87
- </UIP>
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <UIP version="3" >
3
+ <Project >
4
+ <ProjectSettings author="" company="" presentationWidth="800" presentationHeight="480" maintainAspect="False" />
5
+ <Classes >
6
+ <Effect id="existing_001" name="existing" sourcepath=".\effects\existing.effect" />
7
+ <Effect id="missing_001" name="missing" sourcepath=".\effects\missing.effect" />
8
+ <CustomMaterial id="concrete" name="concrete" sourcepath=".\materials\concrete.material" />
9
+ <CustomMaterial id="missingcustom" name="missingcustom" sourcepath=".\materials\missing.material" />
10
+ <Behavior id="existing1" name="existing1" sourcepath=".\scripts\existing1.lua" />
11
+ <Behavior id="missing1" name="missing1" sourcepath=".\scripts\missing1.lua" />
12
+ </Classes>
13
+ <Graph >
14
+ <Scene id="Scene" >
15
+ <Behavior id="existing1_001" class="#existing1" />
16
+ <Behavior id="missing1_001" class="#missing1" />
17
+ <Layer id="Layer" >
18
+ <Camera id="Camera" />
19
+ <Light id="Light" />
20
+ <Text id="Text" />
21
+ <Text id="Text2" />
22
+ <Model id="existing" >
23
+ <Material id="Material" >
24
+ <Image id="Material_diffusemap" />
25
+ </Material>
26
+ </Model>
27
+ <Model id="missing" >
28
+ <Material id="Material_001" >
29
+ <Image id="Material_001_diffusemap" />
30
+ </Material>
31
+ </Model>
32
+ <Effect id="existing2" class="#existing_001" />
33
+ <Effect id="existing3" class="#existing_001" />
34
+ <Effect id="missing2" class="#missing_001" />
35
+ <Model id="Cube" >
36
+ <CustomMaterial id="Material_002" class="#concrete" />
37
+ </Model>
38
+ <Model id="Rectangle" >
39
+ <CustomMaterial id="concrete_001" class="#missingcustom" />
40
+ </Model>
41
+ <Group id="RoundedPlane-1" importid="__import__root__" >
42
+ <Model id="RoundedPlane" name="RoundedPlane" importid="RoundedPlane" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath=".\RoundedPlane-1\meshes\RoundedPlane.mesh#1" >
43
+ <Material id="lambert2" name="lambert2" blendmode="Normal" diffuse="1 1 1" emissivepower="0" importid="lambert2" opacity="100" specularamount="0" />
44
+ </Model>
45
+ </Group>
46
+ <Group id="MissingImport" importid="__import__root__" >
47
+ <Model id="MissingMesh" name="RoundedPlane" importid="RoundedPlane" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath=".\models\meshes\missing.mesh#1" >
48
+ <Material id="lambert2_001" name="lambert2" blendmode="Normal" diffuse="1 1 1" emissivepower="0" importid="lambert2" opacity="100" specularamount="0" />
49
+ </Model>
50
+ </Group>
51
+ </Layer>
52
+ </Scene>
53
+ </Graph>
54
+ <Logic >
55
+ <State name="Master Slide" component="#Scene" >
56
+ <Add ref="#Layer" />
57
+ <Add ref="#Camera" />
58
+ <Add ref="#Light" />
59
+ <State id="Scene-Intro" name="Intro" >
60
+ <Add ref="#existing1_001" name="existing1" />
61
+ <Add ref="#missing1_001" name="missing1" />
62
+ <Add ref="#Text" name="WelcomeMessage" font="Arimo-Regular" position="0 90 0" size="36" textstring="Hello World!&#10;This is the Intro Slide." />
63
+ <Add ref="#Text2" name="MissingText" font="Missing" />
64
+ <Add ref="#existing" name="existing" position="-353.627 -164.545 0" scale="2.7328 2.7328 0.53375" sourcepath="#Rectangle" />
65
+ <Add ref="#Material" diffusemap="#Material_diffusemap" />
66
+ <Add ref="#Material_diffusemap" sourcepath=".\maps\existing.png" />
67
+ <Add ref="#missing" name="missing" position="291.562 -170.318 0" scale="2.432 2.432 0.475" sourcepath="#Rectangle" />
68
+ <Add ref="#Material_001" diffusemap="#Material_001_diffusemap" />
69
+ <Add ref="#Material_001_diffusemap" sourcepath=".\maps\missing.png" />
70
+ <Add ref="#existing2" name="existing2" />
71
+ <Add ref="#existing3" name="existing3" NoiseSamp=".\maps\missing2.png" />
72
+ <Add ref="#missing2" name="missing2" />
73
+ <Add ref="#Cube" name="Cube" position="373.834 191.969 0" rotation="-41.4279 82.585 -28.6931" sourcepath="#Cube" />
74
+ <Add ref="#Material_002" name="Material" bump_texture=".\maps\missing.png" diffuse_texture=".\maps\existing.png" />
75
+ <Add ref="#Rectangle" name="Rectangle" position="-375.278 223.723 0" sourcepath="#Rectangle" />
76
+ <Add ref="#concrete_001" name="MissingCustom" />
77
+ <Add ref="#RoundedPlane-1" name="RoundedPlane-1" importfile=".\RoundedPlane-1\RoundedPlane-1.import" sourcepath=".\RoundedPlane-1\RoundedPlane-1.import" />
78
+ <Add ref="#RoundedPlane" importfile=".\RoundedPlane-1\RoundedPlane-1.import" />
79
+ <Add ref="#lambert2" importfile=".\RoundedPlane-1\RoundedPlane-1.import" />
80
+ <Add ref="#MissingImport" name="MissingImport" importfile=".\RoundedPlane-1\RoundedPlane-1.import" position="20 0 0" sourcepath=".\RoundedPlane-1\RoundedPlane-1.import" />
81
+ <Add ref="#MissingMesh" name="MissingMesh" importfile=".\RoundedPlane-1\RoundedPlane-1.import" />
82
+ <Add ref="#lambert2_001" importfile=".\RoundedPlane-1\RoundedPlane-1.import" />
83
+ </State>
84
+ </State>
85
+ </Logic>
86
+ </Project>
87
+ </UIP>