RUIC 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>